Author Topic: Hello everyone  (Read 7896 times)

Offline Stryke

  • Bot Neophyte
  • *
  • Posts: 12
    • View Profile
Hello everyone
« on: May 17, 2005, 03:24:06 PM »
Hi. I've been using Darwinbots for a few weeks now, and recently joined the forums. The DNA is (or seems) really complicated and I am going through the tutorials to try to understand it. I just found Purpleyouko's great tutorial on the xwiki and that will probably help me alot. Just a matter of time before I start making bots (hopefully). Darwinbots is alot better than the evolution sims I've tried before.
--O===O--
--O===O--
----O=O---
------O-----
----O=O---
--O===O--
--O===O--
----O=O---
------O-----
----O=O---
--O===O--
--O===O--
----O=O---
------O----
----O=O---
--O===O--
--O===O--

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Hello everyone
« Reply #1 on: May 17, 2005, 04:14:51 PM »
Welcome to the forum, Stryke!

The DNA may seem a bit complicated, but you'll quickly get a hang of the basics I am sure.  I am as far from programming as you can imagine, but even I picked up bits and pieces :)

Besides, you don't need to know how DNA works to run evolution sims   :D
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Hello everyone
« Reply #2 on: May 17, 2005, 04:41:50 PM »
Hi Stryke. Welcome to DB.

Like Shvarz said, you will find that you get the hang of the basics of DNA programming quite rapidly.
If you want to get into combat bot programming then you will need to learn the complex stuff but if you are just in it for a bit of fun or to run evolution sims then the basics are enough.

Thanks for the praise of my tutorial. It is in fact a bit old, incomplete and even a little out of date now. So much has changed over the last year.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Hello everyone
« Reply #3 on: May 17, 2005, 06:07:45 PM »
Hi Stryke.

There should be a Download beneath the xwiki with all the bots and files. The basic bot tutorial should also help.

Honestly I started with Carlos's old help file and just kept on working with it, I still remember how thrilled I was just to see the plant start turning in the opposite direction :laugh: . The only reason it looks so complex is because it's the result of some extreme fine tunning(we won't even mention single gene bots).

It's actually better to use simplier bots in Evo Sims, since it allows them more room to evolve in.

Endy B)

Offline Stryke

  • Bot Neophyte
  • *
  • Posts: 12
    • View Profile
Hello everyone
« Reply #4 on: May 17, 2005, 09:58:58 PM »
Quote
Besides, you don't need to know how DNA works to run evolution sims   :D
Yep, that's exactly what I've been doing. Just sitting back and letting the robots evolve for me instead of actually programming them :D .

Oh, and I've downloaded most of the bots already, Endy. Hardly any of them worked until I found the link to the newer version of DB and upgraded.

And PY, I'd like to get into the combat bot stuff. Then possibly try to evolve them.

And also, when I save a simulation and try to load it later, it won't load. For me, It's a big problem with evolving the bots; they like to be more genetically diverse the longer into the sim, and I'd have to save all of them individually. I have the latest version that was on the FTP server. Oh, and it won't save the sim or the best robot periodically. I guess it's just my computer.
« Last Edit: May 17, 2005, 09:59:28 PM by Stryke »
--O===O--
--O===O--
----O=O---
------O-----
----O=O---
--O===O--
--O===O--
----O=O---
------O-----
----O=O---
--O===O--
--O===O--
----O=O---
------O----
----O=O---
--O===O--
--O===O--

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hello everyone
« Reply #5 on: May 18, 2005, 12:49:01 AM »
Animal Minimalis is a good example of a complete and very simple bot.  There aren't any fancy tricks being used, and there's a help file on the wiki that explains whats going on.

If you can understand what Animal Minimalis is doing, then you understand the basics (which is good).

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Hello everyone
« Reply #6 on: May 18, 2005, 02:02:16 AM »
Saving routines got broken at some point and are on the "to fix" list.
But you don't have to save each bot individually - make a "snapshot", then use PY's Excel snapshot analysis tool to find the most frequent variants.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Hello everyone
« Reply #7 on: May 18, 2005, 09:07:59 AM »
The snapshot routine is very useful and is one of the areas where I am focusing my attention right now.
Just look at the toolbar and you will see a button that looks like a camera.
Click it and all robot DNAs (for presently existing robots) will be saved into a text file.
If you download my Excel Snapshot utility from the "old FTP server", you can open the file, sort the robots by their DNA and even generate new usable robot files from the DNA stored in the file.
More functionality is planned for the utility so watch for upgrades to it.

Saving the whole sim is unfortunately well and truly broken right now.
The reason for this is that we keep changing robot structures in the code and each time we do so it upsets the numerical order of the save file.
We have recently added a load of new object oriented variables to the robot definitions and will shortly be adding several more including changes to the array "mutarray" which holds the mutations codes for each robot.

It would be kind of pointless to fix the save feature right now because the first change we make to the robot definitions will just kill it again.
Once we settle on a structure then the file save routines will be fixed.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Stryke

  • Bot Neophyte
  • *
  • Posts: 12
    • View Profile
Hello everyone
« Reply #8 on: May 18, 2005, 10:18:48 AM »
Oh, awesome, thanks for the info. I have no need to save the sim now that I can use the snapshot feature. That helps alot; and works too :) . Now I'm gonna search the net and see if I can find a freeware variant of excel, cause I don't have it and can't pay for it.
« Last Edit: May 18, 2005, 10:20:32 AM by Stryke »
--O===O--
--O===O--
----O=O---
------O-----
----O=O---
--O===O--
--O===O--
----O=O---
------O-----
----O=O---
--O===O--
--O===O--
----O=O---
------O----
----O=O---
--O===O--
--O===O--

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Hello everyone
« Reply #9 on: May 18, 2005, 10:33:46 AM »
I may be able to do something about that later.

I actually have a CD of office 2002 at home which has an "official" open license from Microsoft. I may be able to post a zip of it to either Darwinbots.com or the old FTP site.

I will let you know later  ;)
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Stryke

  • Bot Neophyte
  • *
  • Posts: 12
    • View Profile
Hello everyone
« Reply #10 on: May 18, 2005, 10:54:29 AM »
I just found a free program made by Microsoft called Excel Viewer. I can see the buttons but they don't work... I'll wait for your version if you can eventually put it on the server. If you cant, its ok.
« Last Edit: May 18, 2005, 11:10:35 AM by Stryke »
--O===O--
--O===O--
----O=O---
------O-----
----O=O---
--O===O--
--O===O--
----O=O---
------O-----
----O=O---
--O===O--
--O===O--
----O=O---
------O----
----O=O---
--O===O--
--O===O--

Offline Carlo

  • Bot Destroyer
  • ***
  • Posts: 122
    • View Profile
Hello everyone
« Reply #11 on: May 18, 2005, 12:23:44 PM »
Quote
Saving the whole sim is unfortunately well and truly broken right now.
The reason for this is that we keep changing robot structures in the code and each time we do so it upsets the numerical order of the save file. [...]
It would be kind of pointless to fix the save feature right now because the first change we make to the robot definitions will just kill it again.
That's an old problem, and I think it needs to be solved rapidly: saving sims it's really important, and you can't go on without this feature.
I suggest to change once for all the simulation file structure this way (and the same should be made for organism files). The idea is to create a tag system: that is, divide simulation files in parts (should be called chunks) with a fixed structure and a tag identifying them. For example:
[[gravity]] value [[brownian]] value ... etc. etc.

There could be a tag hyerarchy: for instance:
[[robot]]
    [[mutval1]] value [[mutval2]] value ...
    [[dna]] plain dna file here... [[/dna]]
    .....
[[/robot]]
[[robot]]
    .....
[[/robot]]

etc. Much like HTML. (That's just an idea, you dont' actually have to use precisely this kind of tags... ). Or maybe (I just have a vague idea about it, but maybe it's exactly what we need here) XML.
When files are loaded, the program simply searches for the tags he's interested in, and ignores the others. So you can keep modifying everything, adding new variables, for instance, to the physical environment, or even adding a whole new chunk specifying the definition of an envgrid, and the program will still be able to load old simulation files without problems. And even older versions will be able to load newer simulation files, just without providing the new features, in case they are used. For example, say that tomorrow you decide to save the shape of a robot also (circle, square, triangle, etc.). You can just add a tag [[shape]] inside the robot definition, and older versions will simply ignore it.

Ok, maybe it looks complicated, but it's not. Once you've written down a few routines to manage tags (search tag, search tag end, get tag value... and so on) the rest is straightforward, and the problem of loading/saving (both simulations, organisms, and whatever) is solved once for all.

Offline Carlo

  • Bot Destroyer
  • ***
  • Posts: 122
    • View Profile
Hello everyone
« Reply #12 on: May 18, 2005, 12:32:24 PM »
Ok, I realized that XML is exactly what we need here. And probably there are already libs for handling it, so you don't even have to create your own functions. And it's sooooo professional  :lol:

bye,
Carlo

Offline Carlo

  • Bot Destroyer
  • ***
  • Posts: 122
    • View Profile
Hello everyone
« Reply #13 on: May 19, 2005, 04:02:10 AM »
So, is this idea so f**** scary? Come on coders, what do you think about it?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hello everyone
« Reply #14 on: May 19, 2005, 04:30:14 AM »
I had a very similar idea Carlo.  Technically not difficult, and it makes all save files backwards and forwards compatible, which is a huge plus.  The worst part is, of course, trying to code the parser.  Parsers are probably the worst things to code.  Ugh.

I'll sit down soon and start coding again.  Very soon.