This was my first minigame, also to be partially used as a mechanics and architectural template for future ones.
In order to reduce scope and actually finish and publish it, I gave myself a ~ two month period to finish.
xx is a simple 3d low poly plataformer. The core game loop is a partially procedural endless runner around evolving player abilities.
- Skills: Multi jump, ground/air dash, feather fall, teleport
- Jump cutting, coyote time, knockback
- Basic sound system
- Checkpoint and collectibles
- Chunk based procedural level generation (Handcrafted chunks)
Uses modular approach for future proofing, relying heavily on composition and inheritance when appropriate. Any complex system is documented in docs/diagrams/.
Uses conventional commit messages that are fed into git-cliff to auto generate changelog. Has a few CI checks locally and on Github, also pushes to Gitlab. Has a few custom unit tests after execution.
Strictly follows Godot's recommended code style guidelines and file naming.
Dependencies:
Clone this repo
Scan the project's root in Godot
Enjoy
For commit hooks (formatter/lint/parser/spelling...) to work (.pre-commit-config.yaml):
Dependencies:
Installing with pipx:
pipx install pre-commit
pipx ensurepath
cd <repo-path>
pre-commit install --install-hooks
pre-commit install --hook-type commit-msgDependencies:
Installing with pipx:
cd <project path>
pipx install zensicalRunning zensical locally:
zensical serveRefer to Conventional Commits.
This project's configuration.
<type>(<optional scope>): <description>
empty line as separator
<optional body>
empty line as separator
<optional footer>
Dependencies:
git-cliffRefer to ACKNOWLEDGMENTS.md.