Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Vortex

Pages: [1]
1
Simulation Emporium / Question about environment settings
« on: November 11, 2009, 05:39:56 PM »

I know this could be a too-many-possible-answers question, since I saw so many settings to be set up (most of them I don't understand yet). What is the most standard environment configuration to test bots?


At the moment I'm working at some easy modifications of the Simplebot, which is a carnivore, so I need some alga_minimalis in it.


Then, I have the following configuration.

General tab:

Size: Smallest possible - I don't need much space since I'm running very simple tests.
Corpses: Enable as NRG - But I don't really know what it means.
Population control: 30 max - But this may vary according to the test I'm running, not important at the moment.
Pond mode: Activated, intensity 20, sediment 1, scaling 40 - I have basically no idea of what it does, but I saw it works much better than the other way of supplying autotroph veggies.
Body/NRG distribution: 50-50 - I like to see them grow


Physics and costs:

Environment: Fluid, thin.
Costs: F1 default.



What I didn't mention should be default (unless I did touch it without noticing). Could be fine? Suggestions?

2
DNA - General / Noob problem with reproduction.
« on: November 11, 2009, 12:19:16 PM »
I'm starting playing with the Simplebot.


I want my bot to grow up before reproducing.

Human words: "IF your body is < X AND you energy is > X , transform energy into fat"


Which should be:


cond
*.body 20000 <
*.nrg 20000 > and
5000 .strbody store
stop



But it doesn't seem to work. As I could see, the .body value rises of a small amount every time the bot feeds from attacking a veggie, regardless of gene's conditions.





Edit: Sorry, my fault. I forget to put in the start command

3
Newbie / Newbie's presentation and questions.
« on: November 09, 2009, 07:04:53 PM »
Thanks a lot for your kind help. I'll go on with tutorials... see you soon, I guess

4
Newbie / Newbie's presentation and questions.
« on: November 09, 2009, 04:56:31 PM »
Quote from: Numsgil
The closer you are to your target, the larger the value will be.  There's an exact formula if you're interested.  You can probably dig it up in the source code.  Most of the numbers, like 40, are just magically picked by people because they seem to work.  Not much science involved.

I saw that the food shot is around 40/50... I'll just stick to it to get started. Anyways, it should be that I have to put a lower value if I want my little beast to shoot from further away, right? Do you know which is the range? (max_closest_to_me_value - max_far_away_value)


Quote
Turning genes are a whole kettle of worms, and everyone has a different flavor.  Basically, eye5 is in the center, with the eye1-4 to the left of eye5, and eye6-9.  So the turning genes ala PY work by checking the peripheral version for stuff, and then tentatively queing up a turn, then potentially overriding it if the more central vision has stuff in it.  There's a bit of magic going on...

So, if I got it straight: the value is larger the closer is the enemy. So " *.eye3 *.eye5 > start -70 .aimdx store ", in human language, should be: "if the eye3 on my left has a higher value that the eye5 on my front, it means that I have a target on my left. If this condition is true I might better turn to my left by -70, in order to have that target exactly in front of me". Is that right?



And another question: what is the syntax in order to use logic operators? Example, I want to make the bot grow up to a certain amount of body points, before reproducing.

Human language: "Check if body is below 8000 AND check if energy is above 15000, if both conditions return true, get fatter. When you get to 8000 body stop doing that . If you don't have enough energy don't do that."


Coded:

*body 8000 <
*nrg 15000 >
5000 .strbody store


How do I write the "AND" operator? (or OR or whatever logic operator)





PS: I know it might sound a bit "slow" to you to use my "human language" method, but I told you I'm not a programmer so I need it at the beginning, to understand what does what

5
Newbie / Newbie's presentation and questions.
« on: November 09, 2009, 01:55:34 PM »
Hi everybody, here's Vortex from Italy  

First of all I'll say that I found DarwinBots while looking for alife games. I was looking for something that could let me do a bunch of things directly to the creatures, not like Spore, that is, in my opinion, too much "arcade". So the reason I play is only for gaming purpose, I'm not a programmer nor a biologist or a scientist whatsoever (I'm law student, to be honest  ).

Since I'm not a programmer (I've done a few things with php, nothing special), I'm finding some concepts quite difficult to understand and use properly, but I'm sorting most of them out by myself and with some patience I'm sure I'll have fun.



Now the noob questions:

1. I saw that in the forum there are a lot of topic with the last reply going back by months... I'm sure the project is still alive but how much? Can you estimate how many of you are regularly following the community? Just to have an idea.


About the DNA coding, I'm trying to figure out things mostly by myself and the wiki, but there are some things a wasn't able to find:

2. How does the .eyeX distance work? The wiki says that the value is proportional... proportional to what? "*.eye5 40 <" means the the eye5 (main front eye, as I understood) should be minor than 40. But how do I use this value to calculate and define the distance at which the bot should shoot?

3. Following tutorials, I found this two genes (simplebot1.txt of PY)

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'Gene1. Simple search pattern.
cond
  *.eye3 *.eye5 >
start
  -70 .aimdx store
stop

' Gene2. Simple search pattern part 2
cond
  *.eye7 *.eye5 >
start
 70 .aimdx store
stop


I think this is related to the previous question. I understand that the first gene means something like "If eye3 value is major than eye5 value, than turn left by 70" and the second gene is "if eye7 is major than eye5 turn right". But why? I don't get what should be in the eyeX slot and how to deal with it. (at the moment I'm just making my bots dancing around with *.eye5 0 = X .aimdx store )





Thank you in advance for your patience and help.

Pages: [1]