Hacker News new | past | comments | ask | show | jobs | submit login

> I looked at the popular IF engines and they all felt very focused on story and branches and not really on if you need game systems and a lot of state.

If you need complex game states and world models and object simulations and relational stuff, then you definitely want to do parser based interactive fiction instead of hypertext interactive fiction, the latter of which is what it sounds like you looked at.

Hypertext interactive fiction isn't really so much a game as a choose your own adventure approach to traditional fiction, whereas parser-based interactive fiction is a lot like a text-based immersive sim like deus ex or system shock — the two major engines have very powerful and in-depth relational world models that can do a lot of impressive things such as simulating the expansion of a gas and its attenuation through rooms or fluid simulation or tying arbitrary things together with ropes. Both of them automatically come with very complete and powerful systems for doing all the stuff you listed by default.

The two parser IF systems I'm talking about are Inform 7 and TADS 3. I would personally recommend the latter if you already know how to program, though. Inform is interesting, especially in concept, but it has a huge amount of very serious drawbacks due to its extremely static nature (no dynamic allocation, no creating lists on the fly and appending to them, etc), lack of general programming constructs, and "natural language" syntax, whereas TADS 3 is actually a very excellent little language that's got all the modern amenities and is just a joy to write games in, and has a simply shockingly powerful standard library / world model, a far more deep and extensive one than Inform has even with extensions. It often feel a like everything I could possibly want to model in TADS 3 has either already been done, or is a trivial combination of things. Additionally, TADS 3's documentation is so much better than Inform's I can't even begin to describe it. TADS 3 feels like Ruby/Smalltalk had a baby with C and it specialized in IF.

Also, try the adv3Lite library instead of the default standard library — the name is a bit of a misnomer, as it's just as complete as the default one, it just has superior design sensibilities and a huge host of new features stolen from Inform. Adv3Lite adds basically everything thay was good about Inform 7 to TADS 3.

Don't let the fact that Inform 7 seems more active or gets more fanfare deter you from TADS. There's a very active little community of tads users that are very eager to help and will answer almost any question you have immediately, and the documentation is so astoundingly excellent I've basically never felt the need for a search engine because everything I want is in one of the three 600 page manuals on different aspects of the language and standard library or in the standard library reference manual. also although tads three the language hasn't been updated or changed since 2012 the compiler is updated and improved regularly.




Thank you so much for taking the time to provide all this guidance. I definitely missed the boat by not knowing to look for “parser” IF.

I’m excited again to know there’s choices out there for this kind of thing.


Hell yeah! Here's some links:

Here's a list of worldsim-heavy, huge parser IF games I've compiled myself: https://ifdb.org/playlist?id=5wvcywn58ojmsxqi&type=wishlist

Here's the TADS 3 website: https://tads.org/

Here's the adv3Lite and TADS 3 documentation: https://faroutscience.com/adv3lite_docs/

An explanation of adv3lite: https://users.ox.ac.uk/~manc0049/TADSGuide/adv3Lite.htm

The TADS 3 compiler: https://github.com/realnc/frobtads

My TADS 3 mode for Emacs (has most of the features of the VS Code one, despite not having an LSP, since the VSC one has very simple auto completion): https://github.com/alexispurslane/tads3-mode

The TADS 3 mode for VS Code: https://github.com/toerob/vscode-tads3tools

IF Development Forums (very active and friendly, a few TADS 3 people around, including me, I'm a new regular): https://intfiction.org




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: