Another board game fan! :)
Fantastic game! My favourite so far! I only wished it had "continue" button so that I can keep playing next time :) Can totally see it developing in a full game that I would be happy to buy :)
Thank you very much. Dice Forge was a huge inspiration, but we wanted a more "dice placement" mechanic for this. We are very happy you enjoyed this much. If one day this will become a full game we will let you know for sure.
As team we haven't learned how to implement a save and continue system yet and since it is quite a short game we didn't bother, but it's totally something we could have done. I see your game has it, maybe you could indicate us the right tutorial or send us that piece of your code if you don't mind
Tbh I'm very new to godot and gamedev (started this fall), so I'm not sure I am the good source for the good practice, but happy to share how I didi :) There are multiple ways to save - the one I use is easier in the "save/load" part but might require some code organization.
Basically, you need to turn all the data you want to save into a dictionary. The dictionary can have any "classic" types of values - including vectors, arrays and other dictionaries. So you can next dictionaries in dictionaries to help you organize it. It has a way to save "objects," but it is less safe, if I got it right, and also looks more complex, so I didn't yet look into it.
And then you just do to save:
var file = FileAccess.open("user://save_game.dat", FileAccess.WRITE)
file.store_var(save_data)
And to load:
var file = FileAccess.open("user://save_game.dat", FileAccess.READ)
var save_dict = file.get_var()
Itch allows for access to "users" which is some folder in "localfiles" or something like that. More details on this here: https://docs.godotengine.org/en/stable/classes/class_fileaccess.html#class-filea...
In my case, I just store a dict with 4 things: a dictionary for my tilemap values (which I use for logic anyway), positions of all magic crystals, the progression in the day number, etc, and the chosen difficulty. I also do the same for settings and store them in a separate file. And then the "hard part" is to make your game generate from the dictionary - some values you can just assign (like day number), but for some, you need to write functions - like, in my case, setting tilemap layers from the values in the dictionary. It's not hard if you already have a separation of logic and objects because you do translations between them anyway. I already stored my tilemap in a value grid, so I made a conversion between tilemap layers and dictionaries before I thought I'd add save/load. But it also requires more maintenance - if you change tilemap, you need to make sure you adapt your save/load structures accordingly - I failed a bit here, as after I added "half-healed tiles" I didn't add them to the load, so all half-healed tiles load as fully-corrupt.