Ai.Planet will soon go to Version 0.9. That means there will be a feature freeze. Here is the outline:
0.9.0 - Last call for features
0.9.1 - Feature freeze (two weeks from now)
0.9.2 - 0.9.5 - Feature completion
0.9.6 - 0.9.9 - Bug hunting and fixes
1.0.0 - Official Release
So, this is your last chance to see a feature included in 1.0. If you want to add one, now is your chance.
If you want to suggest a feature or improvement, please do!
Also, unfinished features will be dropped for 1.0. That includes crappy creatures like the Mouse, Grass, etc. They will still be there but will be hidden.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes there has been a couple volunteers for a help file however it has not gotten off the ground. Probably best since we should freeze features before documenting them, or docs get out of date.
List of things I want to add:
- Mating
- Creature Windows (view/edit stats)
Will think of more later
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Yes you are right Docs should happen after the feature freeze.
Depending on my workload I might be able to help out a bit. CVS is great for documentation. I use it a lot for work - we have all our docs in htmlhelp projects with each "chapter" as a separate html file. Also has advantage of being able to have the documentation online :)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Interesting approach, CVS, never thought of that! :)
Forgot to mention, that throughout v0.9.2 - 0.9.9, I will be profiling with GpProfile to optimize the code. I have done this alot with version 0.6 and 0.7, and a little in v0.8, ive noticed aiplanet slowing down quite a bit with all the new features. I think v0.9 should be alot faster than 0.8
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
- balancing the foodchain if required. I think a diagram of what eats what would be pretty cool. Or possibly in the creature windows - could have links to predators and to prey.
- user defined warnings - ie some warning messages that popup if things are getting out of hand - e.g average temp, population levels etc.
- a "genocide" function to kill off all of one sort of creature/object.
- a "heal" function that regenerates health of selected creatures (possibly in the creature windows)
Just ideas
Aaron
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Definitely. I want to improve the Grabbing system and add a kind of "reverse" grabber. Like a leech, the pirahana would grab on to the target, bite, then let go. But while grabbing the target, it wouldnt be able to move it. If the target moved around, it would carry the pirahanas with it. So you could use a bot and jump in a pond full of piranahas and then walk out covered in them :)
- balancing the foodchain if required. I think a diagram of what eats what would be pretty cool. Or possibly in the creature windows - could have links to predators and to prey.
For this to happen, either someone could draw a graph, or the creature system would need a reworking. Right now there isnt any data that can be queried to tell who eats what.
- user defined warnings - ie some warning messages that popup if things are getting out of hand - e.g average temp, population levels etc.
A tough one, not sure how to encode that into an object.
- a "genocide" function to kill off all of one sort of creature/object.
Doable, since each type of object is referenced in a table of objects, could just send a message to kill all in that table.
- a "heal" function that regenerates health of selected creatures (possibly in the creature windows)
Yes the creature window would be the best... could add a button in the toolbar too
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
On reflection I think the foodchain thing would be post 1.0.
It'd be interesting if the user could change the "rules" and define what eats what. That sort of depends on whether the creature definitions can be stored externally to the program (XML?) or if the creature system was expanded to allow these settings to be altered.
The genocide function was an idea I had to see the effect of wiping out all of one object and see how the world copes. Sort of similar to asteroid impacts but on a wider scale.
Maybe an idea if you put together a page on the ai.planet home page with considered features for 0.9-0.91 before the freeze?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I really think that we should make one new creature from the start (well you make it. I don't know to code).
These will be new things so my energy concept could sum up:
1. Energy pool E=f(mass),
2. Aging function
t-age of a creture
Ka(t)= { t/A;0=<t<A
1 ;A=<t<A+B
1+[(A+B)/C]-t/C;A+B<t<=A+B+C
0;t>A+B+C}
A-time of youth
B-time of middle age
C-time of old
A+B+C=time to live
This function will change some of DNA factors
3. DNA - I think that this should be a lot of factors that go from parents to children. Like DNA.A,DNA.B,DNA.C - factors of aging f.
DNA.Sizemax - max size possible for a creature
DNA.Massmax - maximum mass of a creature
from these last two you should have changeable buoyancy. If you want it fixed, just calculate one and multiply them to get another.
DNA.MaxSpeed.Moving - max speed (.Water; .Land; .Air) this should be like this if you didn't code friction in the engine.
DNA.MaxSpeed.Acceleration-same as the above
DNA.BodyTemp - Body temperature of creature. In reality this is fixed but it's better like this than to have to model insulation (fat, feathers, fur). Coments?
DNA.Massmax - maximum mass of a creature
DNA.Healthmax
DNA.Desire.Wander
DNA.Desire.Mate
DNA=(1+mutation factor)*(fatherDNA +motherDNA)/2
-0.1<mutation factor<0.1 - random for every DNA factor.
And maybe these too (for later development):
DNA.CappacityOfStomach
DNA.MaxSpeed.Eating
DNA.MaxSpeed.Digesting
DNA.Children.Max - max number of children per one birth
DNA.Children.EnergyStart - if we want to use this there is that other aging f
DNA.Desire.Flock - does one creature likes to be in community or not
All this will be calculated on birth so i don't think it will slow down program a lot.
4. Specific energy values
For meat
For green stuff
For sun
5. Energy value for every grid (how good is the soil for trees)
when creature die there'll be no more when rot=0 then creature DEAD, but their caloric value (mass*energy value for eg.meat) will be "eaten up" by grid, earth.
6. When creature eats another creature they dont eat their health but their flesh, it's caloric value.
Well mostly all those formulas from my devel. post should be in too. BIIIIIG job I know. Now I saw code for cAIBaseObject.pas; cAIThings.pas; cAILife.pas and cAICreature.pas
I think we should start with those undeveloped creatures (Fox and rabbit so one could eat another). Code their new possibilities (primarily DNA) in and see how it works. I think that nothing of this will stop program from functioning. Then we should make aging function in AILife if Im correct to calculate modified factors. And that DNA calculating formula. Then we shold code in boundaries (eg. Max health) and see how it works. Well now when I look at it a lot of things would need rewriting. Maybe it will pay up. I believe so.
Dushan
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think we could start on an "AdvancedCreature" or "GeneticCreature" with all of these abilities.
We could leave many of the developed creatures intact and they will be "prey" for the new advanced creatures. In nature, creatures do not all evolve at once, but some evolve and the rest are left to fill a niche. Natural selection will determine which creatures survive. Usually the older creatures still live on (primates still successful even though there are humans)
DNA is definitely an important feature to add. The biggest obstacle is that the creatures will likely migrate to the "biggest" value right away, and become strong in every area. There should be tradeoffs: if the creature grows really big, it should also move slower. (or take more energy to move)
>6. When creature eats another creature they dont eat their health but their flesh, it's caloric value.
This is how it should be, so when dead animals are eaten they are still valuable. Size of the creature would be the biggest factor. When a creature bites another creature, the second creature would shrink? Might look funny.
Great ideas Dushan!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ai.Planet will soon go to Version 0.9. That means there will be a feature freeze. Here is the outline:
0.9.0 - Last call for features
0.9.1 - Feature freeze (two weeks from now)
0.9.2 - 0.9.5 - Feature completion
0.9.6 - 0.9.9 - Bug hunting and fixes
1.0.0 - Official Release
So, this is your last chance to see a feature included in 1.0. If you want to add one, now is your chance.
If you want to suggest a feature or improvement, please do!
Also, unfinished features will be dropped for 1.0. That includes crappy creatures like the Mouse, Grass, etc. They will still be there but will be hidden.
Exciting :)
Are you thinking about documentation for 1.0? htmlhelp or something?
Yes there has been a couple volunteers for a help file however it has not gotten off the ground. Probably best since we should freeze features before documenting them, or docs get out of date.
List of things I want to add:
- Mating
- Creature Windows (view/edit stats)
Will think of more later
Yes you are right Docs should happen after the feature freeze.
Depending on my workload I might be able to help out a bit. CVS is great for documentation. I use it a lot for work - we have all our docs in htmlhelp projects with each "chapter" as a separate html file. Also has advantage of being able to have the documentation online :)
Interesting approach, CVS, never thought of that! :)
Forgot to mention, that throughout v0.9.2 - 0.9.9, I will be profiling with GpProfile to optimize the code. I have done this alot with version 0.6 and 0.7, and a little in v0.8, ive noticed aiplanet slowing down quite a bit with all the new features. I think v0.9 should be alot faster than 0.8
What I'd like to see:
- pirahanas
- balancing the foodchain if required. I think a diagram of what eats what would be pretty cool. Or possibly in the creature windows - could have links to predators and to prey.
- user defined warnings - ie some warning messages that popup if things are getting out of hand - e.g average temp, population levels etc.
- a "genocide" function to kill off all of one sort of creature/object.
- a "heal" function that regenerates health of selected creatures (possibly in the creature windows)
Just ideas
Aaron
- pirahanas
Definitely. I want to improve the Grabbing system and add a kind of "reverse" grabber. Like a leech, the pirahana would grab on to the target, bite, then let go. But while grabbing the target, it wouldnt be able to move it. If the target moved around, it would carry the pirahanas with it. So you could use a bot and jump in a pond full of piranahas and then walk out covered in them :)
- balancing the foodchain if required. I think a diagram of what eats what would be pretty cool. Or possibly in the creature windows - could have links to predators and to prey.
For this to happen, either someone could draw a graph, or the creature system would need a reworking. Right now there isnt any data that can be queried to tell who eats what.
- user defined warnings - ie some warning messages that popup if things are getting out of hand - e.g average temp, population levels etc.
A tough one, not sure how to encode that into an object.
- a "genocide" function to kill off all of one sort of creature/object.
Doable, since each type of object is referenced in a table of objects, could just send a message to kill all in that table.
- a "heal" function that regenerates health of selected creatures (possibly in the creature windows)
Yes the creature window would be the best... could add a button in the toolbar too
On reflection I think the foodchain thing would be post 1.0.
It'd be interesting if the user could change the "rules" and define what eats what. That sort of depends on whether the creature definitions can be stored externally to the program (XML?) or if the creature system was expanded to allow these settings to be altered.
The genocide function was an idea I had to see the effect of wiping out all of one object and see how the world copes. Sort of similar to asteroid impacts but on a wider scale.
Maybe an idea if you put together a page on the ai.planet home page with considered features for 0.9-0.91 before the freeze?
Hello
I really think that we should make one new creature from the start (well you make it. I don't know to code).
These will be new things so my energy concept could sum up:
1. Energy pool E=f(mass),
2. Aging function
t-age of a creture
Ka(t)= { t/A;0=<t<A
1 ;A=<t<A+B
1+[(A+B)/C]-t/C;A+B<t<=A+B+C
0;t>A+B+C}
A-time of youth
B-time of middle age
C-time of old
A+B+C=time to live
This function will change some of DNA factors
3. DNA - I think that this should be a lot of factors that go from parents to children. Like DNA.A,DNA.B,DNA.C - factors of aging f.
DNA.Sizemax - max size possible for a creature
DNA.Massmax - maximum mass of a creature
from these last two you should have changeable buoyancy. If you want it fixed, just calculate one and multiply them to get another.
DNA.MaxSpeed.Moving - max speed (.Water; .Land; .Air) this should be like this if you didn't code friction in the engine.
DNA.MaxSpeed.Acceleration-same as the above
DNA.BodyTemp - Body temperature of creature. In reality this is fixed but it's better like this than to have to model insulation (fat, feathers, fur). Coments?
DNA.Massmax - maximum mass of a creature
DNA.Healthmax
DNA.Desire.Wander
DNA.Desire.Mate
DNA=(1+mutation factor)*(fatherDNA +motherDNA)/2
-0.1<mutation factor<0.1 - random for every DNA factor.
And maybe these too (for later development):
DNA.CappacityOfStomach
DNA.MaxSpeed.Eating
DNA.MaxSpeed.Digesting
DNA.Children.Max - max number of children per one birth
DNA.Children.EnergyStart - if we want to use this there is that other aging f
DNA.Desire.Flock - does one creature likes to be in community or not
All this will be calculated on birth so i don't think it will slow down program a lot.
4. Specific energy values
For meat
For green stuff
For sun
5. Energy value for every grid (how good is the soil for trees)
when creature die there'll be no more when rot=0 then creature DEAD, but their caloric value (mass*energy value for eg.meat) will be "eaten up" by grid, earth.
6. When creature eats another creature they dont eat their health but their flesh, it's caloric value.
Well mostly all those formulas from my devel. post should be in too. BIIIIIG job I know. Now I saw code for cAIBaseObject.pas; cAIThings.pas; cAILife.pas and cAICreature.pas
I think we should start with those undeveloped creatures (Fox and rabbit so one could eat another). Code their new possibilities (primarily DNA) in and see how it works. I think that nothing of this will stop program from functioning. Then we should make aging function in AILife if Im correct to calculate modified factors. And that DNA calculating formula. Then we shold code in boundaries (eg. Max health) and see how it works. Well now when I look at it a lot of things would need rewriting. Maybe it will pay up. I believe so.
Dushan
I think we could start on an "AdvancedCreature" or "GeneticCreature" with all of these abilities.
We could leave many of the developed creatures intact and they will be "prey" for the new advanced creatures. In nature, creatures do not all evolve at once, but some evolve and the rest are left to fill a niche. Natural selection will determine which creatures survive. Usually the older creatures still live on (primates still successful even though there are humans)
DNA is definitely an important feature to add. The biggest obstacle is that the creatures will likely migrate to the "biggest" value right away, and become strong in every area. There should be tradeoffs: if the creature grows really big, it should also move slower. (or take more energy to move)
>6. When creature eats another creature they dont eat their health but their flesh, it's caloric value.
This is how it should be, so when dead animals are eaten they are still valuable. Size of the creature would be the biggest factor. When a creature bites another creature, the second creature would shrink? Might look funny.
Great ideas Dushan!
For DNA tradeoffs.
Maybe all that mutation factors for each DNA.factor should add up to 0?
I see your online now
Could you contact me via ICQ for some chat?
#215330027
ICQ!!! I gotta get that
Well I installed it only because of this.
I used it years ago and it's good for some fast thoughts of the moment.