WaveBreakers
You Saved Me!
Developed: October 16, 2025
Showcased: April 28, 2026

When we decided to have the game save the state of player progress, specifically the contents of the grid, there was some discussion about how to go about doing it. Luckily, I had already been messing around with JSON in C++ so I offered to take on the responsibility and get that set up. We considered having the grid data be saved inside the save slots but ultimately decided that if the user wanted to cheat, why get in their way.
There are a lot of steps that went into serializing the state of the grid in a JSON file. The first was figuring out where we would be saving that file. For that I decided to create a directory within the install location specifically for storing the data files (Project Persistent Download Dir).

The first half of this function was focused on just getting the right location for our saved data. It makes a call to the Game mode to request the appropriate file path.

The Game Instance which has all the level names deals with sanitizing the returned FString for a clean file name.

After that, we bounce back to the second half of the Grid’s Save To File function where we actually create our json string.

This function relies on four pieces: the ISaveableDataInterface interface, the FGridSaveableDataBase struct, a UGridSaveableDataObject UObject to hold that struct, and another function from the grid to produce an array containing all the objects able to be saved. The function is rather simple, just iterating through the items that have been placed on the grid, ignoring those that don’t need to be saved, and then ensures that they are valid objects and properly implement the save interface, then it adds them to the array.





The final step is just fitting all the data in the array into a single formatted string and then writing to the created file.


Want To Follow The Project?
To stay up to date with the whole team's progress, visit out Itch page, where you can even play an early build of the game!
https://syntaxsurfers.itch.io/wave-breakers-firstperson-strategy-hybrid-tower-defense
If you are interested in viewing my own progress on the project, feel free to view my dev logs for the project!
