I finished up the planning for M3 earlier this evening. Most of the engineering tasks did get pushed from M3 into what had been the empty bucket of M4. The one I did keep was to add a decent logging infrastructure and replace various statements to print to the console with proper logging. Late in M2 I started to accumulate a lot of these print statements in my efforts to verify and debug the game mechanics, where in my work previous to that the print statement were only short lived, so they didn’t cause problem.
Also included in M3 is the tool, which I mentioned previously here, that I’m lamely calling the scenario manager. I anticipate the scenario manager will be of great help in getting a feel for what kind of game reality the individual game mechanics come together into. Should that game reality seem wanting of the balance necessary to be fun, then the scenario manager will be very helpful in quickly determining how a tweak to a game mechanics effects the overall game reality.
At this point I’m just looking at the game reality in terms of whether it provides for a fun environment in which to design an automated combatant to duel another automated combatant. For this to be fun for me, the designs for the top units should not follow a single attribute to extreme (i.e. being the biggest, the fastest, or the most enduring shouldn’t be the win button). Also there should not be one unit design that can beat all comers in all scenarios at all starting distances. Going a bit further I hoping that there won’t be one unit design that can beat all comers at a specific starting distance, but its possible that may not be doable. At the same time I’m not trying for a rock, paper, scissor type balance where each unit design has a design it is strong against and one it is weak against. I’m fine with some designs being generally better then many others, just so long as it isn’t better then all of the others all of the time.
Now I’m off to go survey what my existing logging options are in Python, so I can either pick one or rule out using a pre-existing one and get one with writing my own.