Skip to content
trynogauntPublic

About

A retro console RPG written in Python: create a hero, equip gear and fight enemies.

Resources

Contributing

Stars

4 stars

Watchers

1 watching

Forks

Latest commit

 

History

115 Commits

Folders and files

Repository files navigation

Python RPG Game

██████╗    ██████╗   ██╗   ██╗   ██████╗ 
██╔══██╗   ██╔══██╗  ╚██╗ ██╔╝  ██╔════╝ 
██║  ██║   ██████╔╝   ╚████╔╝   ██║  ███╗
██████╔╝   ██╔═══╝     ╚██╔╝    ██║   ██║
██╔══██╗   ██║          ██║     ██║   ██║
██║  ██║   ██║          ██║     ╚██████╔╝
╚═╝  ╚═╝   ╚═╝          ╚═╝      ╚═════╝ 

Your CPU will handle all the dragons.

Python Game Type Status License Last Commit Chat Code Style PRs Welcome Release pypresence

RPyG - Retro Python Command Line RPG

RPyG is a retro console Role-Playing-Game written in Python

Inspired by old-school MUD adventures

Early development stage, contributions welcome!

⭐ If you like the project, give it a star, it really helps!

Features (current)

  • Character creation (name + stat points)
  • Explorable zones with multiple rooms, movement and "look around"
  • Save and load with multiple slots
  • Two interfaces: a Textual TUI and a plain console fallback
  • Localization: English, French, German and Spanish

More gameplay is coming:

  • Enemies & combat
  • Inventory & items
  • NPC & Shop system

Installation

git clone https://github.com/trynogaunt/RPyG.git
cd RPyG

# Create and activate venv (optional, but recommended)
python -m venv .venv
.venv\Scripts\activate     # Windows
source .venv/bin/activate  # macOS / Linux

# Install the game and its dependencies
pip install -e .

With uv: uv sync.

Run the game

rpyg                  # default interface
rpyg --ui textual     # Textual TUI
rpyg --ui console     # plain console

If Textual is not available, the game falls back to the console interface.

Saves

Saves are stored as JSON files, one per slot, in your user data folder (for example ~/.local/share/rpyg/saves on Linux).

Development

pytest

The game logic (Game) never prints or reads input: interfaces send actions and render the views it returns, which is what lets several interfaces share the same core.

Full documentation

Coming soon on the Wiki

About

A retro console RPG written in Python: create a hero, equip gear and fight enemies.

Resources

Contributing

Stars

4 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages