twinejs
encrusted
Our great sponsors
twinejs | encrusted | |
---|---|---|
407 | 1 | |
1,758 | 127 | |
- | - | |
8.5 | 0.0 | |
24 days ago | almost 2 years ago | |
TypeScript | Rust | |
GNU General Public License v3.0 only | MIT License |
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.
twinejs
- 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.
-
cRPG's often have poor writing. Why is that?
Here are 2 interactive story game engines: * https://www.renpy.org/ * https://twinery.org/
- How to start making video games?
-
Text adventure ported to social media
The Twine website links to a few, along with thousands at IFDB; https://ifdb.org/search?searchbar=system%3Atwine
And itch: https://itch.io/games/tag-twine
See the Twinery for more, including the spec: https://twinery.org/
-
any tools the automatically convert text into renpy usable script
I use twine to visually structure branching narratives. you can easily convert the twine code into renpy script using ludowoods twine to renpy tool. other than that, I tried using chatgptto convert a screenplay that I wrote into a renpy script. just use the prompt: rewrite the following using the format used by renpy visual novel engine. it doesn't work all the time though, so be prepared if it forgets using double quotes etc.
-
Workflow?
I'm using Obsidian to jot down ideas, notes, etc to outline and flesh out storylets. Once I've finished writing down those, I use Twine to create the decision trees and to quickly prototype how the story flows. This also makes it graphically easy to oversee how the story flows and make changes if I want to add new routes, rebalance the difficulty of getting flags or just insert easter eggs. I just copy paste into Twine, the scenes I made in Obsidian. Once I'm done with that, I use ludowood's twine to renpy tool to generate the renpy code. This generates the "scaffolding" that I'll be using for my renpy project.
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 :)
What are some alternatives?
RenPy - The Ren'Py Visual Novel Engine
ink - inkle's open source scripting language for writing interactive narrative.
YarnSpinner - Yarn Spinner is a tool for building interactive dialogue in games!
dialogic - 💬 Create Dialogs, Visual Novels, RPGs, and manage Characters with Godot to create your Game!
Godot - Godot Engine – Multi-platform 2D and 3D game engine
gitbook - 📝 Modern documentation format and toolchain using Git and Markdown
PhysicsExamples2D - Examples of various Unity 2D Physics components and features.
inform7-ide - A design system for interactive fiction based on natural language.
scratch-www - Standalone web client for Scratch
sugarcube-2 - SugarCube is a free (gratis and libre) story format for Twine/Twee.
Eigengrau-s-Essential-Establishment-Generator - A town generator that is suitable for out of the box play in any fantasy TTRPG setting.
GDevelop - :video_game: Open-source, cross-platform game engine designed to be used by everyone.