The Lost Archives #2: Getting back in the flow
The Fire System #
It has been a while since we both worked on the project so I decided to ease myself back in with a simple fire system that can spread from tile to tile in game, depending on the tiles material. What seemed like a little daunting at first turned out to only take a few hours to come to fruition with a fire, as seen below, that could spread instantly to any adjacent tiles. Whilst still a lot to do such as adding smoke effects, it was quite the motivation boost as I realised I had stumbled upon a basic (albeit inefficient and performance draining) flood fill algorithm that could later be tweaked to use as simple room detection system (coming soon hopefully…)
Right now, every single fire sprite checks every second around itself to see if it can spread or not, which has severe performance impacts whenever there’s a large fire or a time-warp of 10 times or higher. I plan to make it so only the outer most flames need to check if they can spread, as flames in the middle of the fire are useless checking which can reduce fps by more than 10 - 15 times at worst.
Summarising what David has done without going into details:
- Fire dwindles at a random rate between 2 variables, after the material has been burning, with this information stored in a class.
- Tiles break and make rubble when destroyed by fire.
Plans for future #
As mentioned earlier, the room detection system is on the horizon after putting it off for months. Depending on where you place walls and floors, a room should automatically be made. This is an essential system for most future features we want to include such as a gas system as well as NPCs having their own workplaces rather than randomly wandering around aimlessly with no purpose in life
We have a patreon! hint hint nudge nudge We have an official patreon that launched this week with some exclusive merch bundles, not that anyone wants that right now… but they look surprisingly nice, so if you would like to check it out, here’s the link
Sign off #
That’s about all I have time for before Sunday ends, David will hopefully send a post next week otherwise I’ll kick him. Cya in 2 weeks everyone!