mrhands

Sexy game(s) maker

  • he/him

I do UI programming for AAA games and I have opinions about adult games


Discord
mrhands31

hthrflwrs
@hthrflwrs

There are a couple decisions like this scattered throughout the language: all variables being global by default, the fact that you can't put choice branches in conditional branches, the way that lists are like five different things all rolled into one concept. If ink were a programming language, it would be a deeply frustrating one! But it's a narrative language, and these are extremely solid narrative choices. Global variables mean stories have interesting consequences; choice branches being disallowed in conditional branches means you can't just nest conditionals forever; lists are fine-tuned to simulate large amounts of world-state. It all makes sense, as long as you cut with the grain!


@mrhands shared with:

You must log in to comment.

in reply to @hthrflwrs's post:

There is a somewhat obsessive... urge for programmers to convert this to an actual programming language, but its not that at all.

I've learned this the hard way on my current project (albeit with yarn), when discussing at the beginning where the "source of truth" was going to be. This are tools for writers and a such it should hold paradigm and ideas fit for writers. Global variables are such a thing, other stuff holds true as well. Resist the urge to try to make these programming languages, they are not, and should not.

Going beyond, I think this are the kind of things on why there is a disconnect between, say ActionScript 2 and 3 and languages like hypercard, lingo from director or inform 7... there is a hidden way of thin king for non programmers that works, even if its anathema for programmers. And although it irks programmer it souhld not be that way because its not a thing designed for them.

I always find the idea that global state is fundamentally bad a really laughable concept in video games. It's basically ALL global state! Sure you want to hide access to a lot of it, but I see so many people dogmatically thinking you should never use any of it because it's "bad programming" and instead find convoluted workarounds instead of just having a static object floating around in global space. So much programming dogma just should not be applied thoughtlessly to video games.