Hypothetical: Removing quicksave/-load functionality

Discuss anything ZDoom-related that doesn't fall into one of the other categories.
User avatar
MFG38
Posts: 414
Joined: Sun Apr 14, 2019 8:26 am
Graphics Processor: nVidia (Modern GZDoom)
Location: Finland
Contact:

Hypothetical: Removing quicksave/-load functionality

Post by MFG38 »

Thread inspired by a random thought that popped into my head the other day. Not asking this for any practical purposes, but rather out of general curiosity.

I happened to recall Nocturne in Yellow, an indie game running on what was essentially a commercial distribution-friendly version of GZDoom at the time. In that game, you couldn't save your game through the pause menu - if you wanted to save your game, you had to do so by finding a save point in whatever map you were playing and "activating" it. However, you could still quicksave and quickload, which I have no shame in admitting that I abused in some of the later maps.

That made me contemplate the feasibility of removing the quicksave/-load functionality from GZDoom. How could it be done if one were to want to get rid of it? Could it be done simply with engine features (most likely either ZScript or DEFBINDS), or would such a task imply modifying the source code?
User avatar
Nash
 
 
Posts: 17487
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: Hypothetical: Removing quicksave/-load functionality

Post by Nash »

Image

Short answer: it will forever be [No], no matter how much sense it makes from a game design perspective. Your only chance is to fork the engine. Removing or limiting save and load is very easy to do actually.

This is all I am willing to say before emotions and opinions start flying all over the place again for the hundredth time. If you absolutely want knowledge, do a forum search.
User avatar
Apeirogon
Posts: 1606
Joined: Mon Jun 12, 2017 12:57 am

Re: Hypothetical: Removing quicksave/-load functionality

Post by Apeirogon »

Problem not that it good or bad, or somebody dont like it. Problem is that gzdoom is a source port of 29 years old game, not a game engine. So disabling native, for doom, things in its port is out of point of port.
For such opportunities it must be forked to something like "gzdoom : generic game engine edition. now with 30% more access violations", to differ "pure" engine from actual game.
User avatar
Matt
Posts: 9696
Joined: Sun Jan 04, 2004 5:37 pm
Preferred Pronouns: They/Them
Operating System Version (Optional): Debian Bullseye
Location: Gotham City SAR, Wyld-Lands of the Lotus People, Dominionist PetroConfederacy of Saudi Canadia
Contact:

Re: Hypothetical: Removing quicksave/-load functionality

Post by Matt »

Isn't there something in ZScript that checks for if the game has just been loaded from a save? If so you could use that as a way to penalize any savescumming (or even defeat the purpose of it if you can randomly regenerate enough stuff)
User avatar
leileilol
Posts: 4449
Joined: Sun May 30, 2004 10:16 am
Preferred Pronouns: She/Her
Location: GNU/Hell

Re: Hypothetical: Removing quicksave/-load functionality

Post by leileilol »

Nash wrote:This is all I am willing to say before emotions and opinions start flying all over the place again for the hundredth time. If you absolutely want knowledge, do a forum search.
Should this lead to a sudden lack of quicksave/load, is there a maintained fork that de-commits some of the controversial design decisions while keeping up to date?
User avatar
Nash
 
 
Posts: 17487
Joined: Mon Oct 27, 2003 12:07 am
Location: Kuala Lumpur, Malaysia
Contact:

Re: Hypothetical: Removing quicksave/-load functionality

Post by Nash »

lei: I'm not sure why you're even asking that? GZDoom's save features are here to stay. It's only custom projects/full standalones that are encouraged to fork if they need custom save systems (or lack of one).
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49226
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Hypothetical: Removing quicksave/-load functionality

Post by Graf Zahl »

Matt wrote:Isn't there something in ZScript that checks for if the game has just been loaded from a save? If so you could use that as a way to penalize any savescumming (or even defeat the purpose of it if you can randomly regenerate enough stuff)

Trust me, if I ever see a single mod trying to use the event handler for such things, I'll add an override to hide the save state from the mod as a user option.
This is mainly meant for data to be recreated that cannot be put in the savegame for some reason, but even doing that will require some deliberate fuckery with certain object types.
User avatar
neoworm
Posts: 1748
Joined: Fri Sep 23, 2005 9:17 am
Location: Czech Republic

Re: Hypothetical: Removing quicksave/-load functionality

Post by neoworm »

I am really.against removing option to quicksave in general. Let the player spoil their game if they want to. Also even if designer decides his game would not feature save anywhere function, it doesn't mean it's actually a good idea. Example being the horrible invisible platform jumping puzzle in Nocturne in Yellow. It was annoying unpredictable, it didn't kill you if you fell into the endless void anyway and it just wasted my time by forcing me to run from the start of the now empty level back to the place where the puzzle was. I was seriously considering just cheating it at one point. Letting me quicksave would save me ten minutes of my life and bit of my nerves.
User avatar
NeuralStunner
 
 
Posts: 12328
Joined: Tue Jul 21, 2009 12:04 pm
Preferred Pronouns: No Preference
Operating System Version (Optional): Windows 11
Graphics Processor: nVidia with Vulkan support
Location: capital N, capital S, no space
Contact:

Re: Hypothetical: Removing quicksave/-load functionality

Post by NeuralStunner »

I'm fully with Graf and Neoworm on this one.

Another related anecdote: I was playing ROTT 2013 and I got to a place in the second chapter where there's a mandatory jump-pads-over-instant-death-pits segment. Never mind that the air control is just frustrating enough to make that a bad idea, but the whole thing is locked under a single checkpoint. Fail, start over, repeat... If I were able to quicksave I could've made it through that fresh hell and gotten back to enjoying the FPS parts of the game. Instead, I've uninstalled it.

In essence, I don't see the value in punishing everyone for some hypothetical "cheaters". You're only trying to dictate everyone else's enjoyment of your work, and the end result of that is going to be a lot of people going off to play something else. Put that effort into making your mod more worth playing, instead.
User avatar
Kinsie
Posts: 7402
Joined: Fri Oct 22, 2004 9:22 am
Graphics Processor: nVidia with Vulkan support
Location: MAP33
Contact:

Re: Hypothetical: Removing quicksave/-load functionality

Post by Kinsie »

ROTT 2013 added quicksaves post-release.
User avatar
PlayerLin
Posts: 585
Joined: Sun Nov 11, 2007 4:20 am
Graphics Processor: nVidia with Vulkan support
Location: XinZhuang, XinBei/New Taipei City(Former Taipei County), Taiwan.
Contact:

Re: Hypothetical: Removing quicksave/-load functionality

Post by PlayerLin »

I pre-ordered and play RotT 2013 since the first version and then uninstalled it at 1.4 after a lot of frustrations, never finished the game.
Kinsie wrote:ROTT 2013 added quicksaves post-release.
Only one problem: It was buggy as hell, at least on the first version(1.2 or 1.3, just forgot) when quicksave got added, sometimes load a quicksave made all objects you got/destroyed or even dead enemies respawned just like you restarted the level but on your quicksave position, or sometimes it just messed out the game states to unplayable and may have to restart the level or load last checkpoint...at least checkpoints still working fine.

I know it's not the problem of Unreal Engine 3 but seriously...why use an engine that you (devs) do not know how to do proper save states?!
(I do remembered the devs had to ask Epic's tech support for that)
I think they may fixed a lot of quicksave bugs on following patches, 1.4, 1.5 and latest 1.55(sadly their promised 1.666 patch never happens), but I already given up at 1.4 since I just hate the score penalty (lose 50% of your original level score when using quicksave in the level) and......those hard jump-pack platforming and silly checkpoint locations...I just can't take them anymore, even had no interest to finish the game(I also never finish DooM 2016 by similar reasons too...shame on me)...but I would rather to play the original RotT 1995, at least I can save whatever I like without worry about any penalty even traps in original still so nasty too. :P

Sorry for my silly, frustrated rant.
User avatar
Kinsie
Posts: 7402
Joined: Fri Oct 22, 2004 9:22 am
Graphics Processor: nVidia with Vulkan support
Location: MAP33
Contact:

Re: Hypothetical: Removing quicksave/-load functionality

Post by Kinsie »

I believe the general implication was that Unreal Engine 3 didn't have a proper savegame system. If you look at a lot of UE3 action games, they typically saved at checkpoints where the game could just reset to a known good state. Anything beyond that probably had to be cooked up by the programmers themselves.
User avatar
wildweasel
Posts: 21706
Joined: Tue Jul 15, 2003 7:33 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): A lot of them
Graphics Processor: Not Listed
Contact:

Re: Hypothetical: Removing quicksave/-load functionality

Post by wildweasel »

Kinsie wrote:I believe the general implication was that Unreal Engine 3 didn't have a proper savegame system. If you look at a lot of UE3 action games, they typically saved at checkpoints where the game could just reset to a known good state. Anything beyond that probably had to be cooked up by the programmers themselves.
I'd presume that the reason behind this is, since UE3 onward are meant to be all-encompassing engines intended to be used on far more than shooters and action games, that any given built-in savegame and serialization functions would need to be effectively rewritten anyway, depending on the developer's needs. If you're trying to save the state of a real-time strategy game, it's a lot more important to maintain the state of unit AI and issued orders and a lot less important to preserve the locations of physics objects. If you're saving in an RPG, it's more important to preserve the state of RNG and several hundred hours' worth of previous dialogue choices and alignment actions. If it's a pinball game*, one might preserve the exact state of the physics engine and frame-perfect inputs for sake of replay data. And so on. Everybody's needs are different and it wouldn't be possible to write one all-encompassing Save The Game Right Now function that accounted for every possible use case.

*Yes, really.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49226
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Hypothetical: Removing quicksave/-load functionality

Post by Graf Zahl »

Savegame systems are a non-trivial thing. So it's not surprising that many developers cheap out and don't do it right.

Let's never forget that even Doom itself only had a half-assed saving feature that forgot important state when reloading.
User avatar
PlayerLin
Posts: 585
Joined: Sun Nov 11, 2007 4:20 am
Graphics Processor: nVidia with Vulkan support
Location: XinZhuang, XinBei/New Taipei City(Former Taipei County), Taiwan.
Contact:

Re: Hypothetical: Removing quicksave/-load functionality

Post by PlayerLin »

I did heard about UE3 just had no proper save state/savegame system, I just not sure about that when I wrote my previous post, now it's confirmed.

Due to that I already sick of those UE3 games. Checkpoint saving system, no proper save state supports? No, thanks. :P
Post Reply

Return to “General”