Finally done with classes and I have spent a good portion of yesterday and today working on the different parts of the game. The progress so far is like this:
Map Generator: 99%
I worked a little bit more than expected in this map generator, using my own algorithm I finally got a I fully working map generator. The generator will create maps based on a maximum height and a size. The resulting maps are homogeneous, meaning that the map will have hills and valleys that are equally dispersed from each other this for not giving any advantage to any player but still force them to find the best path between two points.
Using the server code from torchedterra I am just adding some modifications to separate the launcher logic from the server logic. I will also be changing some communication logic between the client and the server.
The biggest changes are in the simulator. The simulator receives the list of commands from the server and analyzes them, this counts as a turn and the results are send as a list with the changed elements. All the preexisting logic of the simulator was discarded as torchedtorre gameplay has no similarity with this turn-based strategy styled game.
Based on the client for torchedterra, this client is not really that different. The only difference is that rather than send one command, I will be sending a list of commands and some connection client-server has had some minor changes.
The data objects are the representation of all the elements of the that live between client and server, such as the connection, the commands, results, and in-game objects. A big change has being done on this ares, mainly regarding high lever changes to fit the logic of the game.
Eventually I need to make the visualizer for this game. The plans are to make a visualizer that can show the saved games and also should be capable of showing the game running in real time. I will probably some code I have from my mapgenerator test. I am not planning in making anything too fancy and probably I will stick to using the canvas.
So that is my update, I will keep working on this during this break.