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 mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/glob2-devel
