
Ask HN: How to evolve the levels of a game while maintaining progress integrity? - amichail
How can I evolve the levels of a game in app updates while maintaining the integrity of player progress in some theoretically sound way? Levels may be added, changed, reordered, and&#x2F;or removed in each update.<p>Suppose it is a game like Candy Crush Saga.
======
al2o3cr
The best solution is going to be strongly dependent on how you define "player
progress".

On the simplest end of the spectrum are games where the levels are entirely
standalone; an example would be a puzzle game like Hexcells. Changing levels
is tricky - should a player still get credit for "solved level 2" if level 2's
puzzle is different now? - but the (add / remove /reorder) are
straightforward.

In the middle are games where there's some state but it's fundamentally a "you
are here" status; the Half-life games are an example of this. In this model,
the trickiest parts are handling changes to the "level" a player is currently
in (if a player last saved on a now-deleted level, what happens?) and
maintaining the state (if you insert the level where the player picks up the
Gargleblaster between levels they already done, how do they get the thing?).

At the far end are state-heavy games, where players can interact with the game
world and NPCs in ways that persist over time; think Skyrim etc for this one.
If you're storing player state as an event list, it will only be really really
hard to use those events to regenerate the state when content is added /
removed / reordered. If you aren't, well, good luck. :)

------
brudgers
What is your current thinking on the matter?

~~~
amichail
I don't have a good solution. That's why I'm asking.

