Advertisement

Analyzing Influence Maps

Started by May 09, 2003 09:15 AM
12 comments, last by tscott1213 21 years, 3 months ago
Can someone refer me to a good text on analyzing influence maps. I have read some tutorials on creating them, but not on actually implementing them. Thanks Todd
Steve Woodcock (our oft maligned Ferretman) had a really cool "gem" in AI Game Programming Wisdom. It dealt with identifying the "front" and grouping your units into front, rear and flank designations so you can give them different instructions.

Dave Mark - President and Lead Designer
Intrinsic Algorithm - "Reducing the world to mathematical equations!"

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
Thanks.

I will check that out...

Todd
Or I am sure you can still find his article on influence maps that was written ages ago on the newsgroups. Although it might the tutorial you are talking about ?


Sancte Isidore ora pro nobis !
-----------------------------Sancte Isidore ora pro nobis !
quote: Original post by ahw
Or I am sure you can still find his article on influence maps that was written ages ago on the newsgroups. Although it might the tutorial you are talking about ?


Actually, that article was really a summary of a usenet discussion about "influence mapping" held on the comp.ai.games newsgroup. While my good friend Steve was a contributor to that discussion, there were about a dozen other folks involved. Thanks also goes to Steve, for preparing the summary of the discussion and posting it on his web site at www.gameai.com (and search on "influence maps").

Eric
quote: Original post by tscott1213
Can someone refer me to a good text on analyzing influence maps. I have read some tutorials on creating them, but not on actually implementing them.


Implementing influence mapping is pretty application specific.

Here is just one example. Assume a map is 2D grid based, and thus each cell of the grid corresponds to an offset in an array. If there was an NPC located at a particular x,y on the grid, then that NPC could be recorded (as a value) in the offset of the array corresponding to the location of the cell of the grid. Surrounding that cell on the grid, are other cells that are considered immediately adjacent to the cell that the NPC is located in. Now, suppose our interest is to be attracted to the nearest friendly NPC? To identify a friendly NPC, we place a high value in the offset of the array that corresponds to the location of the cell of the grid where the NPC is located. Good so far?

Next we place a slightly smaller value in the offsets of the array that correspond to the cells that are immediately adjacent to the cell where the NPC is located. We continue that process, radiating outward from the nearest friendly NPC, and reducing the value placed at the offset of the array corresponding to the cell on the grid.

What we have done, is set up a graduated influence that decreases as a cell gets farther from the desired cell.

By processing the array of influence values, we can evaluate how desirable (close to a friendly NPC) a given cell might be.

Now, this was one, extremely simple way, an influence map can be implemented. There are a number of other ways to do this.

Hope that helps.

Eric

Advertisement
geta : yep, that''s the one
I know it''s a summary/compilation. I just thought that Stephen was the good man who bothered compiling all that.

Sancte Isidore ora pro nobis !
-----------------------------Sancte Isidore ora pro nobis !
Hey guys.

I just skimmed the compilation from gameai and the article in AI Game Programming Wisdom and I think once I give them a full read I will have the direction I need.

Thanks for the help!

Todd
I assume you''re doing an rts game with square tiles? Use a 2d vector of some sort, either as a simple 2d array, a 1d array (x+y*width style), or a vector class. Then, the major algorithm you''ll be using is A* or a general breadth-first search.

I''ve been advocating influence maps in just about every strategy thread that''s popped up. I''m glad now that somebody is using them!
quote: Original post by TerranFury
I assume you''re doing an rts game with square tiles? Use a 2d vector of some sort, either as a simple 2d array, a 1d array (x+y*width style), or a vector class. Then, the major algorithm you''ll be using is A* or a general breadth-first search.

I''ve been advocating influence maps in just about every strategy thread that''s popped up. I''m glad now that somebody is using them!


Your efforts have not gone for naught. I started using them back in 1991 before I knew there was such a thing. Then when the IM thread appearred on comp.ai.games in 1995, I finally learned what they were called. I still use them today, and everytime someone new picks them up and uses them, and posts about it, I learn a new way to apply them.

Eric

This topic is closed to new replies.

Advertisement