Advertisement

Hidden Markov Models instead of FSM in an FPS

Started by December 08, 2010 06:30 AM
12 comments, last by IADaveMark 13 years, 11 months ago
Quote: Original post by InnocuousFox
some fuzzyness in the FSM transitions.


In academic circles this would be called a Markov Chain.
Quote: Original post by Emergent
Quote: Original post by InnocuousFox
some fuzzyness in the FSM transitions.


In academic circles this would be called a Markov Chain.

It sounds less intimidating this way. Also, this is a broader concept. For example, the transition percentages may or may not be used based on conditional logic. If ConditionA is in place, switch to StateA, but if it is not in place, select from B, C, and D based on some weighted criteria. If ConditionA is based on external input from the game state or the user, that breaks the concept of a pure Markov Chain.

Incidentally, Brian Schwab (ex-SOE, now Blizzard) and I are doing a session at the GDC AI Summit about the pros and cons of randomness in games.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Advertisement
Quote: Original post by InnocuousFox
It sounds less intimidating this way.


I like this as a reason; people do tend to tune out when they hear scary-sounding jargon. It's my hope that, if people read, say, your accessible description, and then hear "by the way; that thing you read about? That's all [jargon word] is," then the jargon gets less scary, and previously-inaccessible literature opens up.

Quote: Also, this is a broader concept. For example, the transition percentages may or may not be used based on conditional logic. If ConditionA is in place, switch to StateA, but if it is not in place, select from B, C, and D based on some weighted criteria. If ConditionA is based on external input from the game state or the user, that breaks the concept of a pure Markov Chain.


We'd call that a controlled Markov Chain.

Quote: Incidentally, Brian Schwab (ex-SOE, now Blizzard) and I are doing a session at the GDC AI Summit about the pros and cons of randomness in games.


Interesting.

Your abstract reminds me of a popular book I read recently, The Drunkard's Walk; he talks about, among other things, studies in psychology that show how people are systematically unable to identify or to generate random sequences. In particular, your phrase "mitigating some of the problems that truly random sequences can generate" reminds me of the iPod shuffle issue (mentioned in the book), where Apple had to change its shuffle algorithm to make it "less random" in order for people to believe that it actually was "random" (What exactly the change was, he doesn't say; I will guess that they switched from generating an i.i.d. sequence of songs to generating a random permutation, or something like that, to avoid repeats.)

The phrase "randomness in games" also reminds me of that fact that, although not all games have Nash equilibria in pure (deterministic) strategies, all games do have Nash equilibria in mixed (probabilistic) strategies -- the prime example being Rock Paper Scissors, where the only equilibrium is for both players to pick uniformly at random. I feel that this gives a nice theoretical justification for why, sometimes, behaving randomly is the best thing to do. (Of course, common sense also tells you that unpredictability is good.)

Anyway, I'm getting away from the original purpose of this thread. Still, sounds like an interesting topic.
Quote: Original post by Emergent
Your abstract reminds me of a popular book I read recently, The Drunkard's Walk;

Brian and I have both read it and will be using a couple of the examples from it at the beginning to "set the stage".

His part of the lecture, in particular, will be about how, in a basketball title he did at SOE, people were bitching about "hot streaks" and "cold streaks" that players went on despite the fact that it was all just random numbers thrown at "67% shooter". (e.g. "He shoots 67% from the floor -- how can he possibly have missed 5 in a row?!?") You can use techniques like "random without replacement", etc. to get away from that.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

This topic is closed to new replies.

Advertisement