Item placement extension & lots of bug fixing
This week’s focus was on fixing bugs in the saving/loading and adding various improvements. In the last devlog I said I would write a mid week update if I manage to fix the bug(s) that cause the system to break with the new spawners. Unfortunately I haven’t been able to fix all the bugs in the system yet to make it work with the reworked spawners which is why there has not been an update. I did encounter a few other bugs in the system while going over the code and doing extensive testing and decided to take away the pressure on myself to fix this system as fast as possible. I want to get the next tech demo out as quickly as possible but the save/load system is a very complex system and needs to be rock solid. It is vital to check all the code very thoroughly to hopefully not miss any potential issues in the future. This process is tedious and takes some time so I decided to split up the week into various tasks to not get burned on only going over the code of the save/load system hunting for bugs.
This means I had time to also create a lot more spawners with the new, much improved workflow since it allows much faster iteration and implementation. Items can now also be spawned on top, around, in front of and various other relative positions to furniture pieces. Scavenging got even more fun and engaging with the additions of those extended locations since players will have to look much more closely into corners, below furniture etc to find all items possible. The list of items spawned in and around the various furniture has also been extended to add more depth, variety and better correlation between the items and the furniture pieces. One of the goals I have for the scavenging experience is for the player(s) to make plans on where to go based on what they need. In many games I have played in the past a large portion of the items can be found regardless of where you go, taking away the meaning of choice since you could find the items you are looking for anywhere. Combined with a respawning system it doesn’t matter in those games if you go into the same building every 20m or go into a different one that has the same loot table. In the case of my game there are for example multiple loot tables for the same furniture piece to allow the spawning of items based on the greater context. A couple examples for the context are the room or building types.I also added random open/close states to drawers and doors to further improve the ambience and apocalyptic vibe. Finally I wrote and integrated my own object pooling system. This was necessary after I came across a bug related to the object pooling asset I used so far. For some reason the system failed to work properly with my save/load system and actually deleted objects instead of recycling them, resulting in all the performance you’d gain from such a system being completely void. As I have not written that asset I decided to better spend the time writing my own instead of trying to find the reason why it fails. This turned out to be a much better decision than I originally thought it would be. The performance of my own system is a fair bit better since it is set up as lightweight as possible. Those two hours spent were incredibly worth it.
Since the save/load system isn’t working with the new spawner system yet a tech demo is still not ready for testing. I will continue investigating and fixing bugs in the system but I won’t be pushing hard on getting it out as soon as possible. Instead I will work on it until I believe it is in a really good state for it to make sense to test it together with all the new features added since.
Notable tasks this week:
Further work on fixing the save/load system
Various improvements to the save/load system
Created & added various new spawners for item spawning in relation to furniture pieces
Added random open/close states to drawers and doors
Wrote & integrated own object pooling system
Wishlist on Steam
Join the Discord
That’s all I got this week. I hope you are all doing well.
Stay safe out there and I’ll see you next week.
2 comments