LuminariousDuo continues her reign...
|Twin Name||Twin author||Twin size|
|YinYang 1.2||David Alves||1931|
|KomariousTeam 1.0||Voidious / David Alves||1753|
Bots uploaded later :P
Round robin results: Competitor: voidious.team.LuminariousDuo Win/loss: 12 - 1 Rounds won: 777 (79.69%) Competitor: wiki.twin.KomariousTeam Win/loss: 11 - 2 Rounds won: 749 (76.82%) Competitor: kawigi.micro.ShizPair Win/loss: 11 - 2 Rounds won: 697 (71.49%) Competitor: kc.twins.GeminiTeam Win/loss: 10 - 3 Rounds won: 635 (65.13%) Competitor: davidalves.twin.YinYang Win/loss: 9 - 4 Rounds won: 575 (58.97%) Competitor: bvh.two.Valkiries Win/loss: 7 - 6 Rounds won: 506 (51.9%) Competitor: gh.GruwelTwins Win/loss: 6 - 7 Rounds won: 538 (55.18%) Competitor: kinsen.twin.SelcouthTeam Win/loss: 6 - 7 Rounds won: 532 (54.56%) Competitor: bvh.two.Ravens Win/loss: 6 - 7 Rounds won: 470 (48.21%) Competitor: wiki.twin.InevitableTeam Win/loss: 5 - 8 Rounds won: 447 (45.85%) Competitor: krillr.mini.JointStrikeForce Win/loss: 4 - 9 Rounds won: 320 (32.82%) Competitor: wcsv.Coyote.CoyotePair Win/loss: 3 - 10 Rounds won: 316 (32.41%) Competitor: gh.twin.GrauwuarG Win/loss: 1 - 12 Rounds won: 192 (19.69%) Competitor: whind.TwintelligenceTeam Win/loss: 0 - 13 Rounds won: 79 (8.1%) ---- Bracket Tourney Round 1 Seeds 1, 2 get byes. 3 ShizPair 14 TwintelligenceTeam ShizPair wins 72 - 3 4 GeminiTeam 13 GrauwuarG GeminiTeam wins 64 - 11 5 YinYang 12 CoyotePair YinYang wins 52 - 23 6 Valkiries 11 JointStrikeForce Valkiries wins 46 - 29 7 GruwelTwins 10 InevitableTeam GruwelTwins wins 74 - 1 8 SelcouthTeam 9 Ravens SelcouthTeam wins 38 - 37 ---- Bracket Tourney Round 2 1 LuminariousDuo 8 SelcouthTeam LuminariousDuo wins 55 - 20 4 GeminiTeam 5 YinYang GeminiTeam wins 42 - 33 2 KomariousTeam 7 GruwelTwins KomariousTeam wins 60 - 15 3 ShizPair 6 Valkiries ShizPair wins 73 - 2 ---- Bracket Tourney Round 3 1 LuminariousDuo 4 GeminiTeam LuminariousDuo wins 48 - 27 2 KomariousTeam 3 ShizPair KomariousTeam wins 72 - 3 ---- Tourney Finals 1 LuminariousDuo 2 KomariousTeam LuminariousDuo wins 49 - 26, 47 - 28, 40 - 35
Round robin results are in, gonna start running the bracket tourney now...
Running round 1... RESULT = bvh.two.Valkiries defeats bvh.two.Ravens: 49 to 26 RESULT = davidalves.twin.YinYang defeats bvh.two.Ravens: 60 to 15 RESULT = gh.GruwelTwins defeats bvh.two.Ravens: 44 to 31 RESULT = bvh.two.Ravens defeats gh.twin.GrauwuarG: 66 to 9 RESULT = kc.twins.GeminiTeam defeats bvh.two.Ravens: 53 to 22 RESULT = kawigi.micro.ShizPair defeats bvh.two.Ravens: 58 to 17 RESULT = bvh.two.Ravens defeats kinsen.twin.SelcouthTeam: 39 to 36 RESULT = bvh.two.Ravens defeats krillr.mini.JointStrikeForce: 59 to 16 RESULT = voidious.team.LuminariousDuo defeats bvh.two.Ravens: 56 to 19 RESULT = bvh.two.Ravens defeats wcsv.Coyote.CoyotePair: 50 to 25 RESULT = bvh.two.Ravens defeats whind.TwintelligenceTeam: 59 to 16 RESULT = bvh.two.Ravens defeats wiki.twin.InevitableTeam: 52 to 23 RESULT = wiki.twin.KomariousTeam defeats bvh.two.Ravens: 60 to 15 RESULT = davidalves.twin.YinYang defeats bvh.two.Valkiries: 56 to 19 RESULT = bvh.two.Valkiries defeats gh.GruwelTwins: 47 to 28 RESULT = bvh.two.Valkiries defeats gh.twin.GrauwuarG: 72 to 3 RESULT = kc.twins.GeminiTeam defeats bvh.two.Valkiries: 70 to 5 RESULT = kawigi.micro.ShizPair defeats bvh.two.Valkiries: 74 to 1 RESULT = kinsen.twin.SelcouthTeam defeats bvh.two.Valkiries: 42 to 33 RESULT = bvh.two.Valkiries defeats krillr.mini.JointStrikeForce: 56 to 19 RESULT = voidious.team.LuminariousDuo defeats bvh.two.Valkiries: 62 to 13 RESULT = bvh.two.Valkiries defeats wcsv.Coyote.CoyotePair: 74 to 1 RESULT = bvh.two.Valkiries defeats whind.TwintelligenceTeam: 72 to 3 RESULT = bvh.two.Valkiries defeats wiki.twin.InevitableTeam: 56 to 19 RESULT = wiki.twin.KomariousTeam defeats bvh.two.Valkiries: 66 to 9 RESULT = davidalves.twin.YinYang defeats gh.GruwelTwins: 47 to 28 RESULT = davidalves.twin.YinYang defeats gh.twin.GrauwuarG: 71 to 4 RESULT = davidalves.twin.YinYang defeats kc.twins.GeminiTeam: 40 to 35 RESULT = kawigi.micro.ShizPair defeats davidalves.twin.YinYang: 41 to 34 RESULT = davidalves.twin.YinYang defeats kinsen.twin.SelcouthTeam: 45 to 30 RESULT = davidalves.twin.YinYang defeats krillr.mini.JointStrikeForce: 38 to 37 RESULT = voidious.team.LuminariousDuo defeats davidalves.twin.YinYang: 68 to 7 RESULT = davidalves.twin.YinYang defeats wcsv.Coyote.CoyotePair: 57 to 18 RESULT = davidalves.twin.YinYang defeats whind.TwintelligenceTeam: 71 to 4 RESULT = wiki.twin.InevitableTeam defeats davidalves.twin.YinYang: 55 to 20 RESULT = wiki.twin.KomariousTeam defeats davidalves.twin.YinYang: 46 to 29 RESULT = gh.GruwelTwins defeats gh.twin.GrauwuarG: 54 to 21 RESULT = kc.twins.GeminiTeam defeats gh.GruwelTwins: 50 to 25 RESULT = kawigi.micro.ShizPair defeats gh.GruwelTwins: 58 to 17 RESULT = gh.GruwelTwins defeats kinsen.twin.SelcouthTeam: 53 to 22 RESULT = gh.GruwelTwins defeats krillr.mini.JointStrikeForce: 62 to 13 RESULT = voidious.team.LuminariousDuo defeats gh.GruwelTwins: 48 to 27 RESULT = wcsv.Coyote.CoyotePair defeats gh.GruwelTwins: 45 to 30 RESULT = gh.GruwelTwins defeats whind.TwintelligenceTeam: 75 to 0 RESULT = gh.GruwelTwins defeats wiki.twin.InevitableTeam: 73 to 2 RESULT = wiki.twin.KomariousTeam defeats gh.GruwelTwins: 53 to 22 RESULT = kc.twins.GeminiTeam defeats gh.twin.GrauwuarG: 72 to 3 RESULT = kawigi.micro.ShizPair defeats gh.twin.GrauwuarG: 55 to 20 RESULT = kinsen.twin.SelcouthTeam defeats gh.twin.GrauwuarG: 44 to 33 RESULT = krillr.mini.JointStrikeForce defeats gh.twin.GrauwuarG: 56 to 19 RESULT = voidious.team.LuminariousDuo defeats gh.twin.GrauwuarG: 75 to 0 RESULT = wcsv.Coyote.CoyotePair defeats gh.twin.GrauwuarG: 70 to 5 RESULT = gh.twin.GrauwuarG defeats whind.TwintelligenceTeam: 65 to 10 RESULT = wiki.twin.InevitableTeam defeats gh.twin.GrauwuarG: 66 to 9 RESULT = wiki.twin.KomariousTeam defeats gh.twin.GrauwuarG: 74 to 1 RESULT = kc.twins.GeminiTeam defeats kawigi.micro.ShizPair: 38 to 37 RESULT = kc.twins.GeminiTeam defeats kinsen.twin.SelcouthTeam: 42 to 33 RESULT = krillr.mini.JointStrikeForce defeats kc.twins.GeminiTeam: 40 to 35 RESULT = voidious.team.LuminariousDuo defeats kc.twins.GeminiTeam: 52 to 23 RESULT = kc.twins.GeminiTeam defeats wcsv.Coyote.CoyotePair: 60 to 15 RESULT = kc.twins.GeminiTeam defeats whind.TwintelligenceTeam: 75 to 0 RESULT = kc.twins.GeminiTeam defeats wiki.twin.InevitableTeam: 41 to 34 RESULT = kc.twins.GeminiTeam defeats wiki.twin.KomariousTeam: 41 to 34 RESULT = kawigi.micro.ShizPair defeats kinsen.twin.SelcouthTeam: 46 to 29 RESULT = kawigi.micro.ShizPair defeats krillr.mini.JointStrikeForce: 70 to 5 RESULT = kawigi.micro.ShizPair defeats voidious.team.LuminariousDuo: 51 to 25 RESULT = kawigi.micro.ShizPair defeats wcsv.Coyote.CoyotePair: 75 to 0 RESULT = kawigi.micro.ShizPair defeats whind.TwintelligenceTeam: 73 to 2 RESULT = kawigi.micro.ShizPair defeats wiki.twin.InevitableTeam: 59 to 16 RESULT = wiki.twin.KomariousTeam defeats kawigi.micro.ShizPair: 75 to 0 RESULT = kinsen.twin.SelcouthTeam defeats krillr.mini.JointStrikeForce: 58 to 17 RESULT = voidious.team.LuminariousDuo defeats kinsen.twin.SelcouthTeam: 51 to 25 RESULT = kinsen.twin.SelcouthTeam defeats wcsv.Coyote.CoyotePair: 74 to 1 RESULT = kinsen.twin.SelcouthTeam defeats whind.TwintelligenceTeam: 62 to 13 RESULT = kinsen.twin.SelcouthTeam defeats wiki.twin.InevitableTeam: 67 to 8 RESULT = wiki.twin.KomariousTeam defeats kinsen.twin.SelcouthTeam: 65 to 10 RESULT = voidious.team.LuminariousDuo defeats krillr.mini.JointStrikeForce: 69 to 6 RESULT = krillr.mini.JointStrikeForce defeats wcsv.Coyote.CoyotePair: 39 to 36 RESULT = krillr.mini.JointStrikeForce defeats whind.TwintelligenceTeam: 62 to 15 RESULT = wiki.twin.InevitableTeam defeats krillr.mini.JointStrikeForce: 72 to 3 RESULT = wiki.twin.KomariousTeam defeats krillr.mini.JointStrikeForce: 68 to 7 RESULT = voidious.team.LuminariousDuo defeats wcsv.Coyote.CoyotePair: 75 to 0 RESULT = voidious.team.LuminariousDuo defeats whind.TwintelligenceTeam: 75 to 0 RESULT = voidious.team.LuminariousDuo defeats wiki.twin.InevitableTeam: 72 to 3 RESULT = voidious.team.LuminariousDuo defeats wiki.twin.KomariousTeam: 49 to 28 RESULT = wcsv.Coyote.CoyotePair defeats whind.TwintelligenceTeam: 69 to 6 RESULT = wiki.twin.InevitableTeam defeats wcsv.Coyote.CoyotePair: 54 to 21 RESULT = wiki.twin.KomariousTeam defeats wcsv.Coyote.CoyotePair: 60 to 15 RESULT = wiki.twin.InevitableTeam defeats whind.TwintelligenceTeam: 69 to 6 RESULT = wiki.twin.KomariousTeam defeats whind.TwintelligenceTeam: 71 to 4 RESULT = wiki.twin.KomariousTeam defeats wiki.twin.InevitableTeam: 49 to 26-- Voidious
Heh, I looked at the round robin results and thought "Time to get schooled by Komarious." However, I think I've thought of a possibly effective way to make a MinimumRiskMovement-oriented 1-on-1-type movement, which might make a more dedicated TwinDuel bot make sense. -- Kawigi
I'm curious, how similar to WaveSurfing is this theoretical movement? WaveSurfing seems very much like a 1-on-1 MinimumRiskMovement to me - the only choices are orbiting in either direction or stopping (unless you're doing GoTo Style, but most people don't...), and the risk function is based on whatever surf stats you've collected. LuminariousDuo uses a more melee style MinimumRiskMovement, but the risk function is much more tailored to 2v2 team battle. -- Voidious
Not that similar, actually. There is a true analogy between MinimumRiskMovement and WaveSurfing, and while it would be possible to put them together, it would take me more than 2000 bytes to make it happen :-) The main difference between them is dimensionality - WaveSurfing is only 1-dimensional, and typically you're only comparing two values (clockwise and counterclockwise). The harder implementation detail is consistent enough data collection for it to be accurate. It's possible, probably even with the surfer and a gun in 2000 bytes, but it would take some communication, and might break down if you lose a bot before the opposing teammate (on the other hand, if you got this working, that might be unlikely :-) ). The other difficulty is not knowing if an opponent hit you accidentally after missing your teammate. The bonus benefit is that you could perfectly avoid friendly fire. TwinDuel is un-crowded enough that it might even work (hence, the name :-) ).
My thought was more the other direction and a little more primitive. I'm thinking of something more like a minimum risk movement implementation of a random orbit. The way I try not to change directions is by adding a risk multiplier to turning more than 90 degrees. This is distinct to repelling my last target location like Shiz and HawkOnFire. When I want to switch directions, that repulsion becomes negative. Everything else (like what exactly I need to be perpendicular to, what I need to stay away from, and not ramming my teammate) is still pretty much built in to the risk function before that. Who knows, perhaps this is similar to what some existing teams do, and I suspect its effectiveness falls off a little as the arena gets more cramped (i.e. - RoboRumble teams). Worth a shot, too, though. -- Kawigi
What you're describing sounds to me like it would work very well in the TwinDuel. Before LuminariousDuo started winning, all the best TwinDuel teams (notably GeminiTeam, which dominated many weeks) were a very 1v1 style movement. I actually spent a lot of time trying to switch to a 1v1 movement before getting frustrated and returning to the MinimumRiskMovement. Lumi does have a randomized direction changing factor in the risk calculation that sounds kinda similar to what you're describing, actually. It's OpenSource, so of course it's your choice if you want to see exactly how similar =) -- Voidious
Oh, one comment on TwinSurfing, which I very much tried to do at one point: the major problem with it is that you never really know which bot they were aiming at, so you can never collect perfectly accurate surf stats. -- Voidious
Exactly my point. You might be able to guess with relatively high accuracy with some teams, though :-) The only problem is if you got really good at TwinSurfing, most of the hits you took might be from the wrong bot :-p Back to the current trends, there's a reason Shiz was a good melee bot - it avoids being targeted. The most recent version of Coriantumr is weighted even more in this direction. The reason Shiz works so well as a team is not because of that, but because they avoid each other and dodge their opponents, but trying not to be targeted doesn't help, because the alternative target is your teammate. -- Kawigi