Git Product home page Git Product logo

faith-n-tech_d7d's People

Contributors

depwl9992 avatar dmkilday avatar

Stargazers

 avatar

Watchers

 avatar  avatar

faith-n-tech_d7d's Issues

Interface - Telnet

Add a telnet client that can log into MUDs and offer to DM for live players.

Should have Diku, MUX and custom login string capability. This would be like a Discord bot where credentials would be stored somewhere untracked. It would also have to trigger on say and emote commands from within the MU* and parse them properly, so a configurable string would be necessary.

The bot player should have color turned OFF so we don't have to parse xterm or ansi color codes.

d7d_structure_generator.py seed values should have defaults

image

As you can see, the keywords and character sheet are optional, but numeric values must be explicitly provided by the user. Would be nice if a blank (or invalid) string just assumed a default for Number of Stages, Minimum Substages, and Maximum Substages.

Reverse DM Roll

Offer the bot a commandset that it can call back to the script to generate automatic responses like dice rolls, requests for brief character details, etc.

VERY out of context responses will freeze the API

If I try to go very off topic or make a choice that is not what the bot was expecting (e.g. my character goes off to smell flowers or brainlessly continues escaping the trap without trying something different), the bot will freeze and grind for minutes or many minutes, and never (relatively speaking) come back with a response. Ctrl-C/Ctrl-Brk did not cancel the process and let me try something else, or exit cleanly, or even exit the venv at all without force-closing the terminal.

Adventure Logging and Progression

Framework

Tree structure rather than "MUD Grid"

Details

  • NPCs that we can interact with
  • Places we can go
  • Choices we can take

Know what we did, where we are, and how to loop us until we complete a node. How does it know when to navigate us to a new node? We may need it to present us with a numbered list of options.

Simulate the API controlling the program - a reverse API that the bot calls to your script.

  1. The program knows the 3 options that a player can pick from to move forward.
  2. The bot presents the question, 'what do you want to do (in plain text)?' or 'what item from this numbered list do you pick?'
  3. The player responds with what they want to do.
  4. If the response is plaintext, present the BOT (hidden) with 'what prompt that you have stored to move us to the next node CLOSEST matches what the player wants to do?' using the reverse DM-roller routine.

Linking

Every action we take should dump the adventure to a log, and then we should have a subroutine that builds the 'what we did last time' setting and allows us to continue an adventure where we left off from session end/crash/etc.

The current quest state should have a premise/summary, chapter/node id, and description. When you enter any node, the DM provides the entry point into the node.

Interface - Discord Bot

From a terminal works, but is not always global. Add an option to load in as a Discord bot.

Genericize RPG Nomenclature

Remove D&D specific verbiage from the project so players can play any type of RPGs (including D&D games). Why limit ourselves? :)

Intepret and facilitate adventure json (history log with FIFO deprecation of details and LIFO recall from previous sessions)

  1. For each step and user interaction made, dump to a text log.
  2. To avoid hitting the max token length error or exponentially increasing transaction sizes of longer adventures, remove oldest entries from the dialog object (they will still be stored in the local log).
  3. On Session Start, read the last entries of the log, stepping backward in time until the setting can be recalled.

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.