Inform 7 vs custom pure command like framework

Hey!

I’m pretty new here, preparing for creating my first game. I have some struggles about choosing right, let’s say, game engine for my first story. I thinking about Inform 7 and creating someting from scratch (Propably using c#). I’m somebody who was working in game industry for 3 years, wanting to start creating text based interactive stories. Can you give me advises?

2 Likes

Hi!

Picking an engine should depend really on what you’re hoping to achieve, since each work differently (and more importantly their code are formatted differently), your preferences in coding (natural language or more script), and how you want the players to interact with (click on stuff or type in commands).

Inform 7 is especially good if you like natural language coding and are trying to make a parser (type in commands to advance the story/solve the puzzle), but if you’re looking for a program that lists choices or create links on the screen you may want to look into the choice-based programs (like Twine).

So yeah, what kind of game are you trying to make? :slight_smile:

5 Likes

there’s something people 'round here say, which is if you wanna make a game, you can; if you wanna make a game engine, you can–but you can’t really do both.

I would suggest you look at different existing tools to see what you like before making a new engine.

as far as parsers go, TADS 3 is a very powerful and flexible one I’m partial toward, and you’d probably pick it up easier than a non-coder. Adventuron, PunyInform, and Dialog are also pretty popular.

in the choice-based world we have twine as the most popular (around here, at least), with ink and choicescript also up there.

6 Likes

Ach, sure, to provide more context…

I want to create a story driven game, witch choices, branching paths, multiple ending, preferably text only. I consider twine too, but I prefer something where player can type commands, move throught rooms, interacts with npc, etc. Not something like interactive book

1 Like

Well, you can do story-driven with choices and branching paths and multiple endings with both parser and choice/hyperlinks :joy: (though choices/branching is a bit easier to code in programs like Twine compared to Inform). Same with doing type-commands in Twine (though it’s a pain, cause you need to build the whole verb/object/npc library from scratch).

It seems you’re leaning more towards a parser in that case. As @pieartsy said, TADS 3 can do a lot and might suit you more if you’re not vibing with Inform. There are also some Parser-choice hybrid programs (here’s a list), where you can combine the typing and clicking on choice. Adventuron is pretty neat, in having choices + commands options (having tried those and played Adventuron games with both elements).

3 Likes

Writing a parser game framework from scratch can be fun. But if your goal is to make a game, use an existing framework.

6 Likes

As others have said, if your goal is to make a parser game (rather than just have fun writing code), you will get a lot further using an existing engine. If you’re not familiar with Inform or TADS, you may not be aware of all the sophisticated parser behaviours that you get for free using a mature system:

PUT EVERYTHING EXCEPT THE BALL INTO THE SACK
EXAMINE THE KEY THEN TAKE IT
2 Likes

I also am/was a professional coder. I’ve used Twine and Inform 7. Occasionally, I think about falling back to write my own game engine in Java but both do so much I hesitate because of the massive amount of work involved to do something already available.

I think Twine is easy to use and gives the reader a choice of menu-driven options. Inform 7 is richer and allows more free-form decisions. It has been around for years, and constantly being updated. Also, this Interactive Fiction forum is awesome, and provides a lot of serious help when you come to a problem. It was a factor for me when I was deciding to use Java or not: I won’t have the forum for assistance.

Why go to another language, like Java? Inform 7 is static. You cannot create and delete objects. That means it sets a mode for a particular kind of game. You may not even notice, but as an experienced programmer, you might. As the others have said, decide what kind of game you want to make and experiment with the existing engines a bit.

3 Likes

TADS is pretty similar to Java in that you can create and delete objects and generally modify it in wild ways :slight_smile: it doesn’t expect any particular type of game (other than presumably a parser), though its most popular libraries (Adv3 and adv3Lite) do.

(here’s a good overview!)

3 Likes

Aster,
Thanks for this survey/overview. I have not played any TADS games but I was aware that they exist. Perhaps I’ll look more into it.

1 Like

New here also, hi everyone!

It’s funny this topic just came up as I recently spun up a very simple IF framework in Unity/C#. It’s no where near as mature or sophisticated as what currently exists, but it has all the basics (actions, rooms, npcs, simple dialogue, UI), and I tried to make it expandable in an easy and intuitive way. Maybe it can get you mostly off the ground and you can build whatever else you want on it.

I can’t seem to include links in my post, but I will DM it to anyone interested. Also, I posted it in the Project Announcements section.

I will say, I spent about 95% of the time tweaking the framework and fighting with Unity (it’s surprisingly hard to get a scrollable text box) and about 5% of my time actually thinking about my storyline / game, so it’s true what they say about only having time for a game engine or a game ROFL.

1 Like

Here’s that project announcement…

1 Like

Can you pin down at all what you have in mind by “text based interactive stories”? And have you played games made with all of Twine, Ink, ChoiceScript, Inform ? Do you have in mind complicated puzzlers? Slice-of-life drama? We could be more helpful if we knew.

3 Likes