Bots and Simulations > Untagged bots
Slam Funk 1.0
Ta-183:
Here's my first bot. It uses very simple genes with basic defenses. It's best features are it's group following behavior and it's vision system, with conspec embedded. If it spots a friendly in eye5, it follows. If it spots a bogey anywhere, it breaks off to feed. Has some slime, poison and shell, and I put in an ass-gun after a bad experience with a simple swarmer as a test. Has rudimentary antivirus.
--- Code: ---'Slam Funk 1.0
'Uses simple genes and a simple conspec
'To survive at least against low level bots.
'Heavily based on Animal Minimalis,
'While very little of it was actually used.
'Best feature includes a very good vision system.
'It is able to follow its friends and break off to feed.
'Raises number of .eyeX commands to make a slightly more secure conspec.
cond
start
.eye5 .eye5 .eye5 .eye5 add add add add dup sub
stop
'Body storage gene.
cond
*.nrg 15000 >
*.body 500 < and
start
500 .strbody
stop
'See nothing, start looking. I wasn't content to just have it spin.
cond
*eye5 0 =
*.up 0 = and
start
20 .up store
stop
'Theres strength in numbers. This gene makes bots follow one another if they see a fellow
bot.
cond
*.eye5 0 >
*.refeye *.myeye =
start
*.refveldx .dx store
*.refvelUp .up store
30 .aimdx store
stop
'Targeting genes. If it spots food, it turns to it.
cond
start
-1 .focuseye store
stop
'Eye4
cond
*.eye4 0 !=
*.refeye *.myeye != and
start
5 .aimsx store
stop
cond
start
1 .focuseye store
stop
'Eye6
cond
*.eye6 0 !=
*.refeye *.myeye != and
start
-5 .aimsx store
stop
cond
start
-2 .focuseye store
stop
'Eye3
cond
*.eye3 0 !=
*.refeye *.myeye != and
start
15 .aimsx store
stop
cond
start
2 .focuseye store
stop
'Eye7
cond
*.eye7 0 !=
*.refeye *.myeye != and
start
-15 .aimsx store
stop
cond
start
-3 .focuseye store
stop
'Eye2
cond
*.eye2 0 !=
*.refeye *.myeye != and
start
35 .aimsx store
stop
cond
start
3 .focuseye store
stop
'Eye8
cond
*.eye8 0 !=
*.refeye *.myeye != and
start
-35 .aimsx store
stop
cond
start
-4 .focuseye store
stop
'Eye1
cond
*.eye1 0 !=
*.refeye *.myeye != and
start
40 .aimsx store
stop
cond
start
4 .focuseye store
stop
'Eye9
cond
*.eye9 0 !=
*.refeye *.myeye != and
start
-40 .aimsx store
stop
cond
start
0 .focuseye store
stop
'Ass-shot gene. Tested it against basicswarmer, swarmers beat the snot out of my bots by
following them close behind so I stuck this in here.
cond
*.shflav 0 !=
*.shflav -2 !=
start
1256 *.shang sub .aimshoot store
8 .shootval store
-6 .shoot store
0 .shflav store
stop
'The shooting gene. It fires if the bot sighted fails the conspec check and is in range.
cond
*.eye5 40 >
*.refeye *.myeye != and
start
8 .shootval store
-6 .shoot store
*.refvelup .up store
stop
'Reproduction gene. Gotta make mo' bots.
cond
*.body 500 >
start
40 .repro store
314 .aimdx store
stop
'Poison gene, because dying sucks.
cond
*.nrg 10000 >
*.poison 500 < and
start
50 .strpoison store
stop
'Shell is good. This gene creates shell.
cond
*.nrg 10000 >
*.shell 250 < and
start
100 .mkshell store
stop
'Slime gene, just in case.
cond
*.nrg 10000 >
*.slime 300 < and
start
100 .mkslime store
stop
'Obligatory anti-viral gene
cond
*.mkvirus 0 !=
start
*.mkvirus .delgene store
stop
end
--- End code ---
ikke:
The bot is F2 (using poison and shell).It fails to enter F2 because it is weaker than the lowest bot. I ran it again in F3 where it failed to beat Chase. Look at those bots for guidance on improving.
Ta-183:
I thought that would be so. This thing is still new and fairly inefficient. There will be some genes I have to remove, and improvements will be made to this over time. I need to find those bots so I can determine exactly where this bot is failing to deliver, that way I will be able to get this thing rolling in the future. I think I'll just take out the poison and shell so I can call it F3 in the next release, but that will come after a bit of redesign. Thanks for running it. Criticism from other members is still very welcome. Also, where can I find a full list of the F3 bots? I cannot find them.
Oh dammit. I just downloaded only the F3 bots. Even THEY are much more advanced than my bot. Please, I need suggestions! By the way, can I use the > < != = operators within a gene for conditional control?
Alright. I ran it in F3 mode. It gets to chase and it is a surprisingly even matchup. Slam Funk's shots hit harder, but it hasn't been optimized yet so it still travels slightly too fast to aim very well, and needs a better aiming routine. Once it's aiming issues are resolved it ought to get much higher in the F3 league. I'm also going to remove the poison and shell for version 1.01a.
Ta-183:
Alright. Work is progressing steadily on the next release of Slam Funk. Theoretical work has also started on a tie feeding, info shot derivative. Still needs more work to get higher, as most values have yet to be fully optimized. While it can't beat Chase yet, it still puts up a hell of a fight.
And on a side note, I once witnessed a pre-release variant take out a five segment tribolis. Any version could do it in theory, but only from head on. The tail end is a death trap.
ikke:
In F3 the robos with the sexy names as chase aim etc are more or less a tutorial series of F3 robots, with genes added sequentially to improve capabilities. I used them to learn myself and base my own bot on. This bot (gimmick) is also commented. I'll leave it up to others to say if it is well commented, but you might want to look.
Navigation
[0] Message Index
[#] Next page
Go to full version