Bots and Simulations > F3 bots

Slam_Funk2.1(F3)(Ta-183)-5.27.09

(1/3) > >>

Ta-183:
ROBOT TOO BIG TO FIT!

Here you go guys, as promised. I got it to beat Beholder, and once it did, it shot to the top 5. (With a little hitch at Alpha..... You can just ignore the results of that match. It beats it... Sometimes.....)

Moonfisher:
I'm afraid that to get the position in the league it needs to achieve a statistical win.
It won 1 out of 8 fights against Alpha 2.7, so so alpha still retains it position.
Other than that it does beat a lot of the following bots.

To run the full league you just need to download the 2 files from the newest league topic, containing a league file and a folder with all the bots.
Theres an easy guide on running the league, and it makes it easy to run a full test. Sometimes once you finaly manage to beat a bot you'll discover you no longer beat some of the previous ones

Anyway nicely done, big step forward. Alpha 2.7 is a tough bot, it doesn't reproduce till it's reached a rather large size. One approach for a small bot could be to stay away from oponents that are too big untill you've reached a certain population or size. Locust (F1 league) does something like that, except in F1 tiefeeding is legal, making it much easier for Locusts to spread out and consume all the alge in no time (This is a lot harder to do with just -1 and -6 shots)

Or you could look at the top F3 bots... see if any of them remind you of your own and compare the tweek values and general behavior.
On that note, comunication can be realy usefull to gain the extra edge.

Alpha 2.7 is toough to beat once it gains size, fortunately it takes a while for it to get big, so you have time to gain size or numbers before engaging them.

Also you could take a look at the F2 and F1 leagues. If nothing else just to gather inspiration.
The different leagues promote very different behaviors. And it will likely be a good idea to start on a brand new bot when working on a new league, since the behaviors in one league may not work as well in the others.
Ofcourse I can understand if you wan't to get to nr 1 in F3 first, but the closer you get to the top the tougher the resistance will be. It can be fun to have another bot to work on aswell, also to get a break from hurdles that are causing problems, and refreshing your mindset. The other leagues also introduce a lot of new interesting toys to play with, and exotic oponents like cameleon bots, who change their code to fool your conspec

Ta-183:
Thanks, man. I already know how to run leagues, my computer just doesn't work doing it anymore. Don't try to help fix it, I've tried everything already. Anyway, I already have a good idea on how to beat alpha. But I decided that the work I'd done was enough for one release. It's impressive performance stems from two things. One SF2's main feature is that it uses relatively simple behaviors, that actualy require moderately complex code. The second thing is that there was a single, fatal syntax error in the body regulation system that made it impossible to beat Beholder until I found and fixed it. But, I spent so much time and effort on adding subtle new behaviors and optimising values to give it enough of an edge to beat it, that once I found and fixed the syntax it shot up the ladder like a rocket.

My plan for beating alpha has two possible routes; one, improve upon the existing jumpstart repro gene (which was added to kill alpha in the first place, IIRC) and get it off the get-go. The second is a bit trickier. This path requires a sophisticated vision and swarm-tracking gene set that allows SF to gain a relatively simple behavior; back off of big ones until the group it's with is big enough. This requires not only a vision system that can rapidly change the focuseye to I.D. adjacent bots while it does other things, but also requires a way for each bot to tell each other fellow SF-bot how many friendlies it sees. This could be done with a simple ref variable stating how many Friend IFFF pings it sees by storing it to some location. But to keep pace with quick bots and combat, once fighting starts or if the average .refvel of Foe pings exceeds a threshold, it reverts to the current eye system. During trials I noticed some bots getting the shit kicked out of them while eating, and got killed before they could run. Such a vision system might fix this.


But for now I don't think I can strong-arm SF's technology any higher than 5th. I watch the top four fight and it's as if I see the screen fill with top-condition bots nearly instantly, they just start too fast. But 5th place isn't something to complain about. Now, to get passed Alpha (reliably)...

Moonfisher:
The eyes from EyeBot (In the starting gate) have one method for changing focuseye to the next non empty eye, constantly scanning all directions.
(It also spreads out the eyes on all 360 degrees).
And since your bot doesn't push alge but stands still next to them, then you would have the option to keep scanning while your eating, so you would actualy be able to see oponents coming. This way you can also try to make a getaway with the alge by ramming into it or somthing (So you don't leave it behind for the enemy).
Anyway if a bot is big enough the first shot from it will kill you, so it can often be an advantage to have eyes in the back of your head.

Ta-183:
It's funny you should mention eyebot, it was suggested a few times back when I was building SF1. But I didn't know as much about DNA then so it looked pretty dang complicated, and I didn't use it. Next time I get the chance I'll go over it again and try commenting the system. But because of the level of integration I'm trying to acheive between the various behaviors, and as a learning exercise (especially in the boolean stack and inline conditions) I will be writing my own system, which will act quite similar to the fashion you discribed, switching focuseye every cycle between each nonzero eye and eye5 to keep track of what's in front of it, for example it starts at eye5 and goes 5-4-5-6-5-3-5-7 ad nausium. Another thing I ought to address is the retreating and retaliation functions, which act more like addons than functions of the bot, sometimes causing a conflicting action which leaves it turning back and forth. This will be solved by expanding the scope of SF's situational parameters to include nothing, fighting, eating, and now, running. I find that the more I tie each action to the main parametric system, the better the bot works. Once I work on the new advance vision, I will expand the parameter sets to health, situation, and tactical, which will integrate IFFF readings, swarm densities, average enemy velocity and body size, and if need be, specific enemy bot species. I think that with SF2's superb dogfighting capabilites, the addition of a diagnostic system to counter info shots, poison, and venom (which I have been thinking up for a while) could make it a deadly F2 contender. And with a robust, nearly unfoolable antivirus system I've been thinking up, it might even get into the low F1 standings.


But first I want to get this bot to work exactly the way I want it, THEN I'll start building crossover variants. But yeah. Expect me to have a status update in one-two weeks or so.

Navigation

[0] Message Index

[#] Next page

Go to full version