Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/curiousdannii/emglken
Glk meets Emscripten
https://github.com/curiousdannii/emglken
emscripten glk interactive-fiction
Last synced: 19 days ago
JSON representation
Glk meets Emscripten
- Host: GitHub
- URL: https://github.com/curiousdannii/emglken
- Owner: curiousdannii
- License: mit
- Created: 2017-02-22T07:38:12.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2024-12-09T05:55:20.000Z (25 days ago)
- Last Synced: 2024-12-09T06:30:50.351Z (25 days ago)
- Topics: emscripten, glk, interactive-fiction
- Language: CMake
- Homepage:
- Size: 1.7 MB
- Stars: 7
- Watchers: 4
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Emglken: Glk meets Emscripten
=============================Over the years many Interactive Fiction interpreters have been written which use the Glk API, or have been adapted to do so. Emglken takes some of these interpreters, compiles them to use the [RemGlk-rs](https://github.com/curiousdannii/remglk-rs) Glk library using [Emscripten](https://emscripten.org/), and then outputs to Javascript and WebAssembly. These interpreters, which once needed to be compiled for each distinct operating system and CPU combination, can now be run anywhere there's a modern Javascript runtime: on the web with [Parchment](https://github.com/curiousdannii/parchment), in desktop apps like [Lectrote](https://github.com/erkyrath/lectrote), or in Node.js directly.
Emglken itself has almost no code at all; this project basically just takes care of compiling all the pieces together with the right settings, as well as providing a common JS interface to handle setting up the connections between each interpreter and GlkOte.
npm package and console app
---------------------------Emglken has been published to the [npm package repository](https://www.npmjs.com/package/emglken). You can install the emglken package and use each interpreter as you wish. A basic console app is also provided, just run `emglken` with the path to the storyfile you want to run.
```
emglken storyfile.gblorb
```Included Projects
-----------------Emglken, RemGlk-rs and AsyncGlk (used by the console app) are MIT licensed, as are some of the interpreters, but others are licensed under other Free Software licenses as listed below.
Name | Upstream repo | License
------ | ------------- | -------
AsyncGlk | [curiousdannii/asyncglk](https://github.com/curiousdannii/asyncglk) | [MIT](https://github.com/curiousdannii/asyncglk/blob/master/LICENSE)
Bocfel | [garglk/garglk](https://github.com/garglk/garglk) | [GPL-2.0](https://github.com/garglk/garglk/blob/master/terps/bocfel/COPYING.GPLv2)/[GPL-3.0](https://github.com/garglk/garglk/blob/master/terps/bocfel/COPYING.GPLv3)
Git | [DavidKinder/Git](https://github.com/DavidKinder/Git) | [MIT](https://github.com/DavidKinder/Git/blob/master/README.txt)
Glulxe | [erkyrath/glulxe](https://github.com/erkyrath/glulxe) | [MIT](https://github.com/erkyrath/glulxe/blob/master/LICENSE)
Hugo | [hugoif/hugo-unix](https://github.com/hugoif/hugo-unix) | [BSD-2-Clause](https://github.com/hugoif/hugo-unix/blob/master/License.txt)
RemGlk-rs | [curiousdannii/remglk-rs](https://github.com/curiousdannii/remglk-rs) | [MIT](https://github.com/curiousdannii/remglk-rs/blob/master/LICENSE)
Scare | [garglk/garglk](https://github.com/garglk/garglk) | [GPL-2.0](https://github.com/garglk/garglk/blob/master/terps/scare/COPYING)
TADS | [tads-intfic/tads-runner](https://github.com/tads-intfic/tads-runner) | [GPL-2.0](https://github.com/tads-intfic/tads-runner/blob/master/COPYING)