Bots and Simulations > F3 bots
Slam_Funk2.0(F3)(Ta-183)-4.26.09
Ta-183:
ROBOT TOO BIG TO FIT!
After sitting on these bots for about a month, I decided I'd finish them today. I can't really see EXACTLY how well this one is doing in the leagues (computer haet league) but I figured that since it's pretty near complete and it seems to run fine, it's ready to be released. Fell free to edit it for errors and tweak the numbers, I haven't been able to do so very well. Have fun with it guys, run it in the leagues next chance you get.
Moonfisher:
Hmm when I ran it, it lost to Beholder...
Ta-183:
I am well into the development of my next release, Slam Funk2.1!
SF2.1 will fix a lot of the errors in SF2.0's coding and syntax, and at this point it behaves as it should, though it still looses to Beholder at this point. However, so does Spyrus. It makes me think that the F3 leaguetable needs to be redone, because Beholder seems to be tougher than it should be.
New features to expect in future releases may include;
Fractal-based defensive shield
More optimized performance
Better aim
Better maneuvering
And more!
I don't expect the SF2 series to dominate the F3 league. But I AM going to make it beat Beholder. You folks won't get a copy of SF2.1 until it can, so you guys should hope I get it to because this one is a treat to see. It doesn't have any of the quirks of SF1.1 and SF2. But it still isn't quite done.
Expect a release within the end of the month.
Moonfisher:
Beholder has a lot of strong genes in it, but it also has some major flaws... I think it looses to a tutorial bot, because the bot is moving too fast and beholder is just too slow to keep up.
But you can never predict the outcome of the leagues... I had a realy hard time making sure each new tutorial bot was stronger than the previous one. Even weaknesses can prove to be strengths against the right oponent.
And strengths will turn into weaknesses against some oponents, like a complex bot may be able to outsmart or outmaneuver a slow bot, but a fast bot will just confuse the complex one.
Look at the DNA for the tutorial bots that manage to beat Beholder.... they're very simple and straightforward. Most tutorial bots just go straight ahead and shoot all the time.
I think if I had to summarize some of the most important areas when it comes to combat it would be :
- Size, keeping the right body/energy ratio and producing offspring of the right size and amount at the apropriate time. (I see most new F3 bots are WAY off in this area)
- Boosting shots by the right amount. (This is more tricky)
- Returning shots when shot at (Preferably stronger shots)
- Tracking oponents by aiming and matching movement.
- Not killing ones own offspring, not just by having a conspec but also by not giving birth in the midle of a burst of shots. (Not saying you can't give birth during combat or while feeding though, in fact it's probably an advantage to be able to reproduce while feeding off vegies)
A good way to debug eyes is to set eye5width to 300, this will make it about as wide as all your eyes put together with a shorter range. If your bots behavior changes a lot from this, then theres probably a problem with the eyes.
And ofcourse whenever you're fighting a bot which isn't nr 1 in it's league, then you can always watch the next fight to see how the next bot is beating it.
I think the major weaknesses in beholder are it's speed and size. It has small offspring and moves very slowly. It doesn't cut ties to the offspring, letting them act as a sort of tentacle, which also means that oponents that engage it slowly will get surounded by the offspring.
Also I should mention, the fractal bases defence shield sounds like a challenge that won't nessesarily help you in the league. The field is very small, so fights are determined rather fast, your oponent starts right next to you and you barely have time to turn before he shoots at you. Don't make long term plans in the regular leagues, not unless your first stage takes into account that you need to be quick (And usualy if you win the first stage then you should be able to win the fight following the same strategy.... usualy)
Speed and quick reflexes are important, especialy in a very small hostile field, most league bots don't think, they're not realy an AI, they're more of a stimulous response... thingy.
Ta-183:
I'm trying to exploit Beholder's weaknesses, but I keep coming up with a common issue. Over time, SF2.1 becomes smaller and smaller. After each generation, the following bunch become smaller and smaller. Most other bots don't do that; they hold a near uniform size. Plus, SF2 can't out fight Beholder one-on-one. There's just something about it that makes SF unable to shoot up beholder. It can't kill it. I have a feeling that if I just got an EFFECTIVE shot gene, it could beat it. I've seen some promising performance improvements from optimizing the values a bit, but I tested increasing numbers of starting SF2's versus a single Beholder. It looses every time no matter how many SF's start the sim, because it just can't kill beholder.
Here's the shot gene. If anyone can run this and give me a better one, PLEASE do.
EDIT: Forgot to initialize a variable.
--- Code: ---def lead 987
cond
*.eye5 50 >
*.refeye *.myeye != and
*.IFFF *.foe = and
start
*.refxpos *.refypos dist *.refvelup add *.xpos add
*.ypos *.refvelsx add
angle
*.refxpos *.refypos angle add
.setaim store
*.refxpos *.refypos dist 30 sub 500 div *.maxvel mult *.refvel *.vel *.refeye sgn mult sub 1 mult add .up store
*.refveldx .dx store
*.eyef *.refveldx 400 mult *.refbody div 4 add >
-6 .shoot store
28 .shootval store
*.refnrg *.refbody <
*.refpoison *.refshell < or
-1 .shoot store
1600 *.refvelsx 2 pow sub sqr *.xpos add
*.ypos *.refvelsx add
angle .lead store
*.refvelsx *.velsx <
1256 *.lead sub .lead store
dropbool
*.lead .aimshoot store
stop
--- End code ---
Navigation
[0] Message Index
[#] Next page
Go to full version