Skip to content

Leonardo-Ma/Untitled-Platformer

Repository files navigation

Untitled Platformer

Conventional Commits Keep a Changelog Semantion Version (SemVer) Docs With Zensical

Pre-commit git-cliff - Git Changelog Generator

CI Code Analysis (CodeQL)
GitHub version


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.

Summary

xx is a simple 3d low poly plataformer. The core game loop is a partially procedural endless runner around evolving player abilities.

Main Features:

  • 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)

Features diagram

Project architecture

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.

Developing

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-msg

To change docs (zensical)

Dependencies:

Installing with pipx:

cd <project path>
pipx install zensical

Running zensical locally:

zensical serve

Commit guideline

Refer to Conventional Commits.
This project's configuration.

<type>(<optional scope>): <description>
empty line as separator
<optional body>
empty line as separator
<optional footer>

To use git-cliff (changelog generator) locally:

Dependencies:

Git cliff usage examples

git-cliff

Acknowledgments

Refer to ACKNOWLEDGMENTS.md.

About

Itch.io: ------------------------------------------ Docs: https://leonardo-ma.github.io/Untitled-Platformer/

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Contributors