Messages - Ammeh

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).

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

Lol, yeah I was gonna ditch the forum cos Numsgil was talking about opening a board here. What issue are you having?

EDIT: Turns out "approve all posts" was enabled, I've approved it now.

Quote

Well I'll start with the good stuff:

The program is based around IM which is really cool.

Now the not so good stuff:

1.) I would like sample DNA codes I can load into the simulation.

2.) I would like to have a zoom feature and also be able to select a robot to view its current DNA (The mouse modes are really confusing , and for now I only got the 'random' mouse mode to work)

3.) In create agent what does 'genus' mean?

4.) A document will be nice to explain how the DNA is structured and how do mutations work (i.e. is it all copy error or what).

5.) I am guessing there are chloroplasts in the program because the robots must be getting energy from something?

Yeah, these are some serious usability issues. It was initially intended as a research tool, so I never really thought about it. 1) I'll make a list of commands/what they do + a couple of examples2) If you set your mouse mode to "Sample", that allows you to view the state & DNA of any agent you mouse over. For zooming, I generally just use Windows' magnifying glass thing (in accessibility tools). It's surprisingly effective.3) Genus was just a number used to indicate common ancestry. When the sim was populated initially, each created agent is given a random number which is passed down to it's offspring. Just makes for easy determining of what came from where. I'll remove that from the interface and just make it a random number, since it doesn't really work like that anymore. Now it's just used to calculate the colour the agents show up in, and varies ever so slightly with each mutation. For now, just type in a random number.4) That is all in the research paper, but if you don't feel like poking through a 15,000 word document I can understand I'll clip it out and summarise it somewhere.5) Again, that's specified in the research paper. Again, I'll clip it out and summarise. Short answer: yes.

Yeah, just change (or remove) -Xms and -Xmx to about 75% of your available RAM. Pre-assigning it just gives it a tiny performance boost, but you'll barely notice it tbh. It's like 1% extra cycles per second at ~100,000 pop.

EDIT: I'm actually gonna remove those extra parameters from the git repo, they aren't really hugely useful and they're bound to cause problems like this for other people too.