Darwinbots Forum

Bots and Simulations => Bot Tavern => Topic started by: bacillus on April 30, 2008, 08:05:52 PM

Title: The amazing Antbot
Post by: bacillus on April 30, 2008, 08:05:52 PM
Recently I've been working on a bot that acts like a colony of ants. In the beginning, a single young queen gathers food, until she is large and bloated. Then, she sits down and starts producing offspring. The offspring can either be another young queen or one of the following servants:
Here are some cool features that have been implemented in the bot:

I still have a communication channel open that I'm dying to use. I really need some help to figure out what to do with it.
Title: The amazing Antbot
Post by: Numsgil on April 30, 2008, 08:44:09 PM
Not sure if it's the best strategy or not, but since most sims have a veggy cap, if you can coral and defend all the veggies from other species, so that no veggy repop events occur, you can starve out your opponent.
Title: The amazing Antbot
Post by: bacillus on April 30, 2008, 08:48:07 PM
It is sort of hinting towards that. The problem is that you run out of space to put the veggies in. Besides, it's not really a competitive bot, more of a human interest one.
EDIT=> actually, I might make the scouts mark the veggies so only members of the same hive feed off it. How's that for an idea?
Title: The amazing Antbot
Post by: Numsgil on April 30, 2008, 09:01:36 PM
You can do lots of things, but I think it's more aesthetically pleasing if it's in the bots' best interest.  Why should hives respect each other's marked food?  It's not in the interest of the hive to play nice with other hives.  Maybe if you implemented some sort of primitive diplomacy.  Hives caught stealing from another's marked food get war declared on them, and the robbed hive tries to kill the offending hive's queen...

I still prefer harvesting and defending veggies, though.  It's a somewhat stable strategy that's in the Hive's best interests.  What I would do is work on forming a defensive ring of warriors around your veggy cache.  The warriors fire backwards to feed occasionally, and feed other ant bots that come looking for nourishment (real ants do this, one ant barfs up some lunch for the other ant).  If an enemy is discovered, the soldier stays put and tries to fire some sniping shots to kill it.  Maybe it alerts more mobile soldiers nearby about the threat (use in/out and transfer the x,y pos of the enemy).  A hive keeps its veggy cache small enough that the soldiers can adequately defend it.
Title: The amazing Antbot
Post by: bacillus on April 30, 2008, 09:10:22 PM
I was playing around with a similar idea, having Guards line the perimeter of the hive. If it is an enemy bot, it tries to kill it, if it's an ant from another hive, it shoots a memory shot that sends it flying backwards.
I'm moving away from the "good of the species" idea and towards the "good of the colony" idea, but that might make the whole thing unstable. I usually run a size 10 sim, and it doesn't take long for one single hive to swarm the map. If you ever ran it, you would see newborn bots (at least drones and workers) hurled backwards. Also, a newborn queen would get slaughtered. Maybe a baby queen overrides the guard's attack instinct?
How about this: A worker will sometimes steal food from the enemy hive. The enemy, if it sees the ant, becomes slightly more hostile and marks the ant. The marked ant may or may not be slaughtered by its own hive, depending on how hostile the hive is. When hostility reaches a certain point, it overrides the "good of the species" instinct and starts killing all ants from different hives.
Title: The amazing Antbot
Post by: Numsgil on April 30, 2008, 09:13:44 PM
It isn't too hard to form a line of bots.  I've seen it done a couple of times with some rather primitive bots.
Title: The amazing Antbot
Post by: EricL on April 30, 2008, 09:19:58 PM
Quote from: Numsgil
Not sure if it's the best strategy or not, but since most sims have a veggy cap, if you can coral and defend all the veggies from other species, so that no veggy repop events occur, you can starve out your opponent.
This is one of Seasnake 1.2's low priority strategies.  It's a SG bot, so the whole thing is shot as a virus.  It takes a long time sicne the genom eis over 1500 base pairs, but eventually, the veggies get infected, their genoems go away and they become Seasnake's themselves and form up as cells in the mutlibot, symbiotically providing the larger snakes with sun nrg and defending and attacking non Seasnake species.  Cool, huh?
Title: The amazing Antbot
Post by: Numsgil on April 30, 2008, 09:26:50 PM
A little wicked, too
Title: The amazing Antbot
Post by: gymsum on May 01, 2008, 12:05:59 AM
I like your ideas, but lose the workers. I am currently working on something similar to a gps system, where a bot stores several points before finding food, then stores the points as a route, those creating a highway for others to follow using the out sysvars. Ideally your scout could find the food, marking every 60 or 30 cycles a point to remember that is the return route both ways, also may give them more security since your 'army' coudl focus around those points so that your scouts dont lose the food. Also, gardening usually involves creating more veggies with the ones you have, which means you want an internal veggie counter for your queen so that it doesnt over produce and require too much food. Also, routes could be dominated by a colony or hive, so if another hive or colony is seen following the route, they are stopped or killed.
Title: The amazing Antbot
Post by: bacillus on May 01, 2008, 06:36:07 PM
The workers will become more essential in the next version I'm planning to make. When a hive attacks another hive, only the drones go and attack enemy ants. The workers must stay back and provide the queen with food. Remember, it's up to the drones to replace the queen if she dies, and if no-one feeds or is there to replace the queen, the whole hive will die.
Btw. I am still experiencing difficulties with "ghost bots", bots that are invisible/have died and still update a bot's eye. I think I posted it as a bug a while ago, but it was apparently fixed.
Title: The amazing Antbot
Post by: Numsgil on May 01, 2008, 07:04:38 PM
Definitely post in the bugs forum if you can provide a sim demonstrating incorrect behavior.  Bugs are bad.
Title: The amazing Antbot
Post by: bacillus on May 01, 2008, 08:50:05 PM
I never upload sims because they are comparatively huge and my pathetic internet takes ages to do so. I think I just posted an image of a bot looking at nothing.
Title: The amazing Antbot
Post by: Numsgil on May 01, 2008, 08:51:23 PM
Are you zipping the sims?  They compress down quite a bit.  A 50 meg sim can usually give you a zip of only 3 or 4 megs.
Title: The amazing Antbot
Post by: bacillus on May 01, 2008, 09:08:16 PM
Usually I don't post anything above 100 Kb because it just takes too long.
I solved the problem. Some bot had a stupid mutation that caused its color to change to the background color. There was a bot there, it was just really hard to see.
I just had a look at the FTP link. 3333 hits!!!
Title: The amazing Antbot
Post by: Numsgil on May 01, 2008, 09:13:45 PM
I sort of figure there is probably a user base of 10x the active forum posters, so 3000x hits on that link would make sense to me.
Title: The amazing Antbot
Post by: bacillus on May 01, 2008, 09:22:20 PM
I just saw something great in the antbot's behaviour: two scout were pulling in a veggie together because it was too heavy. It was caused by one scout who was trying to drag it away, but couldn't because the tie kept breaking, until another one came along and helped him.

Later I managed to get four scouts pulling away at a veggie with 23000 body.
Title: The amazing Antbot
Post by: gymsum on May 01, 2008, 11:56:33 PM
Quote from: bacillus
I just saw something great in the antbot's behaviour: two scout were pulling in a veggie together because it was too heavy. It was caused by one scout who was trying to drag it away, but couldn't because the tie kept breaking, until another one came along and helped him.

Later I managed to get four scouts pulling away at a veggie with 23000 body.

Could include your sim, I'ld love to see this.
Title: The amazing Antbot
Post by: bacillus on May 02, 2008, 12:08:54 AM
AAAAARGH!!!
           
Could you please read the post I made before, before saying things like that!?

However, I'll gladly give you the simulation settings I use so you can run your own simulation:
Bots: Alga Minimalis, Antbot v1.4 (only 1 to start with, 2 if you want to see hive wars)
Field Size 8, 500 max vegs, 100 repro threshold and veggies per repop event
Solid Metal resistance, max collision elasticity
Disable all Muations

The rest you leave on default.
Remember that you need a lot of patience when running antbot.
Title: The amazing Antbot
Post by: Moonfisher on May 02, 2008, 07:00:21 AM
lol, no wonder nothing was working as intended...
When you post a bot with no instructions, people like me are going to run it with standard F1 settings
Anyway you don't need to post a sim where all the action is going on, if you just start the sim and save it right away it will be very small.

I uploaded a settings file (But it seems it has has problems adding the bots, so you have to do that manualy).
Anyway the settings file is 2KB... you don't even need to compress it...
Added some sim files aswell... you need to have the bots used in your folder for as always, so added those aswell...
(The OponentAntbot was just to get a different color for the War sim)

Anyway just saying, a settings file would be nice atleast if the bot doesn't run in F1, and it's probably faster to upload 2 KB than to write instructions...
Title: The amazing Antbot
Post by: bacillus on May 02, 2008, 06:51:47 PM
Thank you, that's definitely going to help me.
I'll have a look at the ant wars simulation, I haven't really seen much of it yet.
Title: The amazing Antbot
Post by: bacillus on May 02, 2008, 06:57:13 PM
WOW.
you can really see the garden structure in the simulation.
It does look as though the guards don't do their job; I might have to do something about that.
OK, I have rewritten the code so that guards only turn towards food if their nrg is less than 1000. They patrol the perimeter very nicely now.
Title: The amazing Antbot
Post by: Blacksmith on May 02, 2008, 09:48:02 PM
er, so have you posted an updated code?
Title: The amazing Antbot
Post by: Numsgil on May 02, 2008, 10:02:48 PM
As of this very posting, Antbot 1.4 (http://www.darwinbots.com/Forum/index.php?showtopic=2733&pid=1376192&st=0&#entry1376192) is the latest.
Title: The amazing Antbot
Post by: bacillus on May 03, 2008, 06:37:30 PM
Someone sent me a message advising me to use timers in my activation to remember locations. I'm afraid I don't quite understand the logic behind this. Could you explain the idea in more detail please?? The way I understand it is that a bot marks is last location every X cycles.
Title: The amazing Antbot
Post by: gymsum on May 04, 2008, 01:38:43 AM
Slim Evo used an individuality gene that recorded 10 bot ids in one gene. Every time a bot came upon a veggie, you could use a location store, but always have the hive coordinates stored. So say your bots could remember 20 waypoints, that means they could communicate with the army and queen about where food is, where enemies are along the way, where to send help, having positions remembered gives the bot a consiousness of its suroundings. I suggest 15 waypoints for course use, meaning every 100 cycles, a waypoint is stored only when nothing is seen; that gives your workers a route to follow and return to at any point along the route, a highway system if you will. Allocate 10 waypoints for enemy coordinates, each time a new bot id is seen near or around a waypoint besides enemy waypoints. Allocate another 20 waypoints for food and you've got a bot that knows where 20 points to harvest are, 10 enemies and how to get to and from the hive. This also sets your bots up for specialization; a bot on one side heading away from the hive will always work in the same general direction, never going to the other side of the hive and interfering unless called for. You could also add 5 waypoints for other hives, and you might want to consider some variable to control the amount of agression the hive takes based upon the number of same bot species reported. If you want I can pm you my universal conspec genes, but I have to tell you they aren't that efficient, they lay out the general purpose of them. I could see this bot becoming very intelligent with only a few more genes for memory manipulation. Fortunately, they make a memloc, so you can write to locations faster and easier than the system I used in Slim Evo, which was merely a string of conditions. Also, this may lead you to want to do some tie communications between scouts to share information about enemies and routes, it may be possible to store 100 waypoints in a single bot, using 200 memlocs, but the rigging would no longer be for one gene.
Title: The amazing Antbot
Post by: bacillus on May 04, 2008, 01:53:07 AM
That's a whole lot of memory locations. I played around with the idea of these pheromone highways, but the paths could only be followed by individuals and not shred with others. Why remember places where there is no food? Maybe tracking the ant's position when coming back from food may help.
Title: The amazing Antbot
Post by: Numsgil on May 04, 2008, 04:30:07 AM
It depends on how difficult it is to navigate.  If you were to add dozens of shapes to the world, for instance, than simply remembering where food is might not be enough, because you have a whole maze to navigate.
Title: The amazing Antbot
Post by: gymsum on May 04, 2008, 02:17:53 PM
Quote from: bacillus
That's a whole lot of memory locations. I played around with the idea of these pheromone highways, but the paths could only be followed by individuals and not shred with others. Why remember places where there is no food? Maybe tracking the ant's position when coming back from food may help.

Say the bot needs to maneuver around another hive, it is important that it remembers the waypoint to get around the hive, and not cause tensions. Since your ant bots are very good at being agressive, it is the best interest of your bots to remember important information such as how to avoid other hives and not infringe on their food collecting. The idea is so no matter what your bot decides to do, it will always have a return point. I have detailed the conditions more for the 20 waypoints, now it only counts to the timer when the bot is facing away from the hive, so you dont get overlaps in waypoints, and it uses a comparison for distance instead of timers to activate the intial timer of 200 cycles now reduced to 50. Every 200 botwidths could be recorded as safety points. You already have a complex mechanism for communication, its a matter of genetic language. ''I/O 7-X coordinate of last food sighting ''I/O 8-Y coordinate of last food sighting and I/O 3 are for commands of some sort. So I/O 3 allows your btos to say something meaning the 8 and 7 I/Os should be stored here, or whatever. Say you want the waypoints to be used by everyone, limit scout repoduction to one until the queen is given a highway, make all default births dormant for 30 cycles, so the queen can write the locations in their memory, having them all tie together to exchange the missing pieces will make this faster for the queen. Now you have 20 waypoints, where scouts and warriors can go, search for food, protect each other and maintain the perimeters near food. THe protocols for when and what btos communicate can be determined using I/O 2 since all types are there. Warriors and Scouts could exhange information on enemies and veggies to make sure both are taken care of for the queen, and I/O 3 could also be used as an override to make all bots active for war with I/O 7 and 8 giving them the coordinates of the enemy's last position, and it might be useful for I/O 9 to tell how long ago the enemy was spotted near the queen. THis information is vital, the bots could fan out to cover all possible locations of the enemy, and communicate locations with ties, a wall of ants if you will, all capable of moving for the queen. I like the idea of a super inteligent ant, even tho it will require 90 memory locations, this also means your bot will still do something with mutations later on; as the locations and values change, the bots will exhibit different behaviors as a result of it. Keep mutations chances very low in occurance, so it doesn't fall apart everywhere, that could be detrimental.

Ideally you would store 500 waypoints, but the genetic coding would have to be broken up since the customizable sysvars are sparatic. Other than that, you wouldn't need Slim Evo's bot id gene, its too big for this project, use something like;

cond
*.robage 0 =
start
40 .memloc store
0 .memval store
stop

cond
*.robage 32000 sub 2 mod 4
start
.memloc inc
.memval inc
stop

something for how a waypoint array counter would work wiht only a handful ogf smaller genes. for comparison purposes, make a gene to check that you dont overlap certain waypoint types, and check always enemy waypoints with all your waypoints to make decisions based on safety, or need for food.
Title: The amazing Antbot
Post by: bacillus on May 05, 2008, 04:17:22 AM
I thought about this a while and came up with a reasonable solution: A block of sysvars for X and Y is set, the max and min values noted. A variable is used to control whether the location is incremented or decremented. It cycles through all its waypoints, telling other bots the coords and the waypoint number. So say the xpos starts at 900 and y at 930, the pseudocode would look something like this:
Xpos - > 900 cycle add
Ypos - > 930 cycle add
900 cycle add -- -> outX
930 cycle add -- -> outY
cycle -- -> outC
If control = 0 then increment cycle else decrement cycle
Title: The amazing Antbot
Post by: gymsum on May 05, 2008, 11:42:44 AM
Ok, so that gives your bot a way to communicate valid waypoints between eachother, but you should think about adding a distanmce comparator to find the closet points. Since you'll also store several points leading to food, another comparison can be used to find the shortest, the most lucrative, and the greatest distance. Set Control to 1, for write, 0 for hold, and -1 for erase, you can also use the control as a multiplier. I'm going to tinker with some waypoint memory stores and recalls.
Title: The amazing Antbot
Post by: bacillus on May 06, 2008, 01:22:17 AM
Distance comaprators are a bad idea bacause it'll end up circling one point.
Title: The amazing Antbot
Post by: gymsum on May 06, 2008, 10:42:11 AM
Quote from: bacillus
Distance comaprators are a bad idea bacause it'll end up circling one point.

THat really all depends on hwo weel the author can program. I built Slim Evo to build a swarm, leave, find a veggie, then using a distance comparator it returned to the swarm. Not sure I ever saw them circle around a point. ITs a matter of programing in the right protocols. Really think about this one, it could gve your bot a lot more intelligence, it could evolve to know way more too.
Title: The amazing Antbot
Post by: bacillus on May 07, 2008, 02:14:29 AM
Mu current idea is that as soon as it comes to the target point, it moves to the next one. I think it'll work fine.
Updating the antbot is a priority, but the ones that are taking up most of my time are study, working on DBIII,  running the F1 league, vital bodily functions, and getting others involved in DB (Not neccesarily in that order  ).
Title: The amazing Antbot
Post by: gymsum on May 07, 2008, 05:16:18 PM
Well if you do decide to create this behavior, let me know, I'll create the thought process for making a decision based on stored points and location.
Title: The amazing Antbot
Post by: bacillus on May 08, 2008, 03:21:18 AM
I had a quick brainstorm at how to make this happen, and hit a solid progress barrier. You can't use variables when making a reference, so the only way to do this is to reference to each location explicitly, which is stupid because it means checking a ton of locations multiple times every cycle.
Title: The amazing Antbot
Post by: Trafalgar on May 08, 2008, 12:22:34 PM
Can't you use the * operator (http://www.darwinbots.com/WikiManual/index.php?title=*), or am I misunderstanding what you're saying?
Title: The amazing Antbot
Post by: gymsum on May 08, 2008, 02:09:49 PM
One method may be to update certain distance references based on %s of changes in current location. Say your bot sees no more food where it is, once the bot leaves 10% of the area around that point it first foudn the food, have it update its distance vars based on waypoints, and then compare only the distance vars. Also, if you organize the vars right, you could make a multiple cycle reader that checked say 10 nearest points or whatever. I'm guessing you don't use things like shapes, so its not entirely necessary for the bot to remember that much information, other than where food is, where a safe route is, and where enemies most likely are. For the most part, you should only be making very large memory scans when food resources go low, or when the population starts falling off, or when the bot is in real danger of death. Every cycle the bot should simply check to make sure it has some safety point within a set distance, which could be a SYSVAR set distance.

I've managed to produce a simple little waypoint counter, uses 40-50 to store 5 points using a single memloc inc and store

first, set your memloc to 40 or next free location, count by twos though because the 41st is the y-coordinate. you'll need to know the sysvar #s for xpos and ypos

cond
*bluh  *bluh =/!=/?????
start
40 .memloc store
stop

cond
'check for empty space
start
40 2 add .memloc store
stop

cond
'store waypoint for x
start
*.xpos .memval store
stop

cond
'store waypoint for y
start
.memloc inc
*.ypos .memval store
stop

We always know y will go right after the x var, so this works for an easy waypoint creater. TO read from it, its just the same functions only a different order. Start by adding an additional store we can compare locations easier, without messing with a memloc counter, but I still like these because it makes bot though automated, rather than conditional.

Anyways, to read you could do the following:

cond
'decide what to look for, some waypoint type, you should know these based on sysvars loc you used to store them
'I say create sysvars that reference each sysvar for easier access, I set up 10 buffers to make the bot have some RAM, prevents large memory searches using several other vars
'for a simple safety waypioint, using 40-50
start
40 .memloc store
*.memval .buffer1 store
stop

cond
'continue to search until internal swithc or other condition
start
.memloc inc
stop

cond
'compare (*.buffer1 *.memval dist *.d1 >)

Now the easiest way to continue is to use the tmemlocs to push information into another bot's RAM while continuing its own search routines, but that is a little more involve, so you would have to continue by hand storing to each buffer, but the benefit is that your memloc counter could be used for some other use to say update eyes or whatever. But this buffer system will let a single bot multitask after about 10 cycles, depending on how you set up the conditions for reading. Once you've done that, its a matter of running comparisons on each buffer until the bto finds what it is looking for. To make sure it doesnt try to find both the longest distance and shortest distance, it will require clever conditioning, overlaps make the memloc commands not work.

Yes the conditions I gave are vague and make the bots skip location 40, but I didn't want to muddle it with switches and locks, thats something that is left for the designer to decide, for me I'm using 1-3 conditions a gene, and getting genuine results. Currently the tie feed system is too limited and the bots tend to die off from so many stores, but I'm working on improving its basic survival genes. You could run comparisons using a seperate set of memloc counters that activated only once or when necessary, but I've gone with continuous update aproach for now. Again, its the same prinicple as before, only you would use *.memloc and 1 buffer such as the genes I posted above to make the comparison, you would need to use 2 add to count properly, or you might compare a x-coord with a y-coord, which isnt very helpful. Also, you will need to store distance results to actually make any useful comparison, and it would be simple to implement such a comparator. Anytime a distance was found that was shorter or longer, the previous d1 would be overwritten with the most preferred result, this process could be done once on all desired melocs  and would produce a true result. Eventually it may be possible to build a bot that knows what and where within a few cycles, but  at the moment it takes Slim Evo 4 1 waypoint/2cycles, and the comparisons take about 1 waypoint/cycle, so a decision about food or safety can be made in roughly 15 cycles.
Title: The amazing Antbot
Post by: bacillus on May 09, 2008, 01:53:23 AM
Never mind, I just figured out by using my Chester the Tester bot that it is possible to read variable locations  
Sorry that you had to painstakingly extract a long, obsolete piece of code, gymsum, but I greatly appreciate your enthusiasm for helping others.
Title: The amazing Antbot
Post by: bacillus on May 09, 2008, 02:35:30 AM
Here's a prototype of the trail system, although I would still need a way and reason to communicate it:

def minxpos 20
def minypos 60
def count 100
def bearing 101
def mindist 75
cond
 *.count 0 =
start
 1 .bearing store
stop

cond
 *.count 39 =
start
 -1 .bearing store
stop

cond
 *.eyef 0 =
 *.count .minxpos add * 0 =
 *.count .minypos add * 0 =
 *.timer 100 mod 42 =
start
 *.xpos *.count .minxpos add store
 *.ypos *.count .minypos add store
 *.count *.bearing add .count store
stop

cond
 *.eyef 0 =
 .minxpos *.count add * 0 !=
 .minypos *.count add * 0 !=
start
 .minxpos *.count add * .minypos *.count add * angle .setaim store
stop

cond
 .minxpos *.count add * 0 !=
 .minypos *.count add * 0 !=
 .minxpos *.count add * .minypos *.count add * 0 dist .mindist <
start
 *.count *.bearing add .count store
stop
Title: The amazing Antbot
Post by: gymsum on May 09, 2008, 10:39:18 AM
Impossible to read var locations???? That shouldn't be necessary, you just set the Var locations with memloc and set memvar.... Is that no longer acceptable with DB? Anyways thanks for the code.
Title: The amazing Antbot
Post by: bacillus on May 09, 2008, 05:34:24 PM
I don't see how your method works, can I remind you that memloc and memval don't read from your bot, they read from the bot in the focus eye?

Quote from: bacillus
I don't see how your method works, can I remind you that memloc and memval don't read from your bot, they read from the bot in the focus eye?
I fixed a mistake, that it reads the X position as both X and Y.
Title: The amazing Antbot
Post by: gymsum on May 09, 2008, 10:16:18 PM
Quote from: bacillus
I don't see how your method works, can I remind you that memloc and memval don't read from your bot, they read from the bot in the focus eye?

Quote from: bacillus
I don't see how your method works, can I remind you that memloc and memval don't read from your bot, they read from the bot in the focus eye?
I fixed a mistake, that it reads the X position as both X and Y.

Oh yeah. We could really use a system to cycle through sysvars.
Title: The amazing Antbot
Post by: bacillus on May 10, 2008, 06:38:21 PM
You mean the way I made it, or cycling through in one cycle? I think recursive structures were intentionally avoided so that bots don't go through infinite loops.
Title: The amazing Antbot
Post by: gymsum on May 11, 2008, 11:40:15 AM
I see. I meant a system where you could inc or dec through your bots sysvars for things like searching through thoughts, storring to several vars with different values (not necessrly in the same cycle) etc. I do indeed like your method and wish to improve upon it to make it faster and more versitile for my purposes.
Title: The amazing Antbot
Post by: harry on June 27, 2008, 09:13:02 AM
pull, guys. pull!
Title: The amazing Antbot
Post by: bacillus on June 27, 2008, 06:26:15 PM
Now that's cool.
Title: The amazing Antbot
Post by: fulizer on June 30, 2008, 06:24:01 AM
I was making a antbot (not very far) and planned to have a puller bot.
what makes them different is that mine are simpler thanother antbots iv'e seen. mainly, rather than getting its loation from the quenn at birth it gets it from its own position and it doesn't (so far) store food lo0cations in it, the queen doesn't feed itself before getting it's first worker, and the worker goes within about 10 cycles
Title: The amazing Antbot
Post by: bacillus on July 22, 2008, 08:05:44 AM
The problem is that when multiple bots are in the colony, they tend to push the queen away from her original position. This means that the queen might end up far away from where the workers think.
Title: The amazing Antbot
Post by: Endy on July 23, 2008, 12:21:15 AM
Why not just fix the queens position at her birth. Then just unfix all the non-queens.
Title: The amazing Antbot
Post by: bacillus on September 01, 2008, 12:37:46 AM
Ah, there's the big problem. It's something to do with the collision pyhsics, I think, that even fixed bots can be bumped out of place. Can anyone confirm?
Title: The amazing Antbot
Post by: Peter on September 01, 2008, 11:31:31 AM
Well, a new change is coming. Look athttp://www.darwinbots.com/Forum/index.php?showtopic=2854 (http://www.darwinbots.com/Forum/index.php?showtopic=2854)
But, anyway. As far I know at this moment fixing means fixed, fixed as in unmovable. If at this moment it is not, it would be a bug, I think   . You can add any suggestions about fixpos at the earlier named topic, now is the time for a suggestion about it.
Title: The amazing Antbot
Post by: jknilinux on October 11, 2008, 01:49:16 AM
So, any updates?

This is really cool, keep it up!
Title: The amazing Antbot
Post by: bacillus on October 11, 2008, 05:14:38 PM
Not really; somewhere along, I must have undermined the code, because the queens are too fragile and the drones don't replace them.
Title: The amazing Antbot
Post by: bacillus on October 11, 2008, 05:38:05 PM
Actually, I was thinking of building a complicated hive multibot. If you are interested in working together on a project, feel free. This was the rough sketch I made:
1-Single cells start out as 'spores', and wait until they have enough nrg/see enough veggies to form a colony
2-The hive is controlled by a centralized brain, which cycles through its ties using something like *.timer x mod .readtie store, then collecting data from the outer cells
3-A secondary set of cells which connect the brain to outer cells, relaying information and stimulating production of shell/poison/venom etc. They also bind to veggies.
4-Tentacle cells form around the central cells, which seek out food and drag it in. Also expel waste.
5-Sensor cells at the tip of tentacles which attack intruders, and may move the hive around (not sure if it moves yet). They collect data about eyes, shell etc, which gets fed back to the brains.

Feel free to change this, it's only a rough idea of varying levels of detail.
Title: The amazing Antbot
Post by: jknilinux on October 11, 2008, 11:23:21 PM
Quote from: bacillus
Actually, I was thinking of building a complicated hive multibot. If you are interested in working together on a project, feel free. This was the rough sketch I made:
1-Single cells start out as 'spores', and wait until they have enough nrg/see enough veggies to form a colony
2-The hive is controlled by a centralized brain, which cycles through its ties using something like *.timer x mod .readtie store, then collecting data from the outer cells
3-A secondary set of cells which connect the brain to outer cells, relaying information and stimulating production of shell/poison/venom etc. They also bind to veggies.
4-Tentacle cells form around the central cells, which seek out food and drag it in. Also expel waste.
5-Sensor cells at the tip of tentacles which attack intruders, and may move the hive around (not sure if it moves yet). They collect data about eyes, shell etc, which gets fed back to the brains.

Feel free to change this, it's only a rough idea of varying levels of detail.

I've always wanted to see a MB with a multicellular brain, but I currently know nothing on coding bots. I do know a few computer languages, though, and I'm knowledgeable in neuroscience, so I might be able to help if you need opinions on making the central neural network.

With an MB this complex, you could make sperm and eggs, too. One cell breaks off the hive, which searches for another free-floating cell from another hive to form a spore.

Or, similarly, the hive could be the queen of an ant colony. When it needs something, it just breaks off one of it's cells to become an ant. The ant cell then brings back food, etc... until it is no longer needed and can re-assimilate into the hive.

The coolest thing by far, though, would be for it to actually learn. Like if it keeps getting attacked when it gets close to another hive, it will learn to avoid other hives. Would that be feasible, though?
Title: The amazing Antbot
Post by: Moonfisher on October 12, 2008, 08:49:57 AM
It's my impression that fixed bots can be moved by collisions... so you risk having your queen moved... so you could ofcourse store the old location and try to move back... but what if more bots just push you further away ?
My experience is that often making a bot too acurate and too precise is not an advantage but just leaves a tight margin for errors. Instead of having absolute values the bot could remember where it was last time it saw a queen.... and when looking for that queen instead of going to the exact location it goes to a location in that area, if it can't find the queen it can keep looking or give up at some point and just wander off or make a new queen....

Either way the point is to just let the bots be more impulsive, less acurate and less clever... if theres anything that can be simplified it can often be an advatage even though it seems like a crude way of doing things it can often be a better way to do it... and it would also make it more suited for evo sims...

Also, when dragin alge it's a lot easier if you eat some of it's body or make it feed on itself... alge can get pretty big and reach a rather large mass, it might be good with a backup plan in case an alge has reached a mass you won't be able to move... you can also just have the alge drag you instead of having to drag it yourself

But overall I think whenever workers and queens loose track of eachother or seem to get lost or buggy it's probably because their requirements are too specific and a simpler behavior for whatever went wrong might be worth considering... remember it's not survival of the smartest...
Title: The amazing Antbot
Post by: bacillus on October 13, 2008, 12:21:58 AM
I figured that bit out when making the bot. The problem is, how do you define "looking in an area"? Assuming you have two coords, the queen could always have moved, or could be missed because another bot got in the way etc. Really the best way to go, I figured, is to either constantly update the queen coordinate or have a network of queens. The scouts do feed body, by the way.
My thoughts on the neural bot are that they switch between several memory locations in a cycle, gathering data on attacks they were stung with, average enemy bot population over a sample of time, say 500 cycles, etc.
Programming knowledge is very good to have, especially if you know how the stack works. The inner workings of DB is two stacks interacting with each other, one boolean stack (for conditions) and one number stack (everything else). Memory locations are stored in a big array. Basically, every number, command, label etc. manipulates either of those stacks, with *, store, inc and dec being the commands that interact with the array. But you probably knew all this (and if you didn't, pretend you did   )
Title: The amazing Antbot
Post by: bacillus on October 17, 2008, 12:29:18 AM
Here's the drafted version of Cranium:
Code: [Select]
def spore 0
def brain 1
def neuron 2
def sensor 3
def actuator 4

def normal 10
def branch 20
def tip 30

def type 990
def structure 991
def current 992
def neuronid 993

'IO ports
'1-Conspec
'2-Type
'3-Reproduction init
'4-New tie init//for ties, venval
'5-Sharing info
'6-Venom type to be produced
'7-Shell info
'8-Poison info
'9-Length of neuron

cond
 *.robage 1 =
start
 *.tin9 ++ .tout9 store
 *.in3 .type store
 3835 .out1 store
 *.in4 dup .tie store .current store
 .tip .structure store
 *.in4 .neuronid store
stop

cond
 *.robage 20 >
 *.numties 0 =
start
 .spore .type store
 .current store
 .tout9 store
stop

cond
 *.robage 0 >
start
 50 .sharenrg store
 50 .sharewaste store
 *.type .out2 store
 400 *.body sub dup .strbody store - .fdbody store
 20 *.velup sub .up store
  -4 *.eye1 *.eye9 sub sgn 0 floor mult *.eye1 *.eye8 sub sgn 0 floor mult *.eye1 *.eye7 sub sgn 0    floor mult *.eye1 *.eye6 sub sgn 0 floor mult *.eye1 *.eye5 sub sgn 0 floor mult *.eye1 *.eye4 sub   sgn 0 floor mult *.eye1 *.eye3 sub sgn 0 floor mult *.eye1 *.eye2 sub sgn 0 floor mult 4 *.eye9     *.eye8 sub sgn 0 floor mult *.eye9 *.eye7 sub sgn 0 floor mult *.eye9 *.eye6 sub sgn 0 floor mult
 *.eye9 *.eye5 sub sgn 0 floor mult *.eye9 *.eye4 sub sgn 0 floor mult *.eye9 *.eye3 sub sgn 0 floor  mult *.eye9 *.eye2 sub sgn 0 floor mult *.eye9 *.eye1 sub sgn ++ sgn mult add -3 *.eye2 *.eye9 sub   sgn ++ sgn mult *.eye2 *.eye8 sub sgn 0 floor mult *.eye2 *.eye7 sub sgn 0 floor mult *.eye2 *.eye6  sub sgn 0 floor mult *.eye2 *.eye5 sub sgn 0 floor mult *.eye2 *.eye4 sub sgn 0 floor mult *.eye2    *.eye3 sub sgn 0 floor mult *.eye2 *.eye1 sub sgn ++ sgn mult add 3 *.eye8 *.eye9 sub sgn ++ sgn     mult *.eye8 *.eye7 sub sgn 0 floor mult *.eye8 *.eye6 sub sgn 0 floor mult *.eye8 *.eye5 sub sgn 0   floor mult *.eye8 *.eye4 sub sgn 0 floor mult *.eye8 *.eye3 sub sgn 0 floor mult *.eye8 *.eye2 sub   sgn ++ sgn mult *.eye8 *.eye1 sub sgn ++ sgn mult add -2 *.eye3 *.eye9 sub sgn ++ sgn mult *.eye3    *.eye8 sub sgn ++ sgn mult *.eye3 *.eye7 sub sgn 0 floor mult *.eye3 *.eye6 sub sgn 0 floor mult
 *.eye3 *.eye5 sub sgn 0 floor mult *.eye3 *.eye4 sub sgn 0 floor mult *.eye3 *.eye2 sub sgn ++ sgn   mult *.eye3 *.eye1 sub sgn ++ sgn mult add 2 *.eye7 *.eye9 sub sgn ++ sgn mult *.eye7 *.eye8 sub     sgn ++ sgn mult *.eye7 *.eye7 sub sgn 0 floor mult *.eye7 *.eye6 sub sgn 0 floor mult *.eye7 *.eye5  sub sgn 0 floor mult *.eye7 *.eye4 sub sgn ++ sgn mult *.eye7 *.eye2 sub sgn ++ sgn mult *.eye7     *.eye1 sub sgn ++ sgn mult add -1 *.eye4 *.eye9 sub sgn ++ sgn mult *.eye4 *.eye8 sub sgn ++ sgn mult *.eye4 *.eye7 sub sgn ++ sgn mult *.eye4 *.eye6 sub sgn 0 floor mult *.eye4 *.eye5 sub sgn 0 floor mult *.eye4 *.eye3 sub sgn ++ sgn mult *.eye4 *.eye2 sub sgn ++ sgn mult *.eye4 *.eye1 sub     sgn ++ sgn mult add 1 *.eye4 *.eye9 sub sgn ++ sgn mult *.eye4 *.eye8 sub sgn ++ sgn mult *.eye4    *.eye7 sub sgn ++ sgn mult *.eye4 *.eye6 sub sgn ++ sgn mult *.eye4 *.eye5 sub sgn 0 floor mult
 *.eye4 *.eye3 sub sgn ++ sgn mult *.eye4 *.eye2 sub sgn ++ sgn mult *.eye4 *.eye1 sub sgn ++ sgn     mult add 0 *.eye5 *.eye9 sub sgn ++ sgn mult *.eye5 *.eye8 sub sgn ++ sgn mult *.eye5 *.eye7 sub     sgn ++ sgn mult *.eye5 *.eye6 sub sgn ++ sgn mult *.eye5 *.eye4 sub sgn ++ sgn mult *.eye5 *.eye3   sub sgn ++ sgn mult *.eye5 *.eye2 sub sgn ++ sgn mult *.eye5 *.eye1 sub sgn ++ sgn mult add .focuseye store
stop

cond
 *.type .neuron =
start
 *.timer *.numties mod *.neuronid add .readtie store
 *.tin4 .tout4 store
 *.tin6 .tout6 store
 *.tin7 .tout7 store
 *.tin8 .tout8 store

 clearbool
 'Insert data to be transmitted here

stop

cond
 *.type .actuator =
start
 1 .readtie store
 50 .shareshell store
 *.tin4 .venval store
 *.tin6 .vloc store
 *.venval sgn abs 100 *.venom sub mult .strvenom store
 *.tin7 *.shell sub .mkshell store
 *.tin8 .ploc store
 *.ploc sgn abs 100 *.poison sub mult .strpoison store
stop

cond
 *.in1 *.out1 !=
 *.eyef 0 >
start
 *.refxpos *.refypos angle .setaim store
 *.veldx .sx store
stop

cond
 *.in1 *.out1 !=
 *.eye5 40 >
start
 32 .shootval store
 -6 .shoot store
stop

cond
 *.type .spore =
 *.nrg 20000 >
 *.eye5 30 <
start
 .brain .type store
 .neuron .out3 store
 .current inc
 *.current .out4 store
 50 .repro store
stop

cond
 *.type .brain =
 *.nrg 6000 *.numties 1500 mult add >
 *.eye5 30 <
 *.numties 6 <
start
 .current inc
 *.current .out4 store
 .neuron .out3 store
 50 .repro store
stop

cond
 *.type .neuron =
 *.nrg 8000 >
 *.structure .tip =
 *.eye5 30 <
 *.tout9 3 <
start
 .normal .structure store
 *.neuronid .out4 store
 .neuron .out3 store
 50 .repro store
stop

cond
 *.type .neuron =
 *.nrg 8000 >
 *.structure .tip =
 *.eye5 30 <
 *.tout9 2 >
start
 *.neuronid *.numties add .out4 store
 .sensor .out3 store
 50 .repro store
stop

cond
 *.eye5 30 >
 *.nrg 8000 >
 *.numties 1 >
start
 1 .out4 store
 .actuator .out3 store
 50 .repro store
stop


cond
 *.type .brain =
start
 *.timer *.current mod ++ .readtie store
 *.tin4 .tout4 store
 *.tin6 .tout6 store
 *.tin7 .tout7 store
 *.tin8 .tout8 store
stop
Title: The amazing Antbot
Post by: Moonfisher on October 18, 2008, 09:49:58 AM
Just have each bot broadcast the last place it saw the queen and the time it saw it. So even if a bot is blocking your view you'll know the queen is on the other side. If the queen also uses epigenetics to transfer it's position no newborns any change in position should quickly be updated to all bots.
So basicaly if you see a bot with fresh information about the queen (If you have more than one queen just give it an ID or something, so they know they're from different hives) then update the information and broadcast that instead. And don't forget that the timer will reset at times, messing up your priority, you could either restrict updating of the queens position to information within a certain distance to the timer value you're holding or lots of other stuff like that.
But the point was moslty that it needs to be dynamic and less specific in it's behavior... if you can't find the queen or anyone to tell you where she is, then just roam around the area where you last saw it, if you still can't find it just go rogue and try to form a new hive, or join another hive if you want that to be possible...
But mainly what I ment was that if you know the queen is at X12,y123 and you just go to that spot and don't find it, it doesn't mean it's not around there somewhere and staring at that specific location won't help you find it... so to come up with a simple example, if you don't see the queen just accelerate towards the coordinate and disable turning, this way you'll shoot past the point, then after a short delay, adjust the angle to aim at the coordinates again and then lock rotation again once the distance to the location is below X.... this way you'll overshoot in random directions in the area you last saw the queen... that alone would increase chances of finding it...
Just saying that eratic confucing behavior can often hold a lot of advantages, even when fighting you can gain an advantage from having odd movement patters because the oponent will have a hard time following you in a fight.
But it's especialy usefull in this case where you loose track of something... then often the best way to find it is dumb luck.
Title: The amazing Antbot
Post by: jknilinux on October 18, 2008, 02:09:32 PM
Wait, I'm confused. Is it still a learning hydrozoan or is it going to be an antbot?

By the way, I have an idea- We could make an amoeboid that moves without using .up, .down etc... by using pseudopodia and increasing/decreasing tie length. When it finds algae, it surrounds them with its pseudopodia just like a real amoeba.
Title: The amazing Antbot
Post by: bacillus on October 18, 2008, 06:49:35 PM
Quote from: Moonfisher
Just have each bot broadcast the last place it saw the queen and the time it saw it. So even if a bot is blocking your view you'll know the queen is on the other side. If the queen also uses epigenetics to transfer it's position no newborns any change in position should quickly be updated to all bots.
So basicaly if you see a bot with fresh information about the queen (If you have more than one queen just give it an ID or something, so they know they're from different hives) then update the information and broadcast that instead. And don't forget that the timer will reset at times, messing up your priority, you could either restrict updating of the queens position to information within a certain distance to the timer value you're holding or lots of other stuff like that.
But the point was moslty that it needs to be dynamic and less specific in it's behavior... if you can't find the queen or anyone to tell you where she is, then just roam around the area where you last saw it, if you still can't find it just go rogue and try to form a new hive, or join another hive if you want that to be possible...
But mainly what I ment was that if you know the queen is at X12,y123 and you just go to that spot and don't find it, it doesn't mean it's not around there somewhere and staring at that specific location won't help you find it... so to come up with a simple example, if you don't see the queen just accelerate towards the coordinate and disable turning, this way you'll shoot past the point, then after a short delay, adjust the angle to aim at the coordinates again and then lock rotation again once the distance to the location is below X.... this way you'll overshoot in random directions in the area you last saw the queen... that alone would increase chances of finding it...
Just saying that eratic confucing behavior can often hold a lot of advantages, even when fighting you can gain an advantage from having odd movement patters because the oponent will have a hard time following you in a fight.
But it's especialy usefull in this case where you loose track of something... then often the best way to find it is dumb luck.

This is what the current version does.


Quote from: jknilinux
Wait, I'm confused. Is it still a learning hydrozoan or is it going to be an antbot?

By the way, I have an idea- We could make an amoeboid that moves without using .up, .down etc... by using pseudopodia and increasing/decreasing tie length. When it finds algae, it surrounds them with its pseudopodia just like a real amoeba.
You can try if you want   . I already tried and failed miserably, I have no idea how tie physics works, what I do know is just certain patterns evolved from trial and error.
Title: The amazing Antbot
Post by: jknilinux on October 21, 2008, 07:34:41 PM
Quote from: bacillus
Quote from: jknilinux
Wait, I'm confused. Is it still a learning hydrozoan or is it going to be an antbot?

By the way, I have an idea- We could make an amoeboid that moves without using .up, .down etc... by using pseudopodia and increasing/decreasing tie length. When it finds algae, it surrounds them with its pseudopodia just like a real amoeba.
You can try if you want   . I already tried and failed miserably, I have no idea how tie physics works, what I do know is just certain patterns evolved from trial and error.

Could you post what you've done so far? Maybe I could run it in an evosim with voluntary movement disabled and let evolution take care of the rest.
Title: The amazing Antbot
Post by: bacillus on October 21, 2008, 11:47:26 PM
scrapped it months ago, sorry.
I think Cranium is not going to work as well as I hoped it would, and seeing I have a short attention span and have unfinished projects all over the place, I'm focusing on rewriting an antbot I scrapped before my current version.
Title: The amazing Antbot
Post by: jknilinux on October 23, 2008, 11:45:53 PM
Well, even if you only have 5 and a half lines of code, it might still give me ideas.

And what are your plans for the new (old) antbot?
Title: The amazing Antbot
Post by: bacillus on October 24, 2008, 12:13:15 AM
Nothing fancy, really, and didn't work properly either; rather than the hive randomly collecting veggies, bots assign themselves to a veggie and ferry the nrg from one source.
Title: The amazing Antbot
Post by: Welwordion on October 24, 2008, 01:53:57 PM
Regarding the amoeba: Some tie experiments that work with  a cyclus of contradiction and extension where as the start(generation 1) fixes when contradicting and the end(generation x) fixes when extending.
http://www.darwinbots.com/Forum/index.php?...ost&id=1051 (http://www.darwinbots.com/Forum/index.php?act=attach&type=post&id=1051)
http://www.darwinbots.com/Forum/index.php?...ost&id=1052 (http://www.darwinbots.com/Forum/index.php?act=attach&type=post&id=1052)

Oh and although it did not work out I will attach my try on building the amoeba, my thought was that an bot spotting food would send an impulse outward, the  strength(number) of the impulse would be increased with each "ring" around the starter bot these rings would then substitue for the generations used in the above bots.
Title: The amazing Antbot
Post by: Moonfisher on October 27, 2008, 01:04:05 PM
I know I've started on a multibot twice, but never got anywhere... (3 time if you count the time I only got to making the spread and ended up with fruitflies).
I'm not sure exactly how many of the things discussed have been implemented. (But since I'm not helping, I can't complain, I can only apreatiate all the stuff that has been done so far)
I know turning is problematic since the ties angle is relative to your aim, there was some talk about being able to unlock your aim and fix the tie relatively to the other ties.
Also when forming new ties it seems to modify the angle of your existing ties... so building complex shapes is pretty hard, generaly bots with more than 2 ties seemed very hard to get working.
And ofcourse you can only use one of your ties per cycle, making larger complex organisms a lot slower when it comes to comunication, or atleast slower than one could hope for. But I think Eric was considering taking a look at that aswell as the focus eye... (Personaly I think switching the .focuseye would make eye systems less interesting, but for .tienum it would allow some more interesting bots.)

I think the only topic I haven't seen discussed is the tie angles changing with new ties...

Other than that I think ties are faily manageable, but kind of hard to figure out though...
There should probably be a new guide for ties, or maybe Eric could post the code for the newest version of Seasnake, that could help shine some light on a few things

But with the current setup I find it hard to build a realy strong MB using more than 2 ties per cell... or MB tie feeders for that matter. (Tie fighters was originaly a MB, but every time it killed something the tie angles got all messed up, and aiming and reproduction was often a problem, so in the end I just produced 2 offspring for each attack...)
Title: The amazing Antbot
Post by: Welwordion on October 27, 2008, 01:25:42 PM
Well yes multibots are extremely difficult and I can not even make normal bots efficient enough to compete with the other bots, just have no talent for that and there were quite some failed MB projects from me however I must say that the bot I have attached before was not intented to have a defined shape thats what beeing an amoebais about however I can show you atleast one  specific defined MB shape I made , actually my test bot was supposed to be a study of a possible movement systems of this form.

Well and regarding the focuseye story, its what my beholder system builds on, 360 degree vision that remembers  and ignores friendly  targets under the condition they do not move to fast, well atleast its supposed to but like I said in  http://www.darwinbots.com/Forum/index.php?showtopic=2981 (http://www.darwinbots.com/Forum/index.php?showtopic=2981) for some reason eye9 disbehaves in this regard and this system is really important for my current bot designs   (swarming behavior and MB can profit from ignoring friends or knowing where are friends if you need to look for information from them)
Title: The amazing Antbot
Post by: bacillus on October 27, 2008, 11:59:31 PM
Quote from: Welwordion
Regarding the amoeba: Some tie experiments that work with  a cyclus of contradiction and extension where as the start(generation 1) fixes when contradicting and the end(generation x) fixes when extending.
http://www.darwinbots.com/Forum/index.php?...ost&id=1051 (http://www.darwinbots.com/Forum/index.php?act=attach&type=post&id=1051)
http://www.darwinbots.com/Forum/index.php?...ost&id=1052 (http://www.darwinbots.com/Forum/index.php?act=attach&type=post&id=1052)

Oh and although it did not work out I will attach my try on building the amoeba, my thought was that an bot spotting food would send an impulse outward, the  strength(number) of the impulse would be increased with each "ring" around the starter bot these rings would then substitue for the generations used in the above bots.
Do you mean contracting, or is it a paradox-bot?  
Title: The amazing Antbot
Post by: Welwordion on October 28, 2008, 01:48:22 AM
XD ups vocabulary mistake and quite a funny one as you pointed out hehehe  
(Now I try to imagine what a paradox bot could ? Negating the existence of the enemy by involving it in a paradox? Existing while beeing dead at the same time? Going in two direction at the same time?  although the last two rather soind like a quantum bot)
Title: The amazing Antbot
Post by: Numsgil on October 28, 2008, 03:52:29 PM
It would probably shoot an info shot into the .amidead sysvar.  The enemy bot would then read it and be caught up in a paradox and explode.
Title: The amazing Antbot
Post by: bacillus on October 28, 2008, 11:41:54 PM
While an an unserious note, is this coincidence?
Quote
To be king, Numsgil did in Blog, who did in Unkful, who did in Viddle, who did in Loll, who did in Alrok. . . .
Title: The amazing Antbot
Post by: Numsgil on October 29, 2008, 02:22:20 PM
Nope, that's where the name came from   I've been going by the s/n Numsgil since middle school, when I needed an AOL account without numbers at the end.  The funny thing is that if Numsgil had been taken, I would have gone with blog
Title: The amazing Antbot
Post by: Peter on October 29, 2008, 03:28:48 PM
Quote from: bacillus
While an an unserious note, is this coincidence?
Quote
To be king, Numsgil did in Blog, who did in Unkful, who did in Viddle, who did in Loll, who did in Alrok. . . .
Can someone tell me where this comes from?
Title: The amazing Antbot
Post by: Numsgil on October 29, 2008, 05:05:59 PM
From this (http://sales.starcitygames.com/cardsearch.php?singlesearch=Goblin+King).
Title: The amazing Antbot
Post by: bacillus on October 29, 2008, 11:53:22 PM
It just caught my eye while delivering an order for a few friends of mine (they paid the postage for my order as well, which is about $12 US ATM   ).
Anyway, did something change radically in the tie physics somewhere between 2.43.1k and 2.43.1L? I copy-pasted the veggie-dragging code from antbot, and when the ants try to aim while tied to a veggie they get hurled in some random direction. I'm pretty sure that's the problem anyway because nothing else makes sense.
Title: The amazing Antbot
Post by: Peter on October 30, 2008, 05:39:27 AM
Isn't the best way to test the same code in both versions. That way you will know sure if it is the version, or did you already try that.

I always knew numsgil was a goblin.
So you play magic, I used to play that too.
Title: The amazing Antbot
Post by: Numsgil on October 30, 2008, 01:51:56 PM
Yeah, I was big into it when I was like 13.  And when I was 19 in college, I did some online tournaments (didn't do very well).
Title: The amazing Antbot
Post by: jknilinux on October 30, 2008, 06:33:17 PM
Quote from: Welwordion
Well yes multibots are extremely difficult and I can not even make normal bots efficient enough to compete with the other bots, just have no talent for that and there were quite some failed MB projects from me however I must say that the bot I have attached before was not intented to have a defined shape thats what beeing an amoebais about however I can show you atleast one  specific defined MB shape I made , actually my test bot was supposed to be a study of a possible movement systems of this form.

Well and regarding the focuseye story, its what my beholder system builds on, 360 degree vision that remembers  and ignores friendly  targets under the condition they do not move to fast, well atleast its supposed to but like I said in  http://www.darwinbots.com/Forum/index.php?showtopic=2981 (http://www.darwinbots.com/Forum/index.php?showtopic=2981) for some reason eye9 disbehaves in this regard and this system is really important for my current bot designs   (swarming behavior and MB can profit from ignoring friends or knowing where are friends if you need to look for information from them)

Welwordion-

But in that link you said you fixed it, right?
Title: The amazing Antbot
Post by: Drognan on January 03, 2010, 10:10:33 AM
Hey, sorry to bump in to old topic, but I am interested what happened from your antbot bacillus?
Title: The amazing Antbot
Post by: bacillus on January 03, 2010, 07:58:06 PM
I tried building a better version of it, which turned out to be very unstable (you may notice some unwanted behavioral problems with the queen.) The I lost the last stable version    and lost interest   ...
...anyway, I found making multibots so much more fun, and started working on a branching one (Hydra is the strongest one so far I think). Then I stopped for about a year as I went into study overload, began writing my own 3D fractal generators which kept me busy for ages (Hypercomplex numbers have hundreds of vague and arbitrary definitions), and recently rediscovered DB. I tried making a good evosim which has never previously worked for me, but now that you mention it, I might try and fix this bot.