Sample project based on Pyved engine using ECS Roguelike template
The project you see now is basically a spin-off from one of many game templates you can find in the General game templates index.
Try the game online, in your browser! PLAY!
- from original project
- random map generation
- A* path finding for monsters
- player's line of sight
- implemented using Entity Component System (ECS)
- EXTRA features
- simple UI
- status bar
- help panel
- action log
- difficulty progression (with each level +1 monster)
- highscore list
- random tiles for walls and floor
- some debug tools
- show exit
- show potions with it's type
- show all monsters
- activate all monsters
- show monster paths
- take screenshot
- simple UI
- 2 or more monsters sometimes occupy the same location
- after loading a new level, sometimes player starts on monster position
- monsters hit 2 times per one player turn
- action log is not cleared as expected when new game starts
- ✅
Highscore table - ✅
use walls tiles fromtileset.png
instead of black rectangle - ✅
add more monster types - make fight more entertaining
- switch font to monospace pixel art
- add sounds (music and sfx)
- make UI more appealing (icons, colors, menus)
# create venv
python3 -m venv .venv
# activate the venv
# on Linux/MacOS:
source .venv/bin/activate
# on Windows:
.venv\Scripts\activate
Once done, you have to install the dependency (game engine), you will probably need the latest (dev build) version of the game engine, not the version that can be found via PyPI.
# let us clone the latest version of pyved-engine, install it
cd ..
git clone https://github.com/pyved-solution/pyved-engine.git
cd pyved-engine
pip install -e .
# go back to the folder where your game is stored
cd ../Pyved_Roguelike_template
Local execution:
# using pyved command line tools
pyv-cli play ecsRogue
If there is a problem with the built-in command line tool (pyv-cli
) you may also run the launcher script:
cd ecsRogue
python launch_game.py
These two commands are equivalent.
To kata.games
Warning: that step may require fixing, as it doen't always working with the latest pyved-engine version. In the near future we will ensure that only stable versions of pyved-engine
are used to write demos and that these versions are supported by our cloud player solution.
pyv-cli share ecsRogue
Code:
Assets created by:
and: @JoeCreates for monsters.