Advertisement

Help!! AI-Idiot needs help!

Started by October 07, 2002 05:50 AM
22 comments, last by Martin Foerster 22 years ago
As you might guess, i have a problem.... Im currently doing a pretty cool game. And I tried to implement some AI-Players (Bots) for it. But because of the nature and design of this game its very,very difficult, at least for me. Please take a look at www.GamoScope.com and download the FlipMania-1.1Beta. It is a BETA!! So there are some problems with the f**king (sorry, but in europe they say that even on tv!) Direct3D. Try to play it a while, and then imagine the AI-Players. I tried almost everything: 1. A* for going to a colored tile, >>No problem, when near the tile then 2<<< 2. A weighted matrix, effectivly learning from player, but stupid, because Bots stick on edges of the level... -OR- A*-like searching algorithm. Very,Very poor performance. Please take a look at the game (now its about 1-2 years old) if you have some ideas then i would be very pleased. The second part is multi-os,has capture-the-flag and other network modes, but no bots! Thousand thanks in advance.... (I''m not online everyday,sorry!) CMaster@GamoScope.com
There are 10 kinds of people,those who understand binaryand those who not.
Sorry, I haven''t downloaded the game but let me tell you this: Pathfinding in action games is usually done by making a waypoint-net for each level. Search algorithms (even heuristic-using ones like A*) over the full level are just too slow... What you should do is make a waypoint map for the levels and run an optimized A* to navigate from waypoint to waypoint.

Hope this helps, since I do not have the time to test the game myself.

------------------------------
"Reality is nothing, perception is everything!" - First Wizard Zeddicus Zu''l Zorander

------------------------------

There are only 10 kinds of people: those that understand binary and those that don't.

Advertisement
Thanks but it does''nt help.

I already implemented a fast A* routine for moving the cubes near the colored tile they should pick up. This is no problem and pretty fast.

I''ll explain it in a more detailed manner:

The game is about a cube, with different colors on each side. The task is to flip the cube, so that the bottom side''s color is the same as that of a colored tile. Example: Flip the cube with the red side on a red tile to get points.

And that''s the problem, please take a look at the game, then you might see whats so difficult to me.

How to find out in what direction the cube should roll, when for example the red side is up??

Thanks for your time....
There are 10 kinds of people,those who understand binaryand those who not.
I haven''t downloaded the game yet, but will do once the current DL stops.

However, I''ll try to theorize while I''m waiting :

You have a colored cube which can be represented as 24 states (6 sides can be up, with 4 degrees of rotation).
You also know exactly which state flipping the cube in a particular direction will lead to, thus you can construct a function :
Input - current state of cube, flipped direction
Output - new state of cube
You''ve probably already done the equivalent of this.

Since you also know the position of the cube on the game board, then you can start searching and storing score in the paths you generate (since you can add points to a node when the bottom of the cube is on a tile of the same color). You can probably stop searching at an early depth to gain performance, because I suspect you can get decent results from even quite shallow searches.

If there are long-term strategies already identified by players such as moving toward the centre or something, then you can always weight the valuation on your paths to reflect this.

Did that make any sense? Anyway I''ll try out the game tonight - sounds pretty fun
I love you all!!!

(at least in a ''friendship''-manner :-) )

Thanks for dl it, Argus.

Please tell me what you think of it.

When someone has a good idea, that leads to a solution of my problem, then I will make some notes in the credits.

Thanks for all!!!
There are 10 kinds of people,those who understand binaryand those who not.
Can''t help you woth the bot, I''m afraid. But I downloaded the game, and I like the concept - simple, yet quite addicting.

If you manage to solve the bot problem, you''ve got quite a nice and decent game there!

/andreas
Advertisement
I can''t find the download. I must be blind. Can you give me the URL of the file? The game looks like fun.

Very professional website you have there too.



ai-junkie.com
OK here it is:

http://www.gamoscope.com/flipmaniasfx11.exe

Thanks for your comments, greetings from my webmaster sitting next to me. I hope that thing runs well, as i sayed, it is early beta state (It was early beta state, read the news for the reason). We are currently working on a redesign for the page.

Thanks for all guys...
There are 10 kinds of people,those who understand binaryand those who not.
If you like the game, how much money would you pay for it?

Features of FlipManiaII:

*MultiplayerMode (up to 8 Players, wtih VoiceSupport)
*~100 Levels
*~10 Backgrounds
*Capture-the-flag game mode
*Teamplay with up to 4 teams
*Singleplayer (I hope with Bots)


Almost all is finished, only some new graphics and the bots must be implemented.

I think we are planning a price about 8..9$/€ per license.

There are 10 kinds of people,those who understand binaryand those who not.
Well it''s certainly an interesting and fun game, but I don''t usually play those kind of games. I think your market might be the people who play card and puzzle games, but not sure.

Anyway after playing it I''m fairly sure that A* will work just fine. Here''s a basic algorithm (not including the A* part) :

Nodes : made up of the position of the cube, and the orientation/state of the cube. The position of the colored tile can be treated as static, so it doesn''t need to be carried through each node, as is the game board.

When you enter a new level or the position of the tile or cube is altered start a new search (you could just do this whenever you bump into a special and whenever you complete a tile).

Create the start node (starting position, starting orientation) and set the board and colored tile location/color for the search (not in nodes).

Then start searching using the known board to generate possible moves, and the distance to the tile as a basic heuristic. Your goal state is any state where cube location equals colored tile location &∧ cube state''s orientation has the right color facing down.

I think the search should be very fast as well as optimal and you will probably need to "dumb it up" a bit if you expect humans to compete against it. How to solve multi-player issues is really up to you (and is a hard topic), but this should get you started on the basics.

This topic is closed to new replies.

Advertisement