Skip to content
This repository has been archived by the owner on Jun 7, 2024. It is now read-only.

Requirements for the new game engine #40

Open
rossjrw opened this issue Apr 14, 2021 · 0 comments
Open

Requirements for the new game engine #40

rossjrw opened this issue Apr 14, 2021 · 0 comments
Labels
planning planning implementation ideas for later

Comments

@rossjrw
Copy link
Member

rossjrw commented Apr 14, 2021

Per #35, the new game engine will have events defined by a static TOML file or files. The old game engine (LoopService.js) was not static, allowing me to pass arbitrary functions for each event to do whatever I want; this will no longer be possible. Each possible side effect must be documented and implemented specifically. So, what needs to be possible?

  • Each interaction must have introductory dialogue and a set of options.
  • Choosing an option should initiate another interaction.
  • It should be possible to skip the options and proceed directly to a default interaction under some condition.
  • Options should be able to be toggled on or off given some condition.
  • Individual lines of text, and even groups of several lines, should be able to be toggled on or off given some condition.
  • Any "some condition" should be able to access the game state to check for pretty much anything. (what is 'anything'? is it feasible to codify each possibility?)
  • The event files must be read-writable so that I can make a UI to easily add new ones.
  • It should be possible to generate a tree mapping all interactions together.
  • It should be possible to find orphaned/wanted/tail interactions.
  • It should be possible for options to appear during the text of an interaction, or otherwise produce an indistinguishable effect, that allows an option to be selected that will cancel and interrupt the current interaction and begin a new one.
  • It should be possible for option selection to be interrupted, e.g. by a character growing impatient if time is running.
@rossjrw rossjrw added the planning planning implementation ideas for later label Apr 14, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
planning planning implementation ideas for later
Projects
None yet
Development

No branches or pull requests

1 participant