• FEATURED

View more

View more

View more

### Image of the Day Submit

IOTD | Top Screenshots

### The latest, straight to your Inbox.

Subscribe to GameDev.net Direct to receive the latest updates and exclusive content.

# Bomberman AI approach

Old topic!

Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

5 replies to this topic

### #1Billda  Members

Posted 18 April 2013 - 02:33 AM

Hi, I am writing bachelor thesis about different approach of AI in clone of Bomberman game. My clone is simplified with few things. Every player has to make some action every second and moves are discrete from one tile to another.

First approach that I tried was A* pathfinding. At the start of game cycle, player checks if he isnt in range of some bomb. If he is, A* for hiding is started. If no bomb is around and he cannot kill anybody with placing bomb right now, he try to find best way to nearest player. This approach is good enough and player is quite smart.

Next approach i was planning to try was with game tree algorithms - minimax, alpha-beta pruning... At this point i realized that every article i found about minimax assumed that players alternate with moves. In bomberman this isnt true, everybody make action at the same time. With that information. If i have 4 players and 5 actions (moves and bomb place), at every cycle there could be 5^4 possibilities of actions. It is quite a large number and in game tree with depth 3 it is impossible to search.

So my question is - is there any better way? Or any algorithms that are based on this type of game where everyone make move at the same time?  Or game tree is in this situation bad idea?

Thanks for all suggestions.

Posted 18 April 2013 - 03:01 AM

Do you really need everyone to move at once? Can't you move each player in turn and then do an update once everyone has moved? You could also randomise the turn order for each player per round to make things less predictable.

Everyone moving at once can cause complications, can 2 players pass through each other if they are adjacent and both move towards each other? How do you resolve the situation where 2 or more players try to move onto the same tile?

Also, there are 6 possibilities per turn, you forgot the "don't do anything" action.

"Most people think, great God will come from the sky, take away everything, and make everybody feel high" - Bob Marley

### #3Álvaro  Members

Posted 18 April 2013 - 08:48 AM

Next approach i was planning to try was with game tree algorithms - minimax, alpha-beta pruning... At this point i realized that every article i found about minimax assumed that players alternate with moves. In bomberman this isnt true, everybody make action at the same time. With that information. If i have 4 players and 5 actions (moves and bomb place), at every cycle there could be 5^4 possibilities of actions. It is quite a large number and in game tree with depth 3 it is impossible to search.

So my question is - is there any better way? Or any algorithms that are based on this type of game where everyone make move at the same time? Or game tree is in this situation bad idea?

Not only does minimax require alternating turns, but it also only works for two players. There is another paradigm for building AI for board games that is way more flexible: Monte Carlo Tree Search. It can handle multiple players, simultaneous decisions and randomness without much trouble.

The best go programs use MCTS, even though it is in the class of games where minimax can be applied. The main reason for this is that, unlike minimax, MCTS doesn't require an evaluation function, and nobody knows how to write a decent evaluation function for go.

http://senseis.xmp.net/?MonteCarloTreeSearch
http://senseis.xmp.net/?UCT (UCT is a specific algorithm of the MCTS family)

### #4Norman Barrows  Members

Posted 18 April 2013 - 01:17 PM

for almost any type of AI, i've found hierarchies of behavior tree driven expert systems hard to beat.

Norm Barrows

Rockland Software Productions

"Building PC games since 1989"

rocklandsoftware.net

PLAY CAVEMAN NOW!

http://rocklandsoftware.net/beta.php

### #5Druzil  Members

Posted 18 April 2013 - 07:02 PM

While there are multiple player versions of minimax (namely MaxN and Paranoid search), it doesn't handle simultaneous moves very well.  Past researchers have introduced an artificial ordering when simultaneous moves are needed, which has its own problems.

### #6Billda  Members

Posted 19 April 2013 - 10:22 AM

Next approach i was planning to try was with game tree algorithms - minimax, alpha-beta pruning... At this point i realized that every article i found about minimax assumed that players alternate with moves. In bomberman this isnt true, everybody make action at the same time. With that information. If i have 4 players and 5 actions (moves and bomb place), at every cycle there could be 5^4 possibilities of actions. It is quite a large number and in game tree with depth 3 it is impossible to search.

So my question is - is there any better way? Or any algorithms that are based on this type of game where everyone make move at the same time? Or game tree is in this situation bad idea?

Not only does minimax require alternating turns, but it also only works for two players. There is another paradigm for building AI for board games that is way more flexible: Monte Carlo Tree Search. It can handle multiple players, simultaneous decisions and randomness without much trouble.

The best go programs use MCTS, even though it is in the class of games where minimax can be applied. The main reason for this is that, unlike minimax, MCTS doesn't require an evaluation function, and nobody knows how to write a decent evaluation function for go.

http://senseis.xmp.net/?MonteCarloTreeSearch
http://senseis.xmp.net/?UCT (UCT is a specific algorithm of the MCTS family)