Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shenniger/textlang
Toolkit for writing interactive fiction (CLI + web)
https://github.com/shenniger/textlang
c interactive-fiction javascript webassembly
Last synced: 18 days ago
JSON representation
Toolkit for writing interactive fiction (CLI + web)
- Host: GitHub
- URL: https://github.com/shenniger/textlang
- Owner: shenniger
- Created: 2019-05-26T19:05:33.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-05-26T19:05:49.000Z (over 5 years ago)
- Last Synced: 2024-11-13T07:46:42.499Z (about 2 months ago)
- Topics: c, interactive-fiction, javascript, webassembly
- Language: C++
- Homepage:
- Size: 47.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
This is a toolkit for creating classic text adventures. Its core is a library written
with modern C++ which defines a representation for verbs, objects and actions and
which parses a text adventure DSL. It also contains CLI programs both for translating
between the binary representation and the DSL as well as for playing these adventures.Finally, the repository also contains an experimental web player using
WebAssembly/Emscripten and some hand-written HTML/CSS/Javascript.It allows you to write text adventures in an efficient-to-write, easy-to-read language,
have them translated to a binary and publish them as browser games.See the `example.ta` file for an example.
# To-Do
* Reduce code size, especially that of the WebAssembly.
* Improve comment and whitespace handling.
* Improve compiling on Windows.# How to use
1. Compile the CLI programs using `./compilecli.sh g++` (or `./compilecli.sh clang++` respectively).
2. Compile your text adventure using `TextLangCompiler.build [YOUR FILE] test`.
3. Use `TextLangPlayer.build` to try it out.
4. Compile the web player using `./compilejs.sh` and store your `test` file (created above)
in the `Build/html` directory.
5. Now publish your `Build/html` directory and point a browser to it.