This is somewhat of an open question.
I’m in the process of developing a simple game for android and I’ve gotten to the point where I’m trying to enable thee user to save their progress and return later.
As i’m a beginner, I’m not exactly sure where to start, so I was hoping some of you might have at least some suggestions.
A little info on the setup of the game:
All animation is done in a thread through a canvas and alternation of stored bitmap frames based on a 30 ms loop.
Everything is an object, the characters, the background is simply a 2d array of objects. and each object is generally referenced and created dynamically through a hashmap.
Now how to save? I know I could brute force it, and simply save coordinates and current actions blah blah etc. etc. for each object in each map.
But is there a better way to do this? I’ve briefly read that in python there’s a method of sterilizing objects called “pickle,” and there is something similar called “kryo.” Am I looking in the right direction?
You should look into Java serialization. It’s not perfect, it has problems, but it’s the safest, quickest way to turn a complex tree of objects into something that you can save to a file or a db, and load it back when you need.
Else, there’s always the possibility to use your own specific serialization using
INSERTSQL queries, etc. But be very careful, it’s easy to miss parts of what you want to save / restore. One example of that would be to turn your objects tree into XML and save that XML as a file. There are very good 3rd-party libs to map objects to XML and back in Java.