As winter settles in, I”m hard at work on a new interactive story — or “text-based game,” if you prefer. This story started out as a completely silly sketch. By now it has become fairly elaborate, but without ceasing to be extremely silly.
There are about ten characters (not including the grizzly bear, who isn’t real talkative). But so far, they’re … amusing, yet static. Most of them, when I analyze the story’s puzzle structure, are merely obstacles of one sort or another. You have to figure out how to deal with each of them in order to gain access to one or two useful objects. Sure, I can add conversation items to bring the characters to life, but ultimately that’s no different from adding scenery. If that’s all I do, the game will remain an old-fashioned puzzle romp.
So I’m thinking about how to get the characters more actively involved in the story — without, to be sure, turning it into a serious, dramatic story. Serious and dramatic it will never be.
A criticism that was made of “April in Paris,” and I think deservedly so, was that the puzzles have no visible relationship to the goal of the game. They’re mostly self-contained and rather arbitrary. You just have to solve after another, and eventually you’ll tumble into a way to reach the happy ending. That’s very much the case with the story I’m working on now, as well: You wander around, solving seemingly random puzzles, and eventually you’ll find a way to reach your goal.
One way to bind the elements more tightly together is to make it easier for the player to make intuitive leaps: “Aha! Over here is an obstacle, and over there is an object that might be useful in dealing with that obstacle. So how can I get my hands on that object?” This is the case with respect to some of the puzzles in the new story, but by no means all of them.
A better way, I think, would be to get a couple of the characters more involved as allies, rather than having them remain obstacles. But because the story is so very silly, the actions of any allies will need to be silly too.
I hope I don’t have to throw out too much of the code I’ve already written in order to pull that off.