this post was submitted on 07 Feb 2025
554 points (98.6% liked)

Gaming

20601 readers
441 users here now

Sub for any gaming related content!

Rules:

founded 5 years ago
MODERATORS
 
top 45 comments
sorted by: hot top controversial new old
[–] MiDaBa@lemmy.ml 62 points 4 days ago (4 children)

Even worse. Games with a mysterious auto save "feature" that don't allow a manual backup save. There's a special place in hell for those developers.

[–] JackbyDev@programming.dev 11 points 3 days ago (1 children)

There's also a place in hell for devs who don't include a "save and quit" in rogue like games because they're worried people will save scum. As if honest people who can't devote enough time for a full playthrough are less important than people lying about progress in a non competitive single player game.

[–] Ziglin@lemmy.world 1 points 2 days ago

I assume it's more about the hassle of implementing a way of serializing the game state for storage in most cases but if people want to cheat in a single player game let them or better yet seed the rng so that the outcome is the same anyways.

[–] Zron@lemmy.world 9 points 4 days ago (1 children)

Idk, I feel that’s okay as long as the saves are incredibly frequent and reliable.

I’ve never lost progress in a From Software game for instance, and they have an only auto save system, but it saves literally everything you do as soon as you do it, so unless you deliberately alt-F4 instantly after doing something, you won’t lose any progress.

[–] youngalfred@lemm.ee 12 points 4 days ago (3 children)

Can you reload old saves, or only the most recent? I think being able to reload an older save is important in the case of glitches (NPC walks through wall and is unreachable etc)

[–] Zron@lemmy.world 10 points 4 days ago

Ah, the trauma of every Bethesda RPG player.

There are game studios out there that don’t release broken garbage that needs the player to walk on eggshells, backup saves, and do arcane console commands to make the game playable.

[–] Lifter@discuss.tchncs.de 2 points 3 days ago

They solved that by having most of the game revert to starting positions frequently (e.g. every time you die, area load).

Maybe not as immersive as Bethesda games but their lore at least tries to make sense of it.

It's more like playing the Edge of Tomorrow movie, you need to learn where everything is.

[–] GiantRobotTRex@lemmy.sdf.org 3 points 4 days ago

Only the most recent.

I also have never had any issues with game breaking bugs like that. I've encountered some glitches but nothing a save+reload couldn't fix. Everything just resets to its normal spawn point.

[–] swab148@lemm.ee 6 points 4 days ago

Or whatever the fuck Dragon's Dogma 2 had

[–] WhatSay@slrpnk.net 26 points 4 days ago (3 children)

I think it's no mans sky that tells you how long ago your last save was before you leave. That's the ideal.

[–] kn33@lemmy.world 4 points 3 days ago (2 children)

I think the ideal is to have 3 buttons - "Save", "Quit", and "Save & Quit"

[–] Nemoder@lemmy.ml 3 points 3 days ago

Agreed, but you still need a confirmation on the quit button to ask if you are sure you want to quit without saving.

[–] Ziglin@lemmy.world 1 points 2 days ago

But also include the time of/since the last save.

[–] juipeltje@lemmy.world 2 points 4 days ago

I think the jedi games do this as well

[–] MonkderVierte@lemmy.ml 8 points 3 days ago (1 children)

Waaay too much trouble to compare the time-of-last-save with minimum-time-to-ask-save. 🙄

[–] JackbyDev@programming.dev 6 points 3 days ago (1 children)

Or even just "Has the menu been closed since it was saved?"

[–] Lifter@discuss.tchncs.de 1 points 3 days ago (2 children)

That's harder to implement. Suddenly you need to store that extra state somewhere and don't mess it up. The last save should already have a timestamp and is immutable. A lot less likely to get bugs that way.

[–] JackbyDev@programming.dev 1 points 2 days ago (1 children)

Literally a single boolean lol

[–] Lifter@discuss.tchncs.de 1 points 2 days ago

It's the "don't mess it up" part that is harder.

[–] JustAnotherKay@lemmy.world 1 points 3 days ago (1 children)

Do you not need to store that state to pause the game anyway? How else would you end the menu loop?

[–] Lifter@discuss.tchncs.de 2 points 2 days ago (1 children)

The state "the game is paused" is different from " the game is paused and saved". Sure that could be another key in some atate machine but like above: it's the "not mess it up" part that is harder.

[–] JustAnotherKay@lemmy.world 1 points 2 days ago (1 children)

I feel like I've seen a "Time since last save:" line on enough games to find it hard to believe that "paused and saved" is difficult to check for lol

These are variables that already exist in most games, it just needs one more line of code to check them

[–] Lifter@discuss.tchncs.de 2 points 8 hours ago (1 children)

Plus all the lines to update the state, when the menu is closed, when the game is closed (i.e should it be true or false at startup), when the game is saved obviously.

That's at least three more lines plus the one you mentioned for no extra value. And again it's easier to screw it up e.g. while refactoring.

[–] JustAnotherKay@lemmy.world 1 points 8 hours ago (1 children)

I think we write our code in different enough ways that we're not seeing eye to eye.

Tracking the state of the game being paused, when the menu is open and when the game is saved can all be a single match statement on a current "game state" variable which just holds "running/paused/paused and saved/exit" and when it becomes exit, it checks the save time. Only 2 lines of code and adding an enumerated state to the variable to add this functionality. Since the variable is enumerated, it's really difficult to mess it up when refactoring because if you can't pass the wrong code or else your game doesn't save or close

[–] Lifter@discuss.tchncs.de 2 points 7 hours ago (1 children)

Ok, I mentioned a state machine in another sub thread. It's not as bad if you already have a state machine.

It's still adding more complexity though - again when the value is updated. You still need to change the state when saving. You need to decide which state to use when starting the game.

There is still risk of screwing that up when refactoring. And still the value is nearly none.

Regarding state mchines, it's a complexity in itaelf to add random flags ro the state machine. Next time you want to add another flag you need to double all the states again, e.g. PAUSED, PAUSED_AND_SAVED, PAUSED_AND_MUTED, PAUSED_AND_SAVED_AND_MUTED. I would never add mute to the logic of the menu but that's the pnly example I could come up with. Maybe you see my point there, at least?

[–] JustAnotherKay@lemmy.world 1 points 7 hours ago

Complexity being added at updating also feels wrong to me. Let me pseudo code some rust (just the language I know best off the top of my head right now) at you, cause it feels like maybe I'm just not understanding something that's making this seem easier than it is.

Enum Game_State
    Paused
    Paused_Saved
    Running
    Loading
    Exit
 
///Technically you could make Menu() part of the enum but I'd probably leave it elsewhere

Match Game_State
    Paused => Menu()
    Paused_Saved => Menu()
    Running => Main_Loop()
    Exit => Exit()

And then your other functions always return a game_state. You're right that adding that return would be a huge undertaking if it's not handled in the initial building of the game, but it's a QoL for the user that's easily maintainable and is therefore worth doing IMO. But these two things, defining the possible game states and then always routing decisions through that game state, makes this kind of feature relatively doable

[–] jsomae@lemmy.ml 18 points 4 days ago

Props to Animal Well developer, it doesn't prompt you if you saved in the last minute.

[–] HuntressHimbo@lemm.ee 14 points 4 days ago

Me:

  • Saves Game
  • Tries to exit
  • Confirm exit?
  • No
  • Saves again
  • Hits Save and Exit
[–] ADKSilence@piefed.social 14 points 4 days ago

It's clearly bad juju if you dont then save again just to be sure.

[–] Kazumara@discuss.tchncs.de 12 points 4 days ago (1 children)

They could improve this so much by saying something like "the last 2 minutes and 24 seconds of unsaved progress will be lost" instead. Just need to keep a time counter from last save, that's not too much overhead.

[–] wccrawford@lemmy.world 7 points 4 days ago

There are even games that already do this. I still end up second-guessing, but at least "you last saved 8 seconds ago" makes me pretty sure I got it.

[–] HawlSera@lemm.ee 4 points 3 days ago

This is why I have no tolerance for games with limited saving... Which is painful as a Resident Evil fan who prefers the early games

(No surprise that I use unlimited saving mods)

[–] AbsolutelyNotAVelociraptor@sh.itjust.works 9 points 4 days ago (2 children)

Day 347: I'm still trying to exit the game. Send help, I can't close the game without losing my progress!

[–] Ziglin@lemmy.world 1 points 2 days ago

Ah a first time vim ~~user~~ player.

[–] SpaceNoodle@lemmy.world 2 points 4 days ago

Somebody never played Nintendo back in the day

[–] purplemeowanon@lemmy.ml 6 points 4 days ago

I be zipping up the directory and uploading my save files to the internet

[–] criitz@reddthat.com 6 points 4 days ago

The only solution is to keep playing

[–] CluckN@lemmy.world 6 points 4 days ago

One time during the final mission in Batman Arkham City I hit the power button at the same frame the auto-save turned on. My save was corrupted and I had to speedrun the story again. Thank god I wasn’t doing Riddler trophies I would’ve gone insane.

[–] Jax@sh.itjust.works 6 points 4 days ago

Why.. why am I in this meme?

[–] cRazi_man@lemm.ee 4 points 4 days ago* (last edited 4 days ago)

Flashbacks of playing Metal Gear Solid 2 at a time of frequent unexpected power cuts. Painful.

[–] zante@slrpnk.net 4 points 4 days ago

Your meme game is ridiculously strong .

[–] codexarcanum@lemmy.dbzer0.com 3 points 4 days ago

The new Prince of Persia is the worst for this! There's no auto-cloud save, so you have to manually manage uploading and downloading to the one cloud save slot between your three on-device slots.

And no matter what, no matter how long it's been, it asks about it, like: "Your last save was 0 minutes ago, as you sure you want to exit?"