# Les Aventuriers des mots (The Word Adventurers) An educational French-language game for 7-9 year olds (French grades CE1-CE2): an offline 2D adventure with an explorable map, a guide character, and grammar, spelling, and dictation exercises. Open source project, in development. Current status: first playable prototype (scope of cahier-des-charges §15) — boot, profiles, a three-location map, all three exercise types, saves, Linux/Windows exports. Pedagogical content is still minimal (see `docs/specs/decisions.md` for scoping decisions and `docs/specs/cahier-des-charges.md` for the full specification, both in French — this is a French-curriculum product). ## Tech stack - Godot 4.6 (typed GDScript) - Exercises and pedagogical content as JSON data, validated on load - Headless tests (GUT), GDScript lint/format (gdtoolkit) ## Getting started ```sh make setup # installs Godot (pinned), GUT and gdtoolkit locally, nothing is committed make run # runs the game ``` ## Commands | Command | Effect | |---|---| | `make setup` | installs tooling (lint, tests, export templates) | | `make run` | runs the game | | `make lint` / `make format` | GDScript static analysis and formatting | | `make validate-data` | validates the JSON files in `data/` | | `make test` | headless tests | | `make check` | lint + validate-data + test, must pass before every commit | | `make export-linux` / `make export-windows` | exports into `build/` | ## Structure - `autoload/`: global modules (game lifecycle, profiles, progress, exercises, saves, audio, settings) - `scenes/`: self-contained Godot scenes communicating via signals - `scripts/`: pure logic (correction, pedagogy) and data loading - `data/`: pedagogical content as JSON, validated against schemas - `assets/`: graphics and audio (placeholder at this stage, see `assets/CREDITS.md`) - `tests/`: headless tests (GUT) - `docs/specs/`: specification and scoping decisions (French) ## License Code and content under the [GNU Affero General Public License v3](LICENSE).