This week has all been about breaking down barriers and building them back up.
Destructible walls is a huge deal in a game like this, where navmeshes (the areas the computer has marked as being traversaible by characters) need to be dynamically broken.
This also suggests that lighting can change as well, so we can't just precompute lighting volumes and call it a day.
It also means that when buildings are generated or built, we can't just build them into static collections of meshes. They're all dynamic, which suggest some serious performance woes if we don't cache buildings and their stats right, especially if they are on fire or being broken down by many enemies, while others are being repaired or built.
In a game where you swing the sword (as opposed to characters doing it automatically) that suggests a lot of places where we need to pay close attention to performance that might drop frames, and memory caching to prevent pileups.
This week, after finally conquering the many month dilemma of sprite layering, we can begin looking at the dynamic issues this system faces.
First was establishing a new roofing and wall system that cut the number of sprites from 41 to just 14, for each building. Cliffs also went this way and now have just 25 pieces.
I also made the burned and broken spites for these wall pieces this week, along with the "patch" system that hides the seams where two walls overlap. Also made the "scaffolding" for when a wall is being constructed, and fixed several roofs to use the new system.
It's extremely complicated and has been the biggest source of slow progress. But after this major hump that all isometric games run into, we are back to freedom to focus on the route gameplay in our upcoming combat module.
Sandwich247
2021-03-28 18:42:46 +0000 UTC