its been a while since my last post and indeed I've been pretty lazy in the last few weeks. Anyway I thought it's ncei to come up with some theoterical work 'bout artificial intelligence in a bomberman like game. As you might know I'm developing an own bombermonclon called RPGBomber2009. Of course there is a special need for intelligence in the single player mode. But how do we start with such a big topic. Maybe at the beginning.
What is artificial intelligence
Artificial Intelligence (AI) is basicly the approch to act like a system, which we know is intelligent. There is no real common definition of intelligence, so it is also hard to put AI in a box. But in general we describe human or human like behavior, e.g. solving problems on your own or make decisions freely, as intelligent. Anyway intelligent behavior are also decisions, which leads to the most succes. A system which tries to be intellient as I described it above is called intelligent agent (IA).
What is a so called intelligent agent
An IA is a system which tries to react in an intelligent behavior. To make that it needs knowledge about his envirnment, which we call perception. Depending on his perception and his further knowledge the agent makes a decision and performs an action. This action interacts with the environment and affects the agents future behavior.
The agent gets the internal state of his environment. On basis of this perception the agent runs through a complex decision making algorythm and returns an action, which updates the environment.
What does a IA for bomberman need?
Lets take a look at the content itself. What is the environment in this special case? We have a 2D-map as our playing field. It is divided into tiles, which can carry special items like a bomb, a bomberman, goodies, treasures, borders and so on. Our IA is the bomberman.
So what does a bomberman perceive? Let's modify the question in that way: What do we see, when we play such a game?
- the playing field
- all opponents
- treasures and borders
If we want to create a human like playing bomberman, we only need to simulate a human, that meens we also provide the same view (from a human) for the IA.
Now that we know, what we will see in the game, we have to think about, what we can do as a bomberman and of course how do we find out, which the best action should be. A bomberman is able to do the following actions:
- stay still
- drop a bomb
But how do we know, which action the bomberman should perform to get the most effort? Or in other words, what does a bomberman has to consider if he wants to do the best action?
Of course he has to find the best way to that point he wants to gather. But what is the best way in such a case? The shortest one, the safest one?