LostArtefacts / TRX

Open source re-implementation of Tomb Raider I and Tomb Raider II, along with additional enhancements and bugfixes
https://lostartefacts.dev/
GNU General Public License v3.0
583 stars 36 forks source link

Feature request: autosaves #600

Open rr- opened 2 years ago

rr- commented 2 years ago

Rationale

Rough implementation proposal

Save the game every X seconds.

Pitfall

Suppose X=10:

Player loads an autosave and Lara is already midair, falling to her death.

Detailed implementation proposal that should solve this

This double buffer helps with the situation above:

Player has to start the game again from scratch.

Scenario 2:

Player can load autosave from when Lara was standing on a rock.

oziphantom commented 2 years ago

I don't see how having two and then the last one being loaded. You could die, then load, then end up in a good spot on the second one, then they die, it loads the first one and they die again. If it resets the timer it might work, but I feel that it is limiting the issue rather than avoiding it outright. When we do death reposition in games, we make some "safe position" rules. I.e we record the last position they where standing on, haven't taken damage for 10 seconds,

I feel that is should be mostly trivial for us to do the same in TR1. Make sure Lara is on flat solid ground, so not sliding, jumping or falling.
Make sure they are not firing or possibly even have their guns away. Adding a min health cap would probably help, i.e no auto save below 10% Possibly doing it when you enter a new room, its not a 100% "a portal" but it is mostly when you enter a new area, or "after you enter a new area" in the case where you start/enter with a slide. This gives a nice logical break. I also doubt there is a room cross that leads to instant death, unless you are falling.

Collecting an item is probably also a good spot, i.e the save takes you back to the last cog, the last statue, the last med pack. Those are mostly in safe spots.

I also feel that having 2~3 last auto saves would be better since our out saves are not "designer placed" allowing them to go back further if they need to, would be a good idea.

Richard-L commented 2 years ago

Consider quicksave/load instead, as in no passport and nothing, just a frozen frame and an OSD confirmation. Basically a button people can press ahead of most jumps, and another to reload. Almost acts as a quick rewind that way.

OpenLara does this.

stohrendorf commented 2 years ago

Keep in mind that it somewhat contradicts the original gameplay of being somewhat of a "survival game", i.e. the original game was meant to be "hard" - if you made a mistake, you felt you made a mistake. If you add auto-save, it's making tomb raider a lot less stressful, and basically would make it mostly harmless, as you could load a save automatically made a few seconds ago whenever you make a mistake. I understand it feels frustrating when you forgot to save, but IMO it's a fundamental feature of the gameplay. This is why I never wanted to implement that for CE, although I thought about it for quite a while. I don't want to stop you from implementing it, just throwing in some thoughts I had, possibly giving you another perspective. (Not to mention the complexity about when autosave should occur, as @oziphantom already pointed out.)

oziphantom commented 2 years ago

sure if playing the game "for the game" you don't want auto save. However when streaming. Streaming is a lot harder, in Fire Emblem we joke you only have 30% power to play with, hence when you stream you make a lot of stupid moves. This is because focusing on chatting, reading chat, being entertaining takes a lot of thought, and remember to open up and save all the time is a lot of effort on top of it. Also watching people redo things again is not "entertaining". If you are streaming it then you probably have already played it and everybody watching probably has as well, so its not really ruining the game for anybody. As an optional "for streamers" it's a very nice to have.

rr- commented 2 years ago

I agree that this would stray off the OG experience, but as such, it would be optional like most of our features are. And like Ozi said I was mostly thinking about Twitch, where it's a quite common thing to see people getting frustrated with not making a save recently enough (including the chat, not just the streamers).