Saving
Learning paths through this topic
The same player wins every rare drop because the others keep missing sessions
A turn order that remembers who was next works until people come and go, and then somebody is skipped for weeks or somebody new wins ten times in a row. Here is a count that stays fair, however irregularly a group plays.
The host's game crashed and the guests' progress from tonight is gone
In a game one friend hosts, the host's computer is the only place the world is written. When it dies before saving, everyone loses the evening. Here is how a guest's own copy can bring a character back, and when it must be ignored.
A friend joins a shared quest halfway and either gets nothing or everything
Shared quests need two kinds of progress: what the group has done and what each person has done. Mix them up and a latecomer collects a full reward for one step, or the group loses progress every time someone leaves.
A player joining a big world waits for ages or finds holes in the map
Sending the whole world to a newcomer takes minutes, and changes keep happening while it travels. Here is how to send the parts near them first, resume after a hiccup, and make sure nothing that changed in the meantime is left stale.
The server crashed in the middle of a big change and half of it was saved
Some changes, like a castle being built or a shop restocked, touch many records, and a crash in the middle leaves a world that never existed. Here is how to write the intent first so that after a restart it is all or nothing.
Land of people who left stays blocked forever, or vanishes during a server pause
A shared world needs to free up claimed land when its owner is gone for good, without punishing people who simply took a holiday or were locked out by a broken server. Here is a rule for when it counts, how long it warns and how to count the time.
Two players grab the last items from a shared chest in the same instant
If both clients are told the chest still holds something, both walk away with it and the game now owns items that did not exist. Here is how the server settles a tie, hands out what is left, and keeps one player from always winning.
Players pull the plug in a fight to avoid dying and keep all their loot
If saving happens the instant someone disconnects, quitting becomes the best defence in the game. Here is how to treat a drop during a fight, what the character does while gone, and why reconnecting must not become a way to reset the clock.
A save made in the middle of a cutscene loads into a broken, half-finished scene
Players save at odd moments: during a speech, a fall, or a fight. Loading that exact instant can leave the story half done or the hero in mid-air. Here is how to load such a save safely without losing what the player truly earned.
A server with thousands of saved players runs out of memory loading all of them
Most saved characters belong to people who are not playing right now. Here is a small cache that keeps the ones who are present, lets the others leave when space is needed, and never throws away a change that was not written yet.
A reward earned while a friend was offline vanishes or lands in a full bag
Gifts, refunds and event prizes have to wait for someone who is not there. Here is a mailbox that cannot hand out the same prize twice, never swallows a prize because the bag is full, and tidies itself without opening a loophole.
A match ends, the server crashes halfway, and some players get their rewards twice
At the end of a match many profiles must change, and a failure in the middle leaves some paid and some not. Running the job again then pays the first group twice. Here is a way to make the end of a match safe to repeat.