The parts that I have already done are the visualizing part of gamestates (using the Matchviewer I created) and the part of letting the game engine calculateing the turn results using the same websocket the original playground uses.
The missing parts are the user interaction, the data handling and new additional visualizations.
Some of the Ideas I have in mind for this tool are:
- being able to setup a starting situation (including information spawns of the opponent)
- then being able to test multiple attacks/defences against the same situation without any additional setup time for the opponent
- hiding the 4 second waiting time (that the playground currently has) while the user can setup the attack he wants to test
- compare multiple attack/defence results in a table
- instead of always having to create a situation from scratch, I want to integrate an option to the match viewer, that clones the current turn actions to this new testing tool.
I am currently not planning on making it possible to play multiple turns after each other since this is a feature that works perfectly fine with the playground.
To clarify things a bit, there will probably be two modes:
- setup mode:
** you can change everything here (like sandbox and even more)
** e.g. remove anything instantly, place stuff down, change resources, change damage of towers, change lives of players, change which actions the opponent will take later when being in testing mode
- testing mode:
** for each test you start with the predefined setup
** only thing to do would be setting up attacks/defences
** being able to somehow review older tests that have been done (not sure how? maybe like in normal replay, but instead of having turn after turn you would have test after test of the same turn)
** table that compares test result stats like bits spent, cores spend, scores scored, damage recieved, …
With this you could either do Minigames as @Demorf suggested or if your algo did some bad things you can try out what would have been better by hand.
Since I haven’t started yet with creating the new user interface for these features I am insterested if you have some other Ideas, concerns or feedback on my ideas.