Author Topic: Some niggles  (Read 3008 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Some niggles
« on: August 11, 2007, 06:19:45 AM »
Just some things for Eric to work on or not.  Things I've noticed.

Any graphs relating to energy don't seem to be displaying their data correctly.  I just get a flat line even when it's clear that the energy should be moving around.  Other graphs seem fine though.  Seems my bug is specific to my sim from what little testing I've done.

Find best bot isn't working in my sim or any other apparently.

When veggies body grows (set the nrg/body distribution half way for veg feeding) they just start to overlap instead of pushing away from each other.  Could have to do with my sim having friction.  I know this is an issue relating to physics, and the fix is to revamp the physics engine a little, so take it or leave it.  I was able to fix it at least a little by having brownian motion break up the veggies when they're smaller (Brownian motion doesn't really work on large bots.  But that's more from design).

Mutation rates aren't balanced.  Point mutations in particular are probably 10 times as likely as any other type of mutation to occur.  The fix would be to change Point mutations to represent 1 in X0000 instead of 1 in x000.

There are several mutation types that have been deactivated in the program because they were too buggy when I released it way back when.  Amplificiation for instance.  Would be nice to add those back in and patch their holes.

When you zoom way out, it used to be that bots would turn into solid color dots and their eyes would disappear.  Not sure what happened to this.
Suggestions:
Not really the forum for this, but I'd like to keep everything together.

It would be nice if graphs (these should be pretty easy):

1.  Were always collecting data, so I didn't have to open a graph and leave it open for a while to see what's up.
2.  Graph data was saved over the entire length of the simulation, and the entire length of a simulation's data could be viewed in the program.  There are some extremely long occurring patterns I can seem every several hours, but I have no way to check what their frequency is since the graphs barely contain the pattern itself.
3.  You could export that data as either a comma delinieated spreadsheet or, even better, an XML.  To make graphs in excel.  (ooo perty )
4.  Veggy repop events were recorded in some way, so I could know when my veggy line died out and had to be restarted (I'm trying to coevolve my veggies with my bots instead of just plopping food down in the sim with them)
5.  And if you can figure it out, I'll echo comments from others: it would be nice if graphs were MDI children of the main window, and the drawing area was sizable.  Sort of like how simearth works, if you ever played with that. (I still do from time to time).  I played with this at one point, but never got it working right.
6.  I'd like a new graph that totals all the invested energy in body, nrg, shell, slime, etc. for a species (as well as an average per individual).  I think it would give me some valuable information for detecting changes in fitness.

If all the bots in a sim die out, it would be nice if the sim could try to load up from an earlier autosave in a long running sim.  Maybe change the seed if it was user set before.  And also record how many of these dead ends occurred as part of the whole simulation (some sort of alternate timeline for the graphs.)

It would be nice if there was a way to save the simple family tree of all the bots in a sim.  Something as simple as A descended from B, but saved for all bots living and dead.  That way I can see how far back various branches of my bot are to each other.  It's a hack since it wouldn't record virus evolution, but not all evo sims have viruses so I'm willing to try this idea out.

Some sort of overlay in a sim so you could somehow see how geographically dispersed a bot's family is.  Maybe something like a voronoi diagram with each cell colored based on how closely related the bot in that cell is.  This is probably a bit ambitious.

My goal is to be able to take a running sim, crunch the numbers, and come up with 1 or two dominant strains to try and examine for changes from the original.  But with a bit of fuzzyness.  That is, I don't care too much if 30 have 1 mutation and 20 have another.  I'm more interested in family lines.

It would be nice if there was an option, when a robot died, to convert its body into nrg and have the bot explode in a poff of nrg shots.

Last, something to tell in the robot info what a bot gained in energy last cycle, and what it lost from costs.  Just looking at the nrg reading go up and down doesn't tell me what a bot's costs are compared with the energy it's receiving.
« Last Edit: August 11, 2007, 07:21:07 AM by Numsgil »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Some niggles
« Reply #1 on: August 14, 2007, 05:10:01 AM »
The DNA window isn't properly detecting genes, and it disagrees with the gene activation window on how many genes there are.  I'm not so sure what should define a single gene, so this is a grey area.

Snapshots don't create a valid comma seperated file because the DNA has newlines in it.  Would also be nice to be able to save it as an XML file.

PY wrote a utility a while ago (snapshot to excel, download it from http://www.darwinbots.com/WikiManual/index..._code_download) that analyzed snapshots and looked for duplicate species (things that had the same DNA).  Would be nice to hardwire that right into the program somewhere, attached to the snapshot utility.

Would also be nice if the snapshot function let you export data as an XML.  On the same topic, it would be nice (yes, and huge) to save whole sims in XML.
« Last Edit: August 14, 2007, 05:20:05 AM by Numsgil »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Some niggles
« Reply #2 on: August 14, 2007, 06:30:53 AM »
Dogfighting seems to be broken.  Watch to bots fire shots at each other while chasing each other.  You'll see a stream of nrg shots trailing behind them instead of being absorbed by each other because the vector of the returned nrg shots isn't correct.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Some niggles
« Reply #3 on: August 16, 2007, 10:16:32 PM »
Quote from: Numsgil
Just some things for Eric to work on or not.  Things I've noticed.
Excellent!  I'll reply as I work on them.

Quote from: Numsgil
Any graphs relating to energy don't seem to be displaying their data correctly.  I just get a flat line even when it's clear that the energy should be moving around.  Other graphs seem fine though.  Seems my bug is specific to my sim from what little testing I've done.

I think this is a more general problem having to do with graphs displaying large values when the window is small.  Try making the graph window larger and see if you get values.  This is a problem with the way core graphs are implemented.  I'll fix it, but it will take a little rearchitecture of the graph engine...

Quote from: Numsgil
Find best bot isn't working in my sim or any other apparently.

The menu item wasn't wired up for some strange reason though the button bar button should be working.  Fixed in 2.43b.
Many beers....

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Some niggles
« Reply #4 on: August 16, 2007, 10:25:20 PM »
Quote from: Numsgil
When veggies body grows (set the nrg/body distribution half way for veg feeding) they just start to overlap instead of pushing away from each other.  Could have to do with my sim having friction.  I know this is an issue relating to physics, and the fix is to revamp the physics engine a little, so take it or leave it.  I was able to fix it at least a little by having brownian motion break up the veggies when they're smaller (Brownian motion doesn't really work on large bots.  But that's more from design).
Im going to prioritize this one below the bar for now.  I assume this an issue with the bot overlap repel force not exceeding the sim's static friction perhaps exhasberated by the display wierdness on monitors that don't have the same resolution dimentions as the field.  You know better than I that fixing this correctly is problematic in that we want repel forces to inject as little kinetic nrg as possible into the sim and having a repel force that overrides static friction in all cases would need delicate tinkering with special cases of veggy materialization, etc.  So, I prefer to think of veggies and other cases where this happens as piling up on each other on the Z axis or being semi-permable, etc.   Cop-out answer to be sure, but well, there you go...  
Many beers....

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Some niggles
« Reply #5 on: August 31, 2007, 04:12:20 PM »
Quote from: Numsgil
Any graphs relating to energy don't seem to be displaying their data correctly.  I just get a flat line even when it's clear that the energy should be moving around.  Other graphs seem fine though.  Seems my bug is specific to my sim from what little testing I've done.

Fixed in 2.43e.  Root of the issue was an implicit Single to Long truncation for graphs with large series values (like nrg).
Many beers....