encrusted
lectrote
encrusted | lectrote | |
---|---|---|
1 | 1 | |
127 | 242 | |
- | - | |
0.0 | 7.1 | |
almost 2 years ago | 7 months ago | |
Rust | JavaScript | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
encrusted
-
50 years of text games – 1977: Zork
One of the coolest technical aspects of early Infocom text adventure games is that most games weren't actually written using native assembly code for the platforms they ran on, and were instead compiled down to "z-code", a bytecode which ran on the "z-machine" virtual machine architecture. Z-machines are pretty niftly little bits of tech, as while they have a lot in common with regular 'ol machine code, the z-machine spec also includes dedicated instructions for fetching text input from the user, outputting text to the console, saving/loading data to disk, etc...
Having games target the abstract z-machine platform made it incredibly easy for Infocom to port games across platforms, as instead of re-writing every game from scratch, they could simply write a z-machine interpreter for said platform, and immediately gain access to their entire adventure game catalog!
A happy side-effect of all this is that it's super easy to run these classic adventure games on modern platforms, as instead of emulating the UI/UX of a 80s microcomputer, it's possible to write a z-machine interpreter that takes full advantage of modern GUIs.
One of my personal favorite modern z-machine interpreters is `encrusted` [1], which is written in Rust that runs on the Web thanks to WebAssembly. As a fun side-project, I ended up forking the project and making `embcrusted` [2], a z-machine interpreter that can run on embedded platforms without a full C-library. In a weekend or two of hacking, I was able to port a z-machine interpreter to my mechanical keyboard, in order to get the "authentic" experience of playing a text-adventure game through a teletype :)
[1] https://github.com/DeMille/encrusted
[2] https://github.com/daniel5151/embcrusted
lectrote
-
50 years of text games – 1977: Zork
There are still people making new works of interactive fiction, including in the parser-based style of Adventure or Zork. You can find a lot of the more recent games on IFDB[0] and general info about IF and the community on IFWiki[1]. Most modern parser games are built for VMs with interpreters available for many operating systems and types of devices, with Lectrote[2] being a common recommendation for desktop platforms.
[0]: https://ifdb.tads.org
[1]: http://ifwiki.org/index.php/Main_Page
[2]: https://github.com/erkyrath/lectrote
What are some alternatives?
twinejs - Twine, a tool for telling interactive, nonlinear stories
zork1 - Zork I (Microcomputer Version) by Infocom
RockMUD - Node Websocket MUD Server. Demo: https://rockmud.herokuapp.com/
cyo - Simple HTML Storytelling Engine
mud-eventemitter