Very cool game! It's like interactive cellular automata. Interested to know what the tree-generating rules are? Noticed you can wipe out a bunch of trees by cutting a path encircling them (without having to hit each one individually) and the few that are left will die out on their own.
Viewing post in Staglight jam comments
Thanks! You're exactly right.
The initial map is cellular automata.
Then the game runs the cellular automata without the death rule , i.e trees can't be destroyed by the generation running only spawned. The spawn rate, number of neighbouring cells with a tree needed for a tree to be spawned, increases based on how well you are doing. It also runs randomly in the x axis like a less random monticarolo style rendering (as opposed regular rendering a line at a time in sequence). This was to make it feel less predictable, without that it just feels like the wall of trees advancing from the x axis as opposed to coming from different directions. It's run in a coroutine on update that yields after a row has been processes so it takes on average 64ish frames for each square to be affected/tested.
The tree destruction is basically a delayed contagion, so each time something catches fire after a short delay all adjacent squares get tested for flammables and then one gets picked in each row (so it doesn't spread too aggressively and making it not 100% reliable). The number of cascades are limited to a certain number of jumps, around 3-5 (so 1+3+9+27 total destroyed trees, assuming no overlaps), per fire you start. Higher cascades made the game very easy (and the Pico-8 would also run into its artificial instruction/cpu constraint because of too many particle effects and my questionable code). The number of cascade also ramps up with difficulty in an attempt to make things feel more intense/epic.
I'll share the code and do a more detailed breakdown when I upload it to Pico-8's BBS.