Poll

DNA

It is imperitive
5 (11.6%)
Pretty important
7 (16.3%)
A nice addition
6 (14%)
Doesn't matter
4 (9.3%)
Not even a good idea
0 (0%)
Why would anyone want that?
0 (0%)
Other (please elaborate)
0 (0%)
Should be able to evolve into animals somehow, at a certain point.
14 (32.6%)
Should have restricted DNA.
2 (4.7%)
Other(s) (Please elaborate)
5 (11.6%)

Total Members Voted: 21

Author Topic: DB3 Questions  (Read 21492 times)

Offline Prsn828

  • Bot Destroyer
  • ***
  • Posts: 139
    • View Profile
DB3 Questions
« on: April 29, 2009, 10:45:06 AM »
I put this poll together real fast, so if you want to add something, please do.

I appreciate any feedback.
So, what will it be? Will you submit to my will, or must I bend reality to suit my needs?
Better answer before I do BOTH!

Offline Arzgarb

  • Bot Neophyte
  • *
  • Posts: 8
    • View Profile
DB3 Questions
« Reply #1 on: April 29, 2009, 05:46:21 PM »
A species forking system would be interesting, but not that important. It could be left optional, or evaluated only on user command.

I think there should not be specifically assigned veggies, but instead just bots with their body consisting largely of chlorophyll. This has been the single most important feature I've been waiting for in DB3. No more zerosims with complicated feeder shepherds, they can now take care of themselves and still evolve to animals! Chloro, on the other hand, should have some kinds of movement slowing/shot weakening/other downsides, to prevent veggyism from becoming the automatic best solution.

An in-sim DNA editor would definitely be helpful, so that one wouldn't have to constantly reload a sim when tweaking with a bot. As of DNA visibility, it could be done pretty much like it's now: the DNA itself is invisible, but certain aspects of it can be seen through ref-sysvars.

DNA should be quite flexible, allowing complicated structures and maybe some obscure stack manipulation (stacks are preserved betweed codules, perhaps?). But, on the other hand, the sysvars need to be redesigned so that an exact value is seldom needed for a task. If shooting is implemented, it should be broken into as many sysvars as there are shot types, for example. This way, mutations on the control flow and conditional structures could be dramatic, but changing numbers little by little probably wouldn't.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #2 on: April 29, 2009, 06:55:58 PM »
We still need to tweak the pros/cons for the different substances, like chlorophyll (which I think we'll call leaves from now on, since that's easier to spell), shell, fat (body), muscle, etc..  It's on my to do list.  Mostly there's a lot of thick science-y writing I (or anyone else who wants to) need to plow through.

Not in the immediate future, but at some point I think we can do a bot debugger to let you step through bot DNA and see changes to the stack as they happen.  And an edit-and-continue feature.  For the immediate future, we should be able to let you edit bot DNA and recompile it inside the program.  That should be very straightforward.

Codules work sort of like a function, except that the stack isn't modified calling into the codule.  So it should allow some complex calls.  I'm also playing conceptually with the idea of some sort of preprocessor defines, so you could essentially create your own commands as either a macro or a codule call.  So if you want a command that isn't provided, like abssqrt, you could do something like: def abssqrt abs sqrt.  At this point I'm mostly considering how it should play with mutations.  If the macro is an actual physical codule that mutations can learn to call and mutate, or if it's just inserted into the code like a C/C++ macro.

For sysvars my goal is to "normalize" every one of them to have useful output over the range -1000, 1000.  Or maybe -10000 to 10000.  And for this range to be continuous without any "magic" values.  For things like .shoot, I'll separate out each shot type as its own sysvar.  So you'd do .nrgshoot, .venomshoot, etc. etc.

Offline Prsn828

  • Bot Destroyer
  • ***
  • Posts: 139
    • View Profile
DB3 Questions
« Reply #3 on: April 30, 2009, 10:00:26 AM »
Nums, you never cease to amaze me.  Honestly though, I have a feeling that if we get a few more votes, it will be clear that the options I intended people to want will be chosen the most

I have a feeling we all want the same things here, give or take an option or two.
So, what will it be? Will you submit to my will, or must I bend reality to suit my needs?
Better answer before I do BOTH!

Offline Testlund

  • Bot God
  • *****
  • Posts: 1574
    • View Profile
DB3 Questions
« Reply #4 on: April 30, 2009, 11:21:40 AM »
How important is species forking?

A nice addition. It's nice to be able to keep track of species through generations and it could increase competition between new species that evolves, which could show interesting behaviors. If the number of species are fixed from the beginning it will only end up in species going extinct until you only have one left, at least if you're running a smaller sim. In a larger sim on the other hand you may be able to overcome that by seperating various populations of species into areas where bots can occasionaly wonder between but not completely whipe each other out. Something I haven't tried yet myself though.

Veggies should get energy based on surface area as it is now and should definitely be greenish to resemble clorophyll. The less green the less efficient they should be at getting energy from the sun. Maybe you could make it so they can evolve to change slowly from being autotrophs to heterotrophs for instance (should be able to evolve into animals somehow)?
I would vote for slower veggies, but not as a forced restriction on moving speed, instead the accumulation of sun energy should be too slow for a bot to waste it on swimming around. In my own sims I have restricted the energy intake to 1 per kilobody point for veggies so they can't afford to waste it on swimming.

The DNA questions I have no opinion about but I had to click on something there to make a vote so I chosed other.
The internet is corrupt and controlled by criminally minded people.

Offline Shasta

  • Administrator
  • Bot Destroyer
  • *****
  • Posts: 231
    • View Profile
DB3 Questions
« Reply #5 on: May 29, 2009, 10:24:01 PM »
Would people be interested in a REST based link with the online bestiary?

Offline Arzgarb

  • Bot Neophyte
  • *
  • Posts: 8
    • View Profile
DB3 Questions
« Reply #6 on: June 06, 2009, 04:56:20 PM »
I'll have to change my previous comments a bit, because a thought hit me. In the vision thread someone mentioned linking vision to light, so that bots couldn't see in the dark and would have to use smell, hearing etc. instead. But to have working ecosystems in the dark, we must also have an energy source that isn't dependent on light. So, maybe we could have the substance leaf linked with sunlight, but also explicit veggies that receive energy independent of sunlight, something like chemosynthesis.

Offline jknilinux

  • Bot Destroyer
  • ***
  • Posts: 468
    • View Profile
DB3 Questions
« Reply #7 on: June 09, 2009, 06:20:59 PM »
Hey prsn,

While you're at it, there's an idea I had from a while ago where sunlight would come from the top of the screen and any bots present would cast a shadow under them. We never got anywhere with it, but I think there may have been supporters of this idea other than myself. The intention is to make algae grow in a more "plant-like" manner. For instance, we should start to see stems, leaves, etc... if this change is put into effect. Just an idea.

Offline Matz05

  • Bot Neophyte
  • *
  • Posts: 4
    • View Profile
DB3 Questions
« Reply #8 on: September 14, 2009, 05:17:06 PM »
Veggies should have higher costs!
This will promote a more sedentry lifestyle.

If we have chloroplasts/any substance that confers photosynthisis; maybe it should also reduce efficency?
« Last Edit: September 14, 2009, 09:43:01 PM by Matz05 »

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
DB3 Questions
« Reply #9 on: January 18, 2010, 11:14:59 PM »
How are body substances going to be handled? Although it may be wise to try multiple ideas and test each of them individually, I think the best way to go would be some sort of exponential pricing system. For example, if every 50 units of substance will halve the cost, then 50 muscle and 50 fat will cost way more than 100 muscle or 100 fat. Such a system would allow a large room for single-cell flexibility, but still richly reward a species for multibots and specialized cells. Another idea closely linked to this is paying for chunks of material-if you want to increase your fat storage from A to B in one cycle, an linear approximation of the cost curve results in an overhead paid for large chunks. This encourages bots to increase their storages by small increments, as sudden growth results in extreme wastefulness.

Other methods of handling this could include a body-based material cap, or one requiring a focus on one or two material types, or a mix of these. Anyway, just thought I'd throw a few ideas around, anyone else got any other ideas on the topic of cell materials?
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #10 on: January 19, 2010, 01:04:16 AM »
I thought I wrote up a topic on this a while back but I can't find it.

I'm not entirely certain what the final system will look like (as you mention, some experimentation is needed), but I think it'll work something like this:

1.  Substances are always measured as ratios.  Eg: I'm 40% muscle, 60% fat.
2.  Bots control which substances are produced each cycle, in what ratios, and how much to make.
3.  Bots can try and produce as much of everything as possible, but there's opportunity costs.  Muscle requires upkeep, maybe.  Fat makes you heavy and less manueverable.  Chloroplasts make you very very large (lots of surface area), so other bots can see you from further away.  Things like that.

The substances are slow to build up (maybe changes by at most 1% per 100 cycles or something like that), so there's a lot of inertia so bots can't easily change specializations.

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
DB3 Questions
« Reply #11 on: January 19, 2010, 08:16:19 AM »
I can't wait to see the in-sim dna editor. Instead of just reading the dna and moving bots around, you can play a much more active role. Some people might be against it. but I think you should have the options to guide evolution or interfere with the simulation more. Also I like the idea of specialization but how is it going to be done. Do you have to put a comand at the begging of the dna, like you do for custom variables, or is it hidden in the dna. If its at the begging then you could add another mutation type that only affects specialization. A bot loaded into the sim from previous versions would be given default specialization and could change through mutation to suit the bot. Also specialization would evolve to suit the bots behavior better, not the bots behavior adapting to what kind of specialization it has (though it would work the other way around to.) If its hidden in the dna then its alot more fragile and older bots wouldn't be compatible with it (would they?). The whole point of specialization is to cause diversity and encourage complex multibots. Poor zerobots will have another obstacle of evolution to face either way.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #12 on: January 19, 2010, 12:43:13 PM »
Specialization will be more of the Lamarckian variety.  Ie: inheritable improvement through exercise.  Not quite biologically sound, but I think it'll make for the behavior we want.

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
DB3 Questions
« Reply #13 on: January 19, 2010, 03:53:36 PM »
so the bots have to exercise?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DB3 Questions
« Reply #14 on: January 19, 2010, 04:20:05 PM »
Yeah, something like that.  You shoot a lot and you get better at shooting, etc.