Jump to content
  • Advertisement
Sign in to follow this  
Kest

Sims style behavior

This topic is 3803 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

This is about a decision to program state-driven AI and events into a human or creature, to make it react more like a real animal, rather than simply simulating such behavior with straight-forward AI. I guess you could say to program all characters like The Sims. The biggest question is, is it a good idea? Or is generic simulation of behavior better for most normal gaming? A decent example would be an aggressive / passive nature for wild animals. To use real-states, the obvious choice would be hunger. Hunger would work just like it does in The Sims - a number counting down internally, over time, that fills back up when food is eaten, although the player wouldn't see a bar for this. A wild creature would react and make decisions differently, depending on its hunger state. It may be very passive when it's stuffed, and overly aggressive when it's starving. The simulation of this behavior with simplistic AI would be wild creatures attacking some of the time, or randomly being passive, to represent the creature's occasional full stomach. Within a short time span, the player probably wouldn't even be able to notice the difference between the two methods. The animals are simply aggressive or passive, some of the time. But I'm considering what could happen outside of that simple span of time. Most importantly, what type of gameplay effects could be introduced as a result of internal states changing the character's decisions? If the player can find a way to modify those internal states, he can change the creature or person's behavior. An obvious one for the example would be feeding the wild animal to avoid a fight. Another example would be sneaking a drug into a guard's drink to make him run to the bathroom. In this case, it would be a precisely-controlled manipulation of internal states, possibly to the point of the player being able to specify which states the drug should influence when it is created. It would be Sims style gameplay, but with an offensive twist: to manipulate other people. Any thoughts?

Share this post


Link to post
Share on other sites
Advertisement
It's not absolutely usable for reasons of scale. Decrimenting individual counters and modifying state for a large number of objects rapidly becomes infeasible. Consequently, entities that are sufficiently "distant" from the current area of concern are abstracted into simpler, bulk simulations.

Share this post


Link to post
Share on other sites
I think you could still simulate very distant entities the old fashion way. You could provide a randomizer for each state, for each species, for each area. An example would be setting hunger from 30% to 50% for giant swamp flies when they are first encountered.

Still, hunger is pretty boring, and has limited manipulation potential. I would like to come up with better internal states, which can make the gameplay more interesting, but I'm having trouble coming up with them.

Share this post


Link to post
Share on other sites
I'm a fan of this kind of idea - i.e. emergent behaviour rather than explicit behaviours.

For most games though, traditional methods can probably achieve the same effect for much less effort, so you would probably need to design the game from the bottom up with these features in mind. The game would have to be centered around this idea of manipulating people/creatures.

I was actually really disappointed with Oblivion when it *didn't* implement something like this. Oblivion went half-way by giving everyone scheduled behaviours, but it doesn't allow for any real changes. For example, if I steal all of someone's food it should force them to go buy/find/steal some more -- but it doesn't :(

Share this post


Link to post
Share on other sites
My biggest attraction to the feature would be allowing players to manipulate the game world beyound my own considerations as the designer. An example would be a tough diplomacy situation, where the player can slide right through it by tweaking a few internal states of the NPCs involved. Some designers probably don't like to allow that sort of thing, but thinking outside of the designer box is one of my favorite tactics in gaming.

But again, I'm not sure the concept can even get off of the ground without some interesting internal states to consider. Most of those employed in The Sims - comfort, social, fun, etc - would be pretty useless in most gaming situations.

Share this post


Link to post
Share on other sites
Sounds kind of like the approach I'm looking at developing, I described it some in my RTS/RPG topic before I read this thread.

Share this post


Link to post
Share on other sites
Kest,

Personally this type of idea has been something I've tossed around in my mind from here and there. I have always been a fan of an NPC that would be able to be manipulated by the player but still do its own thing.

One thing that I did think would be needed was different thresholds for different npcs (no two creatures are really the same in my opinion in the world). Using your hunger example... Some animals, even within the same species, would become more aggressive at a higher hunger level. Heck some might just be considered a wild one within the species and just naturally be aggressive. I thought that was important when you deal with a limited amount of factors to determine the npcs behavior.

Though, like you, I have been trying to think of more variables that are worth while and useful to use for the npcs.

Animals - hunger, night/day, protective of children/friends, disturbing in sleeping state... All of which are good to use but then also may require a lot more behind the scenes development to achieve those features.

Share this post


Link to post
Share on other sites
Quote:
Original post by Oluseyi
It's not absolutely usable for reasons of scale. Decrimenting individual counters and modifying state for a large number of objects rapidly becomes infeasible.
I'm going off on a hypothetical tangent here, but... what if Intel brings out a new CPU that is equivalent to 4 of their current quad-core CPUs plus 2048 small/simple CPUs (e.g. Pentium MMX). That's 16 heavyweight cores and "countless" lightweight cores.

Would such a piece of hardware allow these kind of simulated games to take off? If you've got more cores than you know what to do with, why not just assign each NPC it's own core to run a full AI-sim for them.

Share this post


Link to post
Share on other sites
Quote:
Original post by Hodgman
Quote:
Original post by Oluseyi
It's not absolutely usable for reasons of scale. Decrimenting individual counters and modifying state for a large number of objects rapidly becomes infeasible.
I'm going off on a hypothetical tangent here, but... what if Intel brings out a new CPU that is equivalent to 4 of their current quad-core CPUs plus 2048 small/simple CPUs (e.g. Pentium MMX). That's 16 heavyweight cores and "countless" lightweight cores.

Would such a piece of hardware allow these kind of simulated games to take off? If you've got more cores than you know what to do with, why not just assign each NPC it's own core to run a full AI-sim for them.

I don't think there would even be a problem implementing the feature with older CPUs. Even with a gigantic number of creatures being processed in one area, there are easy programming tricks to "background process" creatures that are not visible by the player.

An example would be to update only 20 of them each frame. Creatures 21-40 would update the next frame, then 41-60 the next, and so on. The creatures would operate at a lower frame rate, but that would make little difference to the accuracy of this type of simulation. You could literally have creatures feeding off of other creatures, and living out there lives in the background.

But the real question is, why bother? The biggest impact it might have (that I can consider) would be for a player to view a natural situation, or interact with an animal, then leave, come back later, and see the situation evolved, or the animal still influenced by the player's changes. That sort of thing would be pretty neat, but not very influential to gameplay.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!