Hi there,
We're currently working with VicoV on another TAS of Saturn Bomberman, now that we're done with
this one. This time we're going for the Normal mode. The main difference (apart from having two players to control) seems to be the additional randomness involved: each level's destructible blocks and items layout is RNG-dependent.
RNG in this game is influenced by two things AFAICT:
- The number of frames before Start is inputted at the "Press START" item in the menu determines the initial RNG.
- Every time an action requiring RNG is taken (map generation, random item drop, most enemy movements) it is cycled.
With this in mind, what we've tried as of yet can be summed up this way:
- For the first level, we've added wait frames before pressing Start at that first menu item until we got a 'decent' level configuration, that is one that looks close to the best we could get.
- To prepare for the next level, before taking the exit we've 'played' with enemy movements until they left the RNG in a good state. This can be achieved by having one player standing one pixel away from the exit, and the other standing at various positions close to the enemies when they're altering course. The effects on the next level layout are drastic.
TL;DR: both the initial state of the RNG and its state at level layout creation can be altered, but in a very chaotic way (definitely no obvious way of fine-tuning level layout).
In this circumstances, when is it OK to stop optimizing ? I've thought about writing a Lua script to parse the level layout and test it for good pathing patterns, even maybe have it make the players move randomly at the previous level's end to completely automate the research process. That sounds like a lot of work though, both writing it and letting it run on every level's end. Would that be overkill ? Would you say testing a number of RNG states and going for a nice-looking one (satisfying a number of pathing constraints) is enough ?