A Godot 4 action-adventure RPG, built alongside Michael Games' "2D Action & Adventure RPG" tutorial series. Code, scenes, and assets in this repo started from that tutorial; deviations are intentional and documented per-commit.
Tutorial assets and the original code structure are by Michael Games:
- YouTube playlist: https://www.youtube.com/playlist?list=PLfcCiyd_V9GH8M9xd_QKlyU8jryGcy3Xa
- Reference repo: https://github.com/michaelmalaska/aarpg-tutorial
- Asset pack: https://michaelgames.itch.io/2d-action-adventure-rpg-assets
If you're using this repo to follow the tutorial yourself, the reference repo above is closer to the tutorial's per-episode state — this repo has been refactored to project-local conventions documented under .claude/.
- Godot 4.6+ — download from https://godotengine.org/download or via the asset link above. Open
project.godotin the editor. - Python 3.10+ — only required for the GDScript dev tooling (linter/formatter). Not required to run the game.
The lint/format toolchain (gdtoolkit + pre-commit) installs in one command. Run from the repo root:
# Windows (PowerShell)
.\scripts\setup-dev.ps1
# POSIX (Linux, macOS)
./scripts/setup-dev.shThe script:
- Installs
uvif missing (Astral's official Python tool manager). - Runs
uv syncto create a.venv/and install the dev dependencies pinned inpyproject.toml+uv.lock. - Runs
uv run pre-commit installto wire.git/hooks/pre-commit, so style violations are caught at commit time.
Idempotent — safe to re-run after pulling new dev dependencies.
uv run gdformat $(git ls-files '*.gd') # format every .gd file
uv run gdformat --check $(git ls-files '*.gd') # check without modifying
uv run gdlint $(git ls-files '*.gd') # lint
uv run pre-commit run --all-files # run all hooks across the repouv run <cmd> auto-resolves the project's .venv/; no manual activation needed.
Three normative guides live under .claude/ (originally written for AI sessions, but they're plain Markdown — read them):
.claude/VCS.md— commit message format, prefix vocabulary, branching workflow..claude/STRUCTURE.md— directory layout, component conventions, naming rules..claude/STYLE.md— GDScript code style: header order, naming, spacing, docstrings, state-machine conventions, full tooling reference.
CLAUDE.md at repo root is a quick-reference summary that loads automatically into AI sessions; it points at the guides above for detail.
GitHub Actions workflow gdtoolkit.yml runs gdformat --check and gdlint on every push and pull request. Mirrors what the local pre-commit hook checks; nothing reaches master without passing both.
The original tutorial assets and code are by Michael Games — refer to the asset pack and tutorial repo (linked above) for their licensing terms. Project-specific changes in this repository are not yet licensed; treat as "all rights reserved" pending an explicit license decision.