Author Topic: Toy Planet: candidate for DB3?  (Read 4938 times)

Online Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7701
    • View Profile
Re: Toy Planet: candidate for DB3?
« Reply #30 on: July 29, 2013, 05:06:02 PM »
Okay, I'll set something up later tonight (bump me again if I forget.)

Online Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7701
    • View Profile
Re: Toy Planet: candidate for DB3?
« Reply #31 on: July 30, 2013, 03:23:23 PM »
Okay, you have your own forum now!  Woo.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Toy Planet: candidate for DB3?
« Reply #32 on: July 31, 2013, 11:55:34 AM »
That was nice of you Nums :)



Ammeh, there are a couple more suggestions I am shooting your way:

1.) It will be nice to select a robot by clicking on the graph instead of on the grid. If there are very few robots and they are running around fast enough it is very hard to spot and click them.

2.) Add one more step when converting the slider value to the actual mutation rates value. Square the value please. I have noticed that even at extremely low mutation rates (1.3%) most robots loaded from the internet die. If we square the value we can get better precision on low mutation rates. So the value of 1.3% becomes  0.0169%



I also sent you the revisions you where asking for (DBIM) let me know if you need any further assistance with any of that.

edit: I have Internet now btw. Just give me a time frame and we could test it. 8)
« Last Edit: July 31, 2013, 12:50:00 PM by Botsareus »

Offline Ammeh

  • Queen of the Internets
  • Moderator
  • Bot Destroyer
  • *****
  • Posts: 169
    • View Profile
Re: Toy Planet: candidate for DB3?
« Reply #33 on: August 02, 2013, 06:17:49 PM »
Thanks Numsgil! I'll link it from my page now.

1) I can't really do that, given that the bots of that colour may have a number of different mutations between them. It was only ever intended to be indicative of the general population. I could potentially look for a bot whose colour is the selected one, and just return the first one found, but each bot tends to be different.

2) That I can do, though it's worth noting that if you use the arrow keys to adjust the slider, it'll increase the value by 0.0001

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Toy Planet: candidate for DB3?
« Reply #34 on: August 03, 2013, 02:49:52 PM »
Quote
arrow keys to adjust the slider, it'll increase the value by 0.0001

I am going to go try that right now actually.

edit: The power of this thing is amazing! Probably due to the fact of how well the IM is configured. Considering how simple the physics model is, this thing still generates awesome results. I can't even image what will result if we gave DB this kind of power.

Quote
That I can do...

Let me know when the update is complete so I can check it out.
« Last Edit: August 03, 2013, 03:45:01 PM by Botsareus »

Offline Ammeh

  • Queen of the Internets
  • Moderator
  • Bot Destroyer
  • *****
  • Posts: 169
    • View Profile
Re: Toy Planet: candidate for DB3?
« Reply #35 on: August 10, 2013, 02:15:05 PM »
Glad you like it :)

I'll take a look at that tomorrow, should be easy enough to do.

Offline cliftut

  • Bot Neophyte
  • *
  • Posts: 22
    • View Profile
Re: Toy Planet: candidate for DB3?
« Reply #36 on: September 25, 2013, 11:36:53 PM »
This is cool, I've run it for several hours in the last few days. Evolving mutation rates is a nifty idea. Also, this thing is blazing fast! :)

Here are some suggestions. I hope you don't mind:
  • A way to save the dna of agents would be nice. If you don't want to implement a whole saving routine right now, I'd at least like to be able to copy it to the clipboard so I can save it in a text file. My attempts to copy the text from the interface have been unsuccessful and actually froze the program twice; apparently selecting the organism info text bothers it.

  • The graph is mostly black space most of the time. Does it set the upper limit of the graph at the population? I would recommend setting the upper limit to either the highest population currently on the graph (highest data point, I guess), or make it logarithmic. In fact, if you did both, the graph might be able to do a good job of displaying all species. I think that would be really cool since you could see all of the species on the graph, even the small ones.

  • Documentation would be excellent! The config file could use it, and a copy of the DNA commands from your paper would be handy.

  • Visibility is a problem sometimes. The background of the program is fairly light while the "petri dish" is black, which sometimes makes it hard to see organisms on the edge. This is worse when the organisms are particularly dark, which is another issue. Is there a way you could prevent organisms from being too dark?

  • Being able to pause the program to look at organisms would be nice.
Also, a couple questions:
  • You mentioned a visualization of the "tree of life" in your paper; does that come packaged with the program?

  • Why are there so many advanced characters in the organisms' DNA?
[/li]
[/list]

There is a program which resembles yours but is nowhere near as fast, called Nanopond.
http://adam.ierymenko.name/nanopond.shtml
It has two coloring algorithms which you can switch between using right-click. Maybe they could be adapted to your program, since Nanopond is open source (under GNU GPL). It's rather cool because each one groups the creatures differently, but still in an organized way.

Another very cool alife program with some similarity to yours is Evolve 4.0. It's not perfect, but is one of the more developed alife programs I've come across, and I hope you have time to give it a look if you haven't already.
http://www.stauffercom.com/evolve4/

Lastly, there are a couple of programs which are more distantly similar, although their download links are broken (I've sent him a message to fix them):
http://scottschaferalife.blogspot.com/2008/05/micropond-v1.html
http://scottschaferalife.blogspot.com/2008/06/micropond-v2.html
Until those are fixed, you can download MicroPond v1 from his personal website here:
http://www.scottschaferenterprises.com/alife.htm


Anyway, I hope this isn't too much feedback! :)
I want these graphs to look superb. ...
I want these graphs to be scalable. ...
I want these to be the smoothest, most user friendly aspect of the program. I want people to marvel at our superb graphs.
             -Numsgil, motivational speaker at work. ;)

Offline Ammeh

  • Queen of the Internets
  • Moderator
  • Bot Destroyer
  • *****
  • Posts: 169
    • View Profile
Re: Toy Planet: candidate for DB3?
« Reply #37 on: October 03, 2013, 05:36:22 PM »
Feedback is always appreciated!

I've been pretty exhausted from work recently, so I'm struggling to find time and energy to actually work on personal projects, but all of your suggestions are great, and I'll certainly put them in when I have the time.

The genealogy tree functions have been mostly disabled by default, but it wouldn't be a huge amount of effort to make them configurable. The code's all there and working, just disabled by a flag. The program for visualising the tree is pretty rough around the edges, but that all works too. I'll see if I can get that upped for you.

If by "advanced characters" you mean unicode, it's a bit of unexpected behaviour that I thought was pretty cool. By default, Java's String objects are unicode, and the code I'm using to mutate the string works at byte level. What this essentially works out as is that while most mutations result in a standard ASCII character, if you get the right mutations next to each other, this can create a unicode character. The interesting bit comes from the fact that the DNA processing will get the value of the next valid character, be it unicode or ASCII. This means that while I had only initially intended operators to work on values of 0 to 256, a bot can sometimes save itself some work (ie, multiply 256 by 4 to check energy against) by getting the value of a unicode character, with values up to 65536 (iirc).

Offline cliftut

  • Bot Neophyte
  • *
  • Posts: 22
    • View Profile
Re: Toy Planet: candidate for DB3?
« Reply #38 on: October 04, 2013, 08:59:15 AM »
Yeah, I meant unicode. Well, that's pretty cool. I was wondering if it was because the bits themselves were getting manipulated. It certainly makes the DNA look arcane. :) I don't fully understand, though. I get that unicode characters can have higher values than ASCII, but I didn't understand your example. What is different when an agent executes a unicode character as opposed to an ASCII character?

And, of course, no rush on implementing things. I make no demands of free software. ;)

One more feature idea: It would be nice if there was a config option to set up periodic screenshots (or maybe this is already there?). I'd like to be able to record time lapses of the simulations, but I realized that just using screen capture software wouldn't be accurate since the speed of the simulation varies based on population. So if it could dump a numbered .png to a subfolder every X (user defined) frames or ticks, that would be good enough. An added bonus is that the screen capture wouldn't be messed up if the computer decided to go to sleep. :)

On the more ambitious end, a separate program or built in dialogue for decoding the ASCII/Unicode DNA would be cool. Just to see the meaning; deciphering how it runs could still be left up to the user. The near-ultimate extension of this would be the ability to step through an agent's code during the simulation like Evolve 4.0 allows you to do.
I want these graphs to look superb. ...
I want these graphs to be scalable. ...
I want these to be the smoothest, most user friendly aspect of the program. I want people to marvel at our superb graphs.
             -Numsgil, motivational speaker at work. ;)

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Toy Planet: candidate for DB3?
« Reply #39 on: October 04, 2013, 11:46:41 AM »
... I have to make a note here that I actually like the way Ammehs graphs work; It is a really original approach. Maybe a way to save graph data periodically to the file system and then have a program to analyze it (like I have done for DB2) will be better.
« Last Edit: October 04, 2013, 11:49:18 AM by Botsareus »

Offline cliftut

  • Bot Neophyte
  • *
  • Posts: 22
    • View Profile
Re: Toy Planet: candidate for DB3?
« Reply #40 on: October 05, 2013, 05:24:07 AM »
I like it in principal, but I'd like to be able to see the graph reliably. For instance, in my current sim, the highest point on the graph is two pixels tall ( meaning about 99% or the graph is empty space, and I must get close to the monitor to see it clearly). Logging is a good idea. It's always cool if you can take some raw data and look at it from different angles.
I want these graphs to look superb. ...
I want these graphs to be scalable. ...
I want these to be the smoothest, most user friendly aspect of the program. I want people to marvel at our superb graphs.
             -Numsgil, motivational speaker at work. ;)

Offline spike43884

  • Bot Overlord
  • ****
  • Posts: 656
    • View Profile
    • OurIllogicalWorld Blog
Re: Toy Planet: candidate for DB3?
« Reply #41 on: October 25, 2014, 05:22:05 AM »
'Microsoft Java' , funny
Still not funnier than
Quote from: botsareus
You should attack a file
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Toy Planet: candidate for DB3?
« Reply #42 on: October 25, 2014, 04:48:02 PM »
Yea, I think way funnier is msjava

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
    • DJ Paul Kononov
Re: Toy Planet: candidate for DB3?
« Reply #43 on: October 25, 2014, 07:11:34 PM »
Seriously, why would I ever misstype 'attach' with 'attack'