textual-engine
textual-engine copied to clipboard
an event-driven text adventure engine for both narrative story telling and procedural dungeon crawling
Provide a way for Discord users to connect to an existing world and play through chat. This does not need to support multiple worlds at first. The `quit` command should...
Find a way to load modules, plugins, or CDN scripts to provide world data and script source. Look into sandboxing entity scripts. This will necessarily be a huge code injection...
Remove old rooms from the state struct when it reaches the configured limit. Remove the oldest rooms first, by visitation time/turn.
Reduce the number of `state-room` events sent each step by: - queuing events for the same room and issuing them once (at the end of the step, not debounced) -...
Listen for `state-*` events on a socket and re-emit them locally for a player actor service and render.
Listen for `actor-*` events on a socket and re-emit them locally for a state service.
The current world is turn-based, stepping every time the player submits a command. In a network scenario, the world should wait a reasonable amount of time for all players to...
Find a way to rewind the random number source and recreate pruned rooms from the same template, to prevent major differences when backtracking and revisiting a room.