Jump to content



Simple AI for 2D grid based game.

  • You cannot reply to this topic
9 replies to this topic

#1 Wilhelm van Huyssteen   GDNet+   -  Reputation: 157

Like
0Likes
Like

Posted 26 January 2012 - 05:39 AM

Hi.

im creating a dead simple 2D game. the game consists of a grid that is15x11. each entity takes up 1 square on the grid. The AI for one particular type of enemy should find a path to the player and move to him. each square in the grid is either open or the enemy to pass through or its not. Enemies pass through each other so they can ignore each others existance.

What method would i use to implement this path finding? simplicity over performance. its a tiny game world after all.
DMStudio - www.distantmelody.net

Blood Tactics - Online first person shooter. Play Blood Tactics right now using this Direct Play Link
Frost TD - 3D tower defence game.
Spheres of Madness - 2D puzzle game.
Essence - Online Go (boardgame).
Desent - 2D top down shooter.

Ad:

#2 IADaveMark   Moderators   -  Reputation: 1247

Like
0Likes
Like

Posted 26 January 2012 - 09:00 PM

If there are obstacles (walls) then A*. Otherwise just check to see left/right up/down and move 1 space in the right direction.
Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC

Professional consultant on game AI, mathematical modeling, simulation modeling
Co-advisor of the GDC AI Summit
Co-founder of the AI Game Programmers Guild
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!"

#3 Wilhelm van Huyssteen   GDNet+   -  Reputation: 157

Like
0Likes
Like

Posted 27 January 2012 - 02:05 AM

There is walls. sorry i didnt type that very clearly in the OP. im having trouble googling A* since google ignores the *. is there a full name for it?
DMStudio - www.distantmelody.net

Blood Tactics - Online first person shooter. Play Blood Tactics right now using this Direct Play Link
Frost TD - 3D tower defence game.
Spheres of Madness - 2D puzzle game.
Essence - Online Go (boardgame).
Desent - 2D top down shooter.

#4 Bacterius   Members   -  Reputation: 248

Like
0Likes
Like

Posted 27 January 2012 - 04:05 AM

Quote

There is walls. sorry i didnt type that very clearly in the OP. im having trouble googling A* since google ignores the *. is there a full name for it?
A star.

#5 IceBreaker23   Members   -  Reputation: 109

Like
0Likes
Like

Posted 27 January 2012 - 04:47 AM

google "A* pathfinding algorithm"

#6 IADaveMark   Moderators   -  Reputation: 1247

Like
0Likes
Like

Posted 27 January 2012 - 08:36 AM

A* is easily one of the most documented techniques in game AI. You'll find it.
Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC

Professional consultant on game AI, mathematical modeling, simulation modeling
Co-advisor of the GDC AI Summit
Co-founder of the AI Game Programmers Guild
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!"

#7 menyo   Members   -  Reputation: 133

Like
0Likes
Like

Posted 27 January 2012 - 02:41 PM

A* is very good, though slightly advanced. What i did in my game is giving my tiles an extra int for path numbering. Then from the destination put all adjacent tile n=1, then from these adjacent tiles n+1 for there adjacent tiles and repeat this. Stop when you are calculating the tile your standing on. Then move to the lowest number in the adjacent tiles. This technnique works surprisingly well.

But then again, A* can do a lot more once you get the hang of it.

Current Project: TechnoFlux read all about it on my

DEV BLOG


#8 lmbarns   Members   -  Reputation: 128

Like
0Likes
Like

Posted 27 January 2012 - 06:43 PM

Here's an A* javascript script http://www.battlefor...pathFinding.php demonstration and source.

I haven't used it because I haven't figured out which way I'm going with the map yet(generated tiles vs single image, top down vs isometric[in an html5 game]). Currently I just run around on a background image and use tangent/sin/cosine to move objects on layers above while sliding the bg sprite images based on the sin/cos the object is moving...

#9 slicer4ever   Members   -  Reputation: 148

Like
0Likes
Like

Posted 28 January 2012 - 11:43 AM

http://www.policyalm...tarTutorial.htm

i find this to be the absolute best article for learning A*.

@menyo, A* is not very advanced imo, and from the sound of what he's making, it'd be absolutly perfect for his needs, also, your method sounds like A* without a heuristic, and every tile has an equal movement cost(regardless if diagonal or not.).

#10 Wilhelm van Huyssteen   GDNet+   -  Reputation: 157

Like
0Likes
Like

Posted 29 January 2012 - 01:16 AM

Thnx a lot!
DMStudio - www.distantmelody.net

Blood Tactics - Online first person shooter. Play Blood Tactics right now using this Direct Play Link
Frost TD - 3D tower defence game.
Spheres of Madness - 2D puzzle game.
Essence - Online Go (boardgame).
Desent - 2D top down shooter.






We are working on generating results for this topic
PARTNERS