Thursday, February 22, 2018

FreeRails: Understanding the code

I begin to understand the code. That took quite some time staring at the screen and doing some refactoring. To quantify, roughly two hours per night for three nights a week for two months. Indeed, that long.

With a better documentation the start might have been faster, but I guess that ultimately there is just almost always a huge cost upfront when learning about a new code base. It just takes time.

To give an analogy: In the beginning the code was just like a bunch of single trees to me. Now it's like group of trees interacting and a vague notion of the whole forest, aka the complete picture.

There is hope of getting the complete picture rather sooner than later and there is hope that once you have the complete picture you can do anything you want to do with it including any simplification or continuation of the development as well as documenting the complete picture so that others have it a bit easier.

One thing I consider is branching from the code and, for the first time, really cut some functionality of the original code (the world difference update moves). The disadvantage would be that functionality would get lost and the advantage that quite some code would not be necessary anymore, so I would need to understand less and also I don't like the idea of moves which basically update the whole world. Once you have them you basically don't need any other moves anymore.  Of course the missing functionality would have to be included again at a later time. Hmm, it's a difficult decision. I will postpone it a bit to give me more time thinking about it.

Thursday, February 15, 2018

FreeRails: Current screenshot

0.4.1 - Main screen
Here is another screen shot of the current version. It doesn't look much different from the last screenshot. Maybe it's just to prove that all the recent changes in the code (mostly refactoring and deleting unused code) didn't break anything important.

Monday, February 5, 2018

Coloring templates for the Coloring app

The working on the coloring app progresses well. I realized that I had the main part (the coloring) already implemented last time. Now it's just a few lines of code here and there, mostly implementing the gallery functionality where you can watch your results. However, surprisingly, the biggest challenge currently is getting enough high quality content. I can only take appropriately licensed (Public Domain or Creative Commons or equivalent) material and it needs to consist of about 20-50 separate areas (not every picture actually is suitable for coloring).

My best source so far is openclipart.org.

I will get search until I have around 50 nice coloring templates, then polish the app and test it on all available devices and then I will jump into the water and publish on googleplay. That may still take about a month, I guess.


FreeRails: Current development goals

I'm intending to bring the project to a state where it is relatively simple to implement all the intended features for a "version 1.0" release. I hope others will join and will bring it to the full feature release then. With limited resources on my side, bringing the game to this intermediate point may take some time.

The milestones I want to reach in any case (may take some time) are:
  • More complete description of the game design in the documentation
  • Clear separation of model, view, controller, server, client, serialization code
  • Reduction of dependencies and complexity of the code
  • Improved graphics and graphical user interface using JavaFX
  • Runnable, bug-free version with an installer
  • Some kind of roadmap towards version 1.0
If this can be reached within the year 2018, I will be happy. Also from then on, I can continue managing the project but probably not actively develop it any further due to time constraints. However, I would also consider it rescued then.