# Demo Play Modes – Overview & Selection Guide

This document explains the two RubyPlay demo options, when to use each, and how to choose the right mode for your integration.

* **Documented modes:**
  * [Demo Play Mode](#demo-play-mode) — lightweight, URL‑based demo with local (client-side) parameters.
  * [Advanced Demo Play Mode](#advanced-demo-play-mode) — server‑driven demo tied to operator and environment configuration.


Use the **[Decision Rules](#decision-rules)** to pick a mode in under a minute.

## Quick Overview

| Aspect | **Demo Play Mode** | **Advanced Demo Play Mode** |
|  --- | --- | --- |
| **Purpose** | Quick preview; marketing/landing pages; lightweight QA | Production‑like demo; staging/pre‑prod QA |
| **Backend dependency** | None (standalone launcher) | **Required** (RubyPlay environment + operator configuration) |
| **Mode switch** | `mode=demo` | `mode=fun` |
| **Mandatory params** | `mode`, `gamename` | `server_url`, `mode`, `operator`, `currency`, `gamename` |


## Decision Rules

Choose [Demo Play Mode](#demo-play-mode) if any of the following is true:

* You need a **fast, zero‑backend** demo (public website, press, sales deck).
* You want to **tweak balance/bets** locally via URL.


Choose [Advanced Demo Play Mode](#advanced-demo-play-mode) if any of the following is true:

* You need a **production‑like** experience (stage/pre‑prod), tied to real operator and environment.
* You must validate **operator‑configured currency**, **language**, or **game enablement**.
* You want to reproduce **server‑side flows** and integration conditions.