.xX$$x. .x$$$$$$$x. d$$$$$$$$$$$ ,$$$$$$$P' `P' , . $$$$$$P' ' .d b $$$$$P b ,$$x ,$$x ,$$x ,$$b $$. Y$$$$' `$. $$$$$$. $$$$$$ $$P~d$. d$$$b d d$$$ `$$$$ ,$$ $$$$$$$b $$$P `$ $$$b.$$b `Y$$$d$d$$$' . . a . a a .aa . a `$$$ ,$$$,$$' `$$$ $$$' ' $$P$XX$' `$$$$$$$$$ .dP' `$'$ `$'$ , $''$ `$'$ `Y$b ,d$$$P `$b,d$P' `$$. `$$. , `$$P $$$' Y $. $ $ $ Y..P $ `$$$$$$$' $$$P' `$$b `$$$P `P `$' `Y'k. $. $. $. $$' $. Issue 29 May 13, 1996 ______________________________________________________________________________ Core Warrior is a weekly newsletter promoting the game of corewar. Emphasis is placed on the most active hills--currently the '94 draft hill and the beginner hill. Coverage will follow where ever the action is. If you have no clue what I'm talking about then check out these five-star internet locals for more information: FAQs are available by anonymous FTP from rtfm.mit.edu as pub/usenet/news.answers/games/corewar-faq.Z FTP site is: ftp.csua.berkeley.edu /pub/corewar Web pages are at: http://www.stormking.com/~koth ;Stormking http://www.ecst.csuchico.edu/~pizza/koth ;Pizza http://pauillac.inria.fr/~doligez/corewar/ ;Planar Newbies should check the stormking page for the FAQ, language specification, guides, and tutorials. Post questions to rec.games.corewar. All new players are infinitely welcome! If ftp.csua.berkeley.edu is still out of service, you can download pMARS at: Terry's web page--http://www.infi.net/~wtnewton/corewar/ Planar fpt site--ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars ______________________________________________________________________________ Greetings. This week the discussion in the newsgroup has been about self fights, most opinions have been against self fights with those arguments: -self fights disadvantage some warriors unable to kill themselves -self fight waste machine time -in a tournament there are no self fights, one fights only his opponents with those arguments pro: -removing self fights will unbalance the score, because only with self fights every warriors fights against the same warriors. -self fight score has little influence and it's important to keep rules constant My opinion is known and I won't express it again here, but it's important we discuss the topic, not long ago it seemd everybody was against self fights, in the polite way usual in the newsgroup- --Beppe Bezzi ______________________________________________________________________________ Current Status of the Internet Pizza Server ICWS '94 Draft Hill: Hill Specs: coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 rounds fought: 200 instruction set: ICWS '94 Draft # %W/ %L/ %T Name Author Score Age 1 47/ 37/ 16 Scan Man David van Dam 158 79 2 47/ 40/ 12 Wind-up Toy v1.2c Ian Oversby 155 111 3 41/ 35/ 25 Thermite II Robert Macrae 146 1659 4 40/ 35/ 25 T.N.T. pro Maurizio Vittuari 146 38 5 38/ 33/ 29 La Bomba 1.3 Beppe Bezzi 144 230 6 41/ 37/ 22 Blur Anton Marsden 144 66 7 40/ 35/ 25 test Maurizio Vittuari 144 12 8 40/ 36/ 24 Grilled Octopus v0.5 David Boeren 143 875 9 28/ 14/ 58 Hazy Shade II John K W 143 618 10 34/ 25/ 41 Walk Like An Egyptian John K W 143 217 11 40/ 37/ 23 Blanket Party J E Long 142 383 12 38/ 34/ 28 Yogi Bear P.Kline 142 2 13 39/ 37/ 23 Chameleon M R Bremer 142 1130 14 42/ 43/ 15 Stepping Stone Kurt Franke 142 472 15 40/ 38/ 23 The Core Clear V1.3 David van Dam 141 174 16 30/ 18/ 52 test eif JKW 141 56 17 38/ 36/ 26 Flimsy v0.4a Ian Oversby 140 172 18 31/ 22/ 47 Impfinity v4g1 Planar 139 1858 19 38/ 38/ 24 Gem of the Ocean P.Kline 138 528 20 34/ 31/ 35 Flurry Anton Marsden 138 620 21 25/ 12/ 64 EvolCap XI John Wilkinson 137 368 22 41/ 45/ 14 Solomon v0.3 Ian Oversby 137 271 23 36/ 34/ 30 Tornado 3.0 Beppe 137 1460 24 34/ 42/ 25 stone test 11 Beppe 125 1 25 24/ 32/ 43 Torch t19 P.Kline 117 3 Weekly age: 107 ( 78 last week ) New warriors 8 Turnover/age rate 7% Average age: 456 ( 403 last week, 464 the week before ) Average score: 141 ( 142 last week, 142 the week before ) The top 25 warriors are represented by 13 authors: JKW with 4, Oversby, Bezzi, and Kline with 3, van Dam, Vittuari and Marsden with 2. Van dam replaces Snanny boy, see it in extra extra, with his big brother Scan Man that kees the top from his appearance; Wind up toy and Thermite held second row positions easily while The Core Clear is slipped down a little. Vittuari, after some testing, puts his new version of T.N.T in a good position. La Bomba bounces up, maybe thanks the stone test, some of which successful, made by his author, Beppe Bezzi. Of the over 1000 veterans Thermite is the more healthy, always in the hilltop; Chameleon has been always seen around tenth position and Impfinity bouncing a little from 15th to 20th. Tornado seems in serious troubles, always near the bottom. The competition is always fierce, we have less than ten points from the third to the the 23rd, even if the King seems to have a good lead over the runners up. The hilltop is kept by different kinds of warriors, scanners, p-spacers, bombers and replicators are having their share of glory. Paul submitted his new version of Torch, without a little work it's difficult it will repeat the success of it's former version ______________________________________________________________________________ 94 - What's New # %W/ %L/ %T Name Author Score Age 1 47/ 37/ 16 Scan Man David van Dam 158 79 4 40/ 35/ 25 T.N.T. pro Maurizio Vittuari 146 38 6 41/ 37/ 22 Blur Anton Marsden 144 66 7 40/ 35/ 25 test Maurizio Vittuari 144 12 12 38/ 34/ 28 Yogi Bear P.Kline 142 2 16 30/ 18/ 52 test eif JKW 141 56 24 34/ 42/ 25 stone test 11 Beppe 125 1 25 24/ 32/ 43 Torch t19 P.Kline 117 3 Worth notice are Scan Man, new King of the Hill, and TNT pro ______________________________________________________________________________ 94 - What's No More # %W/ %L/ %T Name Author Score Age 26 2/ 2/ 0 gtest P.Kline 6 7 26 2/ 2/ 1 testb1<< Maurizio Vittuari 5 5 26 1/ 2/ 1 Test Anton Marsden 5 16 26 7/ 7/ 2 testb1> Maurizio Vittuari 22 12 26 1/ 2/ 0 Scanny Boy David van Dam 4 399 26 0/ 0/ 3 test P.Kline 4 35 26 2/ 2/ 0 T.N.T. pro Maurizio Vittuari 5 87 26 34/ 44/ 22 Mirage 2 Anton Marsden 123 411 ______________________________________________________________________________ 94 - What's Old # %W/ %L/ %T Name Author Score Age 18 31/ 22/ 47 Impfinity v4g1 Planar 139 1858 3 41/ 35/ 25 Thermite II Robert Macrae 146 1659 23 36/ 34/ 30 Tornado 3.0 Beppe 137 1460 13 39/ 37/ 23 Chameleon M R Bremer 142 1130 8 40/ 36/ 24 Grilled Octopus v0.5 David Boeren 143 875 20 34/ 31/ 35 Flurry Anton Marsden 138 620 9 28/ 14/ 58 Hazy Shade II John K W 143 618 19 38/ 38/ 24 Gem of the Ocean P.Kline 138 528 14 42/ 43/ 15 Stepping Stone Kurt Franke 142 472 11 40/ 37/ 23 Blanket Party J E Long 142 383 21 25/ 12/ 64 EvolCap XI John Wilkinson 137 368 Two new entries in the over 300: Blanket Party and Evol cao XI, and one loss Mirage 2 ______________________________________________________________________________ HALL OF FAME * means the warrior is still active. Pos Name Author Age Strategy 1 Impfinity v4g1 Planar 1858 * Stone/ imp 2 Thermite II Robert Macrae 1659 * Qscan -> bomber 3 Jack in the box Beppe Bezzi 1620 P-warrior 4 Torch t18 P.Kline 1539 Bomber 5 Tornado 3.0 Beppe Bezzi 1460 * Bomber 6 Frontwards v2 Steven Morrell 1420 One shot scanner 7 Evol Cap 6.6 John Wilkinson 1299 Imp / stone 8 quiz Schitzo 1262 Scanner/ bomber 9 T.N.T. Maurizio Vittuari 1204 Bomber 10 Chameleon Myer R Bremer 1130 * P-warrior 11 Iron Gate 1.5 Wayne Sheppard 926 CMP scanner 12 Agony II Stefan Strack 912 CMP scanner 13 Barrage Anton Marsden 876 Qscan -> replicator 14 Grilled Octopus v0.5 David Boeren 875 * P-warrior 15 Blue Funk Steven Morrell 869 Stone/ imp 16 Thermite 1.0 Robert Macrae 802 Qscan -> bomber 17 Blue Funk 3 Steven Morrell 766 Stone/ imp 18 Night Train Karl Lewin 755 Replicator 19 Mirage 1.5 Anton Marsden 736 Scanner/ bomber 20 Blizzard Anton Marsden 713 Qscan -> replicator 21 HeremScimitar A.Ivner,P.Kline 666 Bomber 22 La Bomba Beppe Bezzi 650 Qscan -> replicator 23 myVamp v3.7 Paulsson 643 Vampire 24 Blue Funk 5 Steven Morrell 624 Stone/ imp 25 Flurry Anton Marsden 620 * Qscan -> pwarrior Imfinity is now at reach of 2000, 142 challenges aren't an impossible task. Thermite II surpasses Jack in second position. None of the living hall of famers has been stopped. Flurry enters the hall of fame pushing Hazy Shade of Winter off, next scheduled is Hazy shade II at 618 ______________________________________________________________________________ Current Status of the Internet Pizza Server Beginner's Hill: Hill Specs: coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 maximum age: At age 100, warriors are retired. rounds fought: 200 instruction set: ICWS '94 Draft # %W/ %L/ %T Name Author Score Age 1 60/ 28/ 12 Violent Micro v0.4 basehead 193 65 2 52/ 35/ 13 Extreme Prejudice Scott Manley 168 42 3 47/ 27/ 26 Reluctance Andy Nevermind 167 98 4 48/ 35/ 17 coal 3.22b bjoern guenzel 161 27 5 50/ 39/ 10 frogskin 4 bjoern guenzel 161 76 6 42/ 25/ 32 So Long Hyakutake Scott Manley 159 44 7 46/ 36/ 18 mini blue x-torch bjoern guenzel 155 2 8 41/ 26/ 33 Fork v0.1-10p Christoph C. Birk 155 45 9 43/ 32/ 25 Toxin IV Edgar 154 23 10 38/ 23/ 40 Toxin Edgar 152 89 11 47/ 41/ 12 x-frog 2 bjoern guenzel 152 92 12 47/ 42/ 12 Bloodhound Andrew Fabbro 152 90 13 46/ 45/ 8 Drill 1.1 Edgar 148 1 14 44/ 43/ 13 8-Ball 2 Iain Hogg 145 17 15 38/ 31/ 32 Szyzyg v1.01 Scott Manley 145 11 16 44/ 45/ 10 Centurion (mod) Edgar 143 15 17 43/ 44/ 13 8-Ball Iain Hogg 143 21 18 43/ 47/ 10 Centurion Edgar 140 16 19 34/ 35/ 32 Szyzyg v1.0 Scott Manley 133 12 20 28/ 27/ 46 invicta John K. Lewis 129 6 21 33/ 40/ 27 test 0.01 Christoph C. Birk 125 38 22 36/ 47/ 17 Blammo Edgar 124 4 23 30/ 42/ 29 C Seagal II v 2.0 Test jShelton 118 97 24 36/ 59/ 6 SideWinder Julian 113 75 25 32/ 57/ 11 yet another test 0.1 Justin Kao 107 14 Not many challenges, but 35, also this week. Violent Micro is still the leader. ______________________________________________________________________________ The Hint Imps This time I'm speaking of an argument I don't know too much, all old 88 players and our archiver/imp master Planar surely know much more, so I'll try to fly low, ready to hide if (when :-) flames will come. Most part of what I'm saying is also reported in Steven Morell's manual, if you don't understand something you may check here, and vice versa :-) Imps are apparently simple warriors, they are made only of a mov statement that crawl relentless in the core trying to overwrite the opponent and, sometimes, kill it. Once launched an imp spiral, let's suppose an 8 process 3 points mov #0,2667 one, works that way. loc. X ADG loc. X+2667 BEH loc. X+2667*2 CF process A, is the executing one, copies itself in the location where process B is going to execute, then queue itself for execution at location A+1 i.e where process D is queued. Process B does the same, copy to C and queue at E, and so on, spiraling through the core. When the spiral hits an opponent it begins to execute the mov and two thing may happen: if the enemy has less processes than the spiral it will die, because the spiral is unable to feed it of mov instructions at the rate it executes them, is it has more processes it's a tie. Usually 94 warriors, al least when executing their clear, have many process running, so the attack power of the spiral isn't great, but the main strenght of the spiral is its thoughness. Consider the spiral above, only two locations are subject to attack: the tail, i.e. the lowest address process, and the process going to be executed, if the spiral is hit in any other location, with any kind of of bomb, it's unaffected because it copies a fresh mov instruction just before executing it, a near perfect self repair. The spiral will die only when its processes are reduced to less than the number of points Considering that the spiral is usually coupled with a process building comrade, usually a stone, only the tail is vulnerable till the partner is alive. The speed at which the spiral crawl is a simple function of the number of points and processes: c * points / process So the more processes, the slower it will move and the harder will be killing it, the drawback is that it will steal more cycles to its partner. The tricky part of imps is starting them running, launching it. In practice placing the wanted number of processess in the right core locations to make it run. There are three classic methods: binary, jmp/add and vector launch and two rather new: continual an paper launch. Binary launch is the faster. I don't know how to do it, but there is a c program, makeimp by Jay Han, that does the job very well. Binary launch has the problem of being very long, an easy prey for qscanners if we are launching but a 16 processes spiral. Jump add launch is the smaller and the slower. You make as many parallel processes as you need, using spl 1 and mov -1,0 exacly the same way as you do for a replicator, then execute a jmp add sequence to spread them in the core: imp mov.i #0, impsize impboot mov imp, imp+impdspl spl 1 spl 1 spl 1 spl 1 ;1-1-1-1 = 15 = 16 parallel process spl 2 jmp imp+impdspl add.a #impsize,-1 dat 0 ;mandatory dat You need the dat because extra processes generated have to die, the spiral processes have to execute one after the other, recycling them will weaken the imps The third classic way is vector launch, nearly as fast as binary but much smaller: it comes in two main subspecies, the classic and the smaller one, proposed by Ting Hsu: We always have to generate as many parallel process as we need. imp mov.i #impsize,*0 impboot mov imp, imp+impdspl spl 1, #0 spl 1 ,#0 spl 1 ,#0 spl 1 ;-break vjmp djn.a @vector-1+btaway,#0 a for impproc dat 0, imp+impdspl+impsize*(impproc-a) rof vector dat 0 ;or any other thing you want, it's just to have a label The for rof develops in dat 0, imp+impdspl+impsize*15 dat 0, imp+impdspl+impsize*14 ... dat 0, imp+impdspl+impsize*0 There is no need to have a dat after vjmp, this line isn't to be executed, all processes jump away. vjmp line decrements itself and jump in succession to the addresses in the table. Hsu's launch is more compact, using also the a-fields of the vector. impboot mov imp, imp+impdspl spl 1 spl 1 spl 1 ;8 processes till now, they double in next line vspl spl <0 ,#vector vjmp djn.a @vector,#0 imp mov.i #0,impsize jmp imp+impsize*15+impdspl, imp+impsize*14 +impdspl jmp imp+impsize*13+impdspl, imp+impsize*12+impdspl jmp imp+impsize*11+impdspl, imp+impsize*10 +impdspl jmp imp+impsize*9+impdspl, imp+impsize*8+impdspl jmp imp+impsize*7+impdspl, imp+impsize*6+impdspl jmp imp+impsize*5+impdspl, imp+impsize*4 +impdspl jmp imp+impsize*3+impdspl, imp+impsize*2+impdspl vector jmp imp+impsize+impdspl , imp+impdspl (Exercise for the reader do a for rof loop for the vector table) It's a bit more tricky, both vspl than vjmp decrements themselves and split or jump to the table addresses. The speed is exactly the same, Hsu's launch is smaller but more vulnerable because vector table lines are executed so a hit with an incendiary or a vampire fang in the table can be deadly, while a similar hit in the other table causes but a misjump and the death of remaining processes, at worst we lose the spiral but the partner isn't stunned. Continual launch has been treated very well by Planar in his corner, look at first issues of Corewarrior, I have nothing to add. Paper launch is a mix beetween imps and replicators; if we launch a paper containing a simple imp launcher, something like spl 1 mov -1,0 spl 1 ;6 processes silk spl @0, 1400 mov }-1,>-1 ;spread new spiral spl @0, impstep mov }-1,>-1 ;spread new branch of spiral spl #0 ;wait mov #0,impstep We create many spirals filled of processes, that are very difficult to kill, even if not too much deadly. Those launchers are sometimes used as safety net in pspacers, should losses exceed a stated limit. Now what you have to do is adding the imps to your favourite stone; how? wait for one of next issues :-) ______________________________________________________________________________ Extra extra Scanny boy by David van Dam Here's "Scanny Boy". It's just a one shot scanner. When found something, the core clear starts right at the spot where something was found. Just after trying to write some bombers (for a brief moment at the top of the beginners hill) I became interested in scanners. At the same time the Wilkies-ratings came up and I was very interested why "Porch Swing" scored so high. When I studied "Porch Swing" I saw that it went direct in to a core clear when he found something (later when I looked at Frontwards, I saw it look alikes, but I use less instructions). I thought, lets put together a 0.66c Sne search-engine and a core clear. Wow and that worked very good. Because it goes right to the core clear when found something it's very effective against papers. Mod 5 bombers are another story, because Scanny Boy also uses mod 5 and 4 out of 5 times it scans between al the bombs and find the nasty bomber. Scanny Boy is just 8 instructions, so the loses against Quick-Scanners are not so great (I think). I tried to build in some extra attacks, like a gate in the search engine with the Djn. A ">" in the Spl of the Core Clear, which also acts like a gate. In the beginning I've tried to make Scanny Boy better, by using other steps, other distances, other mods (4 & 8), usings a Djn-stream instead of a gate. But nothing realy worked. So at the end I've given up and just left it at the hill. It was aging very well at the top. Some problems of Scanny Boy are: hit by a Djn-stream and it's dead the gates of the core clear aren't effective enough So when Ian came at the top with his P-warrior "Wind-up Toy v1.2c" with a very big lead, I decided to redesign Scanny Boy. I gave it an anti-bomber style, a Djn-stream protection and made the gate more effective. The result was Scan Man, which can compete with "Wind-up Toy v1.2c". The version of Scan Man without boot, scores about 165.1 Wilkies and 157.7 Wilbez. And now enjoy Scanny Boy. If there questions, just send a mail. I hope it won't influence Scan Man to much, but what the heck. Maybe after Scan Man, Scan Women. Every man has a weak for a women and before you know it, your dead. Cu at the top David van Dam (D.vanDam@is.twi.tudelft.nl) ----------- ;redcode-94 ;name Scanny Boy ;author David van Dam ;date 4 april 1996 ;strategy 0.66c scanner ;strategy spl/spl/dat core clear with djn-stream ;strategy scores 158,0 Wilkies & 151.8 Wilbez (2000 fights) ;assert CORESIZE == 8000 org scanner disp equ 4 range equ 15 step equ 30 offset equ (scanner+disp-range) scanner add.f incr , cnt cnt sne offset , offset+range djn.f scanner , -step+1 ;Djn used as gate incr spl.f #-step , >-step ;>-step used as gate cc mov.i @bombp , }cnt djn.f cc , or Myer Bremer