GameMaker: Studio

GameMaker: Studio

View Stats:
Nipah~☆ Sep 29, 2016 @ 11:06pm
Designing a Save/Load system for a 'complex' RPG
Hey everyone,

So I've gotten around to designing a Save/Load function for my game, but due to my inexperience I would like to inquire for some advice before I fall into any pitfalls.

I've already got a "working" save/load system taken from Heartbeast's RPG tutorial series:
menu: https://youtu.be/yMgI1yi480Y
saving: https://youtu.be/09qF7AcNxkY
loading: https://youtu.be/9YKEWstbpY8
If they're considered a simple or 'good' system I have no idea.

The system I intend to design will have 3 save slots and will cover 'complex' things like...
Changing NPC relationships
Large & diverse inventory w/ crafting
Persistent and non-persistent rooms
Dates & day/night cycles
Etc.

Does anyone know of any good tutorials that tackle these particular problems? Does anyone have any advice when designing a save/load system around these variables?

All help is highly appreciated!
< >
Showing 1-2 of 2 comments
Diveyoc Sep 30, 2016 @ 7:31am 
Sent you a friend request if you want to add me. I'm working on an RPG as well. I can't help with your current question, but I'll be looking into this soon. Maybe we can collaborate in the future as we will be dealing with some of the same hurdles. I know the inventory/crafting system I want to create is going to be quite challenging.
Daynar Sep 30, 2016 @ 7:56am 
I'd say there are 3 basic ways you can save, although gamemaker does offer moreish

1st use game_save/load. Super easy but it saves almost everything. I don't believe it saves what was in data structures though.

2nd use an ini file. This is the most common way you'll find in gm tutorials. If you're just messing around it's fine, but ini files are ment for settings that the user can manually edit not saves. For saves it's inefficiant and super easy to cheat.

3rd use a buffer. This is the hardest way but imo it's the best way. What you'll want to do here is save all the data that you know every save will have and there will be no duplicates of and they will stay the same size at the start and just read sequentially. Then start each 'unknown size' section with a header detailing how many times it needs to loop and anything else special when reading the data. So it would look something like this
date/time userlevel npc_relations_header npc_relations inventory_info_header inventory etc
< >
Showing 1-2 of 2 comments
Per page: 1530 50

Date Posted: Sep 29, 2016 @ 11:06pm
Posts: 2