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!