Skip to main content
Eleven games built around timing, aim and steady hands. Defaults live in config/games/reaction.lua.
Set any option as a server-wide default in config/games/reaction.lua, or pass it in a single call to change it just that once. Every game also accepts the shared options (canCancel, title, theme, …) - see the Overview.

Skill Check

A marker slides across a bar. Press the shown key while the marker is inside the highlighted zone. Export: exports['awoken_minigames']:SkillCheck(opts) - returns true only on a win.
Presets
rounds is how many checks the player faces; keys is just the pool each prompt is drawn from. A bigger pool makes the prompt less predictable, not the game longer.

Circle Click

A pointer spins around a dial. Each round shows a key - press it while the pointer is inside the highlighted arc. It speeds up every round. Export: exports['awoken_minigames']:CircleClick(opts) - returns true only on a win.
Presets

Hold Zone

Hold a key to shrink a ring inward, then release it while the ring is inside the highlighted band. Export: exports['awoken_minigames']:HoldZone(opts) - returns true only on a win.
Presets

Aim Test

Targets pop up one at a time and vanish after a moment. Click enough of them before too many slip away or the clock runs out. Export: exports['awoken_minigames']:AimTest(opts) - returns true only on a win.
Presets

Balance

A needle drifts along a meter. Hold Q and E to nudge it back into the green band and keep it out of the red until the timer runs out. Export: exports['awoken_minigames']:Balance(opts) - returns true only on a win.
Presets

Rhythm

Notes fall down several lanes toward a line. Press each lane’s key as its note reaches the line. Land enough hits before too many notes slip past. Export: exports['awoken_minigames']:Rhythm(opts) - returns true only on a win.
Presets

Firewall Pulse

A marker pulses across a bar. Press the shown key while it’s inside the safe zone. Each hit makes the marker faster and the zone smaller. Export: exports['awoken_minigames']:FirewallPulse(opts) - returns true only on a win.
Presets

Safe Crack

Spin a 0-99 dial back and forth and press Space when it lands on each target number. Clear every tumbler to crack the safe. Export: exports['awoken_minigames']:SafeCrack(opts) - returns true only on a win.
Presets
The dial is always 0-99 and isn’t configurable; difficulty comes from tumblers and maxTime.

Lockpick

Rotate each ring with A/D to line its coloured pins up with the matching coloured notches, then press Enter or Space to lock it in. Lock every ring before the timer runs out - locking a ring that isn’t lined up jams it. Export: exports['awoken_minigames']:Lockpick(opts) - returns true only on a win. (Pure pass/fail - a fail meaning “trip an alarm”, cost an item, etc. is up to the caller.) Per-ring array - each entry sets that ring’s balls and markers, either a fixed number or a {min, max} random range:
Presets
When rings is a plain count, each ring’s balls/markers come from the ringDefaults template in config/games/reaction.lua (innermost first; ring N reuses the last entry if the list is shorter). Tune that array to change what a numeric ring count looks like server-wide. Bigger rings have more room, so a fixed ball count looks sparser the further out it sits - the defaults ramp the outer rings up to stay full.

Osu

Numbered targets fade in one after another, each with a shrinking ring around it. Move onto the current target and click just as the ring closes on it. Miss, mistime, or let one expire and you fail; clear the whole chain to win. Export: exports['awoken_minigames']:Osu(opts) - returns true only on a win.
Presets
hitWindow sets how forgiving the timing is; interval only sets the pace. Lower hitWindow first to make it harder.

Slider

Symbols scroll past a catch zone and a prompt tells you which one to catch. Press Space only while that symbol is inside the zone. You can read every symbol early, so the challenge is picking the right one, not reacting fast. Export: exports['awoken_minigames']:Slider(opts) - returns true only on a win.
Presets
Catching the wrong symbol, pressing with nothing in the zone, or letting the wanted symbol pass all count as a mistake - so it rewards restraint as much as timing.