Opened 13 years ago
Last modified 9 years ago
#385 new task
Save a game
Reported by: | jo | Owned by: | nobody |
---|---|---|---|
Priority: | minor | Milestone: | Version 0.1 Codename: Arcturus |
Component: | GameLoader | Version: | 0.0.4 |
Keywords: | Cc: | ||
Referenced By: | References: |
Description (last modified by fvultier)
Think about what are the relevant states that have to be saved and how to store them in a file.
Possible relevant states:
- the level's name
- all movable entities' location and orientation
- all pawns' health and wether the correspoding objects have been destoyed
- all states of the triggers & events triggered
- the state of pickupspawners
- …
- In general everything that has to be updated throughout the network in a multiplayer game.
Next steps:
- How can a saved game be loaded?
- When should the player be able to save a game (every time with a menu option or only if he is at a autosave point?)
- Make the save option compatible with the multiplayer mode. Who should be able to save a game?
Change History (4)
comment:1 Changed 13 years ago by jo
- Description modified (diff)
comment:2 Changed 13 years ago by landauf
comment:3 Changed 13 years ago by jo
For a first implementation find a concept where only a little information has to be stored. E.g. allow saving only at certain places, like checkpoints that can only be reached when the player has fullfilled a certain part of a quest. Reaching the next checkpoint implies that no enemies were left behind and their state doesn't have to be stored.
comment:4 Changed 9 years ago by fvultier
- Description modified (diff)
Note: See
TracTickets for help on using
tickets.
Unfortunately this is not an easy task.
That's not enough. You have to save the server-side state as well. And this is not synchronized over the network.
Think about reloading a weapon. The weapon has a flag which tells if it is reloading. And we create a timer which resets this flag after some time. You'd have to save this flag (it's not synchronized over the network nor loaded from XML) and you'd have to save the timer. And the link between the two. How to save pointers anyway?
I don't recommend to use this as a PPS project.