A text rpg game meant for discord bot as UI. It can be run either as a discord bot or a command line text adventure game.
It is a hobby project. If you are interested in developement, feel free to add an issue or pull request.
It requires python version 3.7 or above and packages from requirements-cli.txt
(PyYAML, Lark).
To run the game:
- Run
python3 code/main.py --world worlds/default cli
- Try it! Create player with
start
command, and try commandsme
orhere
to see what's going on and what else can you do! (help
might be useful too)
It requires python version 3.7 or above and packages from requirements.txt
(PyYAML, Lark, discord).
To run the game:
- Prepare a discord bot that you want to use.
- Prepare configuration file - specify at least the bot token, but you may want to limit the game to a single channel or specify the prefix. See
discord.sample.yaml
for an example. - Run
python3 code/main.py --world worlds/default --client-config your-discord-config.yaml discord
WARNING: The game will reset if the program is reset. This will change in future version.
For a list of features for future versions see [https://github.com/lychanl/discord-text-rpg/issues]
- Custom tactics parsing and setting
- FightEvents may now have melee disabled
- Impossible to pass/fail tests
- 1 new NPC
- set custom tactic action
- combat tutorial
- Timed bonuses to resource regeneration and maximum value
- State-based default action
- More powerful config, with type and name specification for nested object definitions
- Game state persistency
- fixed error where too long messages weren't correctly sent
- 1 new NPC
- 1 new item
- use item action
- tutorial sideline quests
- Player state via active and passive state machine with state-dependant actions, visibility and requirements
- Conditional events
- Action visibility
- Equipped items as action requirements
- Discord bot admin console with prefix and channel setting
- 2 new NPCs
- 1 new item
- 1 new location
- The first questline: first three parts of the tutorial
- Journal action, merged skills and stats action
- Other minor tweaks
- default world string fixes
- argument name resolvig fix
- action hinting
- configurable worlds
- localized texts
- discord bot UI (single global game, for now)
- in-game help
- creating a player
- locations, travelling
- action points system, with regenerating action points
- location-based actions
- player-based actions
- items, resources, trading (with 'NPCs' only, for now)
- skills
- monsters, fighting