IF Platform Dilemma

Hello everyone. I am trying to make an IF that plays identically to operating a console like DOS, with certain text files that can be accessed and read, password queries and a possible simple AI to talk with at the end.

What would be the best system to use for this? I have tried TADS and now ADRIFT but I am having the problem that I do not want commands like “drink”, “look at” or “go north” to even register at all. Basically I want the most bare-bones IF imaginable with a very small amount of possible actions, each one defined by me, and a generic error message if anything else is asked. Is there an authoring platform that can help me with this?

Thanks in advance.

This is easy in Inform 7 – write an “after reading the player’s command” rule that bypasses the entire parser. Or you can do the equivalent in Inform 6.

I am sure it is easy in TADS as well, although someone else will have to explain how to do it.

Would you say Inform is the best platform to try this on then? I am a complete novice at this kind of thing, with little to no grasp of programming. I’m willing to learn whatever is the best system, but time is a serious constraint unfortunately. Is there an easy way, for instance, to do this in ADRIFT? That authoring system seems the easiest I’ve come across.

I’d ask over at the ADRIFT forum; you should get a lot more answers about technical ADRIFT questions there.

One other approach you might try would be to do as others have done before you and actually write the game as MS-DOS batch files – and the console functionality comes along for free!

You can find a few sample games at 4dos.info/tools/merlin.zip )

If you’re short on ideas about how to implement a game in such an environment, there’s a very brief guide at wikihow.com/Create-a-CMD-Adventure

Thanks for the quick and helpful responses! :slight_smile:

I considered writing it actually for DOS, it would look pretty snazzy. I’ve managed to reverse-engineer something workable in ADRIFT, but doing a Batch Game might be a better solution. I’ve spent the last few days trying to bully TADS and ADRIFT down into being little more than DOS, so why not? I guess room functionality would translate to different folders?

Do also keep in mind that not all CLIs are created equal: batch files that work under MS-DOS may not work under Windows may not work under DOSBox.

Working in any IF-authoring language is going to be an uphill battle, since you’re trying to do something the system’s not designed to do. IF systems are about making stuff that has rooms, objects, compass direction, etc. easy to make, but anything else harder to make. I’d recommend a programming language that makes it easy to work with text, like Python-- it sounds like what you want to do wouldn’t involve learning anything too complicated (except potentially the conversation with an AI part!)

I can speak for TADS here. You can write TADS programs that are bare-minimum. All you have to do is not include the base library. Here’s how a bare-minimum “hello world” looks like in TADS:

#include <tads.h>

main(args)
{
    "Hello, world!\n";
}

There are no pre-defined objects, verbs, rooms, or anything. It’s mostly like writing in C++. Not sure if that’s what you have in mind.

Note though that if you decide to write it for DOS, people on Macs and Linux won’t be able to play it without jumping through some very annoying hoops (meaning: they won’t bother with it.)

Maybe Ren’Py? This reminds me of Digital for some reason.

Same goes for ADRIFT - just remove the standard library.

Ditto