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.


Topics - rsucoop

Pages: [1] 2 3
1
Bugs and fixes / Erro 76
« on: April 27, 2008, 01:08:36 PM »
When I go to internet mode, it gives me runtime error 76 and then crashes. When I exit, it gives me a run time error 7 and crashes.

2
Untagged bots / Masterl 2nd Installment to the Multibot Brain
« on: April 27, 2008, 12:51:25 PM »
'The Master Left
'2nd Installment to the Brain theory

def timer 40

cond
*.robage 1 =
start
.tie inc
*.myeye .tout10 store
*.myshoot .out4 store
stop

cond
*.eyef 0 = or
*.refshoot *.myshoot = and
*.out4 *.in4 !=
start
*.timer 9 mod 4 sub .focuseye store
stop

cond
*.eyef 50 >
*.in4 *.out4 !=
start
*.refvel .vel store
*.refxpos *.refypos angle .setaim store
0 .focuseye store
*.nrg 10 div .shootval store
stop

cond
*.eyef 40 >
*.in4 *.out4 !=
*.pain 10 >
*.refshoot 0 >
start
-1 .shoot store
stop

cond
*.numties 0 =
*.tiepres 0 !=
*.tout10 *.tin10 !=
start
*.tiepres .deltie store
stop

cond
*.eyef 0 >
*.refslime 0 =
start
.tie inc
stop

cond
*.eyef 0 = or
*.out4 .in4 =
start
*52 *53 angle .setaim store
stop

'Tie Reader

cond
start
.timer inc
*.numties mod *.timer sub .readtie store
40 .fixlen store
34 .stifftie store
*.aim .fixang store
stop

cond
*.tout10 = *.tin10
*.eyef 0 = or
*.out4 *.in4 =
start
*.tin1 52 store
*.tin2 53 store
*.tin1 .tout1 store
*.tin2 .tout2 store
stop

cond
*.trefnrg *.nrg >
*.tin10 *.tout10 !=
start
-1 .tmemloc store
-1000 .tmemval store
stop

cond
*.eyef 0 =
*.nrg 6000 >
start
40 .repro store
stop

cond
*.eyef 0 >
*.nrg 4000 >
start
-60 .sexrepro store
-8 .shoot store
stop

cond
*303 1 =
start
60 .sexrepro store
stop

'Turn to enemy

cond
*1256 *.shang sub *.refxpos *.refypos angle %=
start
*1256 *.shang sub .shootaim store
*.nrg *.pain div .shootval store
-1 .shoot store
stop

cond
*.out4 *.in4 =
start
60 *.aim add .setaim store
stop

cond
*.out4 *.in4 !=
*.eyef 10 >
*.refeye *.myeye !
*.refshoot 0 >
start
*.refxpos .tout1 store
*.refypos .tout2 store
*.refxpos *.refypos angle .setaim store
-1 .shoot store
stop

cond
*.pain *.nrg <
start
*.maxvel *.vel sub .up store
*.eyef rnd 100 .aimsx store
stop

cond
*.nrg 5000 >
*.body 1000 <
start
40 .strbody store
stop

cond
*.nrg 4000 <
*.body 100 >
start
50 .fdbody store
stop

end

This bot forms a circle, and then devours anything near it. The tie communications keep the group singleminded on a task. Enjoy.

3
F1 bots / The New Invasive Species (Moi Tie Plants)
« on: April 25, 2008, 10:28:51 PM »
This is a very unstable bot if it does not form a cluster, and it only does it under perfect conditions. Start them relatively close together, F1 condtions with thin fluid physics, pond mode and moon gravity; this will produce the greatest yield in clusters, but cluster sizes will collide in small fields, so best for larger fields. Once together, they form a great defensive and offensive team, carrying a selfdestruct virus and a nice shot plan, not very effective at combat, but very hardy and fast paced, has random steerin built in to foul up sharpshooters and tankers. If theres a massive kill off, the mutations will eventually give you a cluster, and no matter what, it will produce a cluster. After some time the smaller faster ones break ties and fly off uncontrolably. Much room for evolution and the genes are generally stable, producing about 200 generations in 500-900 cycles.

'The dual-action plant

Code: [Select]
cond
*.robage 1 =
start
*51 inc
51 .tie store
stop

cond
*.refnrg 4500 >
*40 3 <
start
70 .repro store
40 inc
stop

cond
*.robage 20 =
*.numties 0 >
start
*51 .readtie store
40 .stifftie store
50 .fixlen store
1 52 store
stop

cond
*.numties 0 >
*.eyef 80 >
start
*.maxvel -1 mult .up .vel store
stop

cond
*.rdboy 0 *.numties add =
start
*.setboy inc
stop

cond
1 *52 =
start
50 .sharenrg store
50 .sharewaste store
stop

cond
*40 2 >
*.eyef 0 !=
start
*51 .readtie store
*.tieang .setaim store
-60 .sexrepro store
-8 .shoot store
stop

cond
*303 1 =
start
60 .sexrepro store
.out2 inc
stop

cond
*.pain 0 <
*.refeye *.in1 !=
*.body 500 >
start
*.body 4 div .shootval store
-6 .shoot store
stop

cond
*.eyef 0 %=
*.pain 3 <
start
12 rnd add .up .vel store
stop

'memory functions

cond
*.tin2 0 > or
*.in3 0 >
start
*.nrg 10 div .strbody store
stop

cond
*.numties 0 >
start
*.tiepres 52 store
*52 .readtie store
stop

cond
*52 *.readtie =
start
.vel .tmemloc store
*.vel .tmemval store
stop

cond
*52 *.numties >
start
0 52 store
stop

cond
*.refeye *.myeye !=
*.eyef 0 >
start
*.eyef .tout4 store
stop

cond
*.tin4 *.eyef >
start
*.maxvel rnd 1 .vel store
stop

'eye stuff

cond
*.out1 *.myeye !=
start
*.myeye .out1 store
stop

cond
*.eyef 0 >
*.in1 *.refeye !=
start
*.nrg 4 div .shootval store
-1 shoot store
stop

cond
*.eyef 0 >
*.in1 *.refeye !=
start
*.refxpos *.refypos angle .setaim store
-30 *.eyef add .dn .vel store
stop

cond
*.eyef 0 >
*.in1 *.refeye =
start
*.refxpos *.refypos angle .setaim store
.tie inc
2 *.aim add .setaim store
stop

cond
*.shflav 0 !=
*.shflav -2 !=
*.pain 10 >
start
1256 *.shang sub .aimshoot store
160 .shootval store
*.setaim .shoot store
0 .shflav store
stop

cond
*.nrg 700 >
start
*.genes rnd 1 .mkvirus store
stop

cond
*.vtimer 1 =
start
70 .vshoot store
stop

end

Very simple and somewhat stupid bot, but when crossed with the guardian eye system, it handles multiple eyes better. I would like this bot to be teswted and put in the plant section. Also, note the inherent safety switches to prevent some stupid actions, the bot only needs to expand its memory functions and we have possibility for communication.

Crutial update, fixed reproduction genes, were really ineffective earlier, watch out for cancerous strands, they often survive the breeding cost with one large root system.

Edit: Ok, fixed the *.numties problem, it was supposed to write it to 52 for readtie use.

FInal update: Virus fixed to simply copy genetic code to spread deviation throughout a species. TIe system works.

4
Bot Tavern / Slim Evo the Finale
« on: April 25, 2008, 12:53:38 PM »
So I have run down the best possible flow for a working mind sort of. It uses two itself, and one other species that is harmless or can be harvested from or to. The idea is to craete a left and right side, the left takes all information from eyes in both bots using the tin/out sysvars. The right handles the hard thought routines. In order for the two to act in harmony in thought function (meaning they were thinking relevant thoughts, or focusing on a bot that could be a threat or food), I had to create a virtual ram (random access memory) and a bus switch. Its simple really (as any mutation allows it to continue to function), use a random number or a timer that resets every so many times using a mod; then compare it with another using the binary functions (or bitwise), use inverse of and for high switches, meaning the bot acts when 1 is not returned, or inverse of or for low switches. I believe I have explained how this works in earlier posts with a switch. The Bus Switch was a new idea, but it works mroe like a processor. You have the 10 out/in for ties, so you 10^10 possibilities for an outcome using all in one switch, so I broke them into groups of 3 and another one called the overwrite command (prevents reseting values). So the entire memory of both the left and right are store in the right, but is only useful to whatever the left wants to do. If it gets hungry, the right tries to remember where they last saw food, or a predator to determine if its worth going there, and as each attempt is returned 0, a value is stored to overright the attempt only when the process should deem it so. In order to proper cycle for the right, I had to create a reset point in the begining, and end with an overwrite to avoid a double reset. The next part was to create a set of values for each side to allow for storage of information, and quick access for both. I think I can post some of its genes by tommorrow at best.


 But then point mutations came into mind, and the idea of a bot with ADD became relavent. If the bot recycled its memory twice in a row, both sides would lose the harmony of thought, and one side would become slowed down. Not sure what the best way to put in a mechanism to prevent this, but I'm thinking it will be another addition to the bus-switch using an info shot and tval comparison.

5
Suggestions / Name Change
« on: April 25, 2008, 01:02:52 AM »
Ok, I have a website that I need for a charity event, and when I do a search for rsucoop.org, this site with my profile is listed #2. Can someone please change my username, just like a 1 to it? Thank you.

6
Suggestions / Implementing Sound
« on: April 11, 2008, 01:06:38 AM »
Craete a point and call it the mouth, say its right where the eye/gun is. Everytime a value is stored in it other than 0, a curved line is shot forward at speed of something. When it hits another bot it does 2 different things. If sound hits back, only half of the information can be heard, if it hits the front it hears all the information. The curved packet would require a fwe out vars, so they can be read when hit. I say 20. But limit 10 of them to 1s and -1s (or 0) only. This would give the ability to create language for greater distances, but should be somehow linked to multi-bots. Perhaps upon collision both out vars in each bot are stored into the packet of the curve, and shot out of either bot with the 1 in the mouth var. I think this would open the doors for a truely intelligent species.

7
Darwinbots3 / Nutrients, Vitamins and Minerals
« on: March 04, 2008, 04:19:03 PM »
Perhaps a method could be introduced to emulate the presence of nutrients, etc. Their levels within the field can be set in the settings, this could allow bots to change certain atributes, such as quality of vision, ways to eleminate certain amounts of pwaste, etc. They would have to be put into veggies with individual levels of the three categories, and would be necessary for any improvements in lonjevity within the simulation. They also be used as antivruses, antivenom, antipoison and better tie holds. Perhaps even, it would be helpful to add a new shot(s) to the game to allow bots to transfer these nutrients/vitamins/minerals. Some would build up, some would stay shorter than others. What do you think?

8
Suggestions / New vel command
« on: March 03, 2008, 12:18:53 AM »
I'm in favor of adding a new velocity command, if it doesn't already exist, vel .aimv sets the velocity vector to the current aim of the bot. This could really help work some of the mechanics for movement later; lateral movement could be a modded command, using a range with 90 degrees of motion, using a 4-bit system. Or perhaps even the entire velocity system could be reduced to just this one command to simplify things. Allow a velocity stack to be created, this would make for complex turns in conditionless bots.

9
Off Topic / Mississippi River Run for Cancer
« on: February 26, 2008, 01:42:40 PM »
The RSU Co-Op have put together a charity event unlike any other, in that it demands so much from its participants. Details can be found at http://rsucoop.org or http://rsucoop.eventbrite.com.

This event will cover 6 states, 1000+ miles and will take 30-40 days to complete it. Wile I;m sure the kind of people on this forum are not into that sort of thing, feel free to spread the word to other enthusists of canoe adventures.

10
Suggestions / Pond Mode Expanded
« on: February 25, 2008, 12:23:10 PM »
I'm sure this is already in use, but I've not seen it occur in DB. What if velocity changes effected all other bots; I.e. a direction away from a bot with a lot of velocity will push the water behind the moving bot, thus affecting another bot. Essentially something like Thai Chi would be born, a bot could fix to a spot and just use velocity vectors to push opponents away from them. What does everyone think about that?

11
Tips and Tricks / Multibot Conspec for Head and Tail modes
« on: February 21, 2008, 12:41:44 AM »
Start with your basic conspec, say dnalength; this is out2. Set out1 to some random value between 32000 and 0, this is your bot ID. Whenever you encouter a bot of higher ID # it sets to stage tail. It remembers that the tie is the head, and will always look towards it unless something comes from behind. The system is bullet proof, should two higher numbers tie to a lower number, a tie read would show that it cant have two higherups, so it will delete the tie. Since it only has to chage the focuseye the bot never has to turn. The advantage is that the tail will default to 50%, since the limit of their knowledge of clan is 10 bots, so only ten possibilities arrise, and they have to follow an order to work. So any mistake is disregarded and attempted again, later by another generation or friend. Robot age could work but the numbers always move, so storage of that information would have to be updated each cycle or so. An Id system is static and has no real bearing on the bot itself beyond HEad and Tail use.

12
Simulation Emporium / Slim Evo 4 pre trial:
« on: February 20, 2008, 11:51:05 PM »
A virus I put in the SLim Evo spread all other robot genes. THe algea I used reproduced sexually under simple conditions. THe introduction of the virus spread the sex genes in the plant, causing a massive cancerous clan.

[a href=\"http://img235.imageshack.us/my.php?image=slimevo32ml3.jpg\" target=\"_blank\"]

13
Bot Tavern / Universal Language (Needs only two ports)
« on: February 19, 2008, 06:32:52 PM »
Since any of the 5 outs could contain the conspec for that species, a simple check for a dnalen conspec system would be:

Code: [Select]
*.refeye *.refpoison add *.refmulti *.refshoot add *.reftie *.refvenom add add add
It can bring you an answer within (+/-) 5%-7%, but again, the bot designs include completely customized genes taht account for a lot more somtimes. A comparison run on all outs would reveal if there even is a dna conspec in use by the bot. From there even easier checks on the outs of the bot would show if it even had one easily identifiable. For those who find another way to do conspec recog, I salute you, but I do not think too many bots dont use the conspec with some piece of dna information; becuase numbers preset change with mutations. So if there are no forms of the conspec from the outs, we can assume that it is in fact a veggie, or neutral or enemy; but we know now its definitely not social. We then play the respectable card of standing our ground, the observing bot would tag along, but maintain a distance, any time a bot came between them, it would recall the last palce the bot was and look for it. If lost the bot is to be remembered in partial, and used later for immediate attempts to identify the next bot without any outs but not a veggie. The ability of the bot to use its memory is so much, that I canot begin to develop such a bot until the release of DB 3, or the bizzarre and rare addition of Tie-Custom-Memory in the 2.4 series. As it observes more and more bots, it will begin to quickly know who is neutral and not worth bothering, and who must be destroyed, and those who will share. A distinct line must be established for the memory of its own consepcs, those who respond to its own pre-built communications, and those capable of their own pre-built communications. Theoretically, it would not matter what numbers meant what for a bot, the Multi-Communicator could record every in from every in location for a finite number of bots, and use this information to translate its own language system into theirs. An individual Single-Bot could be observed by the 'head' of the multi-bot and a tendancy/behavior could be observed and remembered point by point every 3 cycles (the more cycles, less accurate longer the behavior; the less cycles the more accurate less space). The logic for this is simple, Boolean in form; I can help those interested, as it would bring us closer to Universal Conspec recognition. But to start, I say design your own language.

The function of most language with a stranger is basic, Q and A. I see a new bot and I'm older, I say 777? (Are you a Slim Evo?) It Responds with out2 - 777 meaning Yes. Liars are easily caught because the out2 is openly available for reference. Say I want to know how many others its met (15?). It responds with some memloc containing total encountered new bots. If he knows more bots, it might be better to know some of them, but we only want the true friends. So we say family (16?). It would then list every bot in its clan it knew for up to 10 bots, so every response would be shifted to a new location. So you can see how a normal bot conversation looks like. The esaiest way to achieve language is to use two seperate sources for in and out, like hearing and speaking. Crossovers for a single source might confuse a bot. So I used out4 for answer and out5 for question. But with the use of the memory stored for what a species uses for commands is stored as well, a lot of this will require trial and error on behalf of the Multi-Bot, but it will eventually learn. Sending simmilair information into the same outs as the target to see if a change happens, then it would read from the memory on in/out and try for a result. Each result would be stored with a -1 for success bad 0 for nothing 1 for success good.  (So EricL, it may be best to use 3000 variables in the tie memory, so that we ca really make some intelligent bots/ or 1000 variables for three categories of memory  ).

If anyone would like to use a universal language, I have the Slim Evo 4's language made up, but it has some 'special' species only commands. I will release the translation genes once I have them built, the design is on paper, but DB 3 is too.

Information on a species built before DB 3 would be identifiable with this system, so all bots could theoretically be used as a friend by Slim Evo 4. By properly disguising itself it would allow itself to trick some enemies, the problem may rise that it turns on a friend. Some detailed Interspecies Communications would have to be established, since not every robot was programed to communicate beyond a command of only 5, with no real conversing involved. Over 30 timers would have to be used, for the majority of the memory used will be time-based and dependent. One feature I have recently come across was the idea of emotions and how they effect group behavior in reproduction. In Nature this is a wonderful survival tool. Say a bot was recognized as family, and it was last seen at age 500, and its been 1250 (or 3 times - .5 times) that many cycles without seeing that bot, it is safe to assume that the bot has died, this would cause many of us to become upset. So the idea of identity becomes important; for every cycle experienced with a friend or family would grow the happiness levels significantly. So we establish a mood value: + for happy - for sad and a set range for neutral within both confies of happy and sad. The loss of family outways the lost of a friend, so the effect is more dramatic, but the effect of believing and seeing are important. So assume the last time you so the bot with less than 300 energy and it was displaying distress for help and you failed, the bot died making a greater effect towards sad. These basic principles lead us towards an eveolutionary process that relies on emotional logic. Companionships are formed, clan relations already exsist in the current Slim Evo, but the pull towards a particular veggie, or tie, or location. I could see these genes being the founding parts of a new organism that has yet to happen in DB. Since we have sexrepro working, inter-species relations are possible, meaning that a mating call could be identifed and used to create a better bot. The more multi-friends, the more memory for the group.

14
Suggestions / Tie-Only Custom Variables
« on: February 17, 2008, 10:38:47 PM »
As the demand for more custom variables grows, and multi-bot necessity for tie values to be read and transfered; I propose the following. Create 50 variables that only exsist inside a tie, that way a multibot could push more than one value through the tie at once, store in the tie's memory. A bot could then read from any of the values stored in the tie at once, and would not directly affect the memory in the tied bot. Communications would be streamlined alot, suddenly a multi-bot could issue an order, and every cell would know it within 1 cycle per attached bot. One problem I do see, is that multiple ties means 50 * numties of infomration that must be created, so a multibot would suddenly have a very large brain to work with. Maybe not 50 locations, but more than a dozen locatios to be effective for DB simulation.

15
The Gene depository / True Aiming using only physics
« on: February 15, 2008, 03:45:56 PM »
Trying to calculate shots using miniscule amounts of time makes aiming genes difficult to perfect, but take a look at this one I've developed for Slim Evo. It uses the idea of time, distance divided by speed (constant 40) and the angle method with a velocity vector adder. Hope you enjoy it, I have:

*.refxpos *.refypos angle .setaim store
*.refxpos *.refypos angle *.refaim *.refvel mult 40 *.refxpos *.xpos sub 2 pow *.refypos *.ypos sub 2 pow add sqr div mult 60 *.focuseye mult mult .aimdx store
*.refxpos *.refypos angle `(*.refaim *.aim sub abs mult) .aimshot store

`Note: the inserted piece I did not use, but may be helpful for a corrective shot procedure.

The aimdx is extremely accurate. The distance formula under 40 (speed of a shot) gives you time, multiplied by the angle by the focuseye angle half-point multiplied by theta (angle to the bot) and the bots vector; it leaves some room for mutations to improve upon it, but it works very well for me.

Pages: [1] 2 3