Gw Temp
Menu
Tutorial - 'NPC interaction' by joe0011
An item about RPGMaker 2000 posted on
Blurb
Make your NPCs come alive with personality
Body
Man 1: "Hello, what a nice day this is."
*Walks along to see another man.
Man 2: "Hello, what a nice day this is."
Does this seem familiar? That is because in many RPGs, most NPCs just stand around, waiting
for you to talk to them. When you talk to them, they repeat the same junk over and over,
with the exceptions of main NPCs who might have another line.
Character interaction is very important in a game, it sets the mood and represent the world
that your hero is in. If the
guard keeps on saying "hi" and you want to, say, get past him, it's very frustrating not
having an explination for the barrier. Or, if a man is mad at you, and you try to annoy the
snot out of him, if all he does is say "leave me along you little rascal" again and again it
will lead to some disappointment on the player's behalf.
Problems:
-NPCs do not have a life of their own, and their sole purpose is for you to hear their one
line that they will repeat for the duration of the game.
-No reaction, either good or bad, if talked to again and again and again.
-Game is boring because NPCs don't do anything, they are the equivalent of a signpost.
Solutions:
-------------------
-Have even the most minor character have at LEAST 3 or 4 different things to say!
-------------------
A little snipet of code for those newbies who don't know how to achieve this..
Change Var: Var[0004:rand] (Set)-Random(1 to 4)
If Var(0004:rand) 1
Message:Man: Hello, what a nice day this is.
:End Case
If Var(0004:rand) 2
Message:Man: I'm feeling constipated... (groan)
..etc..
However, this is never enough to make the interaction interesting.
-------------------
-Have the NPC say a different thing each day! Or sometimes not even there!
-------------------
This is very easy to accomplish, just use pages!
Example..
=================
[Page1]
Message:Man: Hello, what a nice day this is.
[Page2]
Condition: Var 0001:day - 2 above
Message:Man: Ahh.. I always love the smell of outdoors.
[Page3]
Condition: Var 0001:day - 3 above
Graphics: (none)
..ect..
=================
This is usually good, but if they player doesn't realise that the NPC says something different each day, your hard
work will be for naught. So, only implement this in an area where the player will visit a lot, like a major town.
-------------------
-Have the NPC get angry!
-------------------
This is a good way to have the player learn respect for others. Have the hero be able to choose 2 or more
responses to something a NPC said and, well, just look at this little snipet of code.
=================
Message:Rusho: Arg! I'm practicing my martial arts! Don't bother me!!
Show Choice:Hero: What? Haha! I bet I can kick you ass!/Hero: Sorry.. I'll be going now
:[Hero: What? Haha! I bet I can kick you ass!] Case
Message:Hero: What? Haha! I bet I can kick you ass!
Message:Rusho: I'll teach you to respect others!!
Start Battle: Rusho(invincible)
:[Hero: Sorry.. I'll be going now] Case
Message:Hero: Sorry.. I'll be going now
Move Event:Hero-Move down
Move All
Message:Rusho: Wait, I'm sorry, I was too harsh with you.. Take this as my apology.
Chng Item Count:(Superwhatever) 1(Add)
Play SE: Success
Message:Recieved whatever!
Message:Hero: Thank you!
End Case
=================
Now you see, having a choice in the conversation PLUS the possibility of either total annihilation or a free item is
much better than having Rusho saying "I'm training!" over and over.
Also, you could have them get angry is the hero bothers the NPC too much. To accomplish this use:
=================
[Page1]
Message:Man: Go away!
Change Var: Var[0008:angryman] (+0)- 1
[Page2]
Condition: Var 0008:angryman 5-above
Message:Man: That's it! Get out of here!!!!
Change Switch: Var[0008:kicked out] Switch ON
Teleport:Hero-(Outside the house)
=================
Now in this case every time the hero talks to the man the variable angryman increases by 1. When it reaches 5 the
second page activates and the man throws the hero out of the house. Now you can have the door event out of the house
become locked when this happens and the hero is permanently banned.
Hmm.. this is sort of like in Terranigma when you
throw a pot on the woman's pet monkey she throws you out..
FINAL NOTES::
You don't need to make every NPC in your game into the most diversified character with his or her own background and plot,
and saying something different every time you talk to them, but if you do it will be a game I would want to play :).
Anyways, try to combine the different approches, like one Tuesday the man will get angry and fight you but on Friday
he is calm. Soon your game, too, will be choke full of wacky interactions!
This was my first article (or does it count as a tutorial?) and I hope you enjoyed it. All comments would be greatly
appreciated. Thank you!