Odd Job NPCs in RPGs
I can''t help but wonder if the industry has ever thought to do more with NPCs other than have the wander around without purpose or reason in games. I know there has been talk of giving NPCs shopping lists in order for them to go talk to certain other NPCs, but isn''t there better things that designers can come up for NPCs to do like an actual job or something?
Well, I''m sure just about every contemporary RPG designer has toyed with the idea of giving NPC''s a much greater role in their games than the simple stenographers we''re so used to seeing. Lord knows I have. It''s just that, in order to give NPC''s more vivid personalities and objectives, you need two very important things:
First, you need a lot of extra CPU power to process all of the NPC''s that do more than stand around. Second, none of the AI in present games even comes close to matching what you would have to create to get your NPC''s to act more like players. Writing realistic AI is not an easy thing to do.
One of my foremost goals in developing an RPG (that I have shelved for the time being due to a lack of team members) was to create NPC''s that act very much like players. They would have extensive dialogue so they could talk about many things; they would wander the world seeking fame and fortune; and they could form parties when necessary.
The only problem with this is, in an ideal environment, you would have dozens or even hundreds of NPC''s all going about their daily business. This kind of AI processing will sufficiently destroy your clock cycles. That''s why I''ve been looking for ways around the problem.
So, to answer your question, I''m sure everyone has thought about making better NPC''s, but nobody has found the ultimate solution to resolve all of its problems yet.
First, you need a lot of extra CPU power to process all of the NPC''s that do more than stand around. Second, none of the AI in present games even comes close to matching what you would have to create to get your NPC''s to act more like players. Writing realistic AI is not an easy thing to do.
One of my foremost goals in developing an RPG (that I have shelved for the time being due to a lack of team members) was to create NPC''s that act very much like players. They would have extensive dialogue so they could talk about many things; they would wander the world seeking fame and fortune; and they could form parties when necessary.
The only problem with this is, in an ideal environment, you would have dozens or even hundreds of NPC''s all going about their daily business. This kind of AI processing will sufficiently destroy your clock cycles. That''s why I''ve been looking for ways around the problem.
So, to answer your question, I''m sure everyone has thought about making better NPC''s, but nobody has found the ultimate solution to resolve all of its problems yet.
GDNet+. It's only $5 a month. You know you want it.
This really isn''t a matter of designing: everybody can come up with many different things a NPC could do (shop, eat, work, spend a weekend at a big city, go on a holiday, think intellectually, talk with each other...)
This is a matter of actually programming and modelling NPC''s to do all this. AI just isn''t really that straightforward thing to do. But even though this can be done, it would eat lots and lots of time to program this.
However it''s true that NPC''s in most current games are way too dumb. In both Baldur''s gate and Fallout the NPC''s basically do nothing.
-Hans
This is a matter of actually programming and modelling NPC''s to do all this. AI just isn''t really that straightforward thing to do. But even though this can be done, it would eat lots and lots of time to program this.
However it''s true that NPC''s in most current games are way too dumb. In both Baldur''s gate and Fallout the NPC''s basically do nothing.
-Hans
With T&L 3D cards and a new processor a CRPG should be able to do this with ease. And I think you will see it in the not too distant future!
I just saw that Intel was testing a 2Ghz processor... A server with lots of RAM and 8 of these processors should be capable of delivering more lifelike NPCs.
As Tom stated, I think it's in the mind of designers/developers but, hardware restricts them/us from the implementation at this time.
Dave "Dak Lozar" Loeser
Edited by - Dak Lozar on September 12, 2000 12:01:02 PM
I just saw that Intel was testing a 2Ghz processor... A server with lots of RAM and 8 of these processors should be capable of delivering more lifelike NPCs.
As Tom stated, I think it's in the mind of designers/developers but, hardware restricts them/us from the implementation at this time.
Dave "Dak Lozar" Loeser
Edited by - Dak Lozar on September 12, 2000 12:01:02 PM
Dave Dak Lozar Loeser
"Software Engineering is a race between the programmers, trying to make bigger and better fool-proof software, and the universe trying to make bigger fools. So far the Universe in winning."--anonymous
"Software Engineering is a race between the programmers, trying to make bigger and better fool-proof software, and the universe trying to make bigger fools. So far the Universe in winning."--anonymous
Just to add to what Tom said:
NPC AI does NOT require much prosessor power if done right.
You don''t have to move pixel-perfectly every single NPC that is far away from you. Or check their collision detection with each polygon.. Lots of approximation can be done: if an NPC goes to a quest of it''s own, you can just pick a random number to check if (s)he fails the quest or wins it, and what does (s)he win/lose from it. But if you follow this NPC or join his quest, then you must calculate all the stuff (s)he does.
So you basically need less than 10 really accurate AI-NPC''s running, 100 quite accurate AI-NPC''s and 10000 very heavily approximated NPC''s. Should run fine on a 486
And those AI layers aren''t very hard to do, only the most accurate AI modelling is hard. Approximation AI''s can be done easily.
-Hans
NPC AI does NOT require much prosessor power if done right.
You don''t have to move pixel-perfectly every single NPC that is far away from you. Or check their collision detection with each polygon.. Lots of approximation can be done: if an NPC goes to a quest of it''s own, you can just pick a random number to check if (s)he fails the quest or wins it, and what does (s)he win/lose from it. But if you follow this NPC or join his quest, then you must calculate all the stuff (s)he does.
So you basically need less than 10 really accurate AI-NPC''s running, 100 quite accurate AI-NPC''s and 10000 very heavily approximated NPC''s. Should run fine on a 486
And those AI layers aren''t very hard to do, only the most accurate AI modelling is hard. Approximation AI''s can be done easily.
-Hans
to get good npcs that APPEAR to act realistically is not too hard...we dont all at once have to go from having braindead sprites to worlds populated with intelligent beings...we can take a few smaller steps in the middle...
half life and descent 3 both had great ai. i know descent 3 implemented a desicion making process for the opponents which helped the act and react realistically. i am not sure how they did it in half life, but it was pretty amazing. they were not perfect though...but it was a definite improvement.
the important thing to remember is that they dont necessarily have to be thinking realistically or living realistically...they just have to LOOK like it. just consider the graphics engine: it is in no way real, but if it looks good enough we can believe it is...if the npcs pretend to act real (even if it is all scripted really well) then we can believe they are real.
<(o)>
half life and descent 3 both had great ai. i know descent 3 implemented a desicion making process for the opponents which helped the act and react realistically. i am not sure how they did it in half life, but it was pretty amazing. they were not perfect though...but it was a definite improvement.
the important thing to remember is that they dont necessarily have to be thinking realistically or living realistically...they just have to LOOK like it. just consider the graphics engine: it is in no way real, but if it looks good enough we can believe it is...if the npcs pretend to act real (even if it is all scripted really well) then we can believe they are real.
<(o)>
<(o)>
And to reply to what Dak Lozar said :
Hardware is not the limitation, programming & implementing AI is.
-Hans
Hardware is not the limitation, programming & implementing AI is.
-Hans
quote: Original post by Hans
And to reply to what Dak Lozar said :
Hardware is not the limitation, programming & implementing AI is.
I''m not to sure that I agree with you on this point Hans.
Look at Game Developer Magazine two issues ago... in the anual State of AI issue there were polls as to what percentage of the processor designers are giving to AI and as computers have "grown" so has the percentage of the processor that they intend to utilize. In fact there seems to be a big push away from "hardcore" AI routines back to simplistic finite state machines (FSM) with a bit of Fuzzy Logic to boot.
Yes the implementation of a true AI is difficult but because of the hardware limitataions that implementation has been curved back to fit the budget. I personally believe that as hardware advances so will AI and its implementation.
Dave "Dak Lozar" Loeser
Dave Dak Lozar Loeser
"Software Engineering is a race between the programmers, trying to make bigger and better fool-proof software, and the universe trying to make bigger fools. So far the Universe in winning."--anonymous
"Software Engineering is a race between the programmers, trying to make bigger and better fool-proof software, and the universe trying to make bigger fools. So far the Universe in winning."--anonymous
Per the latest numbers, 20% of the CPU budget is marked for AI, up 5%. 20% of a 500mhz CPU is over three times as powerful as a 486. Also note that they aren''t trying as hard to bring new AI techniques in, they are trying to make current AI better.
Approximation is good, as is ''warping'' (moving NPC''s randomly to new tasks within reason when the NPC is in the PC''s FOV. It would be really nice for players to have to circumnavigate a shepard bringing his flock into town for sale or what not for a change, it would be nice for the blacksmith to be working on something when I stop by and also tell me that it might take a week to make an item he doesn''t currently have on hand. It would be nice if NPC''s slept, reproduced, or moved out of town when the going get''s rough. Give the NPC''s some memories from a data base of town events and correlate the events to what the NPC conveying the information was doing. We just need to make them seem smarter via state machine. Toss in NPC attitudes (they hate you, don''t care, or worship the ground you walk on) and a few other items.
Approximation is good, as is ''warping'' (moving NPC''s randomly to new tasks within reason when the NPC is in the PC''s FOV. It would be really nice for players to have to circumnavigate a shepard bringing his flock into town for sale or what not for a change, it would be nice for the blacksmith to be working on something when I stop by and also tell me that it might take a week to make an item he doesn''t currently have on hand. It would be nice if NPC''s slept, reproduced, or moved out of town when the going get''s rough. Give the NPC''s some memories from a data base of town events and correlate the events to what the NPC conveying the information was doing. We just need to make them seem smarter via state machine. Toss in NPC attitudes (they hate you, don''t care, or worship the ground you walk on) and a few other items.
I agree, Whirlwind. That sort of thing will not require much from the CPU. Also, it's not that difficult from a technical standpoint. Doing something like that is not any harder than most other parts of the game as far as the programming part is concerned. Not many developers so far have taken the care to include those sorts of things...yet.
Edited by - Nazrix on September 12, 2000 2:47:57 PM
Edited by - Nazrix on September 12, 2000 2:47:57 PM
Need help? Well, go FAQ yourself. "Just don't look at the hole." -- Unspoken_Magi
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement