Emglken: Difference between revisions

From IFWiki

No edit summary
No edit summary
Line 3: Line 3:
|Uses interpreter=Bocfel, Git, Glulxe, Hugo, Mjr-T3, Scare
|Uses interpreter=Bocfel, Git, Glulxe, Hugo, Mjr-T3, Scare
|Interpreter app=No
|Interpreter app=No
|Multimedia=Supports graphics in Lectrote and Parchment, colours in Parchment only
|Multimedia=Emglken in Parchment has full multimedia support, but in Lectrote only supports graphics
|Developer=Dannii Willis
|Developer=Dannii Willis
|Home page=https://github.com/curiousdannii/emglken
|Home page=https://github.com/curiousdannii/emglken
|Format=ADRIFT 4, Glulx, Hugo, TADS 2, TADS 3, Z-code
|Format=ADRIFT 4, Glulx, Hugo, TADS 2, TADS 3, Z-code
|System=Browser, Windows, macOS, Linux
|System=Browser, Windows, macOS, Linux
|Version=0.6.0
|Version=0.7.0
|Date=2024/02/12
|Date=2024/12/14
|Status=Stable
|Status=Stable
|License=MIT, some terps GPL-2.0
|License=MIT, some terps GPL-2.0
Line 17: Line 17:
From the readme:
From the readme:


<blockquote><p>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]] Glk library using Emscripten, 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]], in desktop apps like [[Lectrote]], or in Node.js directly.
<blockquote><p>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]] Glk library using Emscripten, 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]], in desktop apps like [[Lectrote]], or in Node.js directly.


<p>Emglken itself doesn't have a lot of code, RemGlk does most of the work for us. What Emglken does provide is a virtual file system for Emscripten which lets RemGlk think it is running on a normal Linux filesystem, but is actually transformed to use [[GlkOte|GlkOte's]] Dialog API. Emglken also provides a common interpreter interface to handle setting up the connections between each interpreter and GlkOte.</blockquote>
<p>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.</blockquote>


Emglken is available as a console app via npm, as well as being bundled into [[Lectrote]] and [[Parchment]].
Emglken is available as a console app via npm, as well as being bundled into [[Lectrote]] and [[Parchment]].

Revision as of 07:56, 14 December 2024

Emglken
Interpreter
[[File:|385px|center]]
Link Home page
Developer Dannii Willis
Formats ADRIFT 4, Glulx, Hugo, TADS 2, TADS 3, Z-code
Interaction style
Systems Browser, Windows, macOS, Linux
System details
Latest version 0.7.0 / 14 Dec 2024
Status Stable
Implements
Uses
Used byElseIFPlayer, Lectrote, Parchment
Multimedia support Emglken in Parchment has full multimedia support, but in Lectrote only supports graphics
License MIT, some terps GPL-2.0
Notes Note that this interpreter cannot simply be downloaded and run to play game files.
Browse the software database
Edit this infobox

Emglken is a project by Dannii Willis which compiles several interpreters with Emscripten into Javascript and WebAssembly, so that the interpreters can be played anywhere with a modern Javascript runtime, such as any modern web browser.

From the readme:

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 Glk library using Emscripten, 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, in desktop apps like 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.

Emglken is available as a console app via npm, as well as being bundled into Lectrote and Parchment.

Interpreters
By format ADRIFTAdvSysAGTAlanGlulxHugoMagnetic ScrollsTADSZ-code
By system BrowserAndroidiOSLinuxmacOSWindows
Browse Recommended interpretersSearch formDrilldown
Other software Authoring systemsUtilities