Help with an evolution simulation

Show us your works in progress and request feedback

Post » Sun May 22, 2016 3:53 am

I made a simulation designed to have creatures evolve however I'm having an issue. Each cell has a priority to decide what it should do depending on it's surroundings which it detects with it's sensors. To make it simple right now it just says if it can see food set action to 1 but for some reason it's not working. Here's what I have so far, I intend to keep working on it but if anybody has some way to help me with this bug please let me know or post a capx with your solution ^-^ https://www.dropbox.com/s/gga249clhmsg6 ... .capx?dl=0
B
22
S
8
Posts: 203
Reputation: 2,059

Post » Sun May 22, 2016 6:51 am

Sorry I can't open it because Iam using rr227 and your using rr228. I don't update unless its a stable release because sometimes the beta releases have bugs in them.
Check out my awesome Android Game releases https://play.google.com/store/apps/deve ... ames&hl=en
B
38
S
18
G
24
Posts: 682
Reputation: 16,615

Post » Sun May 22, 2016 1:30 pm

No problem :)
B
22
S
8
Posts: 203
Reputation: 2,059

Post » Sun May 22, 2016 2:48 pm

@PixelPower, dude, you would find this so dang interresting. Because, this will pontential grow to a very nice game.

@bbjGames.
This is gonna evoluate in a hell of job to pick the right instances. You have problems allready.
Let me (to my best knowledge) show you the problems in 2 events.

Event 27.
https://drive.google.com/open?id=0B1SSu ... EdFOFJVMk0

Instance variable Animal is the UID of the cell array.
Every instance pinned to a certain animal has that variable. Wich is great. You planned picking.

I feel that Cell > (action) > pick by UID ... UID = Eater.animal is easyer , but that is taste, i guess.
I am not sure if the conditions you used has to be true to make the event true. I never used it that way.

But.
The conditions pick (when there is only 1 collision happening, and that is a very risky assuming)
1 Eater
1 Food
& the Cell that goes with the Eater.

The actions.
Destroy the picked food (perfecty)
Then Add 30 to the instance variable of a unreferenced AnimalContainer.
Unreferenced ? Well it has no pick condition, so it is unreferenced.
When you run an action on an unreferenced object, that action runs on all instances of that object.
There will be 30 added to the instance variable of ALL AnimalContainer.

Add the condition >> AnimalContainer >> pick by UID >> UID = Eater.Animal, to include/pick the right AnimalContainer.

I am not sure why you picked the Cell. No actions adress the Cell. Did you forget something to do in that Array ?

Or did you start with using a Container to pick all those instances and keep them togheter.
Wich is a great way to do this stuff.
But, you had to change your mind because each animal can have more Eaters and more Brains. In that case Containers indeed not gonna work out fine.
But your code still seems to be acounting for containers.

Event 28.
https://drive.google.com/open?id=0B1SSu ... GtEek5uS0U

Pick all sensors, picks them all.
The pick by evaluate picks from those sensors the one who's UID = a certain Brain.UID.
But, again, Brain is unreferenced. Therefor you feed it all Brains. Yet you forced it to chose 1.
So, it compares to the Brain with IID=the first on in the list.

Result: It picks the first created Sensor that goes with the first created Brain. 1 Sensor.

The actions.
Again. Brainsignals is unreferenced. So it sets the locations for every Brainsignals to zero.

Event 29, the subevent.
Subevents pick from the objects that are picked in its top event.

So it checks if that 1 sensors is overlapping Food. Food is unreferenced, so in this case that is fine.
It checks if that 1previous picked sensor overlaps with any of the Food.

If there is a overlap, that sensor (still the wrong sensor, anywayz) stays in the picklist. Else the picklist for sensors wil be empty. (that does not make them unreferenced)

Brain is unreferenced. So it compares all Brain to find one with the UID of the picked sensor.
I dont think you have a Brain with UID = 0, luckely.

So if that 1 (weird picked) sensor overlaps food AND if it finds a brain that goes with it, then it will (action) set location 0 of all BrainSignals to 1.
B
33
S
18
G
28
Posts: 2,493
Reputation: 20,950

Post » Sun May 22, 2016 4:42 pm

Ok I think I've found this issue or at least part of it. I deleted everything with the food and just simply stated
If Sensor.Animal = Brain.Animal: Destroy sensor

For some reason thought sometimes the sensor isn't destroyed, I checked if their animal value was the same and it was so I can't imagine what the issue is

I changed it to
Brain.Animal = Sensor.Animal: Destroy sensor

Now it always works unless one of the animals lacks a brain, then none of the sensors on either animal is destroyed. Why is this and how can I fix it?
B
22
S
8
Posts: 203
Reputation: 2,059

Post » Sun May 22, 2016 8:54 pm

Looks like by setting it to

For each sensor
Brain.Animal = Sensor.Animal

It works properly
B
22
S
8
Posts: 203
Reputation: 2,059

Post » Fri May 27, 2016 1:58 pm

If the sensor objects are always present with the actual "cell" object... you may want to consider using CONTAINERS

~Sol
Tired of crappy file hosts that are crappy? Get DROPBOX - https://db.tt/uwjysXJF
Moderator
B
83
S
34
G
40
Posts: 3,032
Reputation: 30,474

Post » Fri May 27, 2016 8:15 pm

Sensor's aren't always present but thanks ^-^ And I've got most of it done, I only have one issue now
In the beginning all of the animals parts are pinned to the properly but in their offspring it looks like they're being pinned to random things. Any idea on what's going on? Here's the new capx https://www.dropbox.com/s/gga249clhmsg6 ... .capx?dl=0
I think I may just have too much going on at once? Because in the debugger I can see it takes a while for everything to update itself
B
22
S
8
Posts: 203
Reputation: 2,059


Return to Works in Progress/Feedback Requests

Who is online

Users browsing this forum: No registered users and 7 guests