[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [glob2-devel] Creature AI
From: |
Stephane Magnenat |
Subject: |
Re: [glob2-devel] Creature AI |
Date: |
Sun, 22 May 2005 22:21:36 +0200 |
User-agent: |
KMail/1.8 |
Hello,
I've several things to say, so I'll try to be brief and concise. If I'm not
clear, don't hesitate to ask.
First, sorry for not answering this mail sooner. I'm a bit ill those times
(rum of the hays (I hope google translated did its job)) and I have a lot of
work. Furthermore, I wanted to take time to read your proposal.
Second, thanks a lot for your interest in glob2. In the following of this mail
I will criticize some points but keep in mind that if you have a good idea,
and are convinced about it, go on and implement. At worst, you'll have learned
something. At best, you can a nice result as bonus.
Third, and I stop counting now, Nuage did as much work as I did on glob2. We
designed the game together. On the core engine, he did even more than me. For
instance, he is the authour of the gradient and unit allocation system. I
worked a bit more on the infrastructure, for instance the whole graphic
subsystem. I'm a bit more "visible" because I'm the release manager and
sometimes on irc.
So, let's begin by answering your questions:
> does this seem like a good idea in principle?
Nuage and me have discussed several times the idea of using GA in glob2 during
those last five years. Nevertheless, we never got into as much details as you
did, and even if there is several problem with your system, I really like the
idea. Nevertheles, I don't see it as a direct upgrade of existing glob2
gameplay, but rather as a sort of experimental artificial life system that
can life beside glob2, even in the same repository if you want. But for now,
and until we know that it works fine, it would be unwise to change the actual
system in "production" glob2.
> What other new features could I crowbar in?
> What features should I take out?
As I see it, the system you suggest is a whole in itself. Try to make it
coherent. Think of wether you want an artifical life simulation or a game. If
you want a game, what will be the gameplay? What will the user be able to do?
Try to have a clear picture of it in your mind.
> Do any of you have GA experience you can share with me?
Sure, I'm doing my PhD on it. I'll put some thought after the questions.
> What else needs to be rewarded/punished in the fitness function?
see below...
> Ignoring practicalities for a moment, how would you like an ideal race
system to work?
see below...
Now some issues about your proposal. I don't try to trash it, just to
highlight problems so that they can be fixed before implementation.
The part on the unit seems reasonable. But for the job system to work, units
have to register to building, then they are evaluated by the buildings using
a complex scoring to be choosen, Do you plan to trow it away? If yes, then
the game will be like glob1, which works, but is quite different. If not,
then evolving the units won't change so much the gameplay as the buildings
will still have a lot of hardcoded intelligence.
For the boostrap, some basic working genome will have to be provided. That
also mean beginning with zero diversity and relying on mutations to do the
job (but that's always the case, keeping diversity in actual GAs is a myth
(we are working on it)).
In the GA you suggest, the colonies are heterogeneous (at least given the
mutations) and selection acts half on individuals (the way they do certain
jobs) and half on the colony (if no one brings food everyone die). The
problem is that in this condition, you will very soon see cheaters that will
optimise their own score as much as they can while reducing the score of the
other as much as they can. You'll have to make sure that doesn't kill all the
dynamics.
Take care about the fitness function, that's where all the intelligence lies.
And evolution is very good to find conceptual bugs in your fitness function.
Furthermore, the more terms it has, the more prone to errors it will be.
What will be the control system of the units? From your post, I've the feeling
that you were thinking of truth tables. If you want the units to look a bit
intelligent, they should have memory. If they have in input of the table the
ressource they are holding, then perhaps it is enough, and perhaps not.
So, in summary, I suggest you focus your thinking on:
* wether you want a game or a simulation,
* how the interactions with buildings will work,
* what will be the fitness function,
* how you plan to handle genetic conflicts due to individual level selection.
Once you have a clear mind, you can take glob2 and prototype your ideas. But
don't commit to head. Do a branch or another target using the same sources.
I hope my comments help you,
Good luck and have fun!
Setph
- [glob2-devel] Creature AI, Andrew Sayers, 2005/05/20
- Re: [glob2-devel] Creature AI, Martin Nyffenegger, 2005/05/20
- Re: [glob2-devel] Creature AI, Jean-David Maillefer, 2005/05/20
- Re: [glob2-devel] Creature AI,
Stephane Magnenat <=
- Re: [glob2-devel] Creature AI, Andrew Sayers, 2005/05/22
- Re: [glob2-devel] Creature AI, Stephane Magnenat, 2005/05/23
- Re: [glob2-devel] Creature AI, martin . voelkle, 2005/05/23
- Re: [glob2-devel] Creature AI, Nuage, 2005/05/23
- Re: [glob2-devel] Creature AI, Andrew Sayers, 2005/05/24
- Re: [glob2-devel] Creature AI, Martin Nyffenegger, 2005/05/25
- Re: [glob2-devel] Creature AI, Gabriel Walt, 2005/05/25
- Re: [glob2-devel] Creature AI, Martin Nyffenegger, 2005/05/25