Many games structure themselves into several vignettes to avoid combinatorial explosion and also to make the game feel less daunting to play.
If you’re trying to make a really large game on Z3, you… have a few choices.
IIRC, at least one Scott Adams games had multiple parts, and the end of the first part gave you a password to “get into” the second part. That’s easy enough.
I was trying to think if there’s a way you can make a save game from one game be usable in the second part, but the only way that could fly is if their dynamic memory contents (which contain all the object names, for example) were identical, so I think that’s a nonstarter.
The next option is a dynamic password like 80’s Nintendo games had.
A string of letters and digits can obviously encode a reasonable amount of game state. This could encode which key objects you’re carrying, maybe the result of a few key choices you made in the first part, your final score, etc. You can include a checksum to keep people from guessing things.
The evil part of this of course is you could conceivably finish part one without the right “game state” to make part two winnable. That’s not very high on Zarf’s kindness scale.
I remember some ancient game I played on my Apple ][ clone where it simply chained to the next part of the game in a separate basic program. “Some of your items were lost as you crossed the raging river.” That meant they didn’t have to implement responses for all objects from the first part,
This would allow systems like a 48k spectrum (so no pageable VM) to conceivably play larger games?
Ultimately it’s a way to make a very large game playable on a very small system.
I can’t think of an example of anybody actually doing this, and there’s probably a reason for that.
-Dave