> For the complete documentation index, see [llms.txt](https://wiki.playgama.com/playgama/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wiki.playgama.com/playgama/game-requirements/user-experience-requirements.md).

# User Experience Requirements

## 3.1 Gameplay

* **3.1.1** The game fits one of the following criteria:
  * **3.1.1.1** It has game progress.
  * **3.1.1.2** It includes interaction and engagement mechanics (controlling a car or character, dressing up characters, assembling objects from parts or recipes, dealing or flipping cards, word and number games, collecting game resources).
  * **3.1.1.3** It has a plot (progressive unfolding of game events, choosing certain actions and getting storyline results).
* **3.1.2** The game has increasing difficulty and a clear storyline or setting.
* **3.1.3** The game teaches its controls and goal through a tutorial or onboarding rather than a wall of text.

## 3.2 Progress saving

* **3.2.1** Progress is saved and loaded only through the Bridge [storage module](/playgama/bridge-sdk/api/storage.md). The game never uses `localStorage`, `sessionStorage`, IndexedDB, cookies or an engine's own save system (such as `PlayerPrefs` in Unity), and makes no other writes that bypass the Bridge.
* **3.2.2** The game saves progress if the game mechanics involve progressing through the story or levels. If it's an endless game or a high-score game, it saves the best score.
* **3.2.3** Progress survives a page reload, a device rotation and an ad.

## 3.3 Sound

* **3.3.1** The game cannot be completely silent: it has background music and sound effects for actions and the interface.
* **3.3.2** The sound is of good quality: recorded or produced with audio tools and shipped as compressed audio files (ogg or mp3). Sound synthesized in code, such as procedural Web Audio tones generated by an AI coding agent, is not accepted.
* **3.3.3** A mute button is implemented in the game.
* **3.3.4** The game integrates the Bridge audio and pause state: at startup it checks [`platform.isAudioEnabled`](/playgama/bridge-sdk/api/platform.md#is-audio-enabled) and stays muted if it is `false`, and it handles the audio and pause state events for the rest of the session. When the platform mutes the game, it stays silent, including after the page is reloaded.
* **3.3.5** When the game page is minimized or hidden on desktop and mobile devices, the sound stops playing. When the player returns, the game resumes correctly without losing progress.

## 3.4 Language

* **3.4.1** English localization is required: English is the default and the fallback language.
* **3.4.2** The player's language is taken only from the Bridge, [`platform.language`](/playgama/bridge-sdk/api/platform.md#language) — never from the browser, the operating system or the player's location. If the game supports that language, it starts in it.
* **3.4.3** All text in the game is translated into every language declared in the publication request.
* **3.4.4** If the game has a language selector, the player can find and use it without knowing the current language: languages are indicated by country flag icons or the language names in their own languages (e.g., English, Español), and the menus leading to it use universal icons (e.g., gear for settings, globe for localization).

## 3.5 Title

* **3.5.1** The game title shown in the game matches the title in the publication request.
