Java-Gaming.org Hi !
Featured games (81)
games approved by the League of Dukes
Games in Showcase (513)
Games in Android Showcase (119)
games submitted by our members
Games in WIP (576)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Saving and Loading Game State  (Read 1629 times)
0 Members and 1 Guest are viewing this topic.
Offline DeX

Senior Newbie




Java games rock!


« Posted 2005-12-25 13:35:39 »

Howdy guys,

I was wondering if anyone can give me some tips about how to create a decent method for saving and loading the sate of my game. I thought about making all the classes in the game implement the Serializable interface and then output all of the objects to a file. However, some of my objects have properties such as their material which cannot be serialized. The properties I want to store are things like the position, velocity and orientation of all the objects in the game as well as a few game properties such as the players' scores. Somehow I need to store all of these properties into a single object and also be able to restore all the properties when loading the game. What solutions to this problem are there?
Offline Jeff

JGO Coder




Got any cats?


« Reply #1 - Posted 2005-12-26 04:47:51 »

Howdy guys,

I was wondering if anyone can give me some tips about how to create a decent method for saving and loading the sate of my game. I thought about making all the classes in the game implement the Serializable interface and then output all of the objects to a file.

No no no bad bad bad. This kind of midless Serialization leads to performance disasters on load and save.

Serialization *can* be useful but you need to think carefully about what you really want to save and only Serialize that.

Quote
The properties I want to store are things like the position, velocity and orientation of all the objects in the game as well as a few game properties such as the players' scores. Somehow I need to store all of these properties into a single object and also be able to restore all the properties when loading the game. What solutions to this problem are there?


Either well  isolate just those thinsg in small number of seperate classes and use Transient to make absolutely sure you arent pulling in otther refernced objects and their data OR just open a DataOutputStream aroudna  FileOutputStream for writing it out and a DataInputStream around a FIleInput Stream for reading abck and write logic to ull the values out/create obejcta s necessary when reading back.

TANSTAAFL

Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Offline DeX

Senior Newbie




Java games rock!


« Reply #2 - Posted 2005-12-29 15:09:53 »

Ok, well I got over my problem by making the things I didn't need to save transient. Still l don't know if that's the best way to do it. I still have to load up the correct materials and textures when I load the game state. Still I can't think of any other way short of making seperate classes for each object that hold all the info I need to save.

Anyway still open to more suggestions...
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Breakfast

Senior Duke




for great justice!


« Reply #3 - Posted 2005-12-29 19:19:10 »

Here's a simple one: whatever you're saving, start out by saving it in a human-readable way. You can always hide it later, but it can make your life a lot easier when you're testing your save and load stuff if you can actually read the saved files.
Offline Jeff

JGO Coder




Got any cats?


« Reply #4 - Posted 2005-12-29 23:15:52 »

Ok, well I got over my problem by making the things I didn't need to save transient. Still l don't know if that's the best way to do it.
Best way? probably not.  Its likely to be both bigger and slower then a properly thought out save,
OTOH its probably the least work so i its good enough, then its good enough.

But Im not sure why you are saving model properties (materails and textures) or any 3D data actually,  aren't those already part of the model files you load to start the game??


Got a question about Java and game programming?  Just new to the Java Game Development Community?  Try my FAQ.  Its likely you'll learn something!

http://wiki.java.net/bin/view/Games/JeffFAQ
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Longarmx (41 views)
2014-10-17 03:59:02

Norakomi (33 views)
2014-10-16 15:22:06

Norakomi (26 views)
2014-10-16 15:20:20

lcass (30 views)
2014-10-15 16:18:58

TehJavaDev (59 views)
2014-10-14 00:39:48

TehJavaDev (60 views)
2014-10-14 00:35:47

TehJavaDev (50 views)
2014-10-14 00:32:37

BurntPizza (66 views)
2014-10-11 23:24:42

BurntPizza (38 views)
2014-10-11 23:10:45

BurntPizza (80 views)
2014-10-11 22:30:10
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!