Hacker News new | past | comments | ask | show | jobs | submit login
Dialog – domain-specific language for interactive fiction (linusakesson.net)
66 points by Ivoah on March 3, 2021 | hide | past | favorite | 7 comments



I have to say, I rather prefer Inform7 to Diaglog based on the sample work. Here's the "Cloak of Darkness" example [0], and then here [1] is the version in an older version of Inform, and then below that on the same page is the Inform7 version.

[0] https://www.linusakesson.net/dialog/cloak/cloak-rel1.dg

[1] http://www.firthworks.com/roger/cloak/inform/index.html


I am fascinated by these IF engines for some reason. What sets the Dialog apart is, IMHO, the performance it gets on 6502 in combination with the Å-machine VM by the same author. It's a domain specific language + optimized compiler + runtime for a platform (C64) that hasn't been made for decades. There are some excellent Z-machine impls for C64, but basically anything using the Inform7 runtime (a bunch of convenience parsing and world tricks) runs like a dog. Dialog + Å-machines gets a respectable and growing amount of the way there but cutting out the middle man.

Linus has some extreme coding cred in my book!

https://www.linusakesson.net/music/po-2x/index.php

https://youtu.be/sWblpsLZ-O8


In my book too. I was in his class studying software engineering in Lund, and had a room next him doing our theses at Sony Ericsson. I didn't know him, but I and friends talked about how brilliant and quirky he was. Have always been fascinated by him and his projects. And I remember him as very polite and friendly. I have gained a lot of social interest and skills since and wish I'd talked to him much more. 15 years later, he is the only one of my not-friends I remember from that class.


I haven't really authored anything in either, but looking at these I have the opposite feeling...

I much prefer that the "code" and "display text" are syntactically distinct in Dialog and older Inform. One could imagine syntax highlighting making that distinction even clearer.

Instead in Inform 7 they blend together into similar-looking natural language sentences.



They’re related but not competitors. Ink is a generalized story tool, handling a lot of the organization and management of different storylines, and is meant to be embedded into a larger project.

IF languages tend to incorporate more of the actual interactivity of the story, and build for their specific interpreter.


A priori, one would expect IF to be low-hanging fruit for DSLs, because if anyone is willing to play guess-the-verb, it's going to be IF fans.




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

Search: