-
Notifications
You must be signed in to change notification settings - Fork 615
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SP: Improve "Hub" levels #77
Comments
Don't quite understand everything you're talking about, but it sounds like a good idea! |
I think I see what he's talking about and I support it entirely. I love large maps, but sometimes they tend to crash for random reasons. Jurancor Park is one of the worst for me. With this, a large map could be chopped into pieces and when a player walks through a specific door and a new map loads, the state of the previous map is saved so that when you walk back the way you came, into the previous map, everything is how you left it and your player doesn't spawn at the start of the map. @mrwonko Perhaps the saves could be tagged with a unique ID assigned at the start of a new game? Then it would be simple to identify which saves are part of the same playthrough. Reloading a past save would change this ID for subsequent saves. |
That's just what I was talking about - a globally unique identifier, or GUID. As for reloading changing it... I had not thought about that. But yes, whenever the player saves or loads we'd really need to generate a new GUID and clone all saves of the previous one? |
I was trying to figure out how to manage a branching GUID linking system, but cloning would make sense. You are talking someone who developed a chess variant that implements time travel. the implications of this proposed saves system are fascinating. |
😆 This is offtopic, but ever tried Achron? Multiplayer time-travel strategy game. Might suit you. |
Woah. My mind is blown right now. Thank you, sir! If it were free I'd be playing it already! |
Coming back on-topic: Any progress with this? I am attempting to rework a few parts of the engine to make a game of my own design, and this feature is fairly key to the game. Also, is map pre-loading plausible? I.e. it opens and begins caching the next map when you approach the portal, making the transition almost seamless. |
@cadika-orade |
Should be fairly simple. The only thing would be the saving/loading routine as well as GUID generation. Sent from my Windows Phone From: cadika-orademailto:[email protected] Coming back on-topic: Any progress with this? I am attempting to rework a few parts of the engine to make a game of my own design, and this feature is fairly key to the game. Also, is map pre-loading plausible? I.e. it opens and begins caching the next map when you approach the portal, making the transition almost seamless. Reply to this email directly or view it on GitHub: |
* auto return pitted flags even if there is no surf_nodrop (cherry picked from commit 6d48af8) * strange return fix? (cherry picked from commit 00c9a15) * bug? (cherry picked from commit a5adda1) * ok (cherry picked from commit 1b07e2e) * flag splash knockback fix, bounce fix (cherry picked from commit 1318add) * cgs.gametype ctf so we can use neutralflag in 1flag ctf * revert references to waitf in cgame module for engine compatibility --------- Co-authored-by: videoP <[email protected]>
By using the HUB Spawnflag on a target_level_changer, you can save a level's state and restore that on a subsequent load. This allows for a lot of cool stuff in mods, like splitting big levels in multiple parts.
The technical realization leaves room for improvement though: The level's state as you exit it is saved to save/hub_.sav - the obvious problem here being having multiple parallel playthroughs - you can't save two different states of the map.
I propose a playthrough GUID that is kept across level changes and saved/loaded, but renewed when starting a map via console or the New Game option. This would be used for the hub savegame names, and could incidentally also be used for auto- and quicksaves.
The text was updated successfully, but these errors were encountered: