Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 How to make interesting NPC's without scripting
#1
Every game that I think of contains NPC's.

Some games have better NPC's, and some have NPC's that are not so smart.

This tutorial will help you make some interesting NPC's, that add to the envroment and atmosphere of your game.

Each and every character in a game could possibly have a background story. Every village has people, and all those people have real lives, and should be treated with such.

To start, I will talk about the four basic couple NPC's that a game can have

1 - Random Comments

For the random comment NPC, you could actually use a commen event.

In the common event, have the program use a variable that chooses a random number.
We will call the variable RandomTalk

To start of use 1 ~ 99.

Now, use a conditonal branch, and use the variable you just created, RandomTalk.
Set the conditonal branch for every number between 1 and 99.

For every number, set a different response that an NPC could reply with.

Now whenever you make an NPC, call the common event. DONE!

This doesnt work for every NPC, but it is nice to have a couple NPC's who just spit
out random information to the player.

2 - Quest Related

These NPC's usually have something to say about what you have been doing recently.

Let us say your quest it so slay a dragon. Before you killed it, the NPC might be very
afraid, and scared of the dragon.

Add in a switch after the player kills the dragon, called DragonDead.

Now, for the NPC, once the switch DragonDead is activated, have the npc say somehting different, like "Thank you so much Hero! I can now bring my kids outside without fear of them being burnt to death!".

I like these NPC's, as they follow your quest, and make it seem as if the world is alive

3 - Side Quests

These Npc's are just like the ones stated above, except that they actually give you a quest to do, instead of reacting to other quests.

I like these type of Npc's, and think they can add alot to the game. They dont have to be the "Get me five mushrooms please" type of gathering Npc's either. They could be for.....anything.

Use the same formula as above, except for, the first time you talk to the NPC, have it turn a switch. And have another switch once you complete the quest. It is also good to have multiple different responses in between starting the quest, and completion.

4 - Interactive

These Npc's are usually fun, and can be entertaining. I like to think of these NPC's like the ones in Mass Effect, or Oblivion. When you walk into one of these Npc's, they can have multiple choices to respond with, and also have Multiple Responses.

To make one of these NPC's, you will want to use the show choices command, and have multiple responses for each outcome.

5 - Npc's that sell items

I love these Npc's. They sell you stuff, they buy your junk, and all for just a couple gold peices!

But really, Npc's selling items dont always have to be a "shop". How many times have you run into a bum trying to sell you his cardboard box so he can get a forty? Well, the same applies here. You could have some fisherman selling fish, or anything really.

Another type of NPC also get trapped into this type.

6 - The travelling NPC

Every good RPG needs a travelling NPC. They are always one step ahead of you. They are always near peril, inside of a volcano, on the edge of a glacier, or flying off of a floating city. These guys are the best things to RPG's since sliced bread.

A good way to implement them, is to use switches, so that the NPC cannot be at two places at once.

Or, have the NPC always talking about where he saw you last.

Advanced NPC's to follow soon.
Reply }


Possibly Related Threads…
Thread Author Replies Views Last Post
   Ruby Scripting kyonides 23 13,985 11-18-2023, 09:02 AM
Last Post: kyonides
   A good way to make an interrupt scene Ramiro 4 6,972 11-22-2009, 10:40 AM
Last Post: s_miracle
   Creating Your Own Scripting System DerVVulfman 3 6,655 10-12-2009, 03:37 PM
Last Post: Alpha-Mad



Users browsing this thread: