On 30/05/2010 5:51 PM, James Paige wrote:
So seeing as I will be soon working on NPC and map state saving as a NEW
feature, (since the limited support that was already present was broken
for 11 or 12 years and nobody noticed (and why should they? Nobody but
me knew it was supposed to be a feature))

I digress.

Suppose you release your first demo. Everybody plays it, and then saves
their game at the end.

Then a few weeks later you release your second demo, which among other
things includes heavy revision of the NPCs on the same map where the
previous demo ends.

Everybody who continues from their old save says "the NPCs are all
crazy! They are in the wrong place! Some of them are missing"


How do we resolve this situation?

For a while I was thinking we should have a version number of some kind
on each map that the game author could manually incremment, which would
invalidate old saved state for that map.

So that is one option.

Another option is that each NPC would have a timestamp tracking when it
was placed/edited in the map editor. That could be compared to a
timestamp on the save game to determine if the NPC's saved position
should be restored.

And then there is tilemap data...

Thoughts?

---
James

I suggest a bitset that optionally turns this feature on. If it's off, it behaves as it always has (i.e, not saving map state at all). If it's on, then it unconditionally loads the map state on load, and requires that the player leave the map and come back to get the new changes.

I don't think it would be a good idea to mix and match NPCs, because then you get into a situation where you're not sure what data to base a "reset" on.

For example, take a "nosy guard" NPC who is meant to stick near the player while he selects exactly one item from the treasury, and open the door for him when he's done. The player then saves in the treasury. But, the NPC gets moved in the editor, and subsequently gets reset when the game is loaded. Now, hypothetically, the player is stuck, since he can't talk to the NPC to get out!

With the existing behaviour, this is still possible, but it's expected, since the guard will always be reset, so you wouldn't do something stupid like let the player save there.

Similarly, in the DS Pokémon games, it saves the state of NPCs that are in the same sector (32x32 square) as you. When you load, it loads everything exactly as it was, even if it should be different (eg, if an NPC is supposed to be elsewhere due to it being a different time). This is to prevent the player getting stuck on top of a cut tree or something.

That's just my two cents.

--
Mike
_______________________________________________
Ohrrpgce mailing list
ohrrpgce@lists.motherhamster.org
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org

Reply via email to