Tech of IF [choice/parser]

Technically speaking, choice based is as low as you can get. Seriously, you can just build the system from scratch and it’ll be easier than learning an existing system.

Speaking artistically, the medium is not the message, and you can transcend any limitations imposed by it, but it’s really hard to do.

I’m not going to discuss it, because it’s off-topic and I don’t think it will lead to a constructive conversation. But just so you know, you couldn’t be farther from the truth. Yes, you can have simple engines (which doesn’t make low tech). And you can have very sophisticated engines. You seem to have no idea what you’re talking about or the effort behind building one of these.


Part of the appeal of Twine and other choice engines is there is a low-barrier to entry and a simple game is easy to make. However, based on the skill of the author, they can be used to create tremendously complicated and involved games.

I mean, Legos are “simple and low-tech”, but have you seen some of the stuff people make with them?

I have three rather large and complicated choice games - one of which has a combat system and simulates a text MMORPG. This is in AXMA which is basically Twine.

Uh… I respectfully disagree. That’s like saying “Seriously, you can just bake bread from scratch. First what you do is plant a field of wheat…it’ll be easier than buying flour from the store!”


Wrong analogy. The proper analogy would be “Seriously, you can bake a better pizza from scratch yourself faster than you can get a pizza ordered and delivered!”

Bake a pizza=15 min. Order a pizza=30 minutes. Unless, that is, you don’t know how to make a pizza yourself, but how is that my fault? This is like bunch of people telling me that it’s impossible to properly cook rice without using a rice cooker(1), even though not only lots of people regularly do so, but also that there’s not much difference between the two except that if your skill is subpar, you use a timer. Once you have gained skill, just use your senses to detect when the rice is done cooking. (2)

Speaking of which, I have the experience of building several CYOA systems using various programming languages, including BASH, Inform6, and HTML (several methods including ImageMap). It’s not like I’m telling people to build their own compiler using machine language. Sheesh.

I haven’t tried it yet, but I have a feeling that I can use ScottKit to build a rudimentary CYOA system. So, really, it’s no big deal.

(1) Yes. That happened.
(2) Clay pot cooked rice. A food vendor cooked several pots simultaneously, with varying start/stop times. I think it’s on YT. Edit: something like this Crispy Clay Pot Rice: Hong Kong’s Ultimate Comfort Food - YouTube

That sounds suspiciously like a personal attack. Are you saying I didn’t do what I’ve done several times? So, tell me, how much of an effort would that be? Because in my case, it doesn’t take much more than an afternoon. Most of the time sink lies in the text, or if applicable, pictures and other media.

Wrong analogy for you - you said you’d have an easier time building a system from the ground up rather than learning an existing system. Not all of us have the same perspective.

Possibly a bristling at a perceived attitude on

You likely didn’t mean it as an insult, but there have been flamewars about this before. Just be aware.

That is obvious. But if you ask, I can always explain things. For example, I mentioned that I don’t tell people to use machine language to do this. But considering that what you need is

  1. INPUT
  2. IF-GOTO

I really don’t see a problem doing it.

Again, if you don’t agree with my perspective, then what is your perspective? At least I explained my view. All I get from other people is “you’re wrong!” without any explanation whatsoever.

What Jay Carter say of “Invalidator”. Please be aware of that.

Uh, flame war? Over IF-GOTO? Seriously? Kids these days :roll_eyes:

Going seriously off-topic, but you need at least another 15 minutes to make the dough, about two hours to let it rise and a few minutes of preparation before you start baking.


15 min pizza

Use yeastless dough.

  1. Turn on stove
  2. Mix flour, water, sugar, salt
  3. Pour on pan
  4. Add toppings(1)
  5. Cover and cook(2)

Done in 15 minutes. It may help to check out “okonomiyaki”.

(1) you may want to cook one side first, flip before adding topping.
(2) prep topping, if not already, while one side is cooking. I don’t expect you to prep pizza sauce from scratch every time.

I think this is the crux of the matter here. Just as an extreme example, Inkle games and Ink (the engine that drives them) are much, much more complex than that. Ink manages the narrative equivalence of the world model in parser systems: you can branch and vary the output based on the world state and other characters, for example previous choices, character traits, events in the game world, game history, or whatever else you want to track (Ink is fairly agnostic about it.)

I’m currently using Ink to manage the tutorial of a minigame inside a larger game, where the tutorial output depends on a variety of factors like what the game phase is, what has happened during the game, which rules have already been explained and how well the player is playing. The output varies depending on which of the game’s characters is explaining the rules and what their relationship has been earlier in the game. After the tutorial the NPCs playing the game chatter while it’s going on and say different things depending on whether they’re winning or losing, what the player is doing and how they feel about the player. This is all handled with Ink and it would definitely not be manageable with a system of if-gotos.

If the if-goto approach works for you, great! You can do that in any programming language or even with printed books, that’s true. But it doesn’t work for everyone’s needs, and saying that that’s what all choice-based games are just isn’t true.


I disagree with you. I understand that Inkle is very sophisticated, and I like inkle. No problem about that.

“Much, much more complex”? I happen to disagree with that. But I don’t want to start a flamewar, so I’ll just stop here.

Is that what it’s all about? You could at least differentiate between the two before attacking me, you know? That’s like saying CYOA done in BASH is as good as the one done with Inform6 as good as the one done in HTML5+CSS+JS. Well, obviously that’s not true. I didn’t think anyone would think that way. I stand corrected.

You’re the one throwing a tantrum. Your language is, at the most generous interpretation, dismissive and patronizing. I was not attacking you, simpling pointing out that you seemed to not know what you were talking about. And even though you claim to have built many engines from scratch I still stand by what I said.

I did not elaborate further because it was off-topic in the other thread. But I don’t have much to say either. As I said, engines can be simple, yes, which I, in no way, equate to low tech. The same can be said for parser-based engines. I could build a very simple engine that understands only a subset of commands and objects. It’s really not that hard nor would it take a lot of code (or time).

If you’re talking about a gamebook that is pretty linear like those CYOA, then “if-goto” will probably suffice. Anything else and you’ll find you need to build a state machine, which is far from trivial.

That’s exactly what it sounded like. You dismissed the whole genre of choice-based IF works as “inferior”. And I don’t believe it was accidental.

1 Like

But, state machines are trivial. Page numbers. Paragraph numbers. What else do you need but variables? Array of variables, if you want to get fancy.

Maybe you think Rube Goldberg Algorithms are impressive. I am of the opposing opinion. That’s no reason to question, or worse, dismiss my qualifications. I have war stories on these, but hey, let’s not do flame war. No comment.

That explains it. But you’re wrong!

I never said or imply that something low tech must necessarily be inferior. That’s all on you. In fact, I can cite so many low tech solutions that is superior to high tech equivalents. I have questions about people who insist that hi tech must necessarily be superior to low tech. So, you think low tech must be inferior, eh?

You chose to be offended by imaginary slight, and chose to respond in derogatory manner. I have no word for you.

You flagged my post and edited yours. Very mature.

You said you were disappointed that it was choice-based because it’s low-tech. Don’t gaslight, it’s not a good look. You meant to be patronizing. But I won’t argue about it.

I have not been derogatory. Again, projecting much?

As I suspected this has not been a productive conversation. So at least on this I agree with you. I have no more words for you.

Actually I flagged your post.

TBH, I’m seeing borderline posts on all sides here. Everyone, please pick up your game. Keep this respectful or it will be time to close the topic.


I think it’s time to close the topic. Thanks.


Inkle is not inferior. I believe I made that very clear.

You can do great works with CYOA, or anything, really.

I have no word.