Giter Site home page Giter Site logo

lychanl / discord-text-rpg Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 2.0 247 KB

A text rpg game meant for discord bot as UI.

Home Page: https://lychanl.github.io/categories/#Discord%20text%20RPG

License: GNU General Public License v3.0

Python 100.00%
discord-bot discord-text-rpg game discord-game text-adventure-game multi-user-dungeon

discord-text-rpg's Introduction

discord-text-rpg

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.

Command line game

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 commands me or here to see what's going on and what else can you do! (help might be useful too)

Discord game

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.

Progress:

For a list of features for future versions see [https://github.com/lychanl/discord-text-rpg/issues]

Changelog

0.4.0

Engine
  • Custom tactics parsing and setting
  • FightEvents may now have melee disabled
  • Impossible to pass/fail tests
Default world
  • 1 new NPC
  • set custom tactic action
  • combat tutorial

0.3.0

Engine
  • 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
UI
  • fixed error where too long messages weren't correctly sent
Default world
  • 1 new NPC
  • 1 new item
  • use item action
  • tutorial sideline quests

0.2.0

Engine
  • Player state via active and passive state machine with state-dependant actions, visibility and requirements
  • Conditional events
  • Action visibility
  • Equipped items as action requirements
UI
  • Discord bot admin console with prefix and channel setting
Default world
  • 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

0.1.1

  • default world string fixes
  • argument name resolvig fix
  • action hinting

0.1.0

  • 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

discord-text-rpg's People

Contributors

lychanl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

discord-text-rpg's Issues

Browser interface

Add browser interface as a possible interface (next to the CLI and Discord).

May require more issues, including:

  • listing possible values for action arguments (likely)
  • separate "output schema" for different interfaces (which could also prevent markdown formatting artifacts for CLI)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.