Article 2154 of rec.games.corewar: Newsgroups: rec.games.corewar Path: hellgate.utah.edu!dog.ee.lbl.gov!agate!howland.reston.ans.net!vixen.cso.uiuc.edu!newsrelay.iastate.edu!dunix.drake.edu!acad.drake.edu!pk6811s From: pk6811s@acad.drake.edu Subject: _Push Off_ Message-ID: <1993Oct25.121403.1@acad.drake.edu> Lines: 315 Sender: news@dunix.drake.edu (USENET News System) Nntp-Posting-Host: acad.drake.edu Organization: Drake University, Des Moines, Iowa, USA Date: Mon, 25 Oct 1993 18:14:03 GMT _PUSH OFF_ A midweek review of Corewar October 25, 1993 ------------------------------------------------------------------------------- I. The Standings: # %W/ %L/ %T Name Author Score Age 1 34/ 13/ 53 Cannonade P.Kline 155 101 2 34/ 20/ 46 Imprimis 7 P.Kline 149 498 3 33/ 18/ 48 Impact v1.0 Anders Ivner 148 395 4 36/ 24/ 40 Vagabond P.Kline 148 6 5 36/ 25/ 39 test James Layland 147 23 6 45/ 42/ 13 Dragon Spear II c w blue 147 28 7 40/ 34/ 26 Winter Werewolf 3 W. Mintardjo 146 576 8 31/ 16/ 53 pMARS pMARS project 146 307 9 37/ 30/ 32 Keystone t13 P.Kline 144 105 10 43/ 41/ 16 Twilight Pits 8 W. Mintardjo 144 2 11 34/ 25/ 41 Deck of Many Things c w blue 143 15 12 44/ 46/ 11 Impurge Fredrik Ohrstrom 142 582 13 44/ 47/ 9 Agony 6.0 Stefan Strack 141 210 14 37/ 33/ 30 Herem VI Anders Ivner 141 430 15 32/ 23/ 45 ttt nandor sieben 141 482 16 33/ 25/ 42 FlyPaper 3.10 J.Layland 141 29 17 41/ 43/ 15 test Mike Nonemacher 140 5 18 41/ 42/ 17 Red Baron ][ v2 Mike Nonemacher 139 16 19 31/ 23/ 47 Night Crawler Wayne Sheppard 139 1258 20 5/ 44/ 51 Primitive imp Mintardjo W. 65 1 21 2/ 98/ 0 test P.Kline 7 0 ------------------------------------------------------------------------------- II. The Basics: -Core War Archives, including many helpful articles, warrior source code, and reliable emulators, are available via anonymous FTP at soda.berkeley.edu in pub/corewar. -FAQ for this newsgroup is available via anonymous FTP at rtfm.mit.edu as pub/usenet/news.answers/games/corewar-faq.z ------------------------------------------------------------------------------- III. The Scoop: Oh my! What a week (well ok, two weeks). Stout hearts were driven to tears as sturdy warriors were laid in the dust. There is no mercy, KotH has no favorites, all is woe and struggle - except for the lucky author whose four entries were ranked 1-4 after a recent battle :-) Dragon Spear, one of a class of strong cmp-scanners, was driven off. Sorry Blue, I forgot to make a note of Dragon's age :-( It was well over 1000 for sure, leaving Night Crawler as our only remaining 1000+ contender. FlyPaper 3.0 fell off at 590, succumbing to a rash of scanner onslaughts. Not deterred, J. Layland tightened up a few sprockets and successfully launched FlyPaper 3.1. W. Sheppard's cmp-scanner Iron Gate 1.01, a spl-jmp bombing cmp-scanner, fell off at 399. Iron Gate was one of the first cmp-scanners to react to the imp barrage with the endgame gating that has become such a standard. Then leprechaun 1b, A. Ivner's fast-booting bscanning bomber, was pushed off at 224. leprechaun and Herem are worth studying for ideas on how stone can deal with paper. QuickFreeze was pushed off at the nice round age of 100. Although deadly to imps and other slow-starting programs, QuickFreeze was helpless against fast scanners. (QuickFreeze's anti-imp paper has been resurrected, however :-) Beholder's Eye v2 was also a casualty. After M. Hasting's highly successful 'B-Scanners Live in Vain' was driven off by the imps last fall, W. Mintardjo succeeded in resurrecting it with a nifty gate retro-fit. One of those 'teeny-tinies' you've heard so many good things about :-) So, with all these programs falling off KotH, who's filling the gaps? Let's start with Dragon Spear II. Without having seen any source version, but judging by its performance against several known programs, I would guess it is a carpet-bombing cmp-scanner with a fast boot and at least one reflection against another scanner on the Hill. Based on its current ranking, Dragon looks like it might be up for a long time. Then there's Vagabond, my own stone-imp combination, modelled after Smooth Noodle Map. See write-up in Hints. J. Layland's mysterious 'test' program is also in the top 10 today. With a score similar to Vagabond, and his proclivity to paper, I'm guessing its a stone-paper combination, or possibly an advanced version of FlyPaper. Just in time for Halloween, the vampire has returned. Twilight Pits 8 must be whipping somebody (else :-) on KotH, with a respectable 10th place ranking. Then theres M. Nonemacher's Red Baron ][. Red was all over the Hill in recent days, from high to low. Red appears to be a fast stone with an anti-paper strategy of spl-zero carpeting followed by a standard core-clear. Got a gate in there too? On another topic, the old ah-ha! light went on yesterday. I've been puzzled by the fact that a zero-length, or single-line DAT #0 program could show 2% wins on KotH. Of course! When it plays itself the first one to die loses and the other gets credit for the win. 50 wins out of 2000 battles is 2.5%, rounded to 2%. Hope you are all as relieved as I was to have this explained. ------------------------------------------------------------------------------- IV. The Outlook: 1 45/ 43/ 12 Dragon Spear II c w blue 148 1 2 35/ 26/ 39 FlyTest J.Layland 144 1 2 38/ 23/ 39 FlyPaper 3.09 J.Layland 153 1 3 42/ 45/ 13 Twilight Pits 8 W. Mintardjo 139 1 4 42/ 44/ 14 test Mike Nonemacher 139 1 4 31/ 27/ 42 Vagabond P.Kline 136 1 5 42/ 45/ 13 Dagger v2.2 Michael Constant 139 1 6 44/ 45/ 11 sub-type-cmp c w blue 143 1 9 27/ 19/ 54 Silver Paper v1.5 W. Mintardjo 134 1 9 32/ 28/ 41 Deck of Many Things c w blue 135 1 9 42/ 46/ 12 Iron Cannon Wayne Sheppard 139 1 10 39/ 41/ 20 Match Stick c w blue 137 1 10 41/ 44/ 15 Red Baron ][ v2 Mike Nonemacher 137 1 ------------------------------------------------------------------------------- V. The Quick Look: 16 31/ 30/ 39 test James Layland 132 1 18 40/ 51/ 9 Paratroops v3.0 W. Mintardjo 129 1 18 41/ 48/ 11 All That Glitters v5.4 Mike Nonemacher 134 1 19 27/ 37/ 36 Test 1 Brant D. Thomsen 118 1 19 29/ 27/ 44 Tar Paper P.Kline 131 1 19 38/ 47/ 15 B+C Anders Ivner 129 1 19 40/ 57/ 3 NTA wayne sheppard 123 1 20 0/ 46/ 54 Primitive imp Mintardjo W. 54 1 20 21/ 41/ 38 Warrior's Gate 0.3 J Kyle Kelso 100 1 20 22/ 47/ 31 Incrimination v3.0 Brant D. Thomsen 98 1 20 28/ 57/ 15 Crystal Vampyre c w blue 98 1 20 29/ 44/ 27 Test R Ford 113 1 20 36/ 52/ 11 Irony v4.0 Brant D. Thomsen 120 1 20 40/ 50/ 10 Cleaver Wayne Sheppard 129 1 21 1/ 38/ 61 Implets J.C.Vazquez 63 0 21 2/ 43/ 55 Imp Test Stephen Linhart 60 0 21 2/ 80/ 18 ring2 Unknown 23 0 21 3/ 96/ 1 nexus5 Fredrik Appelberg 11 0 21 6/ 54/ 41 Nice Try J.C. Vazquez 57 0 21 8/ 74/ 17 Punch Drunk Chris Clark 42 0 21 10/ 63/ 27 Pitcher 0.09 J Kyle Kelso 57 0 21 11/ 49/ 40 Combinatoris 1 J Kyle Kelso 74 0 21 13/ 75/ 12 B52 Bryan Kilian 51 0 21 13/ 81/ 6 AntiFreeze Stephen Linhart 44 0 21 14/ 62/ 24 pitcher 0.1 J Kyle Kelso 67 0 21 14/ 68/ 18 Shrew Stephen Linhart 59 0 21 15/ 74/ 11 Minelets[04] J.C.Vazquez 56 0 21 15/ 74/ 11 Dwarf Spitter v0.5 Daniel Parnell 56 0 21 17/ 63/ 21 The Chain 1.1 J Kyle Kelso 71 0 21 19/ 73/ 8 Nova 1 Jay Han 65 0 21 20/ 41/ 39 Warrior's Gate 4 J Kyle Kelso 99 0 21 20/ 47/ 33 new paper c w blue 93 0 21 20/ 61/ 19 Tiers of Stone 1 J Kyle Kelso 78 0 21 23/ 28/ 49 Hydra Stephen Linhart 117 0 21 23/ 38/ 39 Bloody Mary Bryan 108 0 21 23/ 54/ 24 Eye Stone 1 J Kyle Kelso 91 0 21 23/ 60/ 17 ttest J Kyle Kelso 86 0 21 26/ 33/ 41 bordel v 1.0 P.E.M & E.C 120 0 21 26/ 37/ 37 FireFighter Bryan 115 0 21 26/ 57/ 17 Test Stephen Linhart 95 0 21 27/ 28/ 45 Balo v1 P.E.M & E.C 126 0 21 28/ 57/ 14 Morannon 1 J Kyle Kelso 99 0 21 28/ 59/ 13 Morannon 3.1 J Kyle Kelso 96 0 21 29/ 42/ 29 clown v 1.0 P.E.M & E.C 116 0 21 29/ 44/ 26 Fast Food v1.0 Brant D. Thomsen 114 0 21 29/ 48/ 23 clown v8 P.E.M & E.C 110 0 21 29/ 52/ 20 bozo v1 P.E.M & E.C 106 0 21 29/ 55/ 17 Glass House 3.0 J.Layland 103 0 21 30/ 61/ 9 Samson IV Bryan Kilian 100 0 21 31/ 41/ 27 Clown v1 P.E.M & E.C 121 0 21 31/ 53/ 16 death Steven Morrell 109 0 21 33/ 56/ 11 Taser }{ StarWriter 110 0 21 35/ 49/ 16 sub-type-os c w blue 120 0 ------------------------------------------------------------------------------- VI. The Hint: Inquiring minds want to know how to create a winning program. Here's the process used in building Vagabond. Better warm up your coffee before starting :-) First, look at the mix of programs on KotH. You have to beat a sufficient number of them to get a decent score. If you only beat stones you won't make it. Or Paper. Or imps. Or scanners. So the goal is a program that is strong enough to beat or tie a variety of opponents. Second, look at what you like and understand. Right now I am playing with anti-imp replicators. C. Blue believes paper is the only useful strategy against imps, and I agree to an extent. The paper in QuickFreeze beats some of the imps on the Hill over 50% of the time. So that is where we start. Strip everything out except the paper and run it against KotH. Who do you beat, and who beats you? This paper beats some of the imps and ties the others (except Impact), clobbers stones and RotLD/Hydra types, and loses marvelously to scanners and vampires. Note that the largest point loss is against scanners. What beats scanners? Bombers are the best. Small bscanners can be good, vampires probably go even-steven. Also a small dat-bombing cmp-scanner like FlyPaper does well. Just to see, I set up a FlyPaper like program (Tar Paper) and submitted that. Hmm. Not much luck. The wins against cmp-scanners were in the 30% range, still losing 50%. Make a note for later that I can take a line off FlyPaper's scanner, but losing that many against cmp-scanners just encourages more of them. Since stones have the best win/loss ratio against scanners, how can we bring them in? Successful past strategies were used in FlashPaper, Gamma Paper, and Smooth Noodle Map. FlashPaper starts both the stone and the paper at the beginning, and realizes a small number of wins against scanners, about like Tar Paper. Gamma Paper bombs for a long time before starting its paper colony. Probably if it were to boot the stone away from the colony it would have better success. Smooth Noodle Map boots a stone and two mice-style replicators away from the startup, bombs for a while, then starts both replicators and continues bombing. I decided to try the Smooth Noodle Map strategy. Then ask why Smooth Noodle Map doesn't work today? Well the reason is imps - it just loses or ties them. But I have paper that works against imps so success seems like a possibility. So set up a non-optimized test version that boots a really simple non-splitting stone and two copies of the replicator. The stone bombs for a while, then splits to create the necessary processes and jumps them to the replicators. This test is surprisingly successful on KotH. The stone is getting 40-50% wins against the scanners, and the paper is tying or slightly beating the other stones and the imps. So now we run a series of tests against single known opponents. An early version of Night Crawler was published, so run and watch some battles against that. Hmm. Looks like we lose battles because the stone is not self-splitting. A single DAT bomb kills Vagabond's stone rather frequently. So add a SPL to grow cycles. Run more tests. Notice that sometimes NC's stone is crippled, but so are my replicators. Then my stone is left to face the imps, but since I am growing processes, I get a tie. This is much better. Now run some tests against an early version of the spl-jmp bombing cmp-scanner Iron Gate. The stone gets lots of wins, but there are a large number of ties. Sometimes IG drops a stunner on one of the replicators, then gets crippled. As soon as Vagabond launches the paper the spl-jmp loop takes over and we get a tie. Maybe the stone could somehow bomb the replicators after they've had time to reproduce. Unfortunately the spl-jmp could be anywhere in the code, so where do we bomb? And the two copies are too far apart for sequental bombing. Ah! What if the two papers' descendents would overwrite one another's original code? Try setting up their 'child' distances so the second generation shortly overwrites the original of the other copy. In 15 battles this strategy succeeds 3 times. The unstunned paper's children kill off the stunned copy and are freed up to locate and destroy the crippled scanner. Now run some tests against Keystone, a bomber. Vagabond's paper gets a lot of wins, but there are still quite a few ties. Sometimes V's paper-launching code is crippled. Then we see that Vagabond's stone is really a lightweight and has no core-clear. Rig up a core-clear by having it drop its increment code (now MOV STEP,<-STEP) onto the DJN line. Yes, that works. Now we've turned some losses and ties into wins. Impact is a special case. It's a DAT and SPL bomber (Herem), with a 3-point spiral. Ordinarily Vagabond's paper would beat a bomber/spiral but those SPL bombs are crippling them, and the Impact is getting a lot of wins by mopping them up with a core-clear. Impact's SPL's should not be as dangerous as others' SPL-JMPs, but they are effective. The problem is that my paper has its own JMP - back to the beginning to make another copy, and doesn't use FlashPaper's trick to clear single SPL's. Hmm. How to clear SPL's, or to make no-loop paper? Each copy could make two children and jump to them with no need to go back to the beginning. After trying a few variations on this, conclude that it is worthy of further investigation, but not useful at this time. All mods to the paper seem to make it just slower enough to get shot down more. Agony is another special case. Agony beats Vagabond about 50/40. After watching many battles, give it up as a lost cause. Too many of Agony's instructions shrug off the stone's decrements. Without an effective decrement, stones are just 33%-of-c bombers. Cmp-scanners are 66%-of-c. I can see the decrement lines passing through Agony's code, but there is no effect. It might be possible to separate parts of the stone and paper-launching code to make me look smaller, but nothing comes to mind. Now optimize the stone's step size. Its a mod-5 step, but that's only a relic of the program (Emerald) it was cut out of. Better to use a mod-1 step so some of the decrements will decoy scanners a little. Look for a number that finds size-13 opponents rapidly and is small enough to be used in the core-clear line. Package everything together, slap on a name test^H^H^H^HIrish^H^H^H^H^HVagabond and send him up. Whoa! 4th Place. Break out the heart medicine! One variable is the amount of time the stone runs before launching the paper, which is controlled by a DJN STONE,#XXX. A large XXX makes me look more like a stone, a small XXX makes me look more like paper. Changing XXX affects the success against individual opponents, but the overall score doesn't change that much. Items noted for future research: adding an imp-gate to the stone anti-vamp code paper that kills 1143-imps paper that overcomes single SPL's reducing size of the stone & paper-launch code reducing size of boot code try bscanner instead of stone ------------------------------------------------------------------------------- VII. The End: Paul Kline pk6811s@acad.drake.edu