Better Than the Worst:
A Newbie’s Guide to Sidestepping Ridicule
The 2008 Revival
Part Four

By Jeremy Bursey (Pepsi Ranger)

What separates the old from the new? Is it novelty or versatility? Is it tradition or exploration? Should there be a dividing line? Perhaps one is necessary, but why? Maybe it’s a matter of usefulness. This fourth chapter of the “Better Newbie Saga” introduces practical methods for getting the most out of game design by infusing the old with the new.

“What are you babbling about now?” you may ask. “Do your metaphors ever make sense?” Well, no they don’t, but here’s a broken down version of what I mean:

Lesson #8: Experiment with Your Resources.

When you use a new utility, what’s your first impulse? If you’re like any of us, you’ll toy around with it for awhile, looking for ways to make it work for you. But as you create, you soon discover you know everything there is to know. Then playtime is over. Experimentation becomes implementation; knowledge becomes business. You have the thing wrapped around your finger.

But what happens if the thing you know isn’t efficient? What if your method is slow, drawing labored breaths out of your precious time?

One may argue that the best way to design a game is to use the one most comfortable (the old tinkering way), and I will definitely support that. But once in awhile, given the situation, a new method is helpful.

During my first year of game design I found a few useful tricks that made life easier for me. Though many long-term users have probably discovered these tricks, too, newbies may not have a clue about them, so I’ll share two examples of the methods that helped me. Keep in mind I’m mentioning them to show the importance of expanding your boundaries, not to throw more tricks up your sleeve. This is supposed to help you pick apart the engine so you can find other useful tricks in your free time.

“But what’s wrong with the boundaries we have?” you may ask. Well, nothing since you can still make a good game. But sometimes a project may demand more than what’s obvious to the designer. Sometimes it needs more than what the engine can handle. One great limiting example is that there are only thirty-six slots for NPCs on a given map. Sure, thirty-six is a high number, but what if the map requires a couple more characters to make it complete? What’s the author to do? Well, most people have accepted the limitations, but do we have to?

“Well, yeah,” you may think. Okay, it’s true there’s no way to physically stretch the numbers until the developers remove the limit (someday, hopefully), but that doesn’t mean a stretch can’t be simulated.

“What? That’s crazy talk,” I’m sure you’re saying right now. It’s not crazy, exactly, just beyond the box. Let me explain:

Plotscripting was made for a reason. Though some may not know how to use it well, there are a few commands like setting positions and walking that require little thinking that anyone can use. The so-called NPC stretch is, therefore, just a matter of using a “Set NPC Position” command—one of the easiest tricks in the dictionary.

“Are you suggesting that the thirty-seventh NPC is really my neglected items dealer at the Desert Inn?” Why, yes I am. Think about it. Do you really need a shopkeeper at his post when the hero’s searching a house? Of course not. So if the story requires the owner of the house to show up at a bad time, but all the NPC slots are filled at the moment and you really don’t want to give up the character who thinks his dog is the bogeyman to make the necessary room, then move someone else to temporarily “pose” as the irate homeowner. To introduce your fake character to the scene, all it takes is to set the NPC’s position against the front door. By using the “Alter NPC” plotscript, you could even create a new NPC with new look and everything. The only thing you need to remember is to put the old NPC back to his original position when you’re done. It worked in my game, so it can work in yours.

“Now, why didn’t I think of that?” you may be asking, as you smack yourself in the forehead. Well, that’s just one example of the importance of trying new things. There are obviously others, but most you’ll have to discover on your own.

“But you said you’d give us two examples. What’s the other one? Don’t try to skip out on us.” Relax. I know I said there were other tricks, so here’s something else I found helpful. It has to do with tags.

That’s right, you—yes, you—can expand your number of tags to go way beyond one thousand. Again, this is not a physical expansion, as the engine would not let us do such a thing (yet), but the room for simulation is more than present. How so? Well, it works kind of like the last example.

Whenever you make choice boxes, you probably discovered that a tag is required for different responses to each answer. For many cases, the choice box is a one-time thing and the question is never visited again. But sometimes the question and the choice can be revisited over and over, which means the activated tag has to reset again for the question to work properly each time.

“What are you getting at?” you may ask. Well, first of all, you gotta stop asking so many questions and just let me explain. Secondly, the idea works similarly to the NPC position trick. When you create a choice box, it’s better to assign it a “universal” tag than a box-specific tag. A universal tag is anything that has to be “on” for a brief moment, but resets to “off” when the choice or script is over. By creating such a tag, you never have to worry about running out because anything that defaults to “off” can be reused in different places as much as you need. Get it now? It’s just a matter of knowing how to use your resources.

I’ve actually set aside two universal tags: one for choice boxes and one for event NPCs.

To get my choice boxes working right, I’ll assign a tag to the first option (usually my “yes”) and nothing to my second (“no”). Then I’ll link the dialogue tree representing my “no” choice directly to the initiating chain following the choice and the tree representing “yes” separately. This way, if the tag is never set, the speaking NPC goes right to the “no” response. But if the choice tag attached to “yes” is activated (through the player choosing “yes”—duh), then I’ll update the “no” conditional to jump to the “yes” dialogue tree instead so the “yes” response will play. And though that’s really basic stuff outlined in the HOW TO instruction documents, it helps to remember that to keep the tag universal (hence reusable), you must set the choice tag back to “OFF” in the last conditional in both trees. This ensures the player will never be stuck with the wrong choice.

For the second universal tag (event NPCs), I’ll just make sure it turns on for the cut scene and turns back off when it’s over. Figure, the character it manipulates only shows up during the scene, so there’s no need to leave it on when it’s over. Again, this should be common sense. But in case the average newbie glosses it over, it helps to know it now so the list of available tags aren’t consumed like candy.

And that’s all there is to it. When you search for ways to be efficient, you may actually find some. We don’t have to bang down the doors of Suggestion Box Road as often as we think, as long as we try to find ways to make our engine work for us. Yeah, that may require more research and might even use up a few extra minutes of our time, but anyone dedicated to making something good may discover useful things without giving them much thought. The trick is just a matter of doing rather than whining.

On a side note, this is where the original series ended. Everything beyond this point is brand new.

Next