Coding The Save System

Sunday, February 25, 2024 at 06:04 PM

Setting up the save system for Age Of Singularity, my Ultima VI fan recreation project.

I'm making a Unity C# script to serialize the GameState to .json files, and making the savefile menu check that directory and instantiate new savefile cells to populate with the details. I even got a RenderTexture set up to capture a screenshot to use, when you pause the game. Still working out all the kinks.

 An image of the save system UI. New Save, Save, Load, Erase, and Duplicate options.

An video showing the save system UI. New Save, Save, Load, Erase, and Duplicate options.

It's funny how this is because of the dialogue system; in order for dialogue to work correctly, I need Conditions in a box the game can check, to determine what some npcs say (have you crafted a lens yet or not?) And in order to have a box of conditions,

I need a box called a GameState that tracks all the relevant variables in the game like your party members, inventories, stats, etc. And in order to populate the GameState, i need to be able to load, alter, and save the GameState data - hence, trying to get dialogue to branch correctly, leads to me making a save system.

Here's the original fb UDIC post.

You've reached the end of this devlog entry.