> For the complete documentation index, see [llms.txt](https://realisticnode.gitbook.io/rnsetups/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://realisticnode.gitbook.io/rnsetups/rnchatgames/games/games.md).

# The 16 games

Each game has a block in `config.yml` under `games:`. The ids (`unscramble`, `math`...) are used in commands, permissions, rewards and messages.

## Options every game has

| Option               | What it does                                                                                                                              |
| -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| `enabled`            | `true` / `false`. A game that is off is never picked and can not be started.                                                              |
| `weight`             | How often it is picked compared to the others. `20` comes out twice as often as `10`. `0` = never picked automatically.                   |
| `time-limit`         | Seconds to answer. `0` = the general `time-limit`.                                                                                        |
| `winners`            | How many players can win one game: `3` = 1st, 2nd and 3rd, each with its own rewards.                                                     |
| `max-attempts`       | Wrong answers each player can send. `0` = unlimited (Click and Multiple Choice always allow at least 1).                                  |
| `points`             | Points the winner gets (they add up in `/rncg top`).                                                                                      |
| `case-sensitive`     | `true`: "Diamond" and "diamond" are different. A player with the right answer but wrong capitals is told "Almost!" and keeps the attempt. |
| `ignore-accents`     | `true`: "Pokémon" = "Pokemon".                                                                                                            |
| `ignore-punctuation` | `true`: "Paris!" or "¿Paris?" = "Paris".                                                                                                  |
| `hint`               | `enabled`, `after-seconds`, `reveal-percent`: shows part of the answer after some seconds, e.g. `D _ _ m _ n _`.                          |
| `display-case`       | Word games: `ORIGINAL`, `UPPER` or `LOWER`. `UPPER` hides the capital first letter that would give the answer away.                       |

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FWs1GWQUfPi8vf3v4ip5G%2Fen-hint.png?alt=media" alt="Hint after some seconds (hint.after-seconds)"><figcaption><p>Hint after some seconds (hint.after-seconds)</p></figcaption></figure>

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2F8fKxGBhZdgKgohGtkI1A%2Frncg-real-15.png?alt=media" alt="A game with winners: 3 (1st, 2nd and 3rd)"><figcaption><p>A game with winners: 3 (1st, 2nd and 3rd)</p></figcaption></figure>

## The games

### Unscramble — `unscramble`

The letters of a word are mixed (`MOIDNAD`); players type the word (`Diamond`). Phrases with spaces are scrambled word by word.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FzljFDejLNfgDUKVGVpDi%2Frncg-real-01.png?alt=media" alt=""><figcaption></figcaption></figure>

### Unreverse — `unreverse`

A word is written backwards (`DNOMAID`); players type it the right way.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2Fjw8XyWRcOWwFvg5DfJ7f%2Frncg-real-14.png?alt=media" alt=""><figcaption></figcaption></figure>

### Reaction — `reaction`

A word is shown; the first to type it wins. Short time limit by default (20 s).

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2Fkpq6bPkiVRKSRTIQruVC%2Frncg-real-12.png?alt=media" alt=""><figcaption></figcaption></figure>

### Fill Out — `fillout`

Some letters are hidden (`D_a_o_d`); players complete the word.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FlRkUIlYPpTKpr9nGYMKI%2Frncg-real-11.png?alt=media" alt=""><figcaption></figcaption></figure>

| Option             |                                                                 |
| ------------------ | --------------------------------------------------------------- |
| `hidden-percent`   | Letters hidden, 10 to 90 (at least one letter is always shown). |
| `hidden-character` | The character used for hidden letters.                          |

### Random Text — `random-text`

A random code (`4fYHsns`) must be typed exactly. Case-sensitive by default.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FK1otWK3mhHfNo5LILM5d%2Frncg-real-13.png?alt=media" alt=""><figcaption></figcaption></figure>

| Option                      |                                                                                                                                             |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `length-min` / `length-max` | Length of the code.                                                                                                                         |
| `characters`                | `LETTERS`, `NUMBERS`, `ALPHANUMERIC`, `SYMBOLS` or `CUSTOM` (uses `custom-characters`). Look-alike characters (l, I, 1, O, 0) are left out. |

### Math — `math`

Solve an operation (`38 + 35`). Each game picks one of the enabled **difficulties**:

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FL4w1KLxioWxymmselihO%2Frncg-real-03.png?alt=media" alt=""><figcaption></figcaption></figure>

```yaml
difficulties:
  easy:
    enabled: true
    display-name: '<green>Easy</green>'   # shown as {difficulty}
    weight: 50                             # how often it is picked
    min: 1
    max: 20
    terms: 2                               # numbers in the operation (2-5)
    operators: ['+', '-']                  # any of + - * /
```

`multiply-max` keeps multiplications reasonable, `pretty-symbols` shows × and ÷, and `allow-negative-results: false` avoids results below 0. You can add your own difficulty with a new name. Admins can force one: `/rncg start math hard`.

### Variable — `variable`

Three symbols hide three numbers; three equations give the clues and players solve the last line.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2Fk5mUvQjTnLtxJ6aAuqeD%2Frncg-real-06.png?alt=media" alt=""><figcaption></figcaption></figure>

| Option                    |                                       |
| ------------------------- | ------------------------------------- |
| `value-min` / `value-max` | Range of the hidden numbers.          |
| `symbols`                 | At least 3; each game uses 3 of them. |

### Trivia — `trivia`

A question with one or more accepted answers. The questions are in `content/<language>.yml` → `trivia`.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FDiGvNx30O6ePdmBS3T8f%2Frncg-real-09.png?alt=media" alt=""><figcaption></figcaption></figure>

### Multiple Choice — `multiplechoice`

A question with lettered options (A, B, C...). Players type the letter or click it. Questions in `content/<language>.yml` → `multiplechoice`. Only a letter or an option counts as an attempt.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2Fd5CwtCigc2KEaKZFdQXN%2Frncg-real-04.png?alt=media" alt=""><figcaption></figcaption></figure>

### Click — `click`

Several buttons appear in the chat; the first to click the right one wins. Buttons use a random code, so typing the command does not work.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2Fgqw9ZJ0W6gYPVfuZ2IjX%2Frncg-real-05.png?alt=media" alt=""><figcaption></figcaption></figure>

| Option    |                                            |
| --------- | ------------------------------------------ |
| `decoys`  | Wrong buttons shown next to the right one. |
| `symbols` | The symbols used for the buttons.          |

A player who clicks a wrong button with their last attempt is told "Wrong button!".

### Hover — `hover`

The word is only visible when hovering the message with the mouse. Players type it.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FJM3y9pHcc4p5fHargJhZ%2Frncg-real-07.png?alt=media" alt=""><figcaption></figcaption></figure>

### Guess The Number — `guess-number`

A secret number between `min` and `max`. After a wrong guess the player is told (only them) if the number is higher or lower.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FjmtjIpjOhUAfpy7we6ZW%2Frncg-real-08.png?alt=media" alt=""><figcaption></figcaption></figure>

| Option        |                                                     |
| ------------- | --------------------------------------------------- |
| `min` / `max` | Range of the secret number (both included).         |
| `hints`       | `true`: tell higher / lower after each wrong guess. |

Only numbers count as guesses, so normal chat does not use up attempts.

### Completion — `completion`

A phrase with a missing word: `An apple a day keeps the _ _ _ _ _ _ away`. Phrases are in `content/<language>.yml` → `completion`.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FF2LI4tLGDnV7CWn0IQ2P%2Frncg-real-10.png?alt=media" alt=""><figcaption></figcaption></figure>

| Option  |                                                                                 |
| ------- | ------------------------------------------------------------------------------- |
| `blank` | `AUTO` = one `_` per letter. Any other text is shown as it is (e.g. `'?????'`). |

### Hangman — `hangman`

The letters of a word are hidden: `_ _ _ _ _ _ _`. Players write **one letter** to uncover it for everybody, or the **whole word** to win. Each letter that is not in the word takes one of the shared lives (❤); with no lives left nobody wins ("Hanged!"). Whoever uncovers the last letter also wins. The words are the same as Unscramble (`content/<language>.yml` → `words.shared`), or only for this game in `words.hangman`.

![Players uncover the word letter by letter](https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FP1daOTFapvawnMl5jrqo%2Fhangman.png?alt=media)

| Option                                  |                                                                                                                |
| --------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `lives`                                 | Lives shared by everybody. `0` = unlimited.                                                                    |
| `letter-guesses`                        | `true`: one letter uncovers it. `false`: only the whole word counts.                                           |
| `hide-letter-guesses`                   | `true`: the letters players write are hidden from the chat (the game announces each one).                      |
| `reveal-every`                          | Uncovers a random letter by itself every X seconds. `0` = never. The last letter is never uncovered by itself. |
| `reveal-first-letter`                   | Start with the first letter uncovered.                                                                         |
| `min-letters`                           | Only words with at least this many letters.                                                                    |
| `hidden-character` / `letter-separator` | How hidden letters look (`_`) and what goes between letters (a space).                                         |

`max-attempts` counts wrong **words** only: letters use the lives. Messages: `letter-found`, `letter-missing`, `letter-repeated`, `reveal` and `hanged` in the language file, with `{word}`, `{letter}`, `{lives}`, `{lives_bar}` and `{wrong_letters}`. Sounds: `sounds.letter-found` and `sounds.letter-missing`.

### Memory — `memory`

A code appears **on screen** (as a title) for a few seconds, never in the chat. When it disappears, the first to write it wins. Answers sent while it is still on screen do not count: the player is told to wait, and the code is hidden from the chat.

![The code is only shown on screen](https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FGUkGLSK6j19o3nqdEoHf%2Fmemory.png?alt=media)

| Option                      |                                                                                    |
| --------------------------- | ---------------------------------------------------------------------------------- |
| `show-seconds`              | Seconds the code stays on screen. Must be lower than `time-limit`.                 |
| `length-min` / `length-max` | How many characters the code has.                                                  |
| `characters`                | `LETTERS`, `NUMBERS`, `ALPHANUMERIC`, `SYMBOLS` or `CUSTOM` (`custom-characters`). |

Where the code is shown is in the language file: `flash-title`, `flash-subtitle` and `flash-actionbar` (any of them can be `''`). `hidden` is sent when the code disappears (sound: `sounds.memory-hidden`) and `too-early` to a player who writes it too soon. Do not put `{code}` in `start`: the chat stays and anybody could read it there.

### Color — `color`

The name of a color written in another color: **BLUE** written in yellow. Players write the **color of the text** (`Yellow`), not the word. Normal chat does not use the only try: only messages that are a color count.

![BLUE written in yellow: the answer is Yellow](https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2Fu4a2dir8OhZOerIvbu8q%2Fcolor.png?alt=media)

| Option   |                                                                                                                                                    |
| -------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ask`    | `INK` = the color of the text, `WORD` = the word itself, `RANDOM` = one of both each game.                                                         |
| `colors` | The colors used, as `<name>: <color>`. The color is a name (`red`, `gold`...) or a hex code (`'#FF5555'`). Remove a line to stop using that color. |

The names of the colors are in the language file (`games.color.color-names`), so a Spanish server shows **AZUL** and accepts `Amarillo` or `Amarilla`. A list of names accepts all of them (the first one is shown). With `per-player-language`, the names of every language are accepted. To add a color, add it to `colors` and give it a name in `color-names`.

## While a game runs

* Correct answers are hidden from the chat (`chat.hide-correct-answers`) so nobody can copy them.
* Players who hid the games with `/rncg toggle`, or are in a disabled world, do not see them and can not answer.
* A boss bar shows the time left (`display.bossbar`).
* Messages about your own answer (wrong, attempts left, higher/lower) appear right after your chat line.

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FBrrk6dj8HHhsXg8kquT5%2Fen-wrong.png?alt=media" alt="Wrong answers and &#x22;Almost!&#x22; (case-sensitive games)"><figcaption><p>Wrong answers and "Almost!" (case-sensitive games)</p></figcaption></figure>

<figure><img src="https://348500357-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSlVHklG0EMAOmvfqcizu%2Fuploads%2FSv7bE8GsAEQMHhUrbjio%2Fen-timeout.png?alt=media" alt="Time is up and nobody won"><figcaption><p>Time is up and nobody won</p></figcaption></figure>
