Friday, August 24, 2018

Civil: Integrated CVS history from 2000-2004

The project has not progressed much lately but at least I managed to convert the original CVS code repository containing all the development work of 2000-2004 into the Git format and then I could persuade the existing Git repository to prepend these old code changes. Like everything related to Git it wasn't straightforward (conflicts where none should be) but worked in the end.

That brings the project to a whopping 1600 commits since the year 2000. A read-only copy of the CVS converted to Git has also been put on Gitlab.

Tuesday, August 14, 2018

FreeRails: Next programming steps

I finished quite some substantial changes under the hood, but I'm far from finished. It left me a bit exhausted mentally. Getting your head to solve complex puzzles in your free time is rewarding but also somewhat tiring. That's why I'm currently looking for some easier tasks as well as some planning tasks before returning to the inner workings.

Possible tasks include
  • Go through all locations in the code marked TODO and work on the easier ones.
  • Make some hard-coded properties of the game model like the economic climates (recession, moderate, boom) or the game rules (can connect to other railroads) serializable and then load their default state from a file when a scenario is loaded
  • Go through the code (especially the moves, the move generators and the handler) and identify code that does game logic and move it to the model.
  • Add to the design document details of the planned client-server interaction.
  • Describe the game model in the design document.
 So, that's what I will do now before starting some major rebuilding like
  • Moving Activities from the world to the Trains where they belong
  • Replacing CompositeMoves with single step comprehensive Moves and removing undo on the moves (we don't undo anymore)
  • Create a Player specific World view, so that the player doesn't always have to specify his Player object (alternatively, store your Player object with your credentials in a context, that then is stored next to the world)
which are all (among others) prerequisites for creating a new and modern looking client.

Monday, August 6, 2018

FreeRails: Still under the hood

Progress was a bit slower in the last couple of months. Time for an update. Work is done mainly under the hood working on the model and the model updates in order to make it simpler and more resilient. The aim is to fully understand the game model, make it error free and easy to maintain and extend. A side effect is unified loading/saving of scenarios and savegames.

Only after this essential work has been finished, one can think about adding a new chassis (client interface). As a reminder, the latest dev progress is shown here.