I talk a lot about Prolog but really what I want is just a language I can write an Infocom / SHRDLU style adventure game / text-based AI simulation in.

My problem is I have high expectations for a language because I want to do what seems to me to be very simple things:

* have the world obey rules, so all actions cause consequences

* rules that can be changed at runtime

* game AIs can read these rules and make plans

* save/ load the game state to/from disk

Turns out getting these is HARD.

@natecull does inform7 not fit the bill? (i have no idea, i’ve never used it, but i understand that it is a prolog style language specifically designed for text adventures)

@zensaiyuki It doesn't for me, no. Here's the library I built in it, which convinced me that Inform 7 was never going to be my friend.


@zensaiyuki The thing about Inform 7 is that it HAS Prolog-looking-like 'rules', but:

* part of them is only implemented at compile time, involving hard-coded syntax. The source code of the compiler wasn't public back when I was looking at it, this may have changed.

* the rules themselves do pattern matching but then execute imperative code procedures. They''re not safe for an AI to run.

* Data storage is VERY restricted: objects and typed tables. Some names. Whole thing aimed at 64K ram.


@zensaiyuki A bigger problem is that the semantics of the whole thing are just super fuzzy and unclear. Natural language plus pattern-matching rules plus COBOL-like procedures plus Prolog-style 'facts' plus limited Prolog-style rules but that only go in one direction plus Literate Programming (your program has 'Chapters' that you name, etc)

Some of this stew meshes well together. Other parts, not so much.

@zensaiyuki It's insane just that it exists, though. In a good way. It's a mind-blowing little machine to observe, from a safe distance.

Sign in to participate in the conversation

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!