Documentation
Building a game
Abilities and quiz
Updated 2026-11-03
Abilities and quiz
Abilities
Abilities are keyword-driven and stored in versioned definitions.
- Conditions can depend on attributes, environment, group or state.
- Effects can add or replace scores, modify variance, grant currency or chain.
- Rarity determines the number of slots per card (1/1/2/2/3).
- A profile cap limits how many abilities a card can carry.
- Economy effects are bounded by per-race gold/XP caps.
- Activations and non-race hooks are audited.
- The trial result carries an ability trace.
The admin Abilities resource validates the JSON definition strictly and bumps the version on change. The collectible edit page attaches abilities with slot validation.
Quiz
Six question types are supported: choice, multiple choice, true/false, text, ordering and matching.
QuizScorerandQuizNormalizerare deterministic.- Scoring is correctness-first.
- Strict authoring rejects duplicate option keys, missing or multiple correct options (unless allowed) and invalid specs.
- Mastery and spaced repetition schedule reviews.
- Error monsters track recurring mistakes.
- Timed sessions are server-issued with a nonce and expiry; the server remains authoritative.
- Question and option order are shuffled server-side; a set can serve a random sample.
- Per-question attempt caps and fast-answer detection feed the anti-cheat scan.
- Submitted answers are never logged.
Admin
- Quiz sets and Quiz questions resources.
- Preview action for a question.
- Mechanics exposes the quiz timer.
- Feature settings has the global quiz and timed-trial switches.
- Anti-cheat page and
anti-cheat:scanreport findings; no automatic sanction.
Client
The Flutter client parses abilities and shows a tooltip panel. The quiz screen supports choice, text, ordering and matching input, shows the countdown and submits idempotently.
Commands
php artisan anti-cheat:scan
php artisan animalia:simulate:abilities