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 - MacadamiaNuts

Pages: 1 2 3 [4]
46
Suggestions / Ref sysvar command
« on: June 07, 2007, 01:50:41 PM »
I've been off of DB since I'm a bit dissapointed by the excessive amount of junk bots need to pile up to get some logical behaviour.

If it was for me, I would cut it down to 256 sysvars so almost all have some meaning; but since I guess that wouldn't happen, what if we let bots define their own sysvar reference? That, at least, would decrease the bias of the default distribution (remember that Five-O gene I found that did so many things at once, many evo bots would end repeating that gene).

546 1 ref would reference default sysvar 1 function from sysvar 546 (too).

.repro spam would be some of the favourite emerging genes. Highly evolved bots probably would create their own sysvar space with an optimal amount of meaningful memory locations.

47
Simulation Emporium / Spider bot
« on: March 30, 2007, 03:38:05 PM »
This is something I found long time ago... I didn't post it then but now I remembered I still got the sim saved, and it works on 2.43.

I tried once to save and rerun the spider bot, but it didn't work.


48
Evolution and Internet Sharing Sims / Help to set up a vegetable sim
« on: February 19, 2007, 04:20:14 PM »
Basically I would like to run a pond with vegetables only and age limit.

What I would like to do is that tied veggies collect waste at the bottom of the sim and send it to the sunny top to convert it into energy. Coding isn't the problem, but I don't even know how the waste conversion works (if it's related to light level), and how to set a waste rich floor. With corpses? A waste levels option would be nice, too.

49
Bugs and fixes / Sysvar set overflow
« on: February 08, 2007, 04:05:37 PM »
Well, I should have guessed it would happen, but in the bot console if you try to manually set a sysvar beyond integer range you get an overflow.

50
Single store / Nano (SS)(MacadamiaNuts)-02.02.07
« on: February 02, 2007, 06:09:43 PM »
Not a league bot. It doesn't kill veggies or other bots, but it tiefeeds, moves and reproduces with one store.

Code: [Select]
'name: Nano
'class: One Line Bot
'version: 1.02
'author: Macadamia Nuts
'description: Multipurpose gene developed from evolved zerobot DNA.

start
50 830 5 1 rnd mult sub 500 1 rnd mult sub 30 1 rnd mult sub 299 1 rnd mult sub store
stop

51
Bugs and fixes / Bot with huge shooting range
« on: January 23, 2007, 07:23:09 PM »
I'm sorry I haven't got the time to test it with the last buddy drop.

One of my zerobots found a way to somehow shoot 4x ranged shots.

That seems weird. Or I missed something about .shootval?

I saved the bot and reran it and it happened again. Funny thing is it wasn't selected for evolution.

[attachment=545:attachment]

52
Evolution and Internet Sharing Sims / Maca's Zerosim
« on: January 21, 2007, 09:39:07 AM »
Opening a separate topic for this...

These bots - I call them Five-O - evolved from a bot with a start, 400 zeros and a stop. They use a single gene with a dist operator and simple math to shoot, reproduce, tiefeed and rotate occasionally, among other obscure purposes.

I've been picking the best bots and restarting the sim several times to clean it. Settings are soft: waste threshold is -1 (there's enough chaos there to add even more), speed limit is 45, costs are dynamic and are mostly age based, plus a heavy penalty on bitwises and logicals to keep 'em off the code.  

Here's the most significant gene from the last bot DNA:

Code: [Select]
889 8 467 22 sub xor
 1 !=
 17 ^ -1 floor and
 rnd <
 *16 .shoot dec
 inc
 and
 7 xor
 dist -5 <
 start
 -6 | !%=
 mult and
 store
!=
 store
This gene stores the 445 value in all sysvars divisable by 5 (hence the Five-O name), including .tie, .repro, .aimdx and .sharenrg. Also stores 889 in .shootval (8), and fires a -1 .shoot (.shoot dec).

The most recent bots are storing huge amounts of poison through another memory pattern. I didn't spot yet the code doing that.

I made a zip ready to launch with my settings, four bots and the zero alga I'm using. Unzip all to (DB)/Robots/ExNihil, load settings and run.

[attachment=543:attachment]

53
The Gene depository / 1G reference
« on: January 19, 2007, 12:03:49 PM »
I thought it would be interesting if we post all the 1G codes for conditional operators.

I wonder if a 1G version of the code could be built so conditional operators worked like these math operations (nullifying the last stack value if not true), and there weren't any 'conds' 'starts' or 'stops', nor a boolean stack, just stores.

Telling from memory... I guess there may be simpler versions...

Usage: *value .sysvar x y (1G code) store

Example: -1 .shoot *.refeye *.myeye sub abs sgn mult store

If target has 4 eyes and me 3: sub (4 3) = 1; sgn(1) = 1; abs(1) = 1; mult (.shoot 1) = .shoot
If target has 1 eye and me 3: sub (1 3) = -2; sgn(-2) = -1; abs (-1) = 1; mult (.shoot 1) = .shoot
If target has 3 eyes and me 3: sub (3 3) = 0, sgn(0) = 0, abs(0) = 0; mult (.shoot 0) = 0

Code:

Equal: sub abs sgn 1 sub abs mult (or: sub abs sgn -- abs mult)

Not equal: sub abs sgn mult

X bigger than Y: sub sgn 1 sub sgn 1 add mult (or: sub sgn -- sgn ++ mult)

X smaller than Y: sub sgn -1 mult 1 sub sgn 1 add mult (or: sub sgn -1 mult -- sgn ++ mult)

X bigger than or equal to Y: sub 1 add sgn 1 sub sgn 1 add mult (or: sub ++ sgn -- sgn ++ mult)

X smaller than or equal to Y: sub 1 add sgn -1 mult 1 sub sgn 1 add mult  (or: sub ++ sgn -1 mult -- sgn ++ mult)

X beyond Y range: div sgn abs mult

X within Y range: div sgn abs 1 sub abs mult (or: div sgn abs -- abs mult)

54
Evolution and Internet Sharing Sims / Zip sharing?
« on: January 14, 2007, 09:55:35 AM »
I've been using often teleporters to keep a buffer of bots and avoid small sims dieing, stagnating or degenerating, and so I wondered if a bunch of those dbo's could be zipped and shared through e-mail or forum attachments and loaded/saved with teleporters to keep evolving them, specially for zerosims. This way:

- Pick one or several recent attachments, put them in a inbound folder so they load at start.
- Run the evo for 5 million cycles at least.
- Brush it with an outbound teleporter, pick 10 bots, zip them and attach them with details about the settings.

I know about the internet sharing options, but that needs an ftp server and hand conded bots can ruin all the running sims.

55
Short bots / T. Mosquito v1.03 (1G)(MacadamiaNuts)-14.01.07
« on: January 13, 2007, 10:47:10 PM »
Code: [Select]
'My first (posted) bot. Tested with 2.42.9s.

'name: Mosquito
'class: One Gene Bot
'version: 1.03
'author: Macadamia Nuts
'description: This bot uses ties for feeding with sharenrg. A nice offspring spreading 'guarantees tieing to all nearby targets. It's also a fast reproducer and it deletes virus. It uses 'venom shots in a nasty way to force other eyed bots to store huge amounts of venom.

start
*.in1 .out1 store
*.in2 .out2 store
*.refeye *.myeye sub abs sgn *.eye5 sgn mult 973 store
80 *.nrg 3000 sub sgn 1 sub sgn 1 add .repro mult store
107 *.nrg 3000 sub sgn 1 sub sgn 1 add .aimdx mult store
5 *.vel 20 sub sgn 1 sub sgn abs .up mult store
3 .tienum store
.sharenrg .tieloc store
1 .tieval store
*.body *.nrg 20 div sub .fdbody store
*.nrg 20 div *.body sub .strbody store
1 .strvenom store
*.nrg 2000 div sgn abs .strpoison store
*.nrg 750 div abs .mkslime store
*.nrg 2000 div abs .mkshell store
.strvenom .vloc store
1000 .venval store
.eye5 .ploc store
3 .tie *973 mult store
*.thisgene 1 add .delgene store
*.thisgene 1 sub .delgene *.thisgene sgn mult store
*.waste .shootval *.waste 100 div abs sgn mult store
-6 *973 .shoot mult store
-3 *973 .shoot mult *.refeye sgn mult store
-4 .shoot *.waste 100 div abs sgn mult store
*.tiepres .deltie *.tiepres 3 sub abs sgn mult store
*.eye9 *.eye1 sub sgn 60 mult .aimdx *973 mult store
*.eye2 *.eye8 sub sgn 50 mult .aimsx *973 mult store
*.eye7 *.eye3 sub sgn 40 mult .aimdx *973 mult store
*.eye4 *.eye6 sub sgn 30 mult .aimsx *973 mult store
stop
end

56
Suggestions / A bunch of suggestions
« on: January 05, 2007, 06:30:04 PM »
Hi.

I've been messing around with DB for quite some time and decided to register and post some suggestions.

1. Bots doesn't like much to evolve complex genes... they trash them before they do anything useful. Could you add single commands to create the first four ties, if they aren't present, and set both tieloc and tieval picking the last two stack numbers? So this:

1 .tienum store
-1 .tieloc store
x .tieval store

Would look like this:

-1 x tie1 store

It checks if there's already any tie with tienum 1 and, if not, it creates it. Also it sets tieval and tieloc.

2. I would like an option to disable mutations of flow commands, so they won't be deleted, replaced or added. Whole genes may be deleted or added with zero filled conditions and commands. Then a working sexrepro that picks genes one by one from parents.

3. Also, an option to mutate conditions and commands from a pool of patterns instead of randomly. *# # > would be a condition pattern, with numbers added on the fly. Evolution would happen faster since they don't need to wait until they get some functional code from a pile of junk, and yet there are large chances that the resulting gene won't be useful. Also it will be readable (nice for non uber DB users that can't read through a pile of nested conditions, sysvars and binary operators).

4. Fitness culling with customizable targets. For example, each 500 cycles kill the 10% bots with less kills.

5. .membrane and .enzyms sysvars, transferred (and maybe mutated) at birth. Any value added to these is modded to -1, 0 or +1 so changing the membrane and enzyms properties would happen slowly. The closer the bot's enzyms are to the target's membrane type, the more efficient it is capturing energy/body through shots or ties. So a bot can use dumb-veg eating enzyms (type 0) and use a different membrane type so shots/ties from other veg eater bots (even their own species) wont digest it by mistake. Or maybe it can develop enzyms to eat the veg eaters, even if those enzyms aren't worth anymore to eat vegetables...

Also, in pond mode, a PH option meaning membranes that don't match the PH at certain level will lose energy. Corpses would have the opposite membrane value than 0 vegetables, so vegetables may use their own shots or ties to take waste from corpses.

Pages: 1 2 3 [4]