I could be missing something important.
After working with the Json file I noticed that theres a lot of static information repeating.
To Give a visual of this:
Here is the data as it applies to a node:
“gameObjectType”: 3, // resources node
“type”: 2, // resource type: food
Of that node in the current state of the engine,
Only current Units and amount is variable accross rounds.
If we take a 2500 tick match. it means that static data repeats 2500 times.
It feels like a lot of unnecessary repetition.
It could be viable to generate a second Json file that contains these static data.
And then simply feed the GameStateLog the data that are variable
For me this is not a big deal. As I have not had issues parsing any of the files so far.
But it has been raised.
A second reason for this is because we might want to add a little bit more data to the game state for the sake of developing the visualiser.
We might for example add a list of player actions made in a given turn,
This could further push up the size of the file, but in most cases it should not be too intense.
I just put together a basic visualiser and where I can keep track of gamestate manually with my bot,
The visualiser cannot really do the same.
**It does not affect the bot building process,
But it might be a good idea to add last tick comands to the statelog (While maybe adding last own moves made to the data returned to the player at gamestart)
This is just some random thoughts I had while working with the gamestate file.