- Commit. The user finished his work, and the project is ready to be used (released to public, reviewed by peers, put into production etc.) Several examples: saving user profile after editing it, saving changes to configuration of some program, saving a shared document.
- Bookmark. The better name for this one would be "create a snapshot". The user wants to preserve the current state of the project to be able to return to this state later. Examples: saving the game, backing up the project before doing some risky changes.
- Suspend. The user wants to stop working now, and to be able to resume work later from the same point. There are not many examples of explicitly doing this operation, but many programs are doing this implicitly when being closed. The difference with "bookmark" is that the user intends to restore the project from the suspended state only once, when returning to work, whereas the "bookmark" is intended to be used indefinite number of times.
The operations seem very similar - but in fact the differences between them are important enough to be considered when designing UI and software in general. It may sound strange, but quite a few applications address those differences correctly. In most cases the users are emulating different operations using just the standard "Save" command.
To illustrate this, let's consider an example well known to everyone - Microsoft Word. This program, actually, does quite a poor job of recognizing the different cases of "Save" operation. You want to create a snapshot of a complex document you're working on, before performing some global changes in formatting? The only way (unless you are using some version control software) is to save a copy with a different name, which is not elegant and just add clutter to your hard drive. You are editing a shared document, and want to suspend your work? Save it with different name in a non-shared location; otherwise you will provide others with an incorrect version of the document. It may seem that the only "Save" operation supported by Word is committing - but even that is not supported as it should, because Word tends to store some leftovers from the previous edits in the file, so, to commit in a clean way you have to save the file under a different name with the "Save as..." command.
Returning to the original question about problem with saving the games - I think that, when game designers realize the difference between different save operations, they will add "Suspend" operation to the game, and make happy many players - including myself.
Technorati tags: GUI,usability, software design,game design