Skip to main content
GameDev.net gamedev.net
🔒 Locked

Saving/Loading with Java

Started by General ONeil May 22, 2006 at 7:32 PM 8 replies 1.4k views
Original Post
General ONeil
General ONeil
Hi, I have been programming for a little bit now, and I got a question from a friend's freind on how to make saving/loading games with Java. If anyone has code or anything that can help me with this i'd really appreciate it. Thanks in advanced.
Ravuya
Ravuya
Moving to For Beginners.
SlashOwnsU
SlashOwnsU
sorry no code here, just pointers...

I don't think there's anything automatic that'll work for any game, unless you use serialization...google out on serialization in java if you want to know
what I do for saving games is just outputting the important variables to a file, and reconstruct the state by opening the file

King of Men
King of Men
It helps if you can make your scenario files the same format as your save files. (This applies mainly to strategy games.) I usually make my scenario files plain text, and just write out the game state to that format.
To win one hundred victories in one hundred battles is not the acme of skill. To subdue the enemy without fighting is the acme of skill.
AcePilot
AcePilot
Is this a standalone Java application or an applet? If it is an application you can just do what SlashOwnsU does, writing to files should be easy. If it is an applet, then you need to figure out where to save the data. You can try and put cookies on the clients' computer, but I'm not sure if that is possible with Java.
General ONeil
General ONeil
Ok, thanks for the help, It is a standalone and i like the idea of outputting a file, but a question, well two questions are Can you make it so that you can get the game to load the state instead of having to locate the file and click on it? and Also is any of this on this site in a tutorial or something I can look at, or should I just do a search?
dtaylorjr
dtaylorjr
if using java, i highly recommend using XERCES to build a XML Document (DOM) object. Then you can just output the XML DOM object as a String to a file. Using XML is a great way to save data. The drawbacks are: 1) big file size, 2) increased parsing time, and 3) hackers can easily modify the data. The positives are 1) easy to read, 2) easy to modify and change 3) can be changed in a way to support backwards compatability with older files (ex. adding new attributes or elements might not break the loading of older files). If your worried about hackers though, definitly don't go with XML, (or text). In that case, I would choose a binary form (object serilization might be the easist route to take in this case)
King of Men
King of Men
I think it unlikely that hackers will be a concern; I do hope the OP isn't making an MMORPG, and for anything else, the user absolutely should be allowed to modify his game files.

About the game finding the state, it depends a bit on what kind of game you are doing. If you want to have several saved games available, then you're going to have to let the user choose between them no matter what you do. So in that case, you can certainly make a file-choosing dialog that automatically goes to the saved games location, and ignores any files not in the right format. What you can't do, though, is let the game choose for the user! On the other hand, if you only want one save game, then sure, you can simply hardcode the filename, and look up the same filename when the user clicks 'load game'.
To win one hundred victories in one hundred battles is not the acme of skill. To subdue the enemy without fighting is the acme of skill.
King of Men
King of Men
I don't know of any tutorials, but if you want to see how it should be done, I recommend you look into some of Paradox Interactive's games. Europa Universalis, Crusader Kings, Hearts of Iron 2 : All these have text scenario and save files, very easy to mod. I consider them the canonical example of how to do save games when hacking is not a concern, and ease of modding is. Also, they are really great games in their own right, and getting on a bit, so they're cheap.
To win one hundred victories in one hundred battles is not the acme of skill. To subdue the enemy without fighting is the acme of skill.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.