💾 Archived View for gemini.ctrl-c.club › ~nttp › writing › intfic › anyone-can.txt captured on 2024-08-31 at 12:18:33.

View Raw

More Information

⬅️ Previous capture (2021-12-03)

-=-=-=-=-=-=-

Games Anyone Can Make
=====================


9 June 2015

When it comes to authoring tools for games, "easy to use" is all too
often equated with "requires no programming". And that's really
misleading for two reasons. One, a tool you can use just by ticking
checkboxes and filling input fields can still be terribly confusing
and tedious, to the point where you'd be better off writing code.
And two, not all programming languages are created equal.

No, seriously, look at the following [Inform 7][i7] fragment:

[i7]: http://inform7.com/

	"Catch That Cat" by "Felix Plesoianu".
	The story headline is "An interactive benchmark".
	The story genre is "Comedy".
	The story creation year is 2011.

	Release along with the source text, a website and an interpreter.

	Include Basic Help Menu by Emily Short.
	Include Locksmith by Emily Short.
	Include Exit Lister by Gavin Lambert.

	Use no scoring.
	Use full-length room descriptions.

	Section 1 - The Living Room

	When play begins: say "Ugh. Monday morning. You're still not recovered
	after the party two days ago, and you have an SMS from your wife:
	'Will stay with mom for one more day. You take the cat to the vet.'
	Meh."

	The Living Room is south of the balcony, southeast of the kitchen
	and east of the hallway. "This is you one-room apartment in eastern
	Bucharest."

	The remote control and the empty beer bottle are on the coffee table.
	The coffee table is here.

	The couch is here. It is an enterable supporter.

	The description of the beer bottle is "It's empty and sad."

	The TV set is here. The description is "Unfortunately, it's broken.
	Again." It is fixed in place. It is a device. Instead of switching
	on the TV: say the description of the TV.

	Understand the command watch as something new.
	Watching is an action applying to one visible thing and requiring light.
	Understand "watch [something]" as watching.
	Carry out watching: try examining the noun.

	Instead of watching TV: say "You look at the blank TV screen for a
	while. It's actually better than most channels."

Wow, that's longer than I remembered. It's also not contrived at all;
it's from one of my games, that I tried porting to Inform 7 in order
to get a feel for the language. Ended up being a poor match, so I gave
up, but just look at that intro: it might as well be a movie script.
That's how the language (and make no mistake, it *is* a programming
language) has managed to bring so many people over to the nerd side:
by the time they realize it's in fact code they are writing, they're
hooked.

Even more explicit in its similarity to a theatrical script is [Ren'Py][]:

[Ren'Py]: https://www.renpy.org/

	monk "But where's your horse? Surely you did not travel on foot
	all the way from Ashwood?"

	me "Um... I came on the bus?"

	show monk unhappy

	monk "Ssshh! Do not speak of such heresies! Other guests could
	arrive at any time. Unwelcome guests."

	"What's he on about?"

	show monk smiling

	monk "Ah, never mind. There's Henry with your horse. Good day,
	Henry!"

	scene curtain black

	centered "He's not kidding. Another young man is coming
	through the gate, leading a horse. He takes the animal into
	a side building before returning."

	scene inside gate

	show monk smiling at midleft
	with None

	show aide unhappy at midright
	with moveinright

	monk "Henry, please announce His Highness that his guest has
	arrived."

	aide "At once, Brother Clement. By your leave, Milord."

	hide aide
	with moveoutright

	scene curtain black

	centered "He bows deeply and goes inside. Keeping a straight
	face the entire time, one might add."

	scene inside gate

	show monk smiling at midleft

	monk "But now you'll have to excuse me. I need to find my charge."

	monk "You didn't happen to see a young lady on the way in?
	Blue dress, blonde hair..."

	menu:
		"Sounds just like the \"ghost\" you've glimpsed under
		the castle walls. But was it real?"

		"Actually, I might have. Let me show you where.":
			jump follow_monk
		"Er, no? Sorry, the pro... er, baron must be waiting.":
			monk "Indeed. I'll leave you to you business then."
			
			hide monk
			with moveoutleft
			
			jump meet_trevor

Indeed, that's how I rationalize visual novels: as virtual theatre
inside a computer. Or maybe silent film, come to think of it. Either
way, the whole point of Ren'Py is to let you focus on the story you're
trying to tell, rather than the technical minutiae of making a dumb
computer figure out your intentions.

And that's important because telling a good story isn't easy in the
first place. Doubly so for an interactive story. If only programmers
can do it, that limits both the number and the kinds of stories that
will be told. Besides, I'd much rather have my brain in storytelling
mode when I'm trying to, you know, tell a story.

Not that every game needs a story. Anecdotally, most people disagree
with me about that, but really, if all we want is to tell stories,
we have all those other media we have invented and perfected for
centuries. Games can and should do more than that.

Which raises a question. You see, ever since human beings learned to
talk, stories have been how we made sense of the world. How we passed
on lore. A vehicle for social critique. Is it even possible to embed
cultural relevancy into, say, a puzzle platformer?

(Note, that's not the same as making Art with a capital A. The ugliest
piece of graffiti can be culturally relevant.)

And I say, how are we going to find out unless it becomes easy for
anyone to make one? That's why I'm glad [PuzzleScript][] exists: a clever
little tool you can use for puzzle games in the vein of _Sokoban_ and
_Supaplex_ (though clever users have managed to build run-and-gun
platformers and other cool stuff with it).

[PuzzleScript]: http://www.puzzlescript.net/

Using PuzzleScript is a little more involved: you enter bits of ASCII
art to encode small graphical tiles, then more ASCII art to paint the
level maps. Last but not least, you define rules using a simple
notation. The hard part is figuring out how all your rules interact:
they can get quite intricate for non-trivial games.

Importantly, PuzzleScript publishes finished games to a single web
page you can post nearly anywhere. That's even more convenient than
Inform 7, which generates an entire micro-website for you. As for
Ren'Py, it gives you the game in nice archives for Linux/Mac/Windows,
or even Android. Makes sense, considering the amount of graphics and
music that goes into even a small visual novel. Either way, all these
tools make it very easy for people to play your game, which matters a
lot in this age when our attention spans are assaulted from all sides.

These are just a few examples I happen to be familiar with. Sure, they
can only make certain kinds of games, but that's like complaining you
can't animate a cartoon with a typewriter. As for the issue of variety,
literature has been available to everyone for centuries, and people
give no sign that they're bored of reading.

Of course, that's because writers always seem to find new things to
say, or at least old things in a new way, a new light. And that's the
real issue with games these day, isn't it?

Make games about something else than shooting and hitting things, or
at least do it differently. Now you can, and gaming needs the change.
Thank you.