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.