Fatherdale Developer Diary, part 5
Fatherdale:
The Guardians of Asgard is an intricate RPG/Adventure for
the PC where the battle between the Gods and their eternal
enemy unfolds in the true medieval world of AD 1072. As one
of the few immortal Heroes who protect the ancient artifacts
of knowledge, you take on the reins of a warlord in a secluded
northern valley of Fatherdale just days before it becomes
the Battlefield of Fate to experience a story-driven multi-genre
gameplay focused around RPG, RTS and Adventure. With over
hundred and fifty unique characters, thrice that much in hand-crafted
inventory items, more than sixty locations in steppes, woods
and swamps, on plains, river banks and even inside the wooden
Keeps of the Guardians, you have a whole world to explore,
protect and die for -- and seven full-fledged Episodes to
play through a number of styles and genres before you face
your real Enemy.
Sergei Klimov, lead designer for Fatherdale
gives us his views on things with this series of development
diaries. This time he shows us how the dialogues for an NPC
guard, who can be in different states, are constructed.
"THERE! THERE, IN THE SHADOWS!"
"Exception C0000005 (access violation) at address
1B23AB56. Thread: 2. Registers dump: EAX=00000000 EBX=1B2590B0
ECX=00000000 EDX=1B2590C4 ESI=1B2590C4 EDI=0000000D EBP=609C92C4
ESP=1A65F794."
What you see above is some secret language by which the current
build of Fatherdale communicates with our programmers. I suppose
all these figures mean something went wrong and there's a
digital proof to that, which is what they then track down
and correct.
I wish I could have the same with the design - each time
you run the build and feel there's something not exactly right
here, it would print out a TXT file with similar data and
fancy references. It should go like,
"Believability lower than minimum. Bad dialogues:
Reinar2Ragnar, Reinar2Goren. Suggested lines that badly
need more editing: 'You loser', 'I'll getya now'."
And then I would simply pick up those lines and rewrite,
and run again and see if I can pass the engine with the new
ones. The truth is, though, the only engine I have to test
the design is in my head, and sometimes the situations at
hand require a lot of footwork before a proper solution can
be not only found, but also proven.
Take, for example, what happened this Sunday: Alexis, our
RPG programmer, has finished most of the character states
we needed for the Round Camp combat test and caught me to
fill in the lines of dialogue that would be used when either
of the states is changed.
To explain it a little, imagine there's a vermin scout on
patrol, checking out the points around his camp, and somewhere
along the track he sees a silhouette in the trees - or hears
a distant sound. Driven to find out more, he changes hit state
from Regular Patrol to Investigate, takes out his mace and,
quite nervous and excited, proceeds to look for the source
of disturbance. When he reaches the bushes, he clearly sees
that it's no enemy crawling towards his camp, but rather a
family of hedgehogs on a normal hedgehog business, roaming
around the forest and making excess noise - and so the scout
breathes out, sheaths his weapon and switches back to Patrol.
Now, because it's Fatherdale, we need to make these changes
of states perceptible to the players - in addition to drawing
of the weapon and changed animation of walk, the vermin could
also be making some comments. Like, "What's there in
the bushes?" when he switches to Investigate - and "Ah,
it's only animals!" when he switches back to Patrol -
things like that make the characters more understandable.
So, briefed by Alexis and armed by MultiEdit, I went back
to my room and decided to make this piece of work not only
ready for the test, but also ready for the upcoming localisations
- which meant adding comments to each phrase so that the translators
can later understand the choice of words and the situation
for which they need to adapt the content. With the experience
of our own publishing house, we know too well how sometimes
you encounter things like "Over there!" in the dialogue
list, which can be translated in at least three meanings -
'let's go over there" (as if the captain calls out to
his party and leads the move), "go over there" (as
if the captain gives orders) or "there's something there"
(as if the captain point out enemy sniper).
Lines for the first states came around easily. I asked to
make it a random choice of three phrases for each situation,
got a new file and started typing -
"// REGULAR PATROL to INVESTIGATE: occurs
when scout hears a noise or sees a silhouette and considers
it important enough to pursue further. The phrases can combine
mild surprise (after all, he's on patrol so seeing things
in the bushes is half-expected) with indication of something
spotted, maybe a referral to direction.
80900 "There!", B0
80901 "What's that?", B0
80902 "Something's strange here...", B0"
However, things got a little complicated when I reached changes
like Retreat to Report. At first I thought Retreat to Report
occurs when my scout is seriously hurt and, retreating home
to heal the wounds, hears a certain sound he was instructed
to report (for example, the chief sent him saying "patrol
the area and immediately report any strange noises").
So I came up with the following lines:
80910 "What was that?", B0
80911 "Hey, what's that?", B0
80912 "Hmm... I must report this.", B0
Then I ran the build and saw that I've gotten off-mark here.
In the scene I used to test the new phrases my character,
artificially triggered into retreat by panic, was instructed
to report any noises as well as any intruders, and so when
he saw an enemy Guardian while running back home, he stopped,
looked at that enemy character, said "What was that?"
and continued his journey.
This didn't feel right. Past tense shouldn't be used in this
situation because it could be a lasting event like enemy in
sight, or the strange sounds he needs to report could come
in a series and go on while he makes his first statement.
Also, while "Hmm..." could be appropriate upon hearing
a distant drumming, it was a bit off mark when my character
run almost face to face into the enemy.
As of now, the phrases stand like this:
80910 "Ah! I must tell the others!", B0
80911 "Wow! I was told to report this.", B0
80912 "Hey! I must report this.", B0
But it can also change as I continue to play the build and
stretch the boundaries of the situations. While some of these
situations are quite narrow and can be matched with a proper
detailed phrase that will add to the scene ("Ah, animals"
upon discovering hedgehogs), there's a number of universal
ones for which we can only resort to the general shouts like
"You!", "Hey!" and even "!!!",
staying consent with the fact that at least it makes the change
of behavior perceptible.
And you know what? As I was playing soccer earlier this morning,
I've caught myself thinking that in the real life that's what
we end up with as well - rarely did I hear "Pass the
ball here!" or "Watch out for Alex!" while
there was more than enough of "Ai!", "Oi!"
and "Hey!" tossed with various degrees of surprise,
hatred or satisfaction. So when you play Fatherdale, please
don't think the vermin too illiterate to shout something more
elegant that their grunts. It could be that the situation
is too common - or they're too overwhelmed to see you :o).
Very best,
Sergei Klimov
Lead Designer Fatherdale
Snowball Interactive
|