Skip to content

Latest commit

 

History

History
134 lines (94 loc) · 2.82 KB

README.md

File metadata and controls

134 lines (94 loc) · 2.82 KB

Pyved_Roguelike_template

Sample project based on Pyved engine using ECS Roguelike template

screenshot

Core project is taken from engine repo t-workshop/ECSRogue.

Try it online: PLAY!

Features

  • 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

Known bugs

  • 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

Ideas for future

  • Highscore table
  • use walls tiles from tileset.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)

Installation

# create venv
python3 -m venv .venv
# activate it
# on Linux/MacOS
source .venv/bin/activate
# on Windows
.venv\Scripts\activate

# install packages
pip install -r requirements.txt

Run

Desktop mode:

# using pyved command line tools
pyv-cli play ecsRogue
# or just like that
cd ecsRogue
python main.py

Browser mode:

# from top level project folder
pygbag --ume_block 0 ecsRogue

open http://localhost:8000/ in browser

use http://localhost:8000#debug to show terminal in browser - useful for troubleshooting

Deploying

TODO: needs fixing, not working with the lates pyved-engine version

pyv-cli share ecsRogue

full instruction here

in short:

pygbag --ume_block 0 --archive ecsRogue

upload 'build/web.zip' to itch.io or any other hosted site.


To GitHub pages

full instruction here

Credits

Assets created by: Pixel-boy AAA

and:

@JoeCreates for monsters.

Patreon: https://www.patreon.com/pixelarchipel