encrusted
twinejs
encrusted | twinejs | |
---|---|---|
1 | 408 | |
127 | 1,794 | |
- | - | |
0.0 | 8.5 | |
almost 2 years ago | 14 days ago | |
Rust | TypeScript | |
MIT License | GNU General Public License v3.0 only |
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
twinejs
-
Ask HN: Modern Day Equivalent to HyperCard?
I think you and your kid would have fun designing a Choose Your Own Adventure game in Twine. https://twinery.org/
FWIW, there are a bunch of simple modern GUI builders, including GUI builders for the web, but none of them are popular, due to the sweet spot of supply and demand that Hypercard hit.
When Hypercard launched, it came with every Mac, it was free, and there was nothing else like it available on the Mac. On the Mac, the alternative to Hypercard was to layout UI widgets in code, with no GUI builder at all, or eventually to pay $$$ for a professional-grade IDE like CodeWarrior. As an entry-level user with no budget, if you wanted a GUI builder for the Mac, you got Hypercard, or nothing. This created a community of Hypercard enthusiasts.
Furthermore, when Hypercard launched, Macs had a standard screen resolution. Every Mac sold had a screen resolution of 512x342 pixels, so you could know for sure how your cards would look on any Mac. Supporting resizable GUIs is one of the hardest things to do in any GUI builder. (How should the buttons layout when the screen gets very small, like a phone? Or very wide, like a 16:9 monitor?) Today, Xcode uses a sophisticated constraint solver / theorem prover to allow developers to build resizable UIs in a GUI; it works pretty well, I think, but it's never going to be as easy to learn as "drag the button onto the screen and it's going to look exactly like that everywhere."
The last issue is the real killer for modern Hypercard wannabes: it's a small step from a web GUI builder to raw HTML/CSS. You don't have to pay big bucks to have access to professional-grade HTML, CSS, and JavaScript. Sure, they're not that easy to learn, but you can teach a kid to write interactive web pages, no problem.
As a result, the demand for a simple GUI builder is lower than it was for Hypercard, and even when you do capture a user, they tend to outgrow your product, and there are a zillion competitors, so none of them can build a community with real traction.
- Show HN: Twine – Gorgeous open source multiplatform RSS app
- Ask HN: Yo wants to build a game, I'm lost. What can I do?
- Ask HN: Software to Develop Interactive Stories?
- Suggestions: A simple human-readable format for suggesting changes to text files
-
About Text based games,basically
There's ChoiceScript by Choice Of Games. It's more along the lines of Choose Your Own Adventure. If you're hoping to make something with a fair amount of random events, you might want to check out Twine.
-
Harlowe 3.3.7 & Tweego
I'm trying to update tweego with the story format harlowe 3.3.7. I've copied the .json and .icon files for Harlowe 3.3.7 from here : https://github.com/klembot/twinejs/tree/develop/public/story-formats
-
cRPG's often have poor writing. Why is that?
Here are 2 interactive story game engines: * https://www.renpy.org/ * https://twinery.org/
-
tobyFoxIsWild
You use something like https://twinery.org/ for creating the dialogues, and then write abstract code to handle that.
-
I feel like im too dumb to make my own game
The engine here https://twinery.org/
What are some alternatives?
zork1 - Zork I (Microcomputer Version) by Infocom
RenPy - The Ren'Py Visual Novel Engine
RockMUD - Node Websocket MUD Server. Demo: https://rockmud.herokuapp.com/
ink - inkle's open source scripting language for writing interactive narrative.
cyo - Simple HTML Storytelling Engine
YarnSpinner - Yarn Spinner is a tool for building interactive dialogue in games!
mud-eventemitter
dialogic - 💬 Create Dialogs, Visual Novels, RPGs, and manage Characters with Godot to create your Game!
lectrote - The IF interpreter in an Electron shell
Godot - Godot Engine – Multi-platform 2D and 3D game engine
gitbook - The open source frontend for GitBook doc sites
PhysicsExamples2D - Examples of various Unity 2D Physics components and features.