[Scummvm-tracker] [ScummVM] #10133: MOHAWK: Riven: Please add a 'Prompt to Save' feature to the game.

macca8 trac at scummvm.org
Tue Aug 15 05:09:19 CEST 2017


#10133: MOHAWK: Riven: Please add a 'Prompt to Save' feature to the game.
------------------------+----------------------------
Reporter:  macca8       |      Owner:  (none)
    Type:  enhancement  |     Status:  new
Priority:  normal       |  Component:  Engine: Mohawk
Keywords:               |       Game:  Riven
------------------------+----------------------------
 Currently, whenever the player exits the game in progress for any reason
 (Quit, Return to Launcher, Load), any unsaved changes will be lost without
 warning. This puts the onus back on the player to remember to save before
 exiting the game. In my opinion, this is really poor form.

 It doesn't happen in the original, so technically it could be argued that
 this is a bug in ScummVM. However, I'd prefer to consider it an essential
 feature not yet implemented.

 Riven already boasts an impressively featured and robust save/load
 mechanism (far superior to the original). It makes sense to prompt the
 player to use it when it's most needed.

 If the feature already exists or is pending, then that's great, but if
 not, here's the basic concept as I see it:
 - monitoring of unsaved changes.
 - an appropriate dialog to alert the player & initiate the save (if
 required).
 - identify the player actions to activate the feature.

 **1. Unsaved changes.**
 A property (**_saveChanges**) should be established & initialised/set to
 **false** in these situations:
 - starting a new game.
 - loading a saved game.
 - after completing a save.
 This property is set to **true** by the first valid mouse, or keyboard
 navigation, event (something changes) that follows any of these
 situations. Supporting this with an appropriate conditional statement
 avoids unnecessary resets (for example, if !_saveChanges then set
 _saveChanges to true).

 **2. Dialog.**
 The dialog should contain a simple message & three buttons:
 *Message: **Save changes?**
 *Buttons (left to right):
 - **Cancel**: return to game.
 - **Don't Save**: continue player exit call.
 - **Save**: open usual Save screen, then, if save completed: continue
 player exit call.
 Cancelling in either the Save or Load screen should always return to the
 game.
 This guarantees that the player can only exit a game without saving
 unsaved changes by clicking **Don't Save**, the desired result.

 **3. Trigger actions.**
 Dialog should only appear **if _saveChanges is true**.
 If true, then any of these player initiated exit calls:
 - **Riven Options Menu (F5):** Quit, Load.
 - **Global Main Menu (Ctrl-F5):** Quit, Load, Return to Launcher.
 - **Keyboard:** Cmd-Q (Quit on Mac OS X) & its equivalent on other
 platforms.

 No doubt, implementing this feature is probably more complex than it
 appears here, but then, this isn't a trivial request, so I hope it's
 viewed favourably.

 As an end user, I'd expect this as a standard feature for ''any'' game
 with save support, not just Riven. As such, there's an expectation of
 built-in protection against ''any'' predictable loss of unsaved changes.

 It's taken many years and much effort to prepare Riven for official
 support. Please don't leave it vulnerable to what is basically an
 avoidable error.

 Thanks for your consideration.

--
Ticket URL: <https://bugs.scummvm.org/ticket/10133>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list