GA to move tanks on grid (Advice for newbie needed).
- From: "TheCornjerker" <addoty@xxxxxxxxx>
- Date: 2 Apr 2007 11:54:11 -0700
Hello, I'm sure this has been vetted here before but I'd like some
layman's advice on where to begin my quest into genetic algorithms.
At least I think that is what I want to do. I'm new to this area, so
please pardon any misstatement or misunderstanding of the topic.
I'm an avid wargammer and a java, vb, web developer as well as a
database admin. I have an interest in genetic algorithms. I played a
game called Cloak and Dagger DNA (Goggle it with "CDDNA") a few years
ago and it has stuck in my head ever since. I want to put this demon
to bed by seeing if I can develop something similar.
I want to develop a grid based (squares) game that uses GA for
movement of pieces. I'm starting simple with only one type of piece,
say tanks. I've read and implemented various path finding, line of
sight, field of view, influence mapping, etc routines. But I've had
this GA movement thing in my head. I'd like some help on representing
the GA either in XML or a database or something.
CDDNA seems to us an instruction set for its piece movement. The
author explains a little in the help file as to what is happening, but
it is hard to understand how the movement is based on the instruction
set. The Evolution Lap crosses these instructions during the
evolution process and runs a tournament and determines a winner. It
costs food to enter the tournament and to be a parent. You win food
by winning the tournament. I've run CDDNA's evolution lab for over
250,000 tournaments and the game does get a little better, although
I'm still able to defeat it.
I want to start simple. My game will have a 10x10 grid of squares.
There are four players. Each player can create tanks at their corner
of the grid. You gain dollars by owning squares in the grid. You
start by owning one square and one tank. As your tank moves to an
adjacent square in round 2, you own two squares and you get $2 per
round. Tanks cost $5.
First I just want my tanks to learn they need to capture squares to
earn dollars to buy more tanks. Next I want to be able to introduce
things like other factories on the grid that if they own them, they
can build tanks there as well.
I'm not for sure where to start. Each tank can only move North,
South, East, or West. How do I represent my tank movements as a set
of instructions that can evolve? How would they evolve? Maybe I need
my GA to create a decision tree for each tank based on its
surroundings. If so, how to I represent this decision tree?
Eventually I'd like to be able to introduce things like battles for
squares. If I can introduce a parameter or condition that if you
attack a tank from the left or right side you get a 1.5x bonus in
damage or from the back a 2x bonus. This could hopefully teach the
tanks to perform flanking maneuvers. Another possibility is giving a
bonus for moving multiple tanks into one square before attacking.
This could evolve into flocking maneuvers of the tanks.
Any help, directions, or examples would be greatly appreciated.
Thanks.
.
- Follow-Ups:
- Re: GA to move tanks on grid (Advice for newbie needed).
- From: Mika Viljanen
- Re: GA to move tanks on grid (Advice for newbie needed).
- Prev by Date: attn: tuesday - truly inspiring nntp server - ob asnedavhom - (1/1)
- Next by Date: Re: GA to move tanks on grid (Advice for newbie needed).
- Previous by thread: attn: tuesday - truly inspiring nntp server - ob asnedavhom - (1/1)
- Next by thread: Re: GA to move tanks on grid (Advice for newbie needed).
- Index(es):