Separator
Hide and seek with NPC's
36970_440604814609_500264609_5862488_5061095_n
Tuesday, May 04, 2010

Sometimes when playing a game I will wonder why a developer did something one way and not another. Of course, every gamer has done it at one point. But how many of those gamers have taken the time to figure out a new method for doing things? How many will sit down with a pencil and paper to flesh out how they think NPC’s should act or how a proper skill tree should work?

 

The answer is probably not many. They complain about the game and they move on, never giving it a second thought. I like to figure things out, and what follows is my first attempt at figuring out what I call NPCPC. NPCPC stands for Non Player Character Population Control. I’ll explain exactly what I am talking about in the next paragraph.

Have you ever played an RPG and wondered why all of the NPC’s in the game can be found in the same spot repeatedly? For example, let’s say that you are on the Citadel in Mass Effect 2. You see two Krogan chatting about the existence of fish in a nearby lake. You think nothing of it and continue on your journey. Three game days later you return and they are having the exact same conversation in the exact same spot.

For some players this is ok, it makes finding these guys easy later on. I on the other hand would rather they meander around the Citadel. If I can find them in the same spot every time, I’m not feeling immersed. I would much rather have to ask people on the Citadel if they have seen who I am looking for. It would make completing my side mission a challenge. If I have to ask around, chances are I’m going to run into someone very interesting I would have never seen before.

Seeing as how I’ve never written a single line of game code in my life, I don’t know how difficult this would be. I am, however, going to explain as best I can the way I would handle this problem. I could stumble upon one of the greatest NPC population ideas ever. So if you are reading this and are a game designer and/or coder, please take my idea and use it. You can thank me later.

Let’s say you walk close enough to the Krogan for a trigger to activate. This lets the game know you were within ear shot and could have easily seen the two standing there. The game now knows you have seen them in this location and never spawns them there again. From now on when you enter the Citadel the game will spawn the Krogan in one of 5 different areas. None of which are the original.

So now you need to find the Krogan and you start questioning NPC’s on their whereabouts. You approach a shop owner and say “Have you seen the two Krogan who were arguing about fish just out there?” The NPC could respond with “Yes, I saw them at ‘insert location’” or “I can’t possibly know, I don’t trouble myself with anything but my business.” If your charisma rating is high enough the owner says yes and you go to that location. If your stats are low the shop owner says no and you move on to try your luck somewhere else.

For example, an NPC says yes and directs you to the last known location. When you get there they are nowhere to be seen. This doesn’t mean the previous NPC lied to you, it just means the game (based on randomization, luck and chance) decided to spawn the Krogan somewhere else. This won’t happen every time. If it did this whole process would get tedious and nobody wants that in a game. Sure it is like life, but people escape life every day to play games. A game truly resembling life would turn them away. The goal as I understand it is to get close enough to real life that you recognize it and at the same time aren’t put off by it.

Eventually you find the Krogan and complete your side mission. This whole process could take you to parts of the Citadel you might never have visited or provoked conversations you never would have had. Obviously coding a game to do this isn’t easy. Otherwise everyone would be doing it. This in my eyes is how things should be done. Maybe there is a game that already uses this method. If anyone knows of one, enlighten me. I’d like to play it.

 
2
BITMOB'S SPONSOR
Adsense-placeholder
Comments (6)
Jayhenningsen
May 04, 2010


In Bethesda's The Elder Scrolls:Oblivion, NPCs had jobs and schedules. They would get up in the morning, go work at the shop, head to the tavern after work and eventually go home and sleep. This sometimes made it interesting to track down certain people. It was a fluid system; you could literally follow the people over the course of the day if you wanted to.


36970_440604814609_500264609_5862488_5061095_n
May 04, 2010


I seem to remember running into a few glitches with that system. I can recall on at least one occasion the NPC was just gone. They couldn't be found anywhere. Otherwise, I think it worked pretty well. I can't for the life of me figure out why other, newer RPG's aren't doing this.


May 04, 2010


Majora's Mask did NPCPC well - at least, it gave a convincing illusion of a living city.


Me_and_luke
May 04, 2010


Agreed with Jay.  Both Fallout 3 and Oblivion are probably the two games with the most realistic NPC behavior that I have experienced.  It's one of the many reasons I  appreciate WRPG's over JRPG's.



@Brendon:  In my opinion, Zelda games have always been one of the worst when it comes to NPC's.  They're almost always in the exact same spot, standing or sitting there doing absolutely nothing (or the same thing over and over).  


36970_440604814609_500264609_5862488_5061095_n
May 04, 2010


@Bryan: I have yet to play the expansions, but when in Fallout 3 did NPC's move around? There were a lot of forced movements. For example, blowing up Megaton forced a few people to other locations.


May 04, 2010


@Bryan: Agreed, definitely -- MM is the exception, because the structure required each NPC to have a three-day schedule. It gave the illusion of stuff happening in a dynamic way, even though after a few spins through time you always knew where to find them depending on the day.


You must log in to post a comment. Please register or Connect with Facebook if you do not have an account yet.