A small tile-based roguelite prototype built with Python and pygame-ce.
Using Conda:
conda env create -f environment.yml
conda activate python-gamepython main.pyWASDor arrow keys: moveEscorQ: quit
- Pixel-style grid rendering
- Player movement by tile
- Wall collision
- Randomly generated map that consist from number of configured rooms
- Start, normal, treasure, trap, and boss room types
- Each room doesn't have to be connected to adjacent rooms, but it has to have a way inside
- Minimap revealing rooms as the player discovers them
- JSON-based game settings in
settings.json
Change room_count in settings.json to control dungeon size.
pytestGitHub Actions runs the test suite and a headless Pygame startup check for every push and pull request. The workflow can also be started manually from the repository's Actions page.
After a successful push to main, Python Semantic Release reads the Conventional
Commit messages since the previous release. Releasable changes update the
version in pyproject.toml, generate release entries in CHANGELOG.md, create
an alpha Git tag, and publish a GitHub Release.
fix:creates a patch release.feat:creates a minor release.- Breaking changes create a minor release while the project remains below
1.0.0. docs:,test:,ci:, andchore:do not create a release by themselves.