Darwinbots Forum

Bots and Simulations => Bot Tavern => Topic started by: Numsgil on September 26, 2008, 03:21:24 AM

Title: F3 league
Post by: Numsgil on September 26, 2008, 03:21:24 AM
We might want to either extend the league to have more places (maybe 100), or invent a "newbie" league or something.
Title: F3 league
Post by: Commander Keen on September 26, 2008, 03:42:07 AM
A newbie league sounds good to me. I'm not so sure about having a league with 100 places, it would be fine to add new bots one at a time but if you wanted to rerun the entire league it could take some time...  

Possibly there could be an F3 league, with no ties, no viruses, no venom, no instakills, no info shots, and all bots must be adequately commented to be readable by new players. That way there'd just be nice simple bots with poison and shell. Or maybe even cut those and just have straight combat/dogfighting.

It would be cool to have a mega-league where there is one huge map and a few veggies, and all the bots in the league are dumped in all at once, and their ranking is determined by how long they last. It would rely on chance to a degree, but it would be diffrent, and you could possibly code diffrent species to cooperate...
Title: F3 league
Post by: Moonfisher on September 26, 2008, 04:02:42 AM
Yeah or make an F3 league.... with F2 rules plus some extra like no ties at all maybe... maybe eliminate venom too even...
Only problem is it risks getting filled up with strong bots aswell eventualy. But it's impossible to check if people are newbies when they post a bot, and when exactly is a bot fresh enough to get in the newbie league

I think the easyest way would just be to make a very simple league... like no mem attacks, no shell, no poison or venom, no ties, no cospec cameloen behavior... so basicaly just navigation and shooting...
I think I'd go with something like that, so people can learn the basics in F3, then move up as they learn more... maybe start off the league with a few very simple bots in it, presenting each their challenge to beat.

Also I don't think Lovebot will be very strong, it exploited the new sexrepro and raped everything including the plants, but now it shouldn't be able to mate with the plants or even most oponents... and since rape was about it's only weapon it will probably fail hard in the new versions...

(Edit:)
LOL, great minds think alike  was typing this at the same time... I also like the added rule that the bots should be readable in F3
As for the mega league idea... I have a great bot for that, an evo bot, basicaly a neural network structure broken down with about 2000 mutations... but it was evolved in a size 13 field with 25 veggies...
It learned to not kill the veggies and to spread out over the entire field, it also uses reproduction as a defence mechanisme and all sorts of cool evo stuff...
It doesn't use ties so I'm sure a better bot could be made for the purpose, but this one evolved almost from scratch and now holds about 2000 bots in a size 13 field with 25 veggies
Only problem with it is that it has no defences against all the hand authored attacks out there, so it may hamser the alge well but it will also serve as food for other bots
Anyway I like the idea, but the outcome will probably have a lot to do with chance.

Also while I'm typing anyway... does anyone else have problems with DB 2.44 ? Was going to sugest we run all the leagues in 2.44 from now on, but I can't actualy run a league in DB 2.44 so...
I also get strange bugs, when adding a bot to the list of bots, sometimes it's like I'm not sure which bots are which, I add a bot and the other bots switch around colors and setting , if I run a league it ends after one fight claiming there are no more bots... I don't have a specific bug report or anything, just getting some wierdness....
Title: F3 league
Post by: bacillus on September 26, 2008, 06:32:26 PM
I think I should reveal that the Communal Bot league was run via your 'mega-league' system   . I think the F3 league is a good idea, maybe disallow any tricks beyond -1 and -6 shots, maybe shell as well. Sounds boring, but it will give newbies (and others   )a chance to test some basis bots, which can then be adapted for better F2/F1 bots.
Okay, time to find all these F2 bots and integrate them into F1!
EDIT-Actually, do you happen to have a zip file for all the bots? I'm too lazy to go look for them all.
Title: F3 league
Post by: abyaly on September 26, 2008, 07:01:22 PM
I'd suggest F3 be restricted to energy shots only. No venom/poison/shell/body shots/viruses/info shots/ties. Maybe even no strbody or fdbody. Those are the things I consider "surprisingly important" in that a person new to DB wouldn't necessarily realize they make a huge difference.
Even when restricted only to -1 shots, you can still end up with a lot of complexity involved in navigation, searching, dogfighting, and communication.
Title: F3 league
Post by: bacillus on September 26, 2008, 07:24:39 PM
I think strbody and fdbody should be allowed, else bots get too small in no time.
Title: F3 league
Post by: Numsgil on September 27, 2008, 02:22:04 AM
Ideally it should work that a F3 bot can fight in F2, in the same way that a F2 bot can fight in F1, so along that line I think it should be simple a scaled down F2.  I would limit a F3 strictly to -1, -6, and shell.  No ties (at all), no viruses, no venom, no poison, no info shots, etc.  All the complexity has to come from navigation and dog fighting and cooperation (if any).    I'd let the bots do whatever internal logic (strbody, fdbody, etc.) they want.  In addition to being easier for newbies to play with, maybe we'll start to see some more bots that cooperate, since the fun attacks like "kill off all veggies with instakill" can't be done.

I know something like animal minimalis would qualify.  There are probably quite a few others, so it wouldn't be hard to set up a small league of existing bots.
Title: F3 league
Post by: bacillus on September 27, 2008, 03:12:01 AM
What about modifying -1 and -6 shots?
Title: F3 league
Post by: Numsgil on September 27, 2008, 03:40:15 AM
You mean using shootval to power 'em up with added strength or range?

Sure, I think that's valid.  You pay a lot of energy for the privilege.
Title: F3 league
Post by: Moonfisher on September 27, 2008, 07:15:43 AM
I think shell and poison are a greay area... I would sugest either none or both in F3...
Either it should be as simple as possible or if shell is added I think poison should be there too.

The whole point is to balance your shell and poison production and to choose your shots according to the oponents shell and poison... so I think those 2 go hand in hand...
Also it's limited what damage you can do with poison...

Also this could make things a litle interesting with people using .shell in their poison to prevent the oponent from regaining shell in a fight or stuff like that...
I also think strbody and fdbody should be in there.

And Eric I got Fruit Flies out on IM... but I hate watching my sim slow down so I put it in an alge as a virus (FlyFruit), it looks like it's managed to infect both VC and seasnake... everything I got in today was infected with Fruit Flies  And the alge that was spreading them is doing ok aswell... funny enough it was one of the test version of the alge that did best while the one I had high hopes for got nowhere...

Also I want to make this clear : Pacifist does not beat Fruit Flies in the new versions of DB (2.43.1L and 2.44). I realize the leagues are being run in an older version... but wanted to say it anyway.... in 2.44 Fruit Flies pwns !
Title: F3 league
Post by: Numsgil on September 27, 2008, 05:09:30 PM
Oh, right.  If you have shell you need poison.
Title: F3 league
Post by: bacillus on September 27, 2008, 06:09:55 PM
Moonfisher raises a good point, I do need to download a newer version   . Anyway, I don't think poison is that powerful, but it may give people the edge in F3.
Title: F3 league
Post by: Moonfisher on September 28, 2008, 11:31:41 AM
If the F3 league fills up with tough bots, then we can always make an F4 league with no shell or poison or -6 shots or comuniaction or anything....
But... if people need to learn how to handle movement and all that stuff effectively a good start would be to just add an example more or less like this one to the guide :

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']cond
start
.shoot .ploc store
.deltie inc

*.thisgene 1 !=
1 .delgene store
not
2 .delgene store

*.nrg 2500 >
*.body 500 > and
50 .repro store

*.nrg 500 <
*.body 100 > and
100 .fdbody store

*.nrg 2000 >
100 .strbody store
*.shell 500 < and
100 .mkshell store

*.nrg 1000 >
*.poison *.shell < and
*.shell 100 add *.poison sub .strpoison store

*.eyef 0 !=
*.refshoot *.myshoot != and
*.refxpos *.refypos angle .setaim store
*.refvelup 25 add .up store
*.refveldx .dx store
10 .shootval store

dupbool
*.refpoison *.refshell < and
-1 .shoot store

dropbool
dupbool
*.refpoison *.refshell >= and
-6 .shoot store

dropbool
not
30 .aimright store
40 .up store
stop


It's all you realy need to get started... gives a good sense of how the controlls and refvars work.
Not sure if it should be using inline conditions...

Oh and BTW, would cameleon behavior be alowed in F3 ?
Title: F3 league
Post by: Numsgil on September 28, 2008, 02:57:35 PM
Quote from: Moonfisher
Oh and BTW, would cameleon behavior be alowed in F3 ?

Which behavior?  You mean like deleting genes filled with eyes to fool conspec?
Title: F3 league
Post by: bacillus on September 28, 2008, 06:20:01 PM
things like *.in1 .out1 store...
Title: F3 league
Post by: Numsgil on September 28, 2008, 06:42:28 PM
I'd disallow things like deleting genes to fool conspec, but something as simple as parroting back in values is fine.
Title: F3 league
Post by: Peter on September 29, 2008, 03:15:36 PM
Here is my application for F3 league .
It doesn't need wrong tricks like virussus.
It isn't using any mean stuff like poison, shell or venom.
No slime eather, why waste it if you can use it for shooting.
It doesn't use ties, ties are mean. Philosophy is just that a opponent/colleague should go freely.
It doesn't use body shots, those are bad to the body.
It doesn't reproduce, the sim is already full enough.
It also doesn't use any conspec recocnition, it is just evil to check if the one you're shooting at has the same dna as you do.

Shortly a very smart bot

Code: [Select]
start
*.maxvel *.vel sub .up store
*.eye4 *.eye6 sub .aimsx store
.shoot inc
Title: F3 league
Post by: bacillus on September 29, 2008, 06:48:19 PM
I think deleting genes comes into a similar category to viruses ;no messing with DNA.
Title: F3 league
Post by: abyaly on September 29, 2008, 07:45:44 PM
F2 matches are mostly decided by good application of shell, venom, and body management.
These are the "dirty tricks" of F2; things that can make a weak bot much stronger simply by their addition.
Ties, viruses and (unofficially) harsh info shots are the "dirty tricks" of F1; things that can make a weak bot much stronger simply by their addition.

I think F3 should forbid the "dirty tricks" of both F1 and F2.
Title: F3 league
Post by: Moonfisher on September 29, 2008, 10:23:22 PM
Ties are still used in F2, it's only tie feeding wich isn't alowed... so you can still do a lot of harm with ties in F2...
Read somewhere that one of the early F2 bots made the oponent spin around or something... but currently wasting energy on high shoot values and such seems to be the best way to kill with ties...
Does make a big difference that you can't feed with them though, makes it a lot harder for small bots to survive.

Still, removing venom, mem shots and ties completely does make it a lot simpler... those are some of the areas that can be realy tricky to figure out...
And if deleting genes isn't allowed it'll be easy to make a conspec too...
But it is true that shell and poison are very powerfull... but there should probably also be something in F3 to make it a litle interesting... so if you want a top 10 F3 placement you need to get the hang of shell and poison... I think it's within reason, shell is easy to understand, and poison introduces the conept of messing with your oponents memmory.
Title: F3 league
Post by: abyaly on September 30, 2008, 12:14:15 AM
I once worked on a bot called Aura. I wanted it to be the top of both leagues, so I carefully worked out a clever navigation, conspec, and spreading systems. At that point, Aura didn't get very far.
So, I looked at some of the other F2 bots to see what they did. They used shell. Oh-ho, I thought, I'll add some shell to Aura to make it stronger. As you may expect, it got stronger after that. But it still wasn't quite strong enough to clear the leagues. I decided to make Aura create shell to match it's current body and energy count (iirc). I didn't know it at the time, but this actually made Aura the only bot able to replenish shell that it lost (because .shell didn't update properly for shell loss). This modification let Aura sweep F1 and F2.
Now, some of the people reading this will think that the navigation, conspec, and spreading systems might have contributed, but all three of those had pretty bad bugs in them. The conspec occasionally failed. Aura wouldn't accelerate past a certain velocity. The aim was calculated incorrectly. It also wasted lots of energy moving back and forth away from allies (bots are able to find food more quickly at a much lower energy cost). I believe that all of the things that I had thought were clever at the time were actually detrimental to it. Aura swept the leagues for two reasons: it had giant onmi-eye vision and it was the only bot that replenished lost shell.
This is the kind of difference shell makes.
I consider shell to be too much of a factor in F2.


If F3 includes shell, there won't be a significant difference between F2 and F3.
Title: F3 league
Post by: Numsgil on September 30, 2008, 03:00:44 PM
Quote from: Peter
Here is my application for F3 league  .
It doesn't need wrong tricks like virussus.
It isn't using any mean stuff like poison, shell or venom.
No slime eather, why waste it if you can use it for shooting.
It doesn't use ties, ties are mean. Philosophy is just that a opponent/colleague should go freely.
It doesn't use body shots, those are bad to the body.
It doesn't reproduce, the sim is already full enough.
It also doesn't use any conspec recocnition, it is just evil to check if the one you're shooting at has the same dna as you do.

Shortly a very smart bot  

Code: [Select]
start
 *.maxvel *.vel sub .up store
 *.eye4 *.eye6 sub .aimsx store
 .shoot inc

It fails!  It's using .shoot inc, which is an info shot and not allowed.  You wanted .shoot dec
Title: F3 league
Post by: Peter on September 30, 2008, 03:49:55 PM
Quote from: Numsgil
It fails!  It's using .shoot inc, which is an info shot and not allowed.  You wanted .shoot dec
oh....  , yes sure it does.

I ehm   .. waited till someone would pick that one up.

Yes, that's it  , really.
Title: F3 league
Post by: bacillus on September 30, 2008, 07:36:17 PM
Remember we should keep it as simple as possible, as the league is for newbies. I think keeping it down to one-step processes like .mkshell would be appropriate, as their function is fairly obvious.
Title: F3 league
Post by: Numsgil on September 30, 2008, 07:48:40 PM
Quote from: abyaly
I once worked on a bot called Aura. I wanted it to be the top of both leagues, so I carefully worked out a clever navigation, conspec, and spreading systems. At that point, Aura didn't get very far.
So, I looked at some of the other F2 bots to see what they did. They used shell. Oh-ho, I thought, I'll add some shell to Aura to make it stronger. As you may expect, it got stronger after that. But it still wasn't quite strong enough to clear the leagues. I decided to make Aura create shell to match it's current body and energy count (iirc). I didn't know it at the time, but this actually made Aura the only bot able to replenish shell that it lost (because .shell didn't update properly for shell loss). This modification let Aura sweep F1 and F2.
Now, some of the people reading this will think that the navigation, conspec, and spreading systems might have contributed, but all three of those had pretty bad bugs in them. The conspec occasionally failed. Aura wouldn't accelerate past a certain velocity. The aim was calculated incorrectly. It also wasted lots of energy moving back and forth away from allies (bots are able to find food more quickly at a much lower energy cost). I believe that all of the things that I had thought were clever at the time were actually detrimental to it. Aura swept the leagues for two reasons: it had giant onmi-eye vision and it was the only bot that replenished lost shell.
This is the kind of difference shell makes.
I consider shell to be too much of a factor in F2.


If F3 includes shell, there won't be a significant difference between F2 and F3.

Hmm, that is a valid point.  I'll have to stew this over to figure out what I think
Title: F3 league
Post by: Moonfisher on September 30, 2008, 08:20:35 PM
Ok I have to admit shell and poison are pretty poerfull on their own... ran the example I posted earlier against some of the old F1 league bots and it was able to beat a lot of them...
It's true that beign stingy about shell is rarely usefull... and if there was no shell and poison the focus would realy be on navigation and comunication.
But boosting shots is a serious advantage aswell...

On the other hand if you have no shell or shot boosts then large bots become a lot stronger... but if you remove strbody then reproduction comes with a serious cost to size and power....

So it seems like things may get a litle predictable if we lock too much, but it also seems like shell and poison combined with boosted shots would allow F3 bots to compete in F1...
Without it they probably wouldn't be able to compete in F2 though...

You could also argue that since shell, poison and boosted shots are so important it would be an advatage for people to have a lague with just those 3 weapons... start out learning some of the most important attacks and defences and see how big a diference they can make...
And taking out mem shots, ties and venom removes some of the realy dirty tricks.

So basicaly I think a league with just shell, posion and boosted shots would be great for understanding the use of basic weaponry, but I also think a league with no advanced weapons could be very interesting...
I still think comunication and movement would play a big role in both cases though.
Title: F3 league
Post by: Commander Keen on October 01, 2008, 05:38:15 AM
F3 could potentially be very interesting, as then spreading algorithms and a good eye system would become really important, as shell and poison give bots time to react. If they lost these defenses, then it would be more important than ever for bots to react faster.

I think small bots could do well in F3 because larger bots won't have the benefit of having heaps of shell and poison. Small bots could more easily overwhelm a large bot...
Title: F3 league
Post by: Moonfisher on October 01, 2008, 08:20:54 AM
Actualy if shell is allowed a large bot would be able to hold off a lot of small bots for a long time...
The advantage of being many is to reach the alge faster, but a large oponent with plenty of energy can replenish shell for a long time.
Venom and mem shots and ties is what realy gives the advantage to many small bots... since if one doesn't manage to inject the venom another will...
But if noone can mess with your memmory unless you shoot at them, then there's no way to bypass the shell...
I'm not even sure if it's worth trying to shoot if your oponent has shell too... it may be better to only eat alge and just keep a lot of shell and poison, just let your oponents kill themselves trying to get through your shell...
Title: F3 league
Post by: Numsgil on October 01, 2008, 02:04:27 PM
Okay, let's try it with just -1 and -6 shots.  No shell, slime, poison, venom, viruses, delgene, or infoshots.
Title: F3 league
Post by: bacillus on October 01, 2008, 06:19:58 PM
Agreed.
Title: F3 league
Post by: abyaly on October 01, 2008, 10:16:22 PM
And no agressive use of ties? And I suppose rape would also be forbidden.
Title: F3 league
Post by: Numsgil on October 02, 2008, 12:30:37 AM
No ties at all.  No sex.
Title: F3 league
Post by: Commander Keen on October 02, 2008, 12:57:34 AM
I'm liking F3. None of those annoying instakills...
Title: F3 league
Post by: abyaly on October 02, 2008, 08:03:10 AM
Ok, clarification: no ties at all means no using the trick to get rid of the birth tie in 2 cycles, right?
Also, I didn't see a verdict regarding powered up shots.
Title: F3 league
Post by: Moonfisher on October 02, 2008, 08:36:55 AM
I don't see the harm in allowing people to delete ties, and I don't think you need to form a new tie to get rid of the birth tie anymore...
Deleting incoming ties won't affect the F3 leagues but it'll make it easyer for F3 bots to comete in F2...
Title: F3 league
Post by: Numsgil on October 02, 2008, 01:54:41 PM
Powering up shots should be fairly balanced.  It's a logarithmic scale, so you have to spend a great deal more nrg to get a shot 8x normal.

Hadn't thought about birth ties.  Can anyone experiment deleting it without producing a new tie?
Title: F3 league
Post by: Moonfisher on October 02, 2008, 01:59:32 PM
I think .deltie inc should do it... I used that in the Neural Network evo bot I was running to avoid tie bots from evolving... and it seemed to break birth ties imediatly aswell...
Title: F3 league
Post by: abyaly on October 02, 2008, 07:10:13 PM
Confirmed. The birth tie has tie phase 1 in the offspring, but tie phase 0 in the parent. The offspring seems to be able to use it like a regular soft tie. (feeding, etc)
Title: F3 league
Post by: Numsgil on October 02, 2008, 07:43:47 PM
I can go either way on birth ties.  It might be interesting to have birth ties be more than just a random hurdle that bots have to overcome.  If you're a fast reproducing bot, you either waste lots of nrg fighting the birth ties or you wait it out until the birth ties disappears.
Title: F3 league
Post by: bacillus on October 02, 2008, 08:26:56 PM
 
Why not use the birth tie so parents can drag offspring to veggie sources?