From: varfar@yahoo.co.uk (Will 'Varfar') Subject: Debugging warriors Date: 1 Mar 2004 04:06:54 -0800 Message-ID: <9e1cea7a.0403010406.64990850@posting.google.com> Hi folks, I was just putting online details of my redcode debugger rewrite (http://redcoder.sourceforge.net?p=redcoder), and I wonder how useful on-read breakpoints would be to the corewars community at large. Would on-read breakpoints (the ability to watch a location and trigger a breakpoint it is read, even possibly during indirect address resolving) be terribly useful? Any other 'must have features' for a debugger? best regards, Will. From: achillu@tin.it (LAchi) Subject: Redcoders Frenzy Tournament Date: 1 Mar 2004 12:02:05 -0800 Message-ID: <1eeccf2e.0403011202.210d8979@posting.google.com> ................................................................... . . . _____ _ _ . . | __ \ | | | | . . | |__) |___ __| | ___ ___ __| | ___ _ __ ___ . . | _ // _ \/ _` |/ __/ _ \ / _` |/ _ \ '__/ __| . . | | \ \ __/ (_| | (_| (_) | (_| | __/ | \__ \ . . |_| \_\___|\__,_|\___\___/ \__,_|\___|_| |___/ . . . . ______ . . | ____| . . | |__ _ __ ___ _ __ _____ _ . . | __| '__/ _ \ '_ \|_ / | | | . . | | | | | __/ | | |/ /| |_| | . . |_| |_| \___|_| |_/___|\__, | . . __/ | . . |___/ . ................................................................... The ongoing corewar tournament _ ___ / ||__ | | | / / | | / / |_|/_/ ............................. . . . The Big Sibling Round . . . ............................. This is the 17th round of the ongoing corewar tournament. Detailed information are available on Fizmo's Corewar Info Page: http://www.corewar.info/tournament/cwt.htm The Big Sibling Round homepage is: http://www.corewar.info/tournament/17.htm ................................................................... . _ . . _ _ _ _| |___ ___ . . | '_| || | / -_|_-< . . |_| \_,_|_\___/__/ . . . ................................................................... Coresize: 8000 Max. processes: 8000 Max. cycles: 80000 Max. length: 100 Min. distance: 100 Rounds: 4*250 3 warriors fight: self against 2 known warriors, special scoring rules. Paper-The-Bully is always teasing your Little Sibling the Stone, and killing him in the game... now this is your job as a Big Sibling: kill The Bully and save your Little Sibling! You are always rewarded if the Little Sibling survives. But to maximize the happyness of your family, you must both kill the Bully and survive until the end of the fight! Up to 2 entries for each participant. The opponents: -------------- Paper-The-Bully is acted by the paper in Revenge of the Papers, while your Little Sibling is acted by Silver Bullet. See the Big Sibling Round homepage for the details. The Scores: ----------- The following command line will be issued 4 times: pmars -bk -r 250 bully.red little.red big.red (where big.red is your entry). Then for each round: You get 6 points if the Bully dies and both your warrior and the Little Sibling survive. You get 3 points if only the Little Sibling survive (a little reward for your sacrifice). You get 2 points if all the warriors survive (you have another chance to save your Little Sibling). You get 1 point if your Little Sibling and the Bully survive (a minimum reward for your sacrifice). You get 0 points if your Little Sibling dies (all the others). See the Big Sibling Round Homepage for details on how to compute the score without a modified pMARS. The Hints: ---------- The kofacoto round 4 is a good start! Anyway the scoring method there was different: http://www.koth.org/kofacoto/ The results of Bully against Little Sibling on a 1000 rounds fight are 886 103 11. A very specific vampire seems a good idea for this round. ................................................................... . _ _ _ _ . . __| |___ __ _ __| | (_)_ _ ___ . . / _` / -_) _` / _` | | | ' \/ -_) . . \__,_\___\__,_\__,_|_|_|_||_\___| . . . ................................................................... 23:59 (GMT) April 1, 2004 (a date that A.K.Dewedney likes a lot!) --------------------------------------------------------------- Please notify: You have to send your entries to Achille Astolfi (achillu@tin.it) The organizer is going to participate, too. So if you trust him you may send your entries whenever you want; if you do not trust him, please wait until he develops his entries. He will notify rec.games.corewar when his entries will be ready, and sent to the notary public of the Tournament. --------------------------------------------------------------- Good luck, may be the core with you! From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 03/01/04 Date: 1 Mar 2004 15:15:52 -0500 Message-ID: <200403010503.i21531ZY027519@gevjon.ttsg.com> Weekly Status on 03/01/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Feb 29 08:06:22 EST 2004 # Name Author Score Age 1 not king of the hill FatalC 11 135 2 The Boss Test A 14 G.Labarga 10 14 3 Her Majesty P.Kline 7 409 4 Probe2 John Metcalf 7 36 5 The Survivor Philip Kendall 4 20 6 Frosty the Snowman John Metcalf 4 28 7 Djinn Test 22 Steve Gunnell 3 2 8 The Mummy 1.02 David Houston 2 54 9 Spray 'n Wipe 4a 76 Steve Gunnell 2 1 10 Frullato III LAchi 1 8 11 Tiptoe Test 10 Steve Gunnell 0 3 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 03/01/04 Date: 1 Mar 2004 15:15:38 -0500 Message-ID: <200403010506.i21561jT027577@gevjon.ttsg.com> Weekly Status on 03/01/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Tue Feb 24 09:52:41 EST 2004 # %W/ %L/ %T Name Author Score Age 1 42/ 35/ 22 The X Machine Zul Nadzri 149 23 2 45/ 43/ 12 Fire and Ice II David Moore 147 112 3 41/ 38/ 21 Eliminator X Zul Nadzri 145 24 4 30/ 18/ 52 xd100 test David Houston 142 9 5 31/ 22/ 46 Venom v0.2b Christian Schmidt 140 234 6 39/ 38/ 24 Black Moods Ian Oversby 140 208 7 23/ 8/ 69 Evol Cap 4 X John Wilkinson 139 281 8 31/ 25/ 44 KAT v5 Dave Hillis 138 144 9 23/ 10/ 67 Denial David Moore 137 153 10 31/ 25/ 44 Olivia X Ben Ford 136 93 11 37/ 39/ 24 Simply Intelligent Zul Nadzri 136 5 12 35/ 35/ 30 Trefoil F 13 Steve Gunnell 135 95 13 38/ 42/ 20 Giant Hazy Test 13 Steve Gunnell 134 39 14 20/ 6/ 74 Evolve X v4.0 John Wilkinson 133 229 15 24/ 16/ 60 Kin John Metcalf 133 120 16 35/ 37/ 28 Controlled Aggression Ian Oversby 132 212 17 27/ 22/ 51 Glenstorm John Metcalf 132 74 18 35/ 40/ 25 Ogre Christian Schmidt 130 160 19 22/ 14/ 64 Blotter X J. Pohjalainen 129 14 20 33/ 47/ 20 clock strikes twelve John Metcalf 119 1 21 11/ 89/ 0 My Sucky Warrior John Q. Redcoder 33 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 03/01/04 Date: 1 Mar 2004 15:15:23 -0500 Message-ID: <200403010509.i215914v027624@gevjon.ttsg.com> Weekly Status on 03/01/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Feb 29 23:37:50 EST 2004 # %W/ %L/ %T Name Author Score Age 1 34/ 17/ 49 Devilstick Roy van Rijn 152 84 2 39/ 28/ 33 Arctica Christian Schmidt 151 60 3 37/ 27/ 36 slime test 1.00 David Houston 147 97 4 39/ 30/ 31 Spiritual Black Dimension Christian Schmidt 147 126 5 38/ 30/ 31 Ironic Imps Roy van Rijn 146 295 6 45/ 45/ 10 Arrow Christian Schmidt 146 8 7 36/ 26/ 38 Gremlin van Rijn/Grabun 145 1 8 36/ 27/ 38 Son of Vain Oversby/Pihlaja 145 2335 9 44/ 43/ 13 Crackling Ice Lukasz Grabun 145 73 10 36/ 28/ 36 Armadillo Lukasz Grabun 145 76 11 43/ 45/ 12 test scan John Metcalf 142 25 12 43/ 46/ 11 O--* Bremer/Schmidt 141 195 13 42/ 44/ 14 Hazy Test 63 Steve Gunnell 140 1110 14 35/ 31/ 34 Static Miz 140 301 15 35/ 30/ 35 devilish 2 David Houston 139 284 16 40/ 43/ 17 Flee to the Mountains John Metcalf 138 26 17 39/ 40/ 21 Quirk Christian Schmidt 138 116 18 41/ 45/ 14 B94 Roy van Rijn 136 74 19 43/ 50/ 7 Recon 2 David Moore 136 789 20 40/ 54/ 6 Aoshi Test A 15 Steve Gunnell 127 7 21 21/ 76/ 3 2962832-8814-xt430-0-eve1 bvowk 65 0 From: Koth Subject: KOTH.ORG: Status - Standard 03/01/04 Date: 1 Mar 2004 15:16:06 -0500 Message-ID: <200403010500.i21501nn027465@gevjon.ttsg.com> Weekly Status on 03/01/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Wed Feb 4 15:21:36 EST 2004 # %W/ %L/ %T Name Author Score Age 1 40/ 28/ 32 The Next Step '88 David Houston 153 7 2 45/ 38/ 17 Tangle Trap 3 David Moore 151 20 3 36/ 25/ 39 Freight Train David Moore 148 192 4 46/ 46/ 9 Scan Test C 6 Steve Gunnell 145 30 5 35/ 25/ 40 Test Alexander (Sasha) Wa 145 131 6 42/ 40/ 18 My 1st try Christian Schmidt 144 23 7 35/ 27/ 37 Guardian Ian Oversby 144 191 8 43/ 44/ 13 Cold as November Rain... John Metcalf 143 5 9 41/ 41/ 17 Stasis David Moore 142 299 10 42/ 46/ 12 Foggy Swamp Beppe Bezzi 137 188 11 38/ 41/ 21 PacMan David Moore 135 221 12 40/ 46/ 14 Deviant Scanner Roy van Rijn 135 8 13 32/ 30/ 37 Pixie 88 Lukasz Grabun 134 21 14 29/ 25/ 45 Test I Ian Oversby 134 248 15 34/ 36/ 30 vala John Metcalf 133 114 16 34/ 36/ 29 The Seed Roy van Rijn 132 9 17 38/ 45/ 17 '88 test IV John Metcalf 131 85 18 39/ 48/ 13 Blur '88 Anton Marsden 130 229 19 35/ 48/ 17 French Kiss 88 LAchi 122 1 20 18/ 17/ 65 Do Redcoders Hibernate? John Metcalf 119 3 21 2/ 2/ 0 French Kiss 88 LAchi 7 2 From: Ilmari Karonen Subject: Re: Debugging warriors Date: Tue, 2 Mar 2004 03:00:14 +0200 Message-ID: Will 'Varfar' kirjoitti 01.03.2004: > > Would on-read breakpoints (the ability to watch a location and trigger > a breakpoint it is read, even possibly during indirect address > resolving) be terribly useful? Most of the cases I can think of where on-read breakpoints would be useful could also be handled by on-write or on-exec breakpoints, provided that these can be made sufficiently smart to only trigger when a given location in the core has a given value. A scriptable debugger should be able to handle this, otherwise it really should be included as a built-in option. > Any other 'must have features' for a debugger? Scriptability is a pretty important one. It would also be nice if the script language was somewhat more readable than cdb macros. And, while I don't know about "must have", a neat feature I've thought about would be to carry source line numbers with each instruction, so that you could show which part of which warrior each instruction in the core originally came from (perhaps by highlighting the line in a separate source listing window). -- Ilmari Karonen If replying by e-mail, please replace ".invalid" with ".net" in address. From: achillu@tin.it (LAchi) Subject: Message from A. K. Dewdney Date: 2 Mar 2004 05:14:31 -0800 Message-ID: <1eeccf2e.0403020514.256a91ed@posting.google.com> > Although I have little time for correspondence, I would not mind if someone > added my email address to one or two of the more active mailing lists - just > so I can follow what's going on. > > All the best, > > A. K. Dewdney > Did anyone succeed in doing this? From: Planar Subject: Re: Debugging warriors Date: Tue, 02 Mar 2004 14:16:53 +0100 Message-ID: In article <9e1cea7a.0403010406.64990850@posting.google.com>, varfar@yahoo.co.uk (Will 'Varfar') wrote: > Any other 'must have features' for a debugger? Time-travelling, i.e. the ability to step backward in time. Debugging becomes a real pleasure when you can do that. -- Planar remove the dash from my address if you want to send me mail From: Hurkyl@msn.com (Hurkyl) Subject: Re: Debugging warriors Date: 2 Mar 2004 16:57:12 -0800 Message-ID: <7d3e9a94.0403021657.272d79f4@posting.google.com> > And, while I don't know about "must have", a neat feature I've thought > about would be to carry source line numbers with each instruction, so > that you could show which part of which warrior each instruction in > the core originally came from (perhaps by highlighting the line in a > separate source listing window). I've been desiring something similar for a while. I'd like to be able to have an assortment of "tags" I can put on an instruction that gets copied and/or overwritten by mov.i. Then, during execution, I can track how many occurances there are of each tag, and how many processes are queued to execute them. In particular, I think this would go a long way to helping understand how a paper works. (I'm clueless, anyways!) Hurkyl From: neogryzormail@mixmail.com (Neogryzor) Subject: Re: Debugging warriors Date: 3 Mar 2004 03:34:25 -0800 Message-ID: <242debe4.0403030334.19771876@posting.google.com> Hurkyl@msn.com (Hurkyl) wrote in message > In particular, I think this would go a long way to helping understand > how a paper works. (I'm clueless, anyways!) > > Hurkyl Me too. I have been trying to calculate paper's expansion and it is very hard. Simulation seems to be the best way, no matter if it is slower than calculation. It would be great if we could know how many locations in the core have been written in a certain number of cylces, and how many processes have been created and their location. Also the time passed before reaching MAXPROCESSES limit would be helpful. So many constants could be tested aiming for best core coverage instead optimization using a benchmark. That could create "generic" papers very fast, not optimized against any warriors, so scoring little worse at short time but also better at long time. (mmh, don't know if "short time" is correct :S ) Neogryzor From: Hurkyl@msn.com (Hurkyl) Subject: Random stone/imp ideas Date: 3 Mar 2004 04:28:50 -0800 Message-ID: <7d3e9a94.0403030428.4639009d@posting.google.com> Here are some odd tricks I used in devilish that I haven't seen mentioned before. Maybe y'all will find them useful! - Retaining processes after self-dat bomb! The stone in Devilish 2 looks something like dbomb dat >-1, >1 ... diamond spl #dstep, <-dstep mov dstartA, dstartB mov dptr, *-1 ; hit with dat >-1, >1 add.f diamond, @-1 ; or hit here with dat >-1, >1 djn.f -3, -1, >1 to perform a sequential coreclear. Normally when a stone does this, most of its processes die on the `dat' line. However, this is not necessary! If you time the djn-stream so that it hits the djn just before the self-bombing (and quite a bit of tinkering with the timing so nothing goes wrong), you mutate the `djn' line to djn.f -4, Subject: Re: how an imp scores on the '94nop hill Date: 3 Mar 2004 20:18:32 GMT Message-ID: On 25 Feb 2004 03:47:55 -0800, Neogryzor wrote: > Sometimes warriors are so advanced that they can kill other complex > warrior, but can't beat basic ones. I recall, Toxic Spirit was heavily beaten my mov.i #0, 1. Just a worth noting nitpick. :-P -- Lukasz Grabun (My CW page: http://www.corewar.ehost.pl/) (reply-to field is fake, use grabek (at) acn dot waw dot pl to reply) From: Hurkyl@msn.com (Hurkyl) Subject: Re: Debugging warriors Date: 3 Mar 2004 20:26:25 -0800 Message-ID: <7d3e9a94.0403032026.66f65dbb@posting.google.com> I think there might be other features of the paper that are worth investigating to see if there's any correlation with performance. (I don't think expansion is the only feature!) For example, one thing that surprised me is that a steady gain in processes tended to be better than shooting up quickly. (I suspect it's due to defective copies, though, but I can't be sure) It would be interesting to compare the ratio of stunned to functional to defective processes as each fight progresses. Will it suggest we should emphasize expansion early, forsaking bombing? I wonder if good constants for a paper will cause it to wipe away old copies, thus building a resistance to scanners. I wonder how much code gets damaged and in what way. Why do some papers have an ability to beat other papers? Maybe detailed simulation results will give a hint into this. From: fizmo_master@yahoo.com (Fizmo) Subject: Re: how an imp scores on the '94nop hill Date: 4 Mar 2004 01:59:34 -0800 Message-ID: <9f53b5fb.0403040159.2b675dbe@posting.google.com> neogryzormail@mixmail.com (Neogryzor) wrote in message news:<242debe4.0402250347.7b9e54ee@posting.google.com>... > I find interesting how a simple imp scores on the hill, mostly becase > some warriors can't kill it, like Recon2 and B94. > Sometimes warriors are so advanced that they can kill other complex > warrior, but can't beat basic ones. > Imp: Program "0" (length 1) by "0" > The reason is that scanner can't catch this imp, because the imp runs faster than the scanner's wipe. And if the scanner don't have an imp-gate it will for shure overwritten by the imp leading in 100% ties. One can therefor nicely see how effective the imp-gates are working in a warrior ;-) Fizmo From: achillu@tin.it (LAchi) Subject: Invitation to Corewar Date: 4 Mar 2004 13:10:21 -0800 Message-ID: <1eeccf2e.0403041310.5e3f1a13@posting.google.com> Hello all. I want to promote a programming game named COREWAR, because this year is its 20th anniversary. The origins of the game are from a "Computer Recreations" article that A.K.Dewdney published on Scientific American in 1984. The idea is that we have a small memory area named "the Core" where two or more programs, written in a small assembly language named "Redcode", try to terminate all the processes of the opponents in order to get the sole possession of the virtual machine named "MARS" (Memory Array Redcode Simulator). The original articles written by A.K.Dewdney can be found at http://www.koth.org/info/akdewdney/index.html and they can be a good start! I was 15 when I read the first article about Corewar, and I was just approaching the assembly language. I was immediately involved in the idea, and I think that many of you will do, too. Despite of its age, the Corewar Community is still alive. You can check the rec.games.corewar newsgroup for the latest news; the home of Corewar is www.koth.org while the most comprehensive site about Corewar is, in my opinion, www.corewar.info where you can find the links to all the resources you need. The game has not been promoted for years, and assembly programming is not so popular as it was 20 years ago; anyway I think that the game is really worth playing, so this is why I am promoting it here. I am posting this message to these newsgroups: comp.lang.asm.x86 comp.lang.asm370 If you think that I am missing some assembly related newsgroups please let me know. Thanks. Best regards. Achille Astolfi. From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: how an imp scores on the '94nop hill Date: 4 Mar 2004 18:50:34 -0800 Message-ID: Additional perspective... 1. It is not necessary to kill all simple imps, stones, etc to be on the hill (probably you just cant cover all strategy and must decide on which returning higher advantage). This probably the strategy of 'current' hill warriors. 2. On the other hand, simple imps can be used to manipulate strategy #1. So, choose and weigh wisely :) From: achillu@tin.it (LAchi) Subject: Re: Invitation to Corewar Date: 5 Mar 2004 01:38:53 -0800 Message-ID: <1eeccf2e.0403050138.5b214f1e@posting.google.com> Hi Brx. This is not my first promotion. 1) I collected 158 email addresses from the live warriors at KOTH and Sourceforge, and from the people who sent at least one warrior to Sourceforge in the last YEAR! ;) I sent an e-mail invitation to all of these, and these are the results right now: 35 addresses unknown (either host or user) 1 address refused SMPT relaying (anyway I found another address) 1 disk quota exceeded (Zul Nadzri... ;) ) All the others seem to have reached the recipients. Anyway, many authors had more than one e-mail address, so it's less than 121 people reached; and many authors include the most active people here ;) Most of the "users unknown" are people from universities... If you did not receive my e-mail (subject: Invitation to Corewars), it means that I did not find your e-mail, or that you entered a fake address in your warriors ;) I am sending the e-mail to you, too. If anyone else is interested in the e-mail, please let me know. Right now I got two answers ;) 2) I posted the message on top of this thread to these newsgroups: comp.lang.asm.x86 comp.lang.asm370 alt.lang alt.lang.asm Right now I got one answer. From: Andreas Scholta Subject: Re: Invitation to Corewar Date: Fri, 05 Mar 2004 04:50:13 +0100 Message-ID: hi lachi, it seems the promoting has begun! let me know if you need help with anything, I will be having a lot of time, now that I have finished school. anyway, another assembler related newsgroup would be alt.lang.asm i think. regards, Andreas Scholta (brx) From: FM Subject: No nop ! Date: 6 Mar 2004 20:37:48 -0500 Message-ID: <20040304171423.8689AC4080@postfix3-1.free.fr> Hi redcoders ! This is a very humble question. I believed that "nop" was a Redcode instruction. My simulators are Hoffman's corewars 0.9.12 and : " pMARS v0.9.2, 25/12/00, corewar simulator with ICWS'94 extensions Copyright (C) 1993-95 Albert Ma, Na'ndor Sieben, Stefan Strack and Mintardjo Wangsaw SDL display version by M Joonas Pihlaja" Wanted to feed them with : ;redcode-94 ;assert 1 nop end But both reject this and complain about syntax error at line 4. I've certainly missed some tera huge thing ! But which one please ? Fabrice. From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: No nop ! Date: 6 Mar 2004 23:56:39 -0800 Message-ID: FM wrote in message news:<20040304171423.8689AC4080@postfix3-1.free.fr>... > ;redcode-94 > ;assert 1 > nop > end Try changing "nop" to "nop 0,0". I sometimes use nop, quite useful. From: Sascha Zapf Subject: Re: No nop ! Date: Sun, 07 Mar 2004 14:16:55 +0100 Message-ID: FM wrote: > Hi redcoders ! > > This is a very humble question. > > I believed that "nop" was a Redcode instruction. > > My simulators are Hoffman's corewars 0.9.12 and : > " > pMARS v0.9.2, 25/12/00, corewar simulator with ICWS'94 extensions > Copyright (C) 1993-95 Albert Ma, Na'ndor Sieben, Stefan Strack and > Mintardjo Wangsaw > SDL display version by M Joonas Pihlaja" > > Wanted to feed them with : > > ;redcode-94 > ;assert 1 > > nop > > end > > But both reject this and complain about syntax error at line 4. > > I've certainly missed some tera huge thing ! nop must have a and b-field, simply nop 0,0 works for you. In fight nop seems not so useful, but while debugging it can help a lot. Sascha -- Parlez vous Redcode? From: Hurkyl@msn.com (Hurkyl) Subject: Re: No nop ! Date: 7 Mar 2004 15:16:45 -0800 Message-ID: <7d3e9a94.0403071516.455bb196@posting.google.com> Sascha Zapf wrote in message news:... > FM wrote: > > > Hi redcoders ! > > > > This is a very humble question. > > > > I believed that "nop" was a Redcode instruction. > > > > My simulators are Hoffman's corewars 0.9.12 and : > > " > > pMARS v0.9.2, 25/12/00, corewar simulator with ICWS'94 extensions > > Copyright (C) 1993-95 Albert Ma, Na'ndor Sieben, Stefan Strack and > > Mintardjo Wangsaw > > SDL display version by M Joonas Pihlaja" > > > > Wanted to feed them with : > > > > ;redcode-94 > > ;assert 1 > > > > nop > > > > end > > > > But both reject this and complain about syntax error at line 4. > > > > I've certainly missed some tera huge thing ! > > nop must have a and b-field, simply nop 0,0 works for you. > In fight nop seems not so useful, but while debugging it can help a lot. > > Sascha NOP can be indispensible in some of the IRC tourneys. :) From: Hurkyl@msn.com (Hurkyl) Subject: CoreWin's randomizer Date: 8 Mar 2004 04:14:54 -0800 Message-ID: <7d3e9a94.0403080414.17e6a03b@posting.google.com> Anyone else find that CoreWin's randomizer seems to be poor? For example, I just ran a fight that CoreWin was giving scores over 250 for one of the warriors, but the results of an exmars round was a score in the 160-170 range... From: chipw@mdli.com (Chip Wendell) Subject: Re: CoreWin's randomizer Date: 8 Mar 2004 11:04:52 -0800 Message-ID: Hurkyl@msn.com (Hurkyl) wrote in message news:<7d3e9a94.0403080414.17e6a03b@posting.google.com>... > Anyone else find that CoreWin's randomizer seems to be poor? For > example, I just ran a fight that CoreWin was giving scores over 250 > for one of the warriors, but the results of an exmars round was a > score in the 160-170 range... Yes, CoreWin's warrior placement algorithm is not the best, especially for multi-warrior tournaments, where warriors tend to get clumped together too much. Version 2.2 (due out soon) will have a much better algorithm. If anyone else finds any CoreWin bugs, or even suspicious behavior, please send me an email. That way I can make sure to get it fixed for the next release. - Chip From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 03/08/04 Date: 8 Mar 2004 11:32:56 -0500 Message-ID: <200403080509.i28590Cc028163@gevjon.ttsg.com> Weekly Status on 03/08/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Mar 7 12:53:24 EST 2004 # %W/ %L/ %T Name Author Score Age 1 34/ 23/ 43 slime test 1.00 David Houston 146 101 2 30/ 15/ 56 Devilstick Roy van Rijn 145 88 3 44/ 44/ 13 Arrow Christian Schmidt 144 12 4 35/ 27/ 38 Arctica Christian Schmidt 143 64 5 44/ 48/ 8 Recon 2 David Moore 141 793 6 41/ 43/ 16 Crackling Ice Lukasz Grabun 140 77 7 42/ 44/ 14 O--* Bremer/Schmidt 139 199 8 32/ 25/ 43 Son of Vain Oversby/Pihlaja 139 2339 9 34/ 29/ 37 Spiritual Black Dimension Christian Schmidt 138 130 10 27/ 16/ 57 Liquid Crystal John Morahan 138 1 11 30/ 23/ 46 Gremlin van Rijn/Grabun 137 5 12 32/ 28/ 40 Ironic Imps Roy van Rijn 136 299 13 39/ 42/ 19 Flee to the Mountains John Metcalf 136 30 14 40/ 44/ 16 Hazy Test 63 Steve Gunnell 136 1114 15 40/ 44/ 16 B94 Roy van Rijn 136 78 16 30/ 24/ 46 Armadillo Lukasz Grabun 135 80 17 36/ 39/ 25 Quirk Christian Schmidt 133 120 18 28/ 27/ 45 devilish 2 David Houston 129 288 19 27/ 25/ 48 test Christian Schmidt 129 2 20 28/ 28/ 44 Static Miz 128 305 21 3/ 56/ 41 2585124-7593-xt430-8-eve1 bvowk 49 0 From: Koth Subject: KOTH.ORG: Status - Standard 03/08/04 Date: 8 Mar 2004 11:33:42 -0500 Message-ID: <200403080500.i28500Um027980@gevjon.ttsg.com> Weekly Status on 03/08/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Wed Feb 4 15:21:36 EST 2004 # %W/ %L/ %T Name Author Score Age 1 40/ 28/ 32 The Next Step '88 David Houston 153 7 2 45/ 38/ 17 Tangle Trap 3 David Moore 151 20 3 36/ 25/ 39 Freight Train David Moore 148 192 4 46/ 46/ 9 Scan Test C 6 Steve Gunnell 145 30 5 35/ 25/ 40 Test Alexander (Sasha) Wa 145 131 6 42/ 40/ 18 My 1st try Christian Schmidt 144 23 7 35/ 27/ 37 Guardian Ian Oversby 144 191 8 43/ 44/ 13 Cold as November Rain... John Metcalf 143 5 9 41/ 41/ 17 Stasis David Moore 142 299 10 42/ 46/ 12 Foggy Swamp Beppe Bezzi 137 188 11 38/ 41/ 21 PacMan David Moore 135 221 12 40/ 46/ 14 Deviant Scanner Roy van Rijn 135 8 13 32/ 30/ 37 Pixie 88 Lukasz Grabun 134 21 14 29/ 25/ 45 Test I Ian Oversby 134 248 15 34/ 36/ 30 vala John Metcalf 133 114 16 34/ 36/ 29 The Seed Roy van Rijn 132 9 17 38/ 45/ 17 '88 test IV John Metcalf 131 85 18 39/ 48/ 13 Blur '88 Anton Marsden 130 229 19 35/ 48/ 17 French Kiss 88 LAchi 122 1 20 18/ 17/ 65 Do Redcoders Hibernate? John Metcalf 119 3 21 2/ 2/ 0 French Kiss 88 LAchi 7 2 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 03/08/04 Date: 8 Mar 2004 11:33:27 -0500 Message-ID: <200403080503.i28530w7028028@gevjon.ttsg.com> Weekly Status on 03/08/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Fri Mar 5 13:49:22 EST 2004 # Name Author Score Age 1 Her Majesty P.Kline 12 415 2 The Boss Test A 14 G.Labarga 7 20 3 Frosty the Snowman John Metcalf 7 34 4 The Survivor Philip Kendall 6 26 5 not king of the hill FatalC 4 141 6 Probe2 John Metcalf 4 42 7 Djinn Test 22 Steve Gunnell 4 8 8 By The Way John Metcalf 2 2 9 Underwater John Metcalf 2 3 10 V.H. John Metcalf 1 1 11 The Mummy 1.02 David Houston 0 60 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 03/08/04 Date: 8 Mar 2004 11:33:13 -0500 Message-ID: <200403080506.i28560FR028106@gevjon.ttsg.com> Weekly Status on 03/08/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sat Mar 6 15:20:30 EST 2004 # %W/ %L/ %T Name Author Score Age 1 41/ 36/ 23 The X Machine Zul Nadzri 146 23 2 44/ 43/ 13 Fire and Ice II David Moore 146 112 3 40/ 38/ 22 Eliminator X Zul Nadzri 142 24 4 37/ 38/ 24 Black Moods Ian Oversby 137 208 5 29/ 25/ 45 KAT v5 Dave Hillis 133 144 6 36/ 39/ 25 Simply Intelligent Zul Nadzri 133 5 7 25/ 18/ 57 xd100 test David Houston 133 9 8 27/ 22/ 50 Venom v0.2b Christian Schmidt 132 234 9 35/ 40/ 25 Ogre Christian Schmidt 131 160 10 19/ 8/ 74 Evol Cap 4 X John Wilkinson 130 281 11 36/ 42/ 22 Giant Hazy Test 13 Steve Gunnell 129 39 12 27/ 25/ 48 Olivia X Ben Ford 128 93 13 19/ 10/ 72 Denial David Moore 128 153 14 32/ 36/ 32 Trefoil F 13 Steve Gunnell 128 95 15 35/ 44/ 21 clock strikes twelve John Metcalf 126 1 16 31/ 38/ 31 Controlled Aggression Ian Oversby 124 212 17 15/ 6/ 79 Evolve X v4.0 John Wilkinson 123 229 18 19/ 16/ 65 Kin John Metcalf 123 120 19 22/ 22/ 56 Glenstorm John Metcalf 122 74 20 17/ 14/ 69 Blotter X J. Pohjalainen 120 14 21 9/ 31/ 61 strange paper test John Metcalf 87 0 From: metcalf@uboot.com (John Metcalf) Subject: mystery tiny warrior Date: 10 Mar 2004 01:15:52 -0800 Message-ID: Hi, I've just written a new tiny warrior (no news there) and submitted it to SAL's tiny hill: http://sal.math.ualberta.ca/hill.php?key=tiny Problem is, the strategy lines aren't very informative. If you can tell me what the strategy line should be, I'll send you a copy of the code. :-) To give everyone chance, please don't post your guess here in r.g.cw, or in #COREWARS. Instead, email me - corewar@tiscali.co.uk I'll post a list of everyone who wins the source. Good luck, John From: profetiko@email.it (Paolo) Subject: Dear WarriorMakers Date: 10 Mar 2004 04:05:21 -0800 Message-ID: <44c7a1d8.0403100405.394b13d@posting.google.com> Dear WarriorMakers My name is PierPaolo Ucchino, i'm writing a thesis about evolutionary algorithms near the automatic and computer science department of the polytechnic of Turin. I'm proudly to invite you to collaborate with a a search that has for objective the analysis of the warriors generated by existing or written programs from you, the analysis of evolutionary strategies, focused on the argument Core wars. Only observations and results about evolutionary warriors will be accepted. Obviously your collaboration will be rendered famous in articles and will be cited like source. To name of the MicroGP corewars team, thanks for your attention. Best regards From: metcalf@uboot.com Subject: mystery tiny warrior Date: 10 Mar 2004 17:34:29 -0500 Message-ID: <20040309102201.5D3F978E7B@mail03.uboot.com> Hi, I've just written a new tiny warrior (no news there) and submitted it to SAL's tiny hill: http://sal.math.ualberta.ca/hill.php?key=tiny Problem is, the strategy lines aren't very informative. If you can tell me what the strategy line should be, I'll send you a copy of the code. :-) To give everyone chance, please don't post your guess here in r.g.cw, or in #COREWARS. Instead, email me - corewar@tiscali.co.uk I'll post a list of everyone who wins the source. Good luck, John _____________________________________________________________ 300 character txt msgs, ringtones, logos & much, much more... http://www.uboot.com - who r U? From: FM Subject: Redcode nop. Date: 10 Mar 2004 17:34:23 -0500 Message-ID: <20040310005223.9B0E07FD2D@postfix4-2.free.fr> Hi Hurkyl, John, Sascha and Zul ! Sorry I only write a single answer. It's to avoid four same texts : Thank you very much ! My problem was I didn't have the idea that nop needed A and B fields. I'm a bit ashamed because I ought to think that all other Redcode instructions do own the two fields... Why an exception for nop ? No good reason. Best regards. Fabrice. From: wackoyacko2000@yahoo.com (Andrew Hunter) Subject: warrior help Date: 11 Mar 2004 11:58:20 -0800 Message-ID: <112f3b73.0403111158.3a8de9d4@posting.google.com> This baby is called Retarius. ;redcode-94nop ;name Retarius ;author Andrew Hunter ;strategy v0.2 q^4 scanner/clear ;strategy added the q^4 ;assert CORESIZE==8000 ;password tr33f1ty qf equ qptr qs1 equ (-120) qs2 equ (-240) qd equ 4000 qi equ 7 qr equ 13 qo equ (qi*qr-(qi/2)) dat # 15, # 10 ; A, D qtab dat # 7, # 4 ; B, E dat # 13, # 11 ; C, F qbmb dat < 1, < qo qinc dat # qd, # qd qfas mul.f qtab, qptr ; decode qfnd sne *qptr, @qptr add qinc, qptr sne >3456, @qptr mov.x qptr, qptr qloo mov qbmb, @qptr ; .5c negative bomber qptr mov < qs2, @ qs1 sub.x # qi, qptr djn qloo, # qr jmp scanner, >1234 qscan sne qf+ 1*qs2, qf+ 1*qs1 seq qf+ 1*qs2+qd, qf+ 1*qs1+qd ; 1, 1 jmp qfnd, {qf+ 1*qs2+qd+qi sne qf+ 8*qs2, qf+ 4*qs1 seq qf+ 8*qs2+qd, qf+ 4*qs1+qd ; B+1, E jmp qfas, }qtab sne qf+ 7*qs2, qf+ 5*qs1 seq qf+ 7*qs2+qd, qf+ 5*qs1+qd ; B, E+1 jmp qfas, >qtab sne qf+ 6*qs2, qf+ 3*qs1 seq qf+ 6*qs2+qd, qf+ 3*qs1+qd ; B-1, E-1 djn.f qfas, qtab sne qf+13*qs2, qf+11*qs1 seq qf+13*qs2+qd, qf+11*qs1+qd ; C, F jmp qfas, }qfas sne qf+15*qs2, qf+10*qs1 seq qf+15*qs2+qd, qf+10*qs1+qd ; A, D jmp qfas, {qfas sne qf+14*qs2, qf+ 9*qs1 seq qf+14*qs2+qd, qf+ 9*qs1+qd ; A-1, D-1 djn.f qfas, {qfas jmp scanner bomb dat 1,2 dat 0,1 spl 0,1 target dat 0,100 clear mov.i @bomb, >target jmn.b -1,-2 mov.i tfix,target jmp clear tfix dat 0,100 sbomb spl 0,0 jbomb jmp @0,-1 step dat #7,#7 preset sne.a 100,101 creset dat 0,1100 counter dat 0,1100 scanner add.f step,scan scan sne.a 100,101 djn scanner, counter jmz.b finish, counter mov.i sbomb, *scan mov.i jbomb, @scan jmp scanner, > > Wow, it's big. qscan and scanner and clear and so on. Give a nice Target for > Enemy's Bomb's a sne's, > > Try to make it small, try to do it without the cresets and the preset and > these hundred of jmp scanner, all will be a welcome for a-indirekt bombing > from the Paper. Try to fit the scanner in 6 and clear into 5 Instruktion > and make a small gap between them. If you really want a qscan, you shoul > boot away from him. He says. "Hello, i'm here", and then try it on the SAL > Beginners hill to see what you can do better. > > Scanning two positions that are beside is not s effektiv as scanning two > positions that are 5-10 instruction distant from each other. > > Start the Clear with counter is ok, but you do it to complicated, why not > use djn.b loop, #time ? > > Greetings, and don't give up. The beginning is the hardest. > > Sascha ( Beginner since 2 Year's ;-) ) Thx for suggestions. Thru optimization (~30 lines to ~17), a boot routine, making it so it *actually uses* qscan, etc...score goes from 58, all the way to... 52. Grrr... New version. Any more suggestions? ;redcode-94nop ;name Retarius ;author Andrew Hunter ;strategy v0.4 q^4 scanner/clear ;strategy massively optimized/shorter, just dat clear now ;assert CORESIZE==8000 qf equ qptr qs1 equ (-120) qs2 equ (-240) qd equ 4000 qi equ 7 qr equ 13 qo equ (qi*qr-(qi/2)) dat # 15, # 10 ; A, D qtab dat # 7, # 4 ; B, E dat # 13, # 11 ; C, F qbmb dat < 1, < qo qinc dat # qd, # qd qfas mul.f qtab, qptr ; decode qfnd sne *qptr, @qptr add qinc, qptr sne >3456, @qptr mov.x qptr, qptr qloo mov qbmb, @qptr ; .5c negative bomber qptr mov < qs2, @ qs1 sub.x # qi, qptr djn qloo, # qr jmp boot, >1234 qscan sne qf+ 1*qs2, qf+ 1*qs1 seq qf+ 1*qs2+qd, qf+ 1*qs1+qd ; 1, 1 jmp qfnd, {qf+ 1*qs2+qd+qi sne qf+ 8*qs2, qf+ 4*qs1 seq qf+ 8*qs2+qd, qf+ 4*qs1+qd ; B+1, E jmp qfas, }qtab sne qf+ 7*qs2, qf+ 5*qs1 seq qf+ 7*qs2+qd, qf+ 5*qs1+qd ; B, E+1 jmp qfas, >qtab sne qf+ 6*qs2, qf+ 3*qs1 seq qf+ 6*qs2+qd, qf+ 3*qs1+qd ; B-1, E-1 djn.f qfas, qtab sne qf+13*qs2, qf+11*qs1 seq qf+13*qs2+qd, qf+11*qs1+qd ; C, F jmp qfas, }qfas sne qf+15*qs2, qf+10*qs1 seq qf+15*qs2+qd, qf+10*qs1+qd ; A, D jmp qfas, {qfas sne qf+14*qs2, qf+ 9*qs1 seq qf+14*qs2+qd, qf+ 9*qs1+qd ; A-1, D-1 djn.f qfas, {qfas bounce jmp boot for 22 dat 0,0 rof boot mov.i tail, 3268 for 16 mov.i {boot, tail djn.a clear, clear-1 mov.b 1, tail jmp clear, 3 tfix dat 1,2 sbomb spl #7,#7 jbomb jmp -1, 1100 spl clear, 1100 scanner add.f sbomb,scan scan sne.a 1,2 djn scanner, scanner-1 mov.i sbomb, *scan mov.i jbomb, @scan jmn.b scanner, scanner-1 mov.b scanner-2, scanner-1 mov.f tfix, scan tail jmp scanner, 3 end qscan From: Sascha Zapf Subject: Re: warrior help Date: Thu, 11 Mar 2004 23:36:51 +0100 Message-ID: Andrew Hunter wrote: > bomb dat 1,2 > dat 0,1 > spl 0,1 > target dat 0,100 > clear mov.i @bomb, >target > jmn.b -1,-2 > mov.i tfix,target > jmp clear > tfix dat 0,100 > sbomb spl 0,0 > jbomb jmp @0,-1 > step dat #7,#7 > preset sne.a 100,101 > creset dat 0,1100 > counter dat 0,1100 > scanner add.f step,scan > scan sne.a 100,101 > djn scanner, counter > jmz.b finish, counter > mov.i sbomb, *scan > mov.i jbomb, @scan > jmp scanner, finish > mov.i creset, counter > mov.i preset, scan > spl clear > mov.i 2,-1 > jmp scanner > jmp scanner+3 > end scanner > > Basic strat? Q^4, followed by 1 pass of a scan, then it splits to > scan AND spl/dat clear. > > So.... > It sucks. > I'm not completely sure if my basic strategy is even sound, and I know > that I'm doing it really, really inefficiently. > Suggestions? Wow, it's big. qscan and scanner and clear and so on. Give a nice Target for Enemy's Bomb's a sne's, Try to make it small, try to do it without the cresets and the preset and these hundred of jmp scanner, all will be a welcome for a-indirekt bombing from the Paper. Try to fit the scanner in 6 and clear into 5 Instruktion and make a small gap between them. If you really want a qscan, you shoul boot away from him. He says. "Hello, i'm here", and then try it on the SAL Beginners hill to see what you can do better. Scanning two positions that are beside is not s effektiv as scanning two positions that are 5-10 instruction distant from each other. Start the Clear with counter is ok, but you do it to complicated, why not use djn.b loop, #time ? Greetings, and don't give up. The beginning is the hardest. Sascha ( Beginner since 2 Year's ;-) ) -- Parlez vous Redcode? From: wackoyacko2000@yahoo.com (Andrew Hunter) Subject: Re: warrior help Date: 12 Mar 2004 01:08:36 -0800 Message-ID: <112f3b73.0403120108.49ab2ae@posting.google.com> Guys, while we're on the subject, another warrior I cooked up. This is just simple silk paired with a jmp/add 3 point imp spiral launch straight out of the r.g.c FAQ. ;redcode-94nop ;name Spirograph ;author Andrew Hunter ;strategy q^4->paper'd spirals v0.2 ;strategy added qscan ;assert CORESIZE==8000 IMPSIZE EQU 2667 qf equ qptr qs1 equ (-120) qs2 equ (-240) qd equ 4000 qi equ 7 qr equ 13 qo equ (qi*qr-(qi/2)) dat # 15, # 10 ; A, D qtab dat # 7, # 4 ; B, E dat # 13, # 11 ; C, F qbmb dat < 1, < qo qinc dat # qd, # qd qfas mul.f qtab, qptr ; decode qfnd sne *qptr, @qptr add qinc, qptr sne >3456, @qptr mov.x qptr, qptr qloo mov qbmb, @qptr ; .5c negative bomber qptr mov < qs2, @ qs1 sub.x # qi, qptr djn qloo, # qr jmp silk, >1234 qscan sne qf+ 1*qs2, qf+ 1*qs1 seq qf+ 1*qs2+qd, qf+ 1*qs1+qd ; 1, 1 jmp qfnd, {qf+ 1*qs2+qd+qi sne qf+ 8*qs2, qf+ 4*qs1 seq qf+ 8*qs2+qd, qf+ 4*qs1+qd ; B+1, E jmp qfas, }qtab sne qf+ 7*qs2, qf+ 5*qs1 seq qf+ 7*qs2+qd, qf+ 5*qs1+qd ; B, E+1 jmp qfas, >qtab sne qf+ 6*qs2, qf+ 3*qs1 seq qf+ 6*qs2+qd, qf+ 3*qs1+qd ; B-1, E-1 djn.f qfas, qtab sne qf+13*qs2, qf+11*qs1 seq qf+13*qs2+qd, qf+11*qs1+qd ; C, F jmp qfas, }qfas sne qf+15*qs2, qf+10*qs1 seq qf+15*qs2+qd, qf+10*qs1+qd ; A, D jmp qfas, {qfas sne qf+14*qs2, qf+ 9*qs1 seq qf+14*qs2+qd, qf+ 9*qs1+qd ; A-1, D-1 djn.f qfas, {qfas bounce jmp silk for 49 dat 0,0 rof silk spl 1 mov -1,0 mov -1,0 spl 1 spl 3620,#0 mov >-1,}-1 djn 6, #10 spl 1 spl 1 spl 2 jmp @0, imp add #IMPSIZE, -1 dat #0, #0 imp mov.i #0, IMPSIZE end qscan It scores 75 on the KOTH 94nop hill, where I plan to focus my efforts. It gets, understandably, destroyed by scanners. Most all other things, it has scores like 20 wins, 22 losses, 200 ties. Can people think of hints for this one? Esp. hints on how to be able to kill my enemy here. Also, how can I beat scanners? Originally, I was thinking that after the q^4, I'd have it spl to a fast bomber shooting colored dat bombs, (reasoning that the chances of hitting the very edge of my spiral where it matters is very low, and the loss of 1 spiral is acceptable anyway), but then I realized that when my paper/imp has 7999 processes, a bomber ain't gonna do much. Suggestions for just plain killing power, and esp. defense against the endless scanners on the current hill? From: neogryzormail@mixmail.com (Neogryzor) Subject: Re: warrior help Date: 12 Mar 2004 05:02:01 -0800 Message-ID: <242debe4.0403120502.38ff7aaa@posting.google.com> wackoyacko2000@yahoo.com (Andrew Hunter) wrote in message > Thx for suggestions. Thru optimization (~30 lines to ~17), a boot > routine, making it so it *actually uses* qscan, etc...score goes from > 58, all the way to... > 52. > Grrr... > New version. Any more suggestions? > ;redcode-94nop > ;name Retarius > ;author Andrew Hunter > ;strategy v0.4 q^4 scanner/clear > ;strategy massively optimized/shorter, just dat clear now > ;assert CORESIZE==8000 > qf equ qptr > qs1 equ (-120) > qs2 equ (-240) > qd equ 4000 > qi equ 7 > qr equ 13 > qo equ (qi*qr-(qi/2)) > dat # 15, # 10 ; A, D > qtab dat # 7, # 4 ; B, E > dat # 13, # 11 ; C, F > qbmb dat < 1, < qo > qinc dat # qd, # qd > > qfas mul.f qtab, qptr ; decode > qfnd sne *qptr, @qptr > add qinc, qptr > sne >3456, @qptr > mov.x qptr, qptr > qloo mov qbmb, @qptr ; .5c negative bomber > qptr mov < qs2, @ qs1 > sub.x # qi, qptr > djn qloo, # qr > jmp boot, >1234 > > qscan sne qf+ 1*qs2, qf+ 1*qs1 > seq qf+ 1*qs2+qd, qf+ 1*qs1+qd ; 1, 1 > jmp qfnd, {qf+ 1*qs2+qd+qi > sne qf+ 8*qs2, qf+ 4*qs1 > seq qf+ 8*qs2+qd, qf+ 4*qs1+qd ; B+1, E > jmp qfas, }qtab > sne qf+ 7*qs2, qf+ 5*qs1 > seq qf+ 7*qs2+qd, qf+ 5*qs1+qd ; B, E+1 > jmp qfas, >qtab > sne qf+ 6*qs2, qf+ 3*qs1 > seq qf+ 6*qs2+qd, qf+ 3*qs1+qd ; B-1, E-1 > djn.f qfas, qtab > sne qf+13*qs2, qf+11*qs1 > seq qf+13*qs2+qd, qf+11*qs1+qd ; C, F > jmp qfas, }qfas > sne qf+15*qs2, qf+10*qs1 > seq qf+15*qs2+qd, qf+10*qs1+qd ; A, D > jmp qfas, {qfas > sne qf+14*qs2, qf+ 9*qs1 > seq qf+14*qs2+qd, qf+ 9*qs1+qd ; A-1, D-1 > djn.f qfas, {qfas > bounce jmp boot > for 22 > dat 0,0 > rof > boot mov.i tail, 3268 > for 16 > mov.i {boot, rof > add.ab #7, boot > spl @boot, #1 > mov.i 0, boot > dat 0,0 > clear mov tfix, >tail > djn.a clear, clear-1 > mov.b 1, tail > jmp clear, 3 > tfix dat 1,2 > sbomb spl #7,#7 > jbomb jmp -1, 1100 > spl clear, 1100 > scanner add.f sbomb,scan > scan sne.a 1,2 > djn scanner, scanner-1 > mov.i sbomb, *scan > mov.i jbomb, @scan > jmn.b scanner, scanner-1 > mov.b scanner-2, scanner-1 > mov.f tfix, scan > tail jmp scanner, 3 > end qscan Hi, and welcome to corewars. Maybe i can give you a few hints to improve your scanner. Using a Qscan and a long boot code make your warrior more vulnerable to enemy Qscans. Try to reduce your boot code using a loop. For example: boot: mov.i 1 cicle faster :) the djn.f decrements the pointers after taking the address, so that reduces the chance to be hit by A-indirect addressing bomb. Also you can erase the pointer too: ... djn.b boot,#2 bpt: spl @somewhere,#last+1 mul.x bpt,bpt ;its better to modify instead of erase->slighty bigger decoy (dat 0,0) ;your second process must die after MUL Obviously it is a bit slower than previous boots. Faster loop boots can be done of course. I have one that uses the DJN instruction in the loop to jump directly to the booted code. Mmmh, i'm not going to publish it at the moment... :) Well, about the scanner i sugest you to scan pairs of separated locations. That makes you scanner work faster. Also comparing instructions make the scan more effective: scan: sne.i 7,14 ;for exmaple and add spl #14,#14 to leave 7-size gaps between scans. Try other step sizes. SPL/JMP bombs are not effective enough against modern papers. You may drop SPL carpets to stun paper, (about 8 or 10 SPLs would be enough). Also, multi pass scanning makes your scanner more efficient, because many papers will be copied in previously scanned locations. Just try not to attack/detect yourself. A scanner culd be like this: loop: add.f bomb,scan ;B-field points to scan scan: seq.i 14,14+7 djn.f atlp,scan ;decrement pointers before attack to stun more effectively ctr: djn loop,#n_scans ;quits the loop after *many* scans mov.a #6,atpl ;changes the bomb from SPL to DAT (clear phase) bmb: spl #14,14 ;and acts as a bi-clear atlp: mov bmb,}scan ;attack phase mov *-1,>scan djn atlp,#8 ;bombing counter 2*8 bombs: heavy bombing add.f #-7,@-7 ;tweak modiffied pointers mov #6,-2 ;reload bombing counter jmn loop,ctr ;and retun to scaning loop if we are not in clear phase dbmb: dat <2667,12 ;clear bomb This scanner probably don't work, i haven't tested it. Choose the constants carefuly and make sure it does not attack itself. Also keep an eye on the pointers and the clear phase. It probably needs some tweaking. Of course scan, attack and clear can be done in many ways. It's useful to modify the attak loop to use it for clear, reducing size, but not necessary. A slow and small clear can be used if your opponents are really stunned; something like SPL/MOV and let the processes die. Regards Neogryzor, (G.L.) From: cj_lukas@hotmail.com (Chris Lukas) Subject: starting out Date: 12 Mar 2004 16:57:24 -0800 Message-ID: <99b21fb3.0403121657.4e17d103@posting.google.com> Hello, I have found out about CoreWar in Beginning programming for Dummies. I have some knowledge about programming. I know Liberty Basic as well as HTML and some Javascript. Can someone help me out in learning redcode? Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 13 Mar 2004 09:35:03 GMT Archive-name: games/corewar-faq Last-Modified: September 4, 1999 Version: 4.2 URL: http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html Copyright: (c) 1999 Anton Marsden Maintainer: Anton Marsden Posting-Frequency: once every 2 weeks Core War Frequently Asked Questions (rec.games.corewar FAQ) These are the Frequently Asked Questions (and answers) from the Usenet newsgroup rec.games.corewar. A plain text version of this document is posted every two weeks. The latest hypertext version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html and the latest plain text version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.txt. This document is currently being maintained by Anton Marsden (anton@paradise.net.nz). Last modified: Sat Sep 4 00:22:22 NZST 1999 ------------------------------------------------------------------------ To Do * Add the new No-PSpace '94 hill location * Add online location of Dewdney's articles * Make question 17 easier to understand. Add a state diagram? * Add info about infinite hills, related games (C-Robots, Tierra?, ...) * New question: How do I know if my warrior is any good? Refer to beginners' benchmarks, etc. * Add a Who's Who list? * Would very much like someone to compile a collection of the "revolutionary" warriors so that beginners can see how the game has developed over the years. Mail me if interested. ------------------------------------------------------------------------ What's New * Changed primary location of FAQ (again!) * Changed Philip Kendall's home page address. * Updated list server information * Changed primary location of FAQ * Vector-launching code was fixed thanks to Ting Hsu. * Changed the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr ------------------------------------------------------------------------ Table of Contents 1. What is Core War 2. Is it "Core War" or "Core Wars"? 3. Where can I find more information about Core War? 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 6. What is the ICWS? 7. What is Core Warrior? 8. Where are the Core War archives? 9. Where can I find a Core War system for ...? 10. Where can I find warrior code? 11. I do not have FTP. How do I get all this great stuff? 12. I do not have access to Usenet. How do I post and receive news? 13. Are there any Core War related WWW sites? 14. What is KotH? How do I enter? 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 16. How does SLT (Skip if Less Than) work? 17. What is the difference between in-register and in-memory evaluation? 18. What is P-space? 19. What does "Missing ;assert .." in my message from KotH mean? 20. How should I format my code? 21. Are there any other Core War related resources I should know about? 22. What does (expression or term of your choice) mean? 23. Other questions? ------------------------------------------------------------------------ 1. What is Core War? Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all processes of the opposing program to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardised by the ICWS, and is therefore transportable between all standard Core War systems. The system in which the programs run is quite simple. The core (the memory of the simulated computer) is a continuous array of instructions, empty except for the competing programs. The core wraps around, so that after the last instruction comes the first one again. There are no absolute addresses in Core War. That is, the address 0 doesn't mean the first instruction in the memory, but the instruction that contains the address 0. The next instruction is 1, and the previous one obviously -1. However, all numbers are treated as positive, and are in the range 0 to CORESIZE-1 where CORESIZE is the amount of memory locations in the core - this means that -1 would be treated as CORESIZE-1 in any arithmetic operations, eg. 3218 + 7856 = (3218 + 7856) mod CORESIZE. Many people get confused by this, and it is particularly important when using the SLT instruction. Note that the source code of a program can still contain negative numbers, but if you start using instructions like DIV #-2, #5 it is important to know what effect they will have when executed. The basic unit of memory in Core War is one instruction. Each Redcode instruction contains three parts: * the opcode * the source address (a.k.a. the A-field) * the destination address (a.k.a. the B-field) The execution of the programs is equally simple. The MARS executes one instruction at a time, and then proceeds to the next one in the memory, unless the instruction explicitly tells it to jump to another address. If there is more than one program running, (as is usual) the programs execute alternately, one instruction at a time. The execution of each instruction takes the same time, one cycle, whether it is MOV, DIV or even DAT (which kills the process). Each program may have several processes running. These processes are stored in a task queue. When it is the program's turn to execute an instruction it dequeues a process and executes the corresponding instruction. Processes that are not killed during the execution of the instruction are put back into the task queue. Processes created by a SPL instruction are added to the task queue after the creating process is put back into the task queue. [ToC] ------------------------------------------------------------------------ 2. Is it "Core War" or "Core Wars"? Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. [ToC] ------------------------------------------------------------------------ 3. Where can I find more information about Core War? Core War was first described in the Core War Guidelines of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in Scientific American which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Library of Author Title Published ISBN Congress Call Number The Armchair Dewdney, Universe: An New York: W. QA76.6 .D517 A. K. Exploration of H. Freeman �0-7167-1939-8 1988 Computer Worlds 1988 The Magic 0-7167-2125-2 Dewdney, Machine: A New York: W.(Hardcover), QA76.6 A. K. Handbook of H. Freeman �0-7167-2144-9 .D5173 1990 Computer Sorcery 1990 (Paperback) A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current. For those who are interested, Dewdney has a home page at http://www.csd.uwo.ca/faculty/akd/. [ToC] ------------------------------------------------------------------------ 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A draft of the official standard (ICWS'88) is available as ftp://www.koth.org/corewar/documents/standards/redcode-icws-88.Z. This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at Mark Durham's tutorials, ftp://www.koth.org/corewar/documents/tutorial.1.Z and ftp://www.koth.org/corewar/documents/tutorial.2.Z. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This and various other tutorials can be found at http://www.koth.org/papers.html. Even though ICWS'88 is still the "official" standard, you will find that most people are playing by ICWS'94 draft rules and extensions. [ToC] ------------------------------------------------------------------------ 5. What is ICWS'94? Which simulators support ICWS'94? There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a new addressing modes and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft at ftp://www.koth.org/corewar/documents/icws94.0202.Z for more information. There is a HTML version of this document available at http://www.koth.org/info/icws94.html. You can try out the new standard by submitting warriors to the '94 hills of the KotH servers. Two corewar systems currently support ICWS'94, pMARS (many platforms) and Redcoder (Mac), both available at ftp://www.koth.org/corewar. Note that Redcoder only supports a subset of ICWS'94. [ToC] ------------------------------------------------------------------------ 6. What is the ICWS? About one year after Core War first appeared in Scientific American, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). The ICWS is no longer active. [ToC] ------------------------------------------------------------------------ 7. What is Core Warrior? Following in the tradition of the Core War News Letter, Push Off, and The 94 Warrior, Core Warrior is a newsletter about strategies and current standings in Core War. Started in October 1995, back issues of Core Warrior (and the other newsletters) are available at http://para.inria.fr/~doligez/corewar/. There is also a Core Warrior index page at http://www.kendalls.demon.co.uk/pak21/corewar/warrior.html which has a summary of the contents of each issue of Core Warrior. Many of the earlier issues contain useful information for beginners. [ToC] ------------------------------------------------------------------------ 8. Where are the Core War archives? Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp://ftp.csua.berkeley.edu/pub/corewar. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. This site is mirrored at: * http://www.koth.org/corewar/ * ftp://www.koth.org/corewar/ * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror The plain text version of this FAQ is automatically archived by news.answers (but this version is probably out-of-date). [ToC] ------------------------------------------------------------------------ 9. Where can I find a Core War system for . . . ? Core War systems are available via anonymous FTP from www.koth.org in the corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check ftp://www.koth.org/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than www.koth.org. Generally, the older the program - the less likely it will be ICWS compatible. If you are looking for an ICWS'94 simulator, get pMARS, which is available for many platforms and can be downloaded from: * ftp://ftp.csua.berkeley.edu/pub/corewar (original site) * ftp://www.koth.org/corewar (koth.org mirror) * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror (Planar mirror) * http://www.nc5.infi.net/~wtnewton/corewar/ (Terry Newton) * ftp://members.aol.com/ofechner/corewar (Fechter) Notes: * If you have trouble running pMARS with a graphical display under Win95 then check out http://www.koth.org/pmars.html which should have a pointer to the latest compilation of pMARS for this environment. * RPMs for the Alpha, PowerPC, Sparc and i386 can be found at ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars-rpm/ Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at www.koth.org: MADgic41.lzh corewar for the Amiga, v4.1 MAD4041.lzh older version? MAD50B.lha corewar for the Amiga, beta version 5.0 Redcoder-21.hqx corewar for the Mac, supports ICWS'88 and '94 (without extensions) core-11.hqx corewar for the Mac core-wars-simulator.hqx same as core-11.hqx? corewar_unix_x11.tar.Z corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z older version kothpc.zip port of older version of KotH to the PC deluxe20c.tar.Z corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z corewar for UNIX, likely not ICWS'88 compatible icons.zip corewar icons for MS-Windows macrored.zip a redcode macro-preprocessor (PC) c88v49.zip PC corewar, textmode display mars88.zip PC corewar, graphics mode display corwp302.zip PC corewar, textmode display, slowish mercury2.zip PC corewar written in assembly, fast! mtourn11.zip tournament scheduler for mercury (req. 4DOS) pmars08s.zip portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars08s.tar.Z same as above pmars08.zip PC executables with graphics display, req 386+ macpmars02.sit.hqx pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS1.99a.cpt.hqx port of v0.8 for the Mac, with display and debugger MacpMARS1.0s.cpt.hqx C source (MPW, ThinkC) for Mac frontend pvms08.zip pMARS v0.8 for VMS build files/help (req. pmars08s.zip) ApMARS03.lha pMARS executable for Amiga (port of version 0.3.1) wincor11.zip MS-Windows system, shareware ($15) [ToC] ------------------------------------------------------------------------ 10. Where can I find warrior code? To learn the game, it is a good idea to study previously posted warrior code. The FTP archives have code in the ftp://www.koth.org/corewar/redcode directory. A clearly organized on-line warrior collection is available at the Core War web sites (see below). [ToC] ------------------------------------------------------------------------ 11. I do not have FTP. How do I get all this great stuff? There is an FTP email server at bitftp@pucc.princeton.edu. This address may no longer exist. I haven't tested it yet. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. Note that many FTP email gateways are shutting down due to abuse. To get a current list of FTP email servers, look at the Accessing the Internet by E-mail FAQ posted to news.answers. If you don't have access to Usenet, you can retrieve this FAQ one of the following ways: * Send mail to mail-server@rtfm.mit.edu with the body containing "send usenet/news.answers/internet-services/access-via-email". * Send mail to mailbase@mailbase.ac.uk with the body containing "send lis-iis e-access-inet.txt". [ToC] ------------------------------------------------------------------------ 12. I do not have access to Usenet. How do I post and receive news? To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Koth.Org list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@koth.org. You can send mail to corewar-l@koth.org to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (ttsg@ttsg.com). Servers that allow you to post (but not receive) articles are available. Refer to the Accessing the Internet by E-Mail FAQ for more information. [ToC] ------------------------------------------------------------------------ 13. Are there any Core War related WWW sites? You bet. Each of the two KotH sites sport a world-wide web server. Stormking's Core War page is http://www.koth.org; pizza's is http://www.ecst.csuchico.edu/~pizza/koth . Damien Doligez (a.k.a. Planar) has a web page that features convenient access to regular newsletters (Push Off, The '94 Warrior, Core Warrior) and a well organized library of warriors: http://para.inria.fr/~doligez/corewar/. Convenient for U.S. users, this site is also mirrored at koth.org. [ToC] ------------------------------------------------------------------------ 14. What is KotH? How do I enter? King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program (warrior) with special comment lines. You will receive a reply indicating how well your program did against the current top programs "on the hill". There are two styles of KotH tournaments, "classical" and "multi-warrior". The "classical" KotH is a one-on-one tournament, that is your warrior will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. In "multi-warrior" KotH, all warriors on the hill fight each other at the same time. Score calculation is a bit more complex than for the one-on-one tournament. Briefly, points are awarded based on how many warriors survive until the end of a round. A warrior that survives by itself gets more points than a warrior that survives together with other warriors. Points are calculated from the formula (W*W-1)/S, where W is the total number of warriors and S the number of surviving warriors. The pMARS documentation has more information on multi-warrior scoring. The idea for an email-based Core War server came from David Lee. The original KotH was developed and run by William Shubert at Intel starting in 1991, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: koth@koth.org is maintained by Scott J. Ellentuch (tuc@ttsg.com) and pizza@ecst.csuchico.edu by Thomas H. Davies (sd@ecst.csuchico.edu). Up until May '95, the two sites provided overlapping services, i.e. the some of the hill types were offered by both "pizza" and "stormking". To conserve resources, the different hill types are now divided up among the sites. The way you submit warriors to both KotHs is pretty much the same. Therefore, the entry rules described below apply to both "pizza" and "stormking" unless otherwise noted. Entry Rules for King of the Hill Corewar * Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. * Put a line starting with ";redcode" (or ";redcode-94", etc., see below) at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. Using ";name" is mandatory on the Pizza hills. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently seven separate hills you can select by starting your program with ;redcode-94, ;redcode-b, ;redcode-lp, ;redcode-x, ;redcode, ;redcode-94x or ;redcode-94m. The former four run at "pizza", the latter three at "stormking". More information on these hills is listed below. * Mail this file to koth@koth.org or pizza@ecst.csuchico.edu. "Pizza" requires a subject of "koth" (use the -s flag on most mailers). * Within a few minutes you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. * In an hour or so you should get more mail telling you how your program performed against the current top 20 (or 10) programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode[-??] quiet" when you first mail in your program; then you will only get mail when you make it on the top 25 list or when you are knocked off. Using ";redcode[-??] verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 25 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. Sample Entry ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Duration Max. Hill Name Hill Core Max. Before Entry Min. Rounds Instr. Size Size Processes Distance Fought Set Tie Length Pizza's ICWS '94 Draft Hill Extended (Accessed with 25 8000 8000 80000 100 100 200 ICWS '94 ";redcode-94") Draft Pizza's Beginner's Extended Hill (Accessed 25 8000 8000 80000 100 100 200 ICWS '94 with ";redcode-b") Draft Pizza's Experimental Extended (Small) Hill 25 800 800 8000 20 20 200 ICWS '94 (Accessed with Draft ";redcode-x") Pizza's Limited Process (LP) Hill Extended (Accessed with 25 8000 8 80000 200 200 200 ICWS '94 ";redcode-lp") Draft Stormking's ICWS '88 Standard Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '88 ";redcode") Stormking's ICWS '94 No Pspace Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '94 ";redcode-94nop") Stormking's ICWS '94 Experimental Extended (Big) Hill 20 55440 55440 500000 200 200 250 ICWS '94 (Accessed with Draft ";redcode-94x") Stormking's ICWS '94 Multi-Warrior Extended Hill (Accessed 10 8000 8000 80000 100 100 200 ICWS '94 with Draft ";redcode-94m") Note: Warriors on the beginner's hill are retired at age 100. If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. At "stormking", a message body with ";help" will return brief instructions. If you submit code containing a ";test" line, your warrior will be assembled but not actually pitted against the warriors on the hill. At "pizza", you can use ";redcode[-??] test" to do a test challenge of the Hill without affecting the status of the Hill. These challenges can be used to see how well your warrior does against the current Hill warriors. All hills run portable MARS (pMARS) version 0.8, a platform-independent Core War system available at www.koth.org. The '94 and '94x hills allow five experimental opcodes and three experimental addressing modes currently not covered in the ICWS'94 draft document: * LDP - Load P-Space * STP - Store P-Space * SEQ - Skip if EQual (synonym for CMP) * SNE - Skip if Not Equal * NOP - (No OPeration) * * - indirect using A-field as pointer * { - predecrement indirect using A-field * } - postincrement indirect using A-field [ToC] ------------------------------------------------------------------------ 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? Core is initialized to DAT 0, 0. This is an illegal instruction (in source code) under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you have a DAT 0, 0 instruction in your source code - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. [ToC] ------------------------------------------------------------------------ 16. How does SLT (Skip if Less Than) work? SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: -1 becomes M-1 where M is the memory size (core size). Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. [ToC] ------------------------------------------------------------------------ 17. What is the difference between in-register and in-memory evaluation? These terms refer to the way instruction operands are evaluated. The '88 Redcode standard ICWS'88 is unclear about whether a simulator should "buffer" the result of A-operand evaluation before the B-operand is evaluated. Simulators that do buffer are said to use in-register evaluation, those that don't, in-memory evaluation. ICWS'94 clears this confusion by mandating in-register evaluation. Instructions that execute differently under these two forms of evaluation are MOV, ADD, SUB, MUL, DIV and MOD where the effective address of the A-operand is modified by evaluation of the B-operand. This is best illustrated by an example: L1 mov L2, mov.i #0, impsize Bootstrapping Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners Scanners which only recognize non-zero B-fields. example add #10, scan scan jmz example, 10 c Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner A Scanner which uses a CMP instruction to look for opponents. example add step, scan scan cmp 10, 30 jmp attack jmp example step dat #20, #20 Colour Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear Code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys Bogus or unused instructions meant to slow down scanners. Typically, DATs with non-zero B-fields. Decrement Resistant Property of warriors making them functional (or at least partially functional) when overrun by a DJN-stream. DJN-Stream (also DJN-Train) Using a DJN command to rapidly decrement core locations. example ... ... djn example, <4000 Dwarf The prototypical small bomber. Gate-busting (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp Program which only uses the MOV instruction. example mov 0, 1 or example mov 0, 2 mov 0, 2 Imp-Gate A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... spl 0, mov.i #0,IMPSIZE Mirror see reflection. On-axis/off-axis On-axis scanners compare two locations M/2 apart, where M is the memory size. Off-axis scanners use some other separation. Optimal Constants (also optima-type constants) Bomb or scan increments chosen to cover core most effectively, i.e. leaving gaps of uniform size. Programs to calculate optimal constants and lists of optimal numbers are available at www.koth.org. Paper A Paper-like program is one which replicates itself many times. Part of the Scissors (beats) Paper (beats) Stone (beats Scissors) analogy. P-Warrior A warrior which uses the results of previous round(s) in order to determine which strategy it will use. Pit-Trapper (also Slaver, Vampire). A program which enslaves another. Usually accomplished by bombing with JMPs to a SPL 0 pit with an optional core-clear routine. Q^2 Scan A modern version of the Quick Scan where anything found is attacked almost immediately. Quick Scan 2c scan of a set group of core locations with bombing if anything is found. Both of the following codes snips scan 16 locations and check for a find. If anything is found, it is attacked, otherwise 16 more locations are scanned. Example: start s1 for 8 ;'88 scan cmp start+100*s1, start+100*s1+4000 ;check two locations mov #start+100*s1-found, found ;they differ so set pointer rof jmn attack, found ;if we have something, get it s2 for 8 cmp start+100*(s2+6), start+100*(s2+6)+4000 mov #start+100*(s2+6)-found, found rof found jmz moveme, #0 ;skip attack if qscan found nothing attack cmp @found, start-1 ;does found points to empty space? add #4000, found ;no, so point to correct location mov start-1, @found ;move a bomb moveme jmp 0, 0 In ICWS'94, the quick scan code is more compact because of the SNE opcode: start ;'94 scan s1 for 4 sne start+400*s1, start+400*s1+100 ;check two locations seq start+400*s1+200, start+400*s1+300 ;check two locations mov #start+400*s1-found, found ;they differ so set pointer rof jmn which, found ;if we have something, get it s2 for 4 sne start+400*(s2+4), start+400*(s2+4)+100 seq start+400*(s2+4)+200, start+400*(s2+4)+300 mov #start+400*(s2+4)-found-100, found rof found jmz moveme, #0 ;skip attack if qscan found nothing add #100, -1 ;increment pointer till we get the which jmn -1, @found ;right place mov start-1, @found ;move a bomb moveme jmp 0, 0 Reflection Copy of a program or program part, positioned to make the active program invisible to a CMP-scanner. Replicator Generic for Paper. A program which makes many copies of itself, each copy also making copies. Self-Splitting Strategy of amplifying the number of processes executing a piece of code. example spl 0 loop add #10, example mov example, @example jmp loop Scanner A program which searches through core for an opponent rather than bombing blindly. Scissors A program designed to beat replicators, usually a (B-field scanning) vampire. Part of the Paper-Scissors-Stone analogy. Self-Repair Ability of a program to fix it's own code after attack. Silk A replicator which splits off a process to each new copy before actually copying the code. This allows it to replicate extremely quickly. This technique is only possible under the '94 draft, because it requires post-increment indirect addressing. Example: spl 1 mov -1, 0 spl 1 ;generate 6 consecutive processes silk spl 3620, #0 ;split to new copy mov >-1, }-1 ;copy self to new location mov bomb, >2000 ;linear bombing mov bomb, }2042 ;A-indirect bombing for anti-vamp jmp silk, {silk ;reset source pointer, make new copy bomb dat >2667, >5334 ;anti-imp bomb Slaver see Pit-Trapper. Stealth Property of programs, or program parts, which are invisible to scanners, accomplished by using zero B-fields and reflections. Stone A Stone-like program designed to be a small bomber. Part of the Paper-Scissors-Stone analogy. Stun A type of bomb which makes the opponent multiply useless processes, thus slowing it down. Example is referred to as a SPL-JMP bomb. example spl 0 jmp -1 Two-Pass Core-Clear (also SPL/DAT Core-Clear) core clear that fills core first with SPL instructions, then with DATs. This is very effective in killing paper and certain imp-spiral variations. Vampire see Pit-Trapper. Vector Launch one of several means to start an imp-spiral running. As fast as Binary Launch, but requiring much less code. See also JMP/ADD Launch and Binary Launch. This example is one form of a Vector Launch: sz EQU 2667 spl 1 spl 1 jmp @vt, }0 vt dat #0, imp+0*sz ; start of vector table dat #0, imp+1*sz dat #0, imp+2*sz dat #0, imp+3*sz ; end of vector table imp mov.i #0, sz [ToC] ------------------------------------------------------------------------ 23. Other questions? Just ask in the rec.games.corewar newsgroup or contact me. If you are shy, check out the Core War archives first to see if your question has been answered before. [ToC] ------------------------------------------------------------------------ Credits Additions, corrections, etc. to this document are solicited. Thanks in particular to the following people who have contributed major portions of this document: * Mark Durham (wrote the original version of the FAQ) * Paul Kline * Randy Graham * Stefan Strack (maintained a recent version of the FAQ) ------------------------------------------------------------------------ Copyright � 1999 Anton Marsden. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ------------------------------------------------------------------------ From: wackoyacko2000@yahoo.com (Andrew Hunter) Subject: Re: warrior help Date: 14 Mar 2004 08:18:39 -0800 Message-ID: <112f3b73.0403140818.72d4460e@posting.google.com> And yet 2 more warriors. Brimstone, a, well, stone. ;name Brimstone v0.1 ;author Andrew Hunter ;assert CORESIZE==8000 org boot boot mov tail, 2145 for 6 mov {boot, -1,}-1 spl 6593, 0 mov >-1,}-1 fsilk spl 1324,0 mov >-1,}-1 mov bomb, >2113 mov bomb, }2042 mov bomb, >1000 mov bomb, >bomb+1 mov bomb, >4690 mov bomb, <3250 mov bomb, {2490 add.a #50, fsilk jmp fsilk, 2667,>5334 end sstart Xerox does better on 94nop (scoring ~97)...so I want to work on that. First problem...the paper constnats and the bombing points, and for that matter the numbers in the bomb, were not very well chosen. I took the bomb from Paperone (reasoning there must be some reason it was used, though I don't know why...) and the bombing points/copy points are totally, completely random. I just typed in weird numbers. So, better way to do that? Also, any other suggestions on either, esp. the paper? I had the weird idea of replacing the paper's bombing code with Brimstone, basically...I submitted it and it got a score of 88. Lower, but not bad. It looks like this.... ;redcode-94nop ;name Xerox v0.2 ;strategy paper,bomber? ;strategy weird versino ;author Andrew Hunter ;assert CORESIZE==8000 sstart spl 1 spl 1 mov -1,0 mov -1,0 silk spl 3620, 0 mov >-1,}-1 spl 6593, 0 mov >-1,}-1 fsilk spl 1324,0 mov >-1,}-1 incr spl #34,#38 ststart mov bomb, *stone mov bomb, @stone stone mov 6,<46 add.f incr, stone djn.f ststart, tail tail bomb dat 34, 38 end sstart Are either of these warriors viable? How should I change them. From: wackoyacko2000@yahoo.com (Andrew Hunter) Subject: Reepicheep's stone Date: 14 Mar 2004 15:19:52 -0800 Message-ID: <112f3b73.0403141519.64df59b7@posting.google.com> While thinking about how to improve my warriors, I was going through Reepicheep...and I was looking at its stone. It's...a wee bit confusing. Anyone feel like giving a brief description of how it works? My main, minor question is this... the first mov sets some bit of core to dat 31, 1. Then, the postincrement addressing uses this (w/ other processes) to set bits starting at 31 cells after that to whatever dat. What's the point of the second mov? Doesn't it just put the bomb in the first cell, where it already is? From: Lukasz Grabun Subject: Re: starting out Date: 14 Mar 2004 20:17:07 GMT Message-ID: On 12 Mar 2004 16:57:24 -0800, Chris Lukas wrote: > Dummies. I have some knowledge about programming. I know Liberty Basic > as well as HTML and some Javascript. Can someone help me out in > learning redcode? I think that asking direct questions is privides the highest probability of getting useful answers. Anyway, you should check the http://www.corewar.info/ site on which you can find links, e-zines; basically, it's the starting point from which it all begins. Following URL is also a good place to visit http://www.dwarfscorner.com/corewar/links/ as it gathers all sites that are being maintained (partially). You may also acquaint us with code you've written. We will point out redundant parts of your code, ways to improve it and so on. -- Lukasz Grabun (My CW page: http://www.dwarfscorner.com/) (reply-to field is fake, use grabek (at) acn dot waw dot pl to reply) From: Lukasz Grabun Subject: Re: Reepicheep's stone Date: 15 Mar 2004 08:42:43 GMT Message-ID: On 14 Mar 2004 15:19:52 -0800, Andrew Hunter wrote: > Anyone feel like giving a brief description of how it works? You may give a look to my article about Candy. Reepicheep's uses Candy-like stone with altered constants but the general scheme unmodified. If it still doesn't answer your questions feel free to ask - I'll try to post a short note about how it works. -- Lukasz Grabun (My CW page: http://www.dwarfscorner.com/) (reply-to field is fake, use grabek (at) acn dot waw dot pl to reply) From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 03/15/04 Date: 15 Mar 2004 10:15:21 -0500 Message-ID: <200403150506.i2F561Xm007430@gevjon.ttsg.com> Weekly Status on 03/15/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Tue Mar 9 10:17:13 EST 2004 # %W/ %L/ %T Name Author Score Age 1 42/ 36/ 22 The X Machine Zul Nadzri 149 23 2 45/ 43/ 13 Fire and Ice II David Moore 147 112 3 41/ 38/ 21 Eliminator X Zul Nadzri 145 24 4 30/ 23/ 47 Venom v0.2b Christian Schmidt 138 234 5 37/ 39/ 24 Black Moods Ian Oversby 135 208 6 28/ 20/ 52 xd100 test David Houston 135 9 7 36/ 40/ 24 Simply Intelligent Zul Nadzri 133 5 8 20/ 9/ 71 Evol Cap 4 X John Wilkinson 132 281 9 29/ 26/ 45 KAT v5 Dave Hillis 132 144 10 21/ 10/ 68 Denial David Moore 132 153 11 28/ 27/ 45 Olivia X Ben Ford 128 93 12 36/ 43/ 21 Giant Hazy Test 13 Steve Gunnell 128 39 13 34/ 41/ 25 Ogre Christian Schmidt 128 160 14 22/ 17/ 61 Kin John Metcalf 128 120 15 32/ 37/ 31 Trefoil F 13 Steve Gunnell 127 95 16 33/ 39/ 28 Controlled Aggression Ian Oversby 127 212 17 16/ 6/ 78 Evolve X v4.0 John Wilkinson 126 229 18 20/ 14/ 66 Blotter X J. Pohjalainen 126 14 19 25/ 24/ 52 Glenstorm John Metcalf 126 74 20 34/ 44/ 21 clock strikes twelve John Metcalf 124 1 21 26/ 57/ 17 fatal lure of pMars Simon Wainwright 96 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 03/15/04 Date: 15 Mar 2004 10:15:16 -0500 Message-ID: <200403150509.i2F591oE007454@gevjon.ttsg.com> Weekly Status on 03/15/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Mar 14 22:33:52 EST 2004 # %W/ %L/ %T Name Author Score Age 1 28/ 15/ 56 Devilstick Roy van Rijn 141 109 2 33/ 28/ 39 Arctica Christian Schmidt 138 85 3 41/ 43/ 16 HazyLazy C 11 CS SG 138 4 4 41/ 46/ 13 Arrow Christian Schmidt 137 33 5 31/ 25/ 44 Gremlin van Rijn/Grabun 137 26 6 32/ 27/ 42 slime test 1.00 David Houston 137 122 7 31/ 25/ 44 Armadillo Lukasz Grabun 136 101 8 33/ 30/ 37 Spiritual Black Dimension Christian Schmidt 135 151 9 42/ 50/ 8 Recon 2 David Moore 134 814 10 30/ 26/ 44 Son of Vain Oversby/Pihlaja 134 2360 11 32/ 30/ 38 Ironic Imps Roy van Rijn 134 320 12 40/ 47/ 13 O--* Bremer/Schmidt 134 220 13 39/ 45/ 17 Dandelion 3 Schmidt/Zapf 133 2 14 37/ 43/ 20 HazyLazy A 70 Steve Gunnell 132 6 15 38/ 45/ 17 B94 Roy van Rijn 132 99 16 29/ 28/ 42 devilish 2 David Houston 131 309 17 25/ 19/ 56 Liquid Crystal John Morahan 130 22 18 35/ 40/ 26 Quirk Christian Schmidt 130 141 19 23/ 17/ 60 telepathy john morahan 129 1 20 29/ 30/ 41 Static Miz 129 326 21 37/ 46/ 17 Crackling Ice Lukasz Grabun 127 98 From: Koth Subject: KOTH.ORG: Status - Standard 03/15/04 Date: 15 Mar 2004 10:20:47 -0500 Message-ID: <200403150500.i2F501Z2007352@gevjon.ttsg.com> Weekly Status on 03/15/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Tue Mar 9 10:45:32 EST 2004 # %W/ %L/ %T Name Author Score Age 1 39/ 26/ 35 The Next Step '88 David Houston 152 7 2 42/ 37/ 20 Tangle Trap 3 David Moore 148 20 3 35/ 25/ 40 Freight Train David Moore 146 192 4 44/ 45/ 11 Scan Test C 6 Steve Gunnell 143 30 5 42/ 42/ 16 Cold as November Rain... John Metcalf 143 5 6 34/ 25/ 41 Test Alexander (Sasha) Wa 142 131 7 40/ 40/ 20 My 1st try Christian Schmidt 141 23 8 33/ 27/ 40 Guardian Ian Oversby 140 191 9 40/ 40/ 20 Stasis David Moore 139 299 10 39/ 43/ 19 '88 test IV John Metcalf 135 85 11 40/ 46/ 14 Foggy Swamp Beppe Bezzi 134 188 12 39/ 46/ 15 Deviant Scanner Roy van Rijn 133 8 13 33/ 34/ 33 vala John Metcalf 132 114 14 31/ 29/ 40 Pixie 88 Lukasz Grabun 132 21 15 33/ 35/ 32 The Seed Roy van Rijn 131 9 16 36/ 41/ 24 PacMan David Moore 131 221 17 27/ 24/ 49 Test I Ian Oversby 130 248 18 38/ 46/ 16 Blur '88 Anton Marsden 129 229 19 35/ 46/ 19 French Kiss 88 LAchi 123 1 20 18/ 17/ 65 Do Redcoders Hibernate? John Metcalf 119 3 21 15/ 21/ 64 Return to the Citadel Simon Wainwright 110 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 03/15/04 Date: 15 Mar 2004 10:20:41 -0500 Message-ID: <200403150503.i2F531fU007389@gevjon.ttsg.com> Weekly Status on 03/15/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Mar 14 17:30:00 EST 2004 # Name Author Score Age 1 not king of the hill FatalC 11 145 2 Her Majesty P.Kline 9 419 3 V.H. John Metcalf 8 5 4 The Survivor Philip Kendall 7 30 5 Probe2 John Metcalf 6 46 6 The Boss Test A 14 G.Labarga 5 24 7 Underwater John Metcalf 4 7 8 fatal lure of pMars Simon Wainwright 4 2 9 Frosty the Snowman John Metcalf 2 38 10 Kenshin D Test 8 Steve Gunnell 2 1 11 Djinn Test 22 Steve Gunnell 1 12 From: wackoyacko2000@yahoo.com (Andrew Hunter) Subject: a paper for a paper/stone Date: 15 Mar 2004 20:30:15 -0800 Message-ID: <112f3b73.0403152030.5c573c60@posting.google.com> silkstart spl 1 mov -1,0 spl 1 spl 1 silk spl 7688, 0 mov >-1,}-1 spl 1403, 0 mov >-1,}-1 fsilk spl 953,0 mov >-1,}-1 mov bomb, >1587 mov bomb, }5633 mov bomb, >1961 add.a #50, fsilk jmp fsilk, 2667,>5334 Cacodemon, my first warrior EVER to stay on ANY hill... the Sourceforge beginner at #10....is a stone/paper with q^4. This is the paper. My benching analysis with Wilfiz shows that it does pretty good against scanners and OK against papers, but not as good against stones as I'd like, which suggests I need to strengthen my paper. Help? Here's the full warrior. ;redcode-94nop ;name Cacodemon v0.71 ;strategy q^4->paper/stone ;strategy different Qscan? ;author Andrew Hunter ;assert CORESIZE==8000 sOff equ 3377 for 20 dat 0,0 rof silkstart spl 1 mov -1,0 spl 1 spl 1 silk spl 7688, 0 mov >-1,}-1 spl 1403, 0 mov >-1,}-1 fsilk spl 953,0 mov >-1,}-1 mov bomb, >1587 mov bomb, }5633 mov bomb, >1961 add.a #50, fsilk jmp fsilk, 2667,>5334 qf equ qptr qs1 equ (-120) qs2 equ (-240) qd equ 4000 qi equ 7 qr equ 13 qo equ (qi*qr-(qi/2)) for 8 dat 0,0 rof dat # 15, # 10 ; A, D qtab dat # 7, # 4 ; B, E dat # 13, # 11 ; C, F qbmb dat < 1, < qo qinc dat # qd, # qd qfas mul.f qtab, qptr ; decode qfnd sne *qptr, @qptr add qinc, qptr sne >3456, @qptr mov.x qptr, qptr qloo mov qbmb, @qptr ; .5c negative bomber qptr mov < qs2, @ qs1 sub.x # qi, qptr djn qloo, # qr jmp sBoot, >1234 qscan sne qf+ 1*qs2, qf+ 1*qs1 seq qf+ 1*qs2+qd, qf+ 1*qs1+qd ; 1, 1 jmp qfnd, {qf+ 1*qs2+qd+qi sne qf+ 8*qs2, qf+ 4*qs1 seq qf+ 8*qs2+qd, qf+ 4*qs1+qd ; B+1, E jmp qfas, }qtab sne qf+ 7*qs2, qf+ 5*qs1 seq qf+ 7*qs2+qd, qf+ 5*qs1+qd ; B, E+1 jmp qfas, >qtab sne qf+ 6*qs2, qf+ 3*qs1 seq qf+ 6*qs2+qd, qf+ 3*qs1+qd ; B-1, E-1 djn.f qfas, qtab sne qf+13*qs2, qf+11*qs1 seq qf+13*qs2+qd, qf+11*qs1+qd ; C, F jmp qfas, }qfas sne qf+15*qs2, qf+10*qs1 seq qf+15*qs2+qd, qf+10*qs1+qd ; A, D jmp qfas, {qfas sne qf+14*qs2, qf+ 9*qs1 seq qf+14*qs2+qd, qf+ 9*qs1+qd ; A-1, D-1 djn.f qfas, {qfas bounce jmp sBoot sBoot mov tail, 6+sOff-CURLINE spl 1 mov -1,0 spl 1 mov {sBoot, wackoyacko2000@yahoo.com (Andrew Hunter) wrote in message > silk spl 1 > mov -1,0 > mov -1,0 > spl 1 > spl 3620,#0 > mov >-1,}-1 > djn 6, #10 > spl 1 > spl 1 > spl 2 > jmp @0, imp > add #IMPSIZE, -1 > dat #0, #0 > imp mov.i #0, IMPSIZE > end qscan Mmm, i don't understand why did you put that djn in your paper. 10 processes are too many for a paper. It probably works very slow and don't replicates very fast. Also, the add/jmp launch is a slow boot, but not too bad for paper. It is useful to use more SPL/MOV pairs to increase the number of copies your warrior makes: spl @0,>3620 ;> works as an extra weak attack mov }-1,>-1 spl @0,>(somewhere) mov }-1,>-1 spl 2 add jmp or djn (decrement attack) (imp) Unfortunately remaining processes jump to one of the imp points after executing ADD, and adding a DAT instruction increases your size and you need one process more. You can use a continuous launcher spl @0,>3620 ;Less replication mov }-1,>-1 ;And a continuous launcher increase your warrior toughtness: spl #impsize+1,imp_location mov imp,>-1 add.a -2,1 ;try using .f for a decrement bombing djn.f imp_location-7*(impsize+1),{atk ;DJN instead of JMP for a secondary attack imp: mov.i #5,impsize ;small value in the A-field of the imp can kill some clears using '}', but more vulnerable to '{' anti-imp bombing You will find all the paper/imp techniques in the corewar lexicon in fizmo's page ( www.corewar.info ) > Also, how can I beat scanners? ... Paper/imp is a very defensive strategy, not too good against scanners, (and the actual hill has plenty of them). Anyway, some of them are more vulnerable to heavy splitting paper/imps, (like HazyLazy). But if you want to increase your score againts all the scanners there is only one solution: bombing Regards Neogryzor From: cj_lukas@hotmail.com (Chris Lukas) Subject: Re: starting out Date: 18 Mar 2004 14:06:36 -0800 Message-ID: <99b21fb3.0403181406.5ed34ae2@posting.google.com> Lukasz Grabun wrote in message news:... > You may also acquaint us with code you've written. We will point out > redundant parts of your code, ways to improve it and so on. the problem is i haven't made any code yet. could you make a very small program and explain it to me so i understand how it works? From: Ian Oversby Subject: Re: starting out Date: Thu, 18 Mar 2004 23:04:12 +0000 Message-ID: Chris Lukas wrote: > the problem is i haven't made any code yet. could you make a very > small program and explain it to me so i understand how it works? Read the back issues of corewarrior Ian From: Sascha Zapf Subject: Re: starting out Date: Thu, 18 Mar 2004 23:27:50 +0100 Message-ID: Chris Lukas wrote: > Lukasz Grabun wrote in message > news:... >> You may also acquaint us with code you've written. We will point out >> redundant parts of your code, ways to improve it and so on. > > the problem is i haven't made any code yet. could you make a very > small program and explain it to me so i understand how it works? So, start your editor and think about the goal of every Warrior. Try to Kill your opponents. Try to make a small Warrior that lifes 80000 cycles and choose a strategy that is easy to understand. For example the Stone. Small Bombers that covers the core with dat-bombs. Think about selfbombing and how to make sure that a wounded enemy can be killed. If you have your small Stone, let it fight against some opponent. High recommended is the Wilkies Benchmark, available under www.corewar.info And the look why your Warrior is so bad against them and try to improve his scores. Make it smaller, faster or do something defensiv against other strategies. Corewar is a mathematical game. You must always find the math in it. For example. If your opponent, bombs every 5th cellof the core, and your stone is 7 lines long, so it is garanted that you would be hit one or two times in every fight. if you are 4 lines long 20% chance that no bomb hit's you. Same with scanner. A mod-10 scanner has problem to find an 4 liner stone, but against 8 or 9 liners there are good chance to find. And then come back and show us your code. Then we can help you mch better than now. Sascha -- Parlez vous Redcode? From: kaukasius@yahoo.de (el kauka) Subject: Re: starting out Date: 19 Mar 2004 02:41:39 -0800 Message-ID: and than test your warriors on the beginner hills on SAL, corewars.sourceforge or koth. but if these hills are still too tough for you try my absolute beginner hill on http://home.t-online.de/home/familie.kersten/johannes el kauka From: cj_lukas@hotmail.com (Chris Lukas) Subject: Re: starting out Date: 19 Mar 2004 13:41:43 -0800 Message-ID: <99b21fb3.0403191341.6d40edc7@posting.google.com> oh, ya, one more thing. i downloaded the editor and it didn't work. i have XP kaukasius@yahoo.de (el kauka) wrote in message news:... > and than test your warriors on the beginner hills on SAL, > corewars.sourceforge or koth. > > but if these hills are still too tough for you try my absolute > beginner hill on > http://home.t-online.de/home/familie.kersten/johannes > > el kauka From: cj_lukas@hotmail.com (Chris Lukas) Subject: Re: starting out Date: 19 Mar 2004 13:41:44 -0800 Message-ID: <99b21fb3.0403191341.55e6d542@posting.google.com> oh, ya, one more thing. i downloaded the editor and it didn't work. i have XP kaukasius@yahoo.de (el kauka) wrote in message news:... > and than test your warriors on the beginner hills on SAL, > corewars.sourceforge or koth. > > but if these hills are still too tough for you try my absolute > beginner hill on > http://home.t-online.de/home/familie.kersten/johannes > > el kauka From: cj_lukas@hotmail.com (Chris Lukas) Subject: Re: starting out Date: 19 Mar 2004 13:58:19 -0800 Message-ID: <99b21fb3.0403191358.2ca6d9fa@posting.google.com> nevermind what i said about it not working, i think it works now. I got this warrior from the beginners thing ADD #4, 3 MOV 2, @2 JMP -2 DAT #0, #0 and it doesn't work in the editor kaukasius@yahoo.de (el kauka) wrote in message news:... > and than test your warriors on the beginner hills on SAL, > corewars.sourceforge or koth. > > but if these hills are still too tough for you try my absolute > beginner hill on > http://home.t-online.de/home/familie.kersten/johannes > > el kauka From: "Robert Macrae" Subject: Gridwars III Date: Fri, 19 Mar 2004 19:39:11 -0000 Message-ID: <405b4cb1$0$22984$cc9e4d1f@news.dial.pipex.com> Fancy a 2-D challenge? Rules are very similar to last time; write a cellular automaton that attacks adjacent enemies and/or supports adjacent friends in the most efficient manner. There is one major twist, in that you can now pass 32 bits of data to each adjacent cell (with a 1-round lag) giving greatly increased opportunities for co-operation and learning. There are still a couple of weeks to the final -- easily enough for a redcoder with any familiarity with C. http://www.engineeredintelligence.com/gridwars/index.cfm Will get you started; take a look round the forums and download the challenge kit. The prize is a hefty 5-processor HP cluster... Robert From: wackoyacko2000@yahoo.com (Andrew Hunter) Subject: Help! Stone/Imps are destroying me. Date: 19 Mar 2004 20:35:16 -0800 Message-ID: <112f3b73.0403192035.60f29d98@posting.google.com> So, my Stone/Paper, Cacodemon, is only a few points short of making 94nop. Scores about 123 right now. On the other hand... that's including one score of 75, and 5-6 of 100 or so.... the 75 is actually from a Stone/Paper, Spiritual Black Dimension, but the other five are Stone/Imps so, if I improve my performace against them by 10-15 points, I might just make it. My warrior is this. (latest and best version. Somewhat optimized, not badly, but I don't know if it's perfect.) ;redcode-94nop ;name Cacodemon v0.97 ;strategy q^4->paper/stone ;strategy diff stone ;author Andrew Hunter ;assert CORESIZE==8000 sOff equ 7001 for 20 dat 0,0 rof silkstart spl 1 silk spl 6127, 0 mov >-1,}-1 spl 1636, 0 mov >-1,}-1 spl 3566,0 mov >-1,}-1 fsilk spl 2069,0 mov >-1,}-1 mov bomb, >1961 mov bomb, >1 jmp -1, 2 bomb dat >2667,>5334 qf equ qptr qs1 equ (-120) qs2 equ (-240) qd equ 4000 qi equ 7 qr equ 13 qo equ (qi*qr-(qi/2)) for 8 dat 0,0 rof dat # 15, # 10 ; A, D qtab dat # 7, # 4 ; B, E dat # 13, # 11 ; C, F qbmb dat < 1, < qo qinc dat # qd, # qd qfas mul.f qtab, qptr ; decode qfnd sne *qptr, @qptr add qinc, qptr sne >3456, @qptr mov.x qptr, qptr qloo mov qbmb, @qptr ; .5c negative bomber qptr mov < qs2, @ qs1 sub.x # qi, qptr djn qloo, # qr jmp sBoot, >1234 qscan sne qf+ 1*qs2, qf+ 1*qs1 seq qf+ 1*qs2+qd, qf+ 1*qs1+qd ; 1, 1 jmp qfnd, {qf+ 1*qs2+qd+qi sne qf+ 8*qs2, qf+ 4*qs1 seq qf+ 8*qs2+qd, qf+ 4*qs1+qd ; B+1, E jmp qfas, }qtab sne qf+ 7*qs2, qf+ 5*qs1 seq qf+ 7*qs2+qd, qf+ 5*qs1+qd ; B, E+1 jmp qfas, >qtab sne qf+ 6*qs2, qf+ 3*qs1 seq qf+ 6*qs2+qd, qf+ 3*qs1+qd ; B-1, E-1 djn.f qfas, qtab sne qf+13*qs2, qf+11*qs1 seq qf+13*qs2+qd, qf+11*qs1+qd ; C, F jmp qfas, }qfas sne qf+15*qs2, qf+10*qs1 seq qf+15*qs2+qd, qf+10*qs1+qd ; A, D jmp qfas, {qfas sne qf+14*qs2, qf+ 9*qs1 seq qf+14*qs2+qd, qf+ 9*qs1+qd ; A-1, D-1 djn.f qfas, {qfas bounce jmp sBoot sBoot mov tail, 6+sOff-CURLINE spl 1 mov -1,0 spl 1 mov {sBoot, 1 end qscan Any hints at all? I really, really want to know how to kill the durn stone/imps. But I also would love any advice you can give. Like I said, I need like 5 points more overall to land a spot on the hill. From: fizmo_master@yahoo.com (Fizmo) Subject: Re: Help! Stone/Imps are destroying me. Date: 20 Mar 2004 04:39:06 -0800 Message-ID: <9f53b5fb.0403200439.572febc8@posting.google.com> Hi, I was looking at your code. First I spend an hour on optimizing the paper constants. I then inserted your code into David Houston's Q^4.5. Keep in mind that Q^4 scanners are sensitive to changes in the relative positions between the tables and the decoding part. If you change that, the scanner won't bomb the right locations in core. Finally I optimized a bit the boot distance of the stone. Now it scores surprisingly good against my personal benchmark. Maybe this version is good enough to enter the 94nop. But I am sure with some more optimizations you'll get it easily on the hill. So, Below is the code. Christian ;redcode-94nop ;name Cacodemon v0.97 ;strategy q^4->paper/stone ;strategy diff stone ;author Andrew Hunter ;assert CORESIZE==8000 sOff equ 6033 zero equ qbomb qtab3 equ qbomb qbomb dat >qoff, >qc2 sBoot mov tail, 6+sOff-CURLINE spl 2, -1, }-1 spl 737, 0 mov >-1, }-1 fsilk spl 2400, 0 mov >-1, }-1 mov bomb, >1801 mov bomb, }7341 mov bomb, >3826 add.a #817, fsilk jmp fsilk, 2667, >5334 for 1 dat 0, 0 rof dat zero - 1, qa1 qtab1 dat zero - 1, qa2 step equ 1529 hop equ 18 spl #0 spl #0 mov bmb, }step+1 mov bmb, @-1 add.ab #step, @-1 djn.f -3, <-2000 tail bmb dat 1 for 42-7 dat 0, 0 rof qc2 equ ((1 + (qtab3-qptr)*qy) % CORESIZE) qb1 equ ((1 + (qtab2-1-qptr)*qy) % CORESIZE) qb2 equ ((1 + (qtab2-qptr)*qy) % CORESIZE) qb3 equ ((1 + (qtab2+1-qptr)*qy) % CORESIZE) qa1 equ ((1 + (qtab1-1-qptr)*qy) % CORESIZE) qa2 equ ((1 + (qtab1-qptr)*qy) % CORESIZE) qz equ 2108 qy equ 243 qgo sne qptr + qz*qc2, qptr + qz*qc2 + qb2 seq qptr, qptr + qz + (qb2-1) jmp q2, Subject: Re: Corewar Date: Sat, 20 Mar 2004 09:09:05 -0000 Message-ID: <405c0a80$0$14403$cc9e4d1f@news.dial.pipex.com> > I once used this formula: sum(square(rank0i - rank1i)) to test if a > variant of a warrior has the same "spirit" of the original warrior. This is one way, but it is throwing away a lot of information. Si = sum( Si1 + Si2 + ... + Sin ) where Si is the score of warrior i and Sij is the score of warrior i against warrior j. You can get a much more detailed (and probably better) measure of similarity by looking at the similarity of the Sij rather than just the Si. Perhaps you this might give rise to a higher-dimensional dream next time? 8-) Robert From: wackoyacko2000@yahoo.com (Andrew Hunter) Subject: Re: Help! Stone/Imps are destroying me. Date: 20 Mar 2004 13:12:11 -0800 Message-ID: <112f3b73.0403201312.79438b92@posting.google.com> fizmo_master@yahoo.com (Fizmo) wrote in message news:<9f53b5fb.0403200439.572febc8@posting.google.com>... > Hi, > > I was looking at your code. First I spend an hour on optimizing > the paper constants. I then inserted your code into David Houston's > Q^4.5. Keep in mind that Q^4 scanners are sensitive to changes in > the relative positions between the tables and the decoding part. > If you change that, the scanner won't bomb the right locations in > core. Finally I optimized a bit the boot distance of the stone. > Now it scores surprisingly good against my personal benchmark. Maybe > this version is good enough to enter the 94nop. But I am sure with > some more optimizations you'll get it easily on the hill. > So, Below is the code. > > Christian Thanks a bunch. I submitted it, it's still a few points short....but getting there. I do very well against scanners, and stones aren't too bad... imps are still destroying me. Not as badly though. Some questions. You optimized my paper and my boot distance? How? Right now, I'm limited to using a program given to me called "opt1" to generate a hundred warriors with random constants, and then hand-calling Wilfiz on each....I want to write a perl script to do it, but I don't yet know enough perl. :( Do you have a program or something to help do it? If so, can I get a copy? Also, what's the difference between Q^4 and Q^4.5? Lastly, what's the best way to kill those %#^#$% imps? From: Lukasz Grabun Subject: Re: Help! Stone/Imps are destroying me. Date: 20 Mar 2004 21:25:55 GMT Message-ID: On 20 Mar 2004 13:12:11 -0800, Andrew Hunter wrote: > You optimized my paper and my boot distance? How? Right now, I'm > limited to using a program given to me called "opt1" to generate a > hundred warriors with random constants, and then hand-calling Wilfiz > on each....I want to write a perl script to do it, but I don't yet > know enough perl. :( Do you have a program or something to help do > it? If so, can I get a copy? As far as my experience is being concerned: I used awk/bash for this purpose and this worked fine (I know, perl is lotta better, I don't care :-P). I used the method you described - this is enough as long as you benchmark a largely enough number of warriors. And unless your computer is out of new line, it may take some time. > Lastly, what's the best way to kill those %#^#$% imps? Erm, why would you care, anyway? ;-) Seriously: a paper is the best counter strategy for stone imps. There are papers that easily kill every stone/imp - without any modesty, let's take Disincentive; the disadvantage is that D. is susceptible to scanners :-( A general idea in Disincentive-type of paper (or Pulp-like as D. is its derivative) is to enhance the bombing module by adding an extra bombing line. This implies that one needs one more process to copy the whole warrior but in overall it pays off. I think. Chris is much better when it comes to papers so wait for his answer to put more light on this matter. -- Lukasz Grabun (My CW page: http://www.corewar.ehost.pl/) (reply-to field is fake, use grabek (at) acn dot waw dot pl to reply) From: Lukasz Grabun Subject: Re: starting out Date: 20 Mar 2004 21:28:06 GMT Message-ID: On 19 Mar 2004 13:58:19 -0800, Chris Lukas wrote: > I got this warrior from the beginners thing > ADD #4, 3 > MOV 2, @2 > JMP -2 > DAT #0, #0 > and it doesn't work in the editor It works perfectly. I wonder what is that "editor" thing you mention. If you use Windows, check out Chip's CoreWin. It has very intuitive interface and should be capable of running warrior (Dwarf, the original, by the way) you pasted. -- Lukasz Grabun (My CW page: http://www.dwarfscorner.pl/) (reply-to field is fake, use grabek (at) acn dot waw dot pl to reply) From: Hurkyl@msn.com (Hurkyl) Subject: Re: Help! Stone/Imps are destroying me. Date: 21 Mar 2004 06:23:43 -0800 Message-ID: <7d3e9a94.0403210623.15659b23@posting.google.com> > Also, what's the difference between Q^4 and Q^4.5? The Q^4.5 is, basically, a longer Q^4. I found a way to add a few more scans to Q^4 without increasing the decode time. I can do better than the posted version, but it requires changing some things, and I -think- that it's simply too long to be useful. (I might just not been testing it in a warrior that would benefit) > Lastly, what's the best way to kill those %#^#$% imps? Slime's reason for existance was the thought: If I can clobber stone/imps, I can get on the hill! (I didn't expect to -stay- on the hill, though) In the little paper writing I've done, it seems that these two bombs are silver bullets against a-imps and b-imps respectively: mov.i #1, {1 mov.i #1, <1 (The a-field doesn't need to be 1, but if it is you will slow down warriors using a djn.f stream) Slime, in its simple-mindedness, throws -both- of these bombs, as well as a dat bomb. :) From: fizmo_master@yahoo.com (Fizmo) Subject: Re: Help! Stone/Imps are destroying me. Date: 21 Mar 2004 08:09:08 -0800 Message-ID: <9f53b5fb.0403210809.7c3f7625@posting.google.com> > > Christian > Thanks a bunch. > I submitted it, it's still a few points short....but getting there. > I do very well against scanners, and stones aren't too bad... > imps are still destroying me. Not as badly though. A better one is ready now :-) > Some questions. > You optimized my paper and my boot distance? How? Right now, I'm > limited to using a program given to me called "opt1" to generate a > hundred warriors with random constants, and then hand-calling Wilfiz > on each....I want to write a perl script to do it, but I don't yet > know enough perl. :( Do you have a program or something to help do > it? If so, can I get a copy? Sascha Zapf and I are working on a perl written optimizer, which I am actually use. We will make it soon available of all. > Also, what's the difference between Q^4 and Q^4.5? The Q^4.5 scans more locations than Q^4 within the same speed of decoding. A paper should score about 4-8 pts better if Q^4.5 is used. > Lastly, what's the best way to kill those %#^#$% imps? Your paper uses one of the best way to kill imps. But it is a bit too large and therefore too slow to kill imps nicely. Just make it a bit smaller (maybe 10 instructions) and it should score better. Christian From: Lukasz Grabun Subject: Re: :( Date: 21 Mar 2004 20:41:43 GMT Message-ID: On Sun, 21 Mar 2004 21:29:03 +0100, Andreas Scholta wrote: > omfg. that should definitely NOT BE HERE. *curses his ancestors* Use the Cancel, Luke. -- Lukasz Grabun (My CW page: http://www.corewar.ehost.pl/) (reply-to field is fake, use grabek (at) acn dot waw dot pl to reply) From: Andreas Scholta Subject: :( Date: Sun, 21 Mar 2004 20:53:20 +0100 Message-ID: (20:10:26) brx: ich weiss dass ich dir noch wichtig bin! (20:10:29) brx: ich muss es sein (20:10:35) brx: muss es sein.. (20:10:41) brx: nach all der zeit (20:11:15) brx: deshalb musst du es zulassen... lass uns beieinander sein (20:11:49) brx: ich kann dich in nichts hineinreden (20:12:10) brx: bzw dir (20:12:16) brx: aber es waere schoen (20:12:20) brx: fuer uns beide schoen.. (20:12:30) brx: fuer mich vielleicht sogar essentiell. (20:12:52) brx: du hast mal so viel gutes in mir geweckt (20:12:58) brx: und kannst es noch (20:13:01) brx: wenn du das moechtest (20:14:03) brx: auf der anderen seite bin ich (20:14:09) brx: der dir wohl auch oft wehgetan hat (20:14:13) brx: zu oft. (20:14:21) brx: einmal waere schon zu oft gewesen.. (20:14:39) brx: hier bin ich und warte auf dich (20:15:10) brx: ich werde ewig auf dich warten. 20:15 (20:16:43) brx: ich mag dir die waerme geben die du vermisst :( (20:16:48) brx: die waerme die du brauchst (20:17:04) brx: ich mag einfach fuer dich da sein.. (20:17:19) brx: wenn dein herz das noch moechte, dann lass es zu (20:19:24) brx: mein herz schlaegt immernoch :) fuer dich. 20:20 (20:20:50) brx: und solange es fuer dich schlaegt kann es nicht aufhoeren. (20:20:54) brx: ich hab dich lieb (20:21:00) brx: du mich doch auch noch.. :/ (20:21:34) brx: erinnerst du dich vielleicht daran was ich dir mal geschrieben habe? dass ich mir eine zukunft mit dir wuensche? (20:21:38) brx: du fandest das schoen... (20:21:49) brx: und ich fand es schoen dass es dir gefallen hat. (20:21:57) brx: es ist doch immernoch so (20:22:11) brx: ich bin immernoch derselbe andi (20:22:19) brx: und du.. du bist immernoch dieselbe simone. (20:22:37) brx: vertrau mir bitte. (20:24:25) brx: dann kann ich auch dir vertrauen (20:24:47) brx: und wir koennen wieder fuereinander da sein.. ich wuensche mir ncihts sehnlicher als fuer dich da zu sein.. fuer eine simone die mich bei ihr haben moechte (20:24:57) brx: aeh sich. 20:25 (20:25:27) brx: und ich werde dich dann in meinen armen halten.. warm halten so wie du das moechtest und geniesst. (20:25:53) brx: und ich lege all meine liebe in diese umarmung.. simone, in jedem moment in dem ich bei dir sein kann. --------------------------- ich habe angst davor dass du mich nicht mehr liest :/ From: Andreas Scholta Subject: Re: :( Date: Sun, 21 Mar 2004 21:29:03 +0100 Message-ID: omfg. that should definitely NOT BE HERE. *curses his ancestors* From: "Robert Macrae" Subject: Re: Help! Stone/Imps are destroying me. Date: Sun, 21 Mar 2004 22:19:11 -0000 Message-ID: <405e187d$0$22976$cc9e4d1f@news.dial.pipex.com> > Any hints at all? I really, really want to know how to kill the durn > stone/imps. But I also would love any advice you can give. Like I > said, I need like 5 points more overall to land a spot on the hill. They aren't easy targets, mainly because you have to kill those imps. Christian has covered the QS, but I have some ideas you might try on the Silk. > silkstart spl 1 > silk spl 6127, 0 > mov >-1,}-1 > spl 1636, 0 > mov >-1,}-1 > spl 3566,0 > mov >-1,}-1 > fsilk spl 2069,0 > mov >-1,}-1 > mov bomb, >1961 > mov bomb, >1 > jmp -1, 2 > bomb dat >2667,>5334 This is a very heavy Silk, needing 12 processes just to get started. I would recommend slimming it down, as the fewer processes per Silk the more Silks you have at a given time. Also, with the Silk this long I don't think the mov/jmp loop at the end will really achieve much because so few processes will ever reach it. (If it isn't obvious why, fire up cdb, put in a breakpoint on the jmp and see how long it takes to reach.) Most Silks use 2 or 3 SPL stages rather than 4, but 4 may give better spread; experiment. As a compromise, some boot 1 copy and then start from 2 different locations. Silks often use SPL lines like SPL @0, }6127. I think it may help prevent enemies you over-write from hijacking your replicator code, as they are likely to execute the MOV }-1,>-1 before they have finished splitting and so jump to the wrong location. DAT >2667,>5334 bombs are very effective if you can lay them in strips one after another, but because of the execution order of Silks (1 process from each, then the next process from each) Silk bombing is a bit of a jumble. I think these bombs will only get relatively short imps -- you should test against imps of different lengths to check, but I doubt you would often beat imps longer than 16 or so. If the imp/stone is using an infinite launcher that requires hitting it very quickly. NPaper used a neat anti-imp bomb that attacked MOV.i #2667, *0 imps very effectively. (You can also write one to attack MOV.i #0,2667 imps -- but not AFAIK both at the same time). The idea was something like MOV.i #0,{1, which copies itself all over the imp if it ever hits the first instruction. It doesn't kill, but it does remove the self-repair that makes imps so toughso a few random hits should finish it off. You may still need a few DAT bombs to prevent core becoming a MOV soup. Have a play and see what works best... I'd guess a shorter Silk with anti-imp bombs would do significantly better. Robert From: "Robert Macrae" Subject: Re: warrior help Date: Sun, 21 Mar 2004 22:33:08 -0000 Message-ID: <405e187e$0$22976$cc9e4d1f@news.dial.pipex.com> > incr spl #34,#38 > sstart mov bomb, *stone > mov bomb, @stone > stone mov 6,<46 > add.f incr, stone > djn.f sstart, tail > tail bomb dat 34, 38 The steps look odd. This seems to be a Tornado engine throwing 3 bombs per cycle, but I'd expect: incr SPL #3*STEP, #3*STEP stone MOV 6, 6+STEP and tail bomb DAT 34, STEP. This would throw bombs to 6, 6+STEP, 6+2*STEP, then add 3*STEP and repeat. (I think) > sstart spl 1 > spl 1 > spl 1 > spl 1 Way, way, way too long. It would take this behemoth 256 cycles to complete, and that is ignoring its daughters! > and the bombing points/copy > points are totally, completely random. I just typed in weird numbers. > So, better way to do that? Start with totally random. Take a look at the execution in cdb and see whether you seem to be "evenly spaced out" or whether you often overwrite. Then check which scores better against a few warriors. Then adjust constants to be more of whatever worked better, and recheck. Robert From: kaukasius@yahoo.de (el kauka) Subject: optimizer in redcode Date: 22 Mar 2004 08:03:33 -0800 Message-ID: hello redcoder, i have written this "little" optimizer in redcode. it just changes the a-field of the instruction "gen" on lost by adding 1 to it. or it keeps the same genotyp on win. (that was my first idear of an adaptive p warrior) than it stores into the p-space which genotyp wins how often. the basic idear is, that a good genotyp is going to win more battles after another than a bad one. but it's still quit big. do you see any way to make it shorter? and how do you like it ? ;-) el kauka [absolute beginner hill: http://home.t-online.de/home/familie.kersten/johannes] ;redcode ;name optimizer 1 ;autor El Kauka start equ 4 ;startvalue of genotyp step equ 1 ;value to add on lost org load space dat 0, 0 first dat 0, -1 won dat 0, 1 load ldp #0, space sne.b first, space stp #start-step, #1 ldp.a #1, gen seq.b won, space sub.a #1, 1 jmp 2, 0 jmp lost jmp win lost add.a #step, gen stp.ab gen, #1 jmp fighter win ldp #1, count ldp.a #1, 1 ldp.a #23, count add.a #1, 1 count stp #1, #1 fighter ;simple dwarf mov 3, 3 gen add #1, -1 jmp -2 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 03/22/04 Date: 22 Mar 2004 16:15:57 -0500 Message-ID: <200403220509.i2M590sf008339@gevjon.ttsg.com> Weekly Status on 03/22/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Mar 21 20:54:15 EST 2004 # %W/ %L/ %T Name Author Score Age 1 46/ 45/ 9 Arrow Christian Schmidt 147 16 2 31/ 16/ 54 Devilstick Roy van Rijn 146 130 3 38/ 31/ 31 Spiritual Black Dimension Christian Schmidt 145 172 4 44/ 43/ 12 HazyLazy C 11 CS SG 145 25 5 35/ 29/ 36 Arctica Christian Schmidt 142 106 6 42/ 43/ 15 B94 Roy van Rijn 142 120 7 40/ 38/ 22 Quirk Christian Schmidt 142 162 8 34/ 28/ 37 Son of Vain Oversby/Pihlaja 141 2381 9 34/ 28/ 38 Gremlin van Rijn/Grabun 140 47 10 42/ 43/ 15 HazyLazy A 70 Steve Gunnell 140 27 11 43/ 48/ 8 Kenshin D 10 Steve Gunnell 138 13 12 41/ 45/ 15 Dettol Test 41 Steve Gunnell 137 11 13 42/ 47/ 11 O--* Bremer/Schmidt 137 241 14 41/ 47/ 12 Dandelion III Schmidt/Zapf 135 17 15 34/ 32/ 34 Cacodemon v1.01 Andrew Hunter 135 2 16 32/ 30/ 37 Armadillo Lukasz Grabun 135 122 17 32/ 30/ 38 slime test 1.00 David Houston 135 143 18 34/ 33/ 33 Ironic Imps Roy van Rijn 134 341 19 38/ 45/ 17 hey scanner, eat my dats John Metcalf 131 5 20 30/ 32/ 37 Widowmaker Roy van Rijn 128 1 21 37/ 55/ 7 Alpha-zeta 1.00 niner David Houston 120 0 From: Koth Subject: KOTH.ORG: Status - Standard 03/22/04 Date: 22 Mar 2004 16:16:12 -0500 Message-ID: <200403220500.i2M500SG008235@gevjon.ttsg.com> Weekly Status on 03/22/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Tue Mar 9 10:45:32 EST 2004 # %W/ %L/ %T Name Author Score Age 1 39/ 26/ 35 The Next Step '88 David Houston 152 7 2 42/ 37/ 20 Tangle Trap 3 David Moore 148 20 3 35/ 25/ 40 Freight Train David Moore 146 192 4 44/ 45/ 11 Scan Test C 6 Steve Gunnell 143 30 5 42/ 42/ 16 Cold as November Rain... John Metcalf 143 5 6 34/ 25/ 41 Test Alexander (Sasha) Wa 142 131 7 40/ 40/ 20 My 1st try Christian Schmidt 141 23 8 33/ 27/ 40 Guardian Ian Oversby 140 191 9 40/ 40/ 20 Stasis David Moore 139 299 10 39/ 43/ 19 '88 test IV John Metcalf 135 85 11 40/ 46/ 14 Foggy Swamp Beppe Bezzi 134 188 12 39/ 46/ 15 Deviant Scanner Roy van Rijn 133 8 13 33/ 34/ 33 vala John Metcalf 132 114 14 31/ 29/ 40 Pixie 88 Lukasz Grabun 132 21 15 33/ 35/ 32 The Seed Roy van Rijn 131 9 16 36/ 41/ 24 PacMan David Moore 131 221 17 27/ 24/ 49 Test I Ian Oversby 130 248 18 38/ 46/ 16 Blur '88 Anton Marsden 129 229 19 35/ 46/ 19 French Kiss 88 LAchi 123 1 20 18/ 17/ 65 Do Redcoders Hibernate? John Metcalf 119 3 21 15/ 21/ 64 Return to the Citadel Simon Wainwright 110 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 03/22/04 Date: 22 Mar 2004 16:16:08 -0500 Message-ID: <200403220503.i2M5309H008270@gevjon.ttsg.com> Weekly Status on 03/22/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Mar 21 16:06:57 EST 2004 # Name Author Score Age 1 Her Majesty P.Kline 14 427 2 not king of the hill FatalC 13 153 3 V.H. John Metcalf 12 13 4 Frosty the Snowman John Metcalf 9 46 5 Probe2 John Metcalf 8 54 6 The Boss Test A 14 G.Labarga 7 32 7 QuickBomber John Metcalf 6 2 8 The Survivor Philip Kendall 3 38 9 HazyLazy C 11 CS SG 3 7 10 Netpaper 1.07 David Houston 0 1 11 Alpha-zeta five-eight-nin David Houston Subject: KOTH.ORG: Status - ICWS Experimental 94 03/22/04 Date: 22 Mar 2004 16:16:03 -0500 Message-ID: <200403220506.i2M5605J008309@gevjon.ttsg.com> Weekly Status on 03/22/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Thu Mar 18 12:32:06 EST 2004 # %W/ %L/ %T Name Author Score Age 1 43/ 35/ 22 The X Machine Zul Nadzri 150 23 2 46/ 42/ 12 Fire and Ice II David Moore 150 112 3 42/ 38/ 21 Eliminator X Zul Nadzri 145 24 4 30/ 18/ 52 xd100 test David Houston 142 9 5 39/ 38/ 24 Black Moods Ian Oversby 140 208 6 31/ 23/ 46 Venom v0.2b Christian Schmidt 139 234 7 22/ 8/ 70 Evol Cap 4 X John Wilkinson 136 281 8 23/ 10/ 68 Denial David Moore 136 153 9 30/ 25/ 44 KAT v5 Dave Hillis 136 144 10 30/ 25/ 45 Olivia X Ben Ford 134 93 11 34/ 35/ 30 Trefoil F 13 Steve Gunnell 133 95 12 38/ 42/ 20 Giant Hazy Test 13 Steve Gunnell 133 39 13 36/ 40/ 24 Simply Intelligent Zul Nadzri 133 5 14 36/ 39/ 25 Ogre Christian Schmidt 133 160 15 27/ 22/ 51 Glenstorm John Metcalf 131 74 16 34/ 38/ 28 Controlled Aggression Ian Oversby 130 212 17 23/ 16/ 61 Kin John Metcalf 130 120 18 18/ 6/ 76 Evolve X v4.0 John Wilkinson 130 229 19 36/ 44/ 20 clock strikes twelve John Metcalf 127 1 20 20/ 14/ 66 Blotter X J. Pohjalainen 127 14 21 10/ 82/ 8 hey scanner, eat my dats John Metcalf 37 0 From: achillu@tin.it (LAchi) Subject: Redcoders Frenzy Tournament, Round 17 Date: 23 Mar 2004 04:04:57 -0800 Message-ID: <1eeccf2e.0403230404.21b7e2a9@posting.google.com> Hello all. I sent my entries to the notary public of the Round. Now you can safely send me your ones. ;) For information about this Round: http://www.corewar.info/tournament/17.htm Send your entries to: achillu@tin.it NOTE: the formal deadline is April 1st; anyway, I will not run the scheduler until April 5th in the morning, so you still have TWO full week-ends to perfect your entries. ;) TIMEZONE ALERT: I live in Italy ;) Regards. LAchi (Achille Astolfi) From: cj_lukas@hotmail.com (Chris Lukas) Subject: Re: starting out Date: 23 Mar 2004 15:15:33 -0800 Message-ID: <99b21fb3.0403231515.12ea93f5@posting.google.com> > It works perfectly. I wonder what is that "editor" thing you mention. > > If you use Windows, check out Chip's CoreWin. It has very intuitive > interface and should be capable of running warrior (Dwarf, the > original, by the way) you pasted. Can you please post a link to the CoreWin website? From: cj_lukas@hotmail.com (Chris Lukas) Subject: Re: starting out Date: 23 Mar 2004 15:39:49 -0800 Message-ID: <99b21fb3.0403231539.2d404059@posting.google.com> I have corewin! thanks! I ran it with all the examples AND the one that i got! Lukasz Grabun wrote in message news:... > On 19 Mar 2004 13:58:19 -0800, Chris Lukas wrote: > > > I got this warrior from the beginners thing > > ADD #4, 3 > > MOV 2, @2 > > JMP -2 > > DAT #0, #0 > > and it doesn't work in the editor > > It works perfectly. I wonder what is that "editor" thing you mention. > > If you use Windows, check out Chip's CoreWin. It has very intuitive > interface and should be capable of running warrior (Dwarf, the > original, by the way) you pasted. From: cj_lukas@hotmail.com (Chris Lukas) Subject: please help Date: 23 Mar 2004 15:52:33 -0800 Message-ID: <99b21fb3.0403231552.30fb5f28@posting.google.com> i went to http://www.sci.fi/~iltzu/corewar/guide.htm and didn't understand anything. i don't understand assembly. could someone please tell me the most basic commands and how to use them in a simple enough way for me to undrstand? From: Sascha Zapf Subject: Blacken Date: Tue, 23 Mar 2004 18:53:09 +0100 Message-ID: Hi, i wonder that i can't find the redcode from Blacken...Isn't it not available or i'm too stupid to find it ? Sascha -- Parlez vous Redcode? From: fizmo_master@yahoo.com (Fizmo) Subject: Re: Blacken Date: 23 Mar 2004 23:28:25 -0800 Message-ID: <9f53b5fb.0403232328.685b4e8a@posting.google.com> > Hi, Hi Sascha > > i wonder that i can't find the redcode from Blacken...Isn't it not available > or i'm too stupid to find it ? It was never published :-/ > Sascha Christian From: fizmo_master@yahoo.com (Fizmo) Subject: Re: starting out Date: 23 Mar 2004 23:29:56 -0800 Message-ID: <9f53b5fb.0403232329.3faf9af5@posting.google.com> cj_lukas@hotmail.com (Chris Lukas) wrote in message news:<99b21fb3.0403231515.12ea93f5@posting.google.com>... > > It works perfectly. I wonder what is that "editor" thing you mention. > > > > If you use Windows, check out Chip's CoreWin. It has very intuitive > > interface and should be capable of running warrior (Dwarf, the > > original, by the way) you pasted. > > Can you please post a link to the CoreWin website? Have a look here: http://www.corewar.info/emulator.htm Greetings, Christian From: pak21@cam.ac.uk (Philip Kendall) Subject: Re: starting out Date: 23 Mar 2004 23:41:39 -0000 Message-ID: In article <99b21fb3.0403231515.12ea93f5@posting.google.com>, Chris Lukas wrote: >> It works perfectly. I wonder what is that "editor" thing you mention. >> >> If you use Windows, check out Chip's CoreWin. It has very intuitive >> interface and should be capable of running warrior (Dwarf, the >> original, by the way) you pasted. > >Can you please post a link to the CoreWin website? Try Google! http://www.google.com/search?q=corewin&btnI= Cheers, Phil -- Philip Kendall http://www.srcf.ucam.org/~pak21/ From: neogryzormail@mixmail.com (Neogryzor) Subject: Re: mystery tiny warrior Date: 25 Mar 2004 02:39:32 -0800 Message-ID: <242debe4.0403250239.2ef4420c@posting.google.com> Lets put some light on this. I have submitted a (useless)warrior y i see an interesting result wich i didn't expect. "Freezer4" by "G.Labarga" has challenged the Tiny hill ;strategy blur-style scanner ;strategy lost in my HD Challenge results: Score # %W/ %L/ %T Name Author Taken Given 1 73.1/ 24.0/ 2.9 Provenance John Metcalf 222.1 74.9 5 69.5/ 17.3/ 13.2 Where's Giles? John Metcalf 221.8 65.0 19 70.2/ 19.7/ 10.1 Diamondette David Houston 220.7 69.3 23 72.1/ 24.8/ 3.1 Smart Cabrio LAchi 219.5 77.5 9 68.1/ 26.0/ 5.9 Betadine M Joonas Pihlaja 210.1 83.9 3 59.6/ 17.7/ 22.7 Digital Swarm John Metcalf 201.5 75.7 22 63.3/ 27.2/ 9.5 E-clear Christian Schmidt 199.5 91.1 14 65.1/ 32.3/ 2.7 Sneaky Spike Roy van Rijn 197.9 99.5 13 62.2/ 30.1/ 7.7 Tiny Zooom... John Metcalf 194.3 98.1 6 63.5/ 33.9/ 2.6 Seek and Destroy Sascha Zapf 193.0 104.4 15 60.8/ 33.5/ 5.7 Milkshake IV LAchi 188.1 106.1 4 58.8/ 29.5/ 11.7 tiny Blowrag Metcalf/Schmidt 188.1 100.3 21 60.1/ 33.7/ 6.2 Strawberry and Lemon LAchi 186.6 107.2 2 57.1/ 33.8/ 9.1 Easter Egg John Metcalf 180.3 110.5 20 51.3/ 23.1/ 25.6 Xyzzy John Metcalf 179.4 95.0 10 56.7/ 35.8/ 7.5 Table Scan John Metcalf 177.7 114.9 18 52.7/ 30.1/ 17.2 Ugly Uncle Christian Schmidt 175.4 107.4 12 53.3/ 38.4/ 8.3 Origin of Storms John Metcalf 168.3 123.5 11 55.1/ 42.1/ 2.8 Tiny BiShot 2.0 Christian Schmidt 168.0 129.2 7 53.5/ 40.9/ 5.6 Tinyshot John Metcalf 166.2 128.2 16 53.2/ 42.8/ 4.0 Cream and Chocolate LAchi 163.6 132.4 17 46.7/ 30.3/ 22.9 Soft as Silk Sascha Zapf 163.1 113.9 25 48.7/ 39.3/ 11.9 The Tiny Machine Zul Nadzri 158.1 129.9 24 41.5/ 31.7/ 26.8 Son of Darkness 2 Christian Schmidt 151.2 122.0 26 45.2/ 46.7/ 8.1 Freezer4 G.Labarga 143.7 148.3 8 42.1/ 53.5/ 4.4 Unknown John Metcalf 130.6 165.0 <----****** :) ***** Wins are for the warrior on the same table row and losses are for "Freezer4". "Score taken" is the number of points scored by the warrior listed on that table row. "Score given" is the number of points scored by "Freezer4". Wow, My warrior is a bluff, but Unknown loses even worse than oneshots. Is Unknown vulnerable to any blur-scanner or only loses to this specific one? Otherwise, Unknown does not score like a oneshot. ;redcode-tiny ;name Freezer4 ;author G.Labarga ;assert CORESIZE==800 ;strategy blur-style scanner ;strategy lost in my HD S EQU 16 D1 EQU S D2 EQU S+5 ;oh, i had a typo here! should be S+8 pt: dat 0,620 LOOP: MOV.I INC,>pt SCAN: SEQ.I D1,D2 ;<- Ref PTR: MOV.AB SCAN,pt NEXT: SUB.F INC,SCAN JMN.A LOOP,SCAN INC: SPL #-S,-S mov dbm,>-9 djn.f -1,>-10 dbm: dat <267,14 END SCAN Regards G.Labarga Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 27 Mar 2004 13:23:18 GMT Archive-name: games/corewar-faq Last-Modified: September 4, 1999 Version: 4.2 URL: http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html Copyright: (c) 1999 Anton Marsden Maintainer: Anton Marsden Posting-Frequency: once every 2 weeks Core War Frequently Asked Questions (rec.games.corewar FAQ) These are the Frequently Asked Questions (and answers) from the Usenet newsgroup rec.games.corewar. A plain text version of this document is posted every two weeks. The latest hypertext version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html and the latest plain text version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.txt. This document is currently being maintained by Anton Marsden (anton@paradise.net.nz). Last modified: Sat Sep 4 00:22:22 NZST 1999 ------------------------------------------------------------------------ To Do * Add the new No-PSpace '94 hill location * Add online location of Dewdney's articles * Make question 17 easier to understand. Add a state diagram? * Add info about infinite hills, related games (C-Robots, Tierra?, ...) * New question: How do I know if my warrior is any good? Refer to beginners' benchmarks, etc. * Add a Who's Who list? * Would very much like someone to compile a collection of the "revolutionary" warriors so that beginners can see how the game has developed over the years. Mail me if interested. ------------------------------------------------------------------------ What's New * Changed primary location of FAQ (again!) * Changed Philip Kendall's home page address. * Updated list server information * Changed primary location of FAQ * Vector-launching code was fixed thanks to Ting Hsu. * Changed the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr ------------------------------------------------------------------------ Table of Contents 1. What is Core War 2. Is it "Core War" or "Core Wars"? 3. Where can I find more information about Core War? 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 6. What is the ICWS? 7. What is Core Warrior? 8. Where are the Core War archives? 9. Where can I find a Core War system for ...? 10. Where can I find warrior code? 11. I do not have FTP. How do I get all this great stuff? 12. I do not have access to Usenet. How do I post and receive news? 13. Are there any Core War related WWW sites? 14. What is KotH? How do I enter? 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 16. How does SLT (Skip if Less Than) work? 17. What is the difference between in-register and in-memory evaluation? 18. What is P-space? 19. What does "Missing ;assert .." in my message from KotH mean? 20. How should I format my code? 21. Are there any other Core War related resources I should know about? 22. What does (expression or term of your choice) mean? 23. Other questions? ------------------------------------------------------------------------ 1. What is Core War? Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all processes of the opposing program to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardised by the ICWS, and is therefore transportable between all standard Core War systems. The system in which the programs run is quite simple. The core (the memory of the simulated computer) is a continuous array of instructions, empty except for the competing programs. The core wraps around, so that after the last instruction comes the first one again. There are no absolute addresses in Core War. That is, the address 0 doesn't mean the first instruction in the memory, but the instruction that contains the address 0. The next instruction is 1, and the previous one obviously -1. However, all numbers are treated as positive, and are in the range 0 to CORESIZE-1 where CORESIZE is the amount of memory locations in the core - this means that -1 would be treated as CORESIZE-1 in any arithmetic operations, eg. 3218 + 7856 = (3218 + 7856) mod CORESIZE. Many people get confused by this, and it is particularly important when using the SLT instruction. Note that the source code of a program can still contain negative numbers, but if you start using instructions like DIV #-2, #5 it is important to know what effect they will have when executed. The basic unit of memory in Core War is one instruction. Each Redcode instruction contains three parts: * the opcode * the source address (a.k.a. the A-field) * the destination address (a.k.a. the B-field) The execution of the programs is equally simple. The MARS executes one instruction at a time, and then proceeds to the next one in the memory, unless the instruction explicitly tells it to jump to another address. If there is more than one program running, (as is usual) the programs execute alternately, one instruction at a time. The execution of each instruction takes the same time, one cycle, whether it is MOV, DIV or even DAT (which kills the process). Each program may have several processes running. These processes are stored in a task queue. When it is the program's turn to execute an instruction it dequeues a process and executes the corresponding instruction. Processes that are not killed during the execution of the instruction are put back into the task queue. Processes created by a SPL instruction are added to the task queue after the creating process is put back into the task queue. [ToC] ------------------------------------------------------------------------ 2. Is it "Core War" or "Core Wars"? Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. [ToC] ------------------------------------------------------------------------ 3. Where can I find more information about Core War? Core War was first described in the Core War Guidelines of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in Scientific American which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Library of Author Title Published ISBN Congress Call Number The Armchair Dewdney, Universe: An New York: W. QA76.6 .D517 A. K. Exploration of H. Freeman �0-7167-1939-8 1988 Computer Worlds 1988 The Magic 0-7167-2125-2 Dewdney, Machine: A New York: W.(Hardcover), QA76.6 A. K. Handbook of H. Freeman �0-7167-2144-9 .D5173 1990 Computer Sorcery 1990 (Paperback) A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current. For those who are interested, Dewdney has a home page at http://www.csd.uwo.ca/faculty/akd/. [ToC] ------------------------------------------------------------------------ 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A draft of the official standard (ICWS'88) is available as ftp://www.koth.org/corewar/documents/standards/redcode-icws-88.Z. This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at Mark Durham's tutorials, ftp://www.koth.org/corewar/documents/tutorial.1.Z and ftp://www.koth.org/corewar/documents/tutorial.2.Z. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This and various other tutorials can be found at http://www.koth.org/papers.html. Even though ICWS'88 is still the "official" standard, you will find that most people are playing by ICWS'94 draft rules and extensions. [ToC] ------------------------------------------------------------------------ 5. What is ICWS'94? Which simulators support ICWS'94? There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a new addressing modes and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft at ftp://www.koth.org/corewar/documents/icws94.0202.Z for more information. There is a HTML version of this document available at http://www.koth.org/info/icws94.html. You can try out the new standard by submitting warriors to the '94 hills of the KotH servers. Two corewar systems currently support ICWS'94, pMARS (many platforms) and Redcoder (Mac), both available at ftp://www.koth.org/corewar. Note that Redcoder only supports a subset of ICWS'94. [ToC] ------------------------------------------------------------------------ 6. What is the ICWS? About one year after Core War first appeared in Scientific American, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). The ICWS is no longer active. [ToC] ------------------------------------------------------------------------ 7. What is Core Warrior? Following in the tradition of the Core War News Letter, Push Off, and The 94 Warrior, Core Warrior is a newsletter about strategies and current standings in Core War. Started in October 1995, back issues of Core Warrior (and the other newsletters) are available at http://para.inria.fr/~doligez/corewar/. There is also a Core Warrior index page at http://www.kendalls.demon.co.uk/pak21/corewar/warrior.html which has a summary of the contents of each issue of Core Warrior. Many of the earlier issues contain useful information for beginners. [ToC] ------------------------------------------------------------------------ 8. Where are the Core War archives? Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp://ftp.csua.berkeley.edu/pub/corewar. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. This site is mirrored at: * http://www.koth.org/corewar/ * ftp://www.koth.org/corewar/ * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror The plain text version of this FAQ is automatically archived by news.answers (but this version is probably out-of-date). [ToC] ------------------------------------------------------------------------ 9. Where can I find a Core War system for . . . ? Core War systems are available via anonymous FTP from www.koth.org in the corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check ftp://www.koth.org/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than www.koth.org. Generally, the older the program - the less likely it will be ICWS compatible. If you are looking for an ICWS'94 simulator, get pMARS, which is available for many platforms and can be downloaded from: * ftp://ftp.csua.berkeley.edu/pub/corewar (original site) * ftp://www.koth.org/corewar (koth.org mirror) * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror (Planar mirror) * http://www.nc5.infi.net/~wtnewton/corewar/ (Terry Newton) * ftp://members.aol.com/ofechner/corewar (Fechter) Notes: * If you have trouble running pMARS with a graphical display under Win95 then check out http://www.koth.org/pmars.html which should have a pointer to the latest compilation of pMARS for this environment. * RPMs for the Alpha, PowerPC, Sparc and i386 can be found at ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars-rpm/ Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at www.koth.org: MADgic41.lzh corewar for the Amiga, v4.1 MAD4041.lzh older version? MAD50B.lha corewar for the Amiga, beta version 5.0 Redcoder-21.hqx corewar for the Mac, supports ICWS'88 and '94 (without extensions) core-11.hqx corewar for the Mac core-wars-simulator.hqx same as core-11.hqx? corewar_unix_x11.tar.Z corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z older version kothpc.zip port of older version of KotH to the PC deluxe20c.tar.Z corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z corewar for UNIX, likely not ICWS'88 compatible icons.zip corewar icons for MS-Windows macrored.zip a redcode macro-preprocessor (PC) c88v49.zip PC corewar, textmode display mars88.zip PC corewar, graphics mode display corwp302.zip PC corewar, textmode display, slowish mercury2.zip PC corewar written in assembly, fast! mtourn11.zip tournament scheduler for mercury (req. 4DOS) pmars08s.zip portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars08s.tar.Z same as above pmars08.zip PC executables with graphics display, req 386+ macpmars02.sit.hqx pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS1.99a.cpt.hqx port of v0.8 for the Mac, with display and debugger MacpMARS1.0s.cpt.hqx C source (MPW, ThinkC) for Mac frontend pvms08.zip pMARS v0.8 for VMS build files/help (req. pmars08s.zip) ApMARS03.lha pMARS executable for Amiga (port of version 0.3.1) wincor11.zip MS-Windows system, shareware ($15) [ToC] ------------------------------------------------------------------------ 10. Where can I find warrior code? To learn the game, it is a good idea to study previously posted warrior code. The FTP archives have code in the ftp://www.koth.org/corewar/redcode directory. A clearly organized on-line warrior collection is available at the Core War web sites (see below). [ToC] ------------------------------------------------------------------------ 11. I do not have FTP. How do I get all this great stuff? There is an FTP email server at bitftp@pucc.princeton.edu. This address may no longer exist. I haven't tested it yet. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. Note that many FTP email gateways are shutting down due to abuse. To get a current list of FTP email servers, look at the Accessing the Internet by E-mail FAQ posted to news.answers. If you don't have access to Usenet, you can retrieve this FAQ one of the following ways: * Send mail to mail-server@rtfm.mit.edu with the body containing "send usenet/news.answers/internet-services/access-via-email". * Send mail to mailbase@mailbase.ac.uk with the body containing "send lis-iis e-access-inet.txt". [ToC] ------------------------------------------------------------------------ 12. I do not have access to Usenet. How do I post and receive news? To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Koth.Org list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@koth.org. You can send mail to corewar-l@koth.org to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (ttsg@ttsg.com). Servers that allow you to post (but not receive) articles are available. Refer to the Accessing the Internet by E-Mail FAQ for more information. [ToC] ------------------------------------------------------------------------ 13. Are there any Core War related WWW sites? You bet. Each of the two KotH sites sport a world-wide web server. Stormking's Core War page is http://www.koth.org; pizza's is http://www.ecst.csuchico.edu/~pizza/koth . Damien Doligez (a.k.a. Planar) has a web page that features convenient access to regular newsletters (Push Off, The '94 Warrior, Core Warrior) and a well organized library of warriors: http://para.inria.fr/~doligez/corewar/. Convenient for U.S. users, this site is also mirrored at koth.org. [ToC] ------------------------------------------------------------------------ 14. What is KotH? How do I enter? King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program (warrior) with special comment lines. You will receive a reply indicating how well your program did against the current top programs "on the hill". There are two styles of KotH tournaments, "classical" and "multi-warrior". The "classical" KotH is a one-on-one tournament, that is your warrior will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. In "multi-warrior" KotH, all warriors on the hill fight each other at the same time. Score calculation is a bit more complex than for the one-on-one tournament. Briefly, points are awarded based on how many warriors survive until the end of a round. A warrior that survives by itself gets more points than a warrior that survives together with other warriors. Points are calculated from the formula (W*W-1)/S, where W is the total number of warriors and S the number of surviving warriors. The pMARS documentation has more information on multi-warrior scoring. The idea for an email-based Core War server came from David Lee. The original KotH was developed and run by William Shubert at Intel starting in 1991, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: koth@koth.org is maintained by Scott J. Ellentuch (tuc@ttsg.com) and pizza@ecst.csuchico.edu by Thomas H. Davies (sd@ecst.csuchico.edu). Up until May '95, the two sites provided overlapping services, i.e. the some of the hill types were offered by both "pizza" and "stormking". To conserve resources, the different hill types are now divided up among the sites. The way you submit warriors to both KotHs is pretty much the same. Therefore, the entry rules described below apply to both "pizza" and "stormking" unless otherwise noted. Entry Rules for King of the Hill Corewar * Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. * Put a line starting with ";redcode" (or ";redcode-94", etc., see below) at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. Using ";name" is mandatory on the Pizza hills. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently seven separate hills you can select by starting your program with ;redcode-94, ;redcode-b, ;redcode-lp, ;redcode-x, ;redcode, ;redcode-94x or ;redcode-94m. The former four run at "pizza", the latter three at "stormking". More information on these hills is listed below. * Mail this file to koth@koth.org or pizza@ecst.csuchico.edu. "Pizza" requires a subject of "koth" (use the -s flag on most mailers). * Within a few minutes you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. * In an hour or so you should get more mail telling you how your program performed against the current top 20 (or 10) programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode[-??] quiet" when you first mail in your program; then you will only get mail when you make it on the top 25 list or when you are knocked off. Using ";redcode[-??] verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 25 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. Sample Entry ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Duration Max. Hill Name Hill Core Max. Before Entry Min. Rounds Instr. Size Size Processes Distance Fought Set Tie Length Pizza's ICWS '94 Draft Hill Extended (Accessed with 25 8000 8000 80000 100 100 200 ICWS '94 ";redcode-94") Draft Pizza's Beginner's Extended Hill (Accessed 25 8000 8000 80000 100 100 200 ICWS '94 with ";redcode-b") Draft Pizza's Experimental Extended (Small) Hill 25 800 800 8000 20 20 200 ICWS '94 (Accessed with Draft ";redcode-x") Pizza's Limited Process (LP) Hill Extended (Accessed with 25 8000 8 80000 200 200 200 ICWS '94 ";redcode-lp") Draft Stormking's ICWS '88 Standard Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '88 ";redcode") Stormking's ICWS '94 No Pspace Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '94 ";redcode-94nop") Stormking's ICWS '94 Experimental Extended (Big) Hill 20 55440 55440 500000 200 200 250 ICWS '94 (Accessed with Draft ";redcode-94x") Stormking's ICWS '94 Multi-Warrior Extended Hill (Accessed 10 8000 8000 80000 100 100 200 ICWS '94 with Draft ";redcode-94m") Note: Warriors on the beginner's hill are retired at age 100. If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. At "stormking", a message body with ";help" will return brief instructions. If you submit code containing a ";test" line, your warrior will be assembled but not actually pitted against the warriors on the hill. At "pizza", you can use ";redcode[-??] test" to do a test challenge of the Hill without affecting the status of the Hill. These challenges can be used to see how well your warrior does against the current Hill warriors. All hills run portable MARS (pMARS) version 0.8, a platform-independent Core War system available at www.koth.org. The '94 and '94x hills allow five experimental opcodes and three experimental addressing modes currently not covered in the ICWS'94 draft document: * LDP - Load P-Space * STP - Store P-Space * SEQ - Skip if EQual (synonym for CMP) * SNE - Skip if Not Equal * NOP - (No OPeration) * * - indirect using A-field as pointer * { - predecrement indirect using A-field * } - postincrement indirect using A-field [ToC] ------------------------------------------------------------------------ 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? Core is initialized to DAT 0, 0. This is an illegal instruction (in source code) under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you have a DAT 0, 0 instruction in your source code - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. [ToC] ------------------------------------------------------------------------ 16. How does SLT (Skip if Less Than) work? SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: -1 becomes M-1 where M is the memory size (core size). Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. [ToC] ------------------------------------------------------------------------ 17. What is the difference between in-register and in-memory evaluation? These terms refer to the way instruction operands are evaluated. The '88 Redcode standard ICWS'88 is unclear about whether a simulator should "buffer" the result of A-operand evaluation before the B-operand is evaluated. Simulators that do buffer are said to use in-register evaluation, those that don't, in-memory evaluation. ICWS'94 clears this confusion by mandating in-register evaluation. Instructions that execute differently under these two forms of evaluation are MOV, ADD, SUB, MUL, DIV and MOD where the effective address of the A-operand is modified by evaluation of the B-operand. This is best illustrated by an example: L1 mov L2, mov.i #0, impsize Bootstrapping Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners Scanners which only recognize non-zero B-fields. example add #10, scan scan jmz example, 10 c Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner A Scanner which uses a CMP instruction to look for opponents. example add step, scan scan cmp 10, 30 jmp attack jmp example step dat #20, #20 Colour Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear Code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys Bogus or unused instructions meant to slow down scanners. Typically, DATs with non-zero B-fields. Decrement Resistant Property of warriors making them functional (or at least partially functional) when overrun by a DJN-stream. DJN-Stream (also DJN-Train) Using a DJN command to rapidly decrement core locations. example ... ... djn example, <4000 Dwarf The prototypical small bomber. Gate-busting (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp Program which only uses the MOV instruction. example mov 0, 1 or example mov 0, 2 mov 0, 2 Imp-Gate A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... spl 0, mov.i #0,IMPSIZE Mirror see reflection. On-axis/off-axis On-axis scanners compare two locations M/2 apart, where M is the memory size. Off-axis scanners use some other separation. Optimal Constants (also optima-type constants) Bomb or scan increments chosen to cover core most effectively, i.e. leaving gaps of uniform size. Programs to calculate optimal constants and lists of optimal numbers are available at www.koth.org. Paper A Paper-like program is one which replicates itself many times. Part of the Scissors (beats) Paper (beats) Stone (beats Scissors) analogy. P-Warrior A warrior which uses the results of previous round(s) in order to determine which strategy it will use. Pit-Trapper (also Slaver, Vampire). A program which enslaves another. Usually accomplished by bombing with JMPs to a SPL 0 pit with an optional core-clear routine. Q^2 Scan A modern version of the Quick Scan where anything found is attacked almost immediately. Quick Scan 2c scan of a set group of core locations with bombing if anything is found. Both of the following codes snips scan 16 locations and check for a find. If anything is found, it is attacked, otherwise 16 more locations are scanned. Example: start s1 for 8 ;'88 scan cmp start+100*s1, start+100*s1+4000 ;check two locations mov #start+100*s1-found, found ;they differ so set pointer rof jmn attack, found ;if we have something, get it s2 for 8 cmp start+100*(s2+6), start+100*(s2+6)+4000 mov #start+100*(s2+6)-found, found rof found jmz moveme, #0 ;skip attack if qscan found nothing attack cmp @found, start-1 ;does found points to empty space? add #4000, found ;no, so point to correct location mov start-1, @found ;move a bomb moveme jmp 0, 0 In ICWS'94, the quick scan code is more compact because of the SNE opcode: start ;'94 scan s1 for 4 sne start+400*s1, start+400*s1+100 ;check two locations seq start+400*s1+200, start+400*s1+300 ;check two locations mov #start+400*s1-found, found ;they differ so set pointer rof jmn which, found ;if we have something, get it s2 for 4 sne start+400*(s2+4), start+400*(s2+4)+100 seq start+400*(s2+4)+200, start+400*(s2+4)+300 mov #start+400*(s2+4)-found-100, found rof found jmz moveme, #0 ;skip attack if qscan found nothing add #100, -1 ;increment pointer till we get the which jmn -1, @found ;right place mov start-1, @found ;move a bomb moveme jmp 0, 0 Reflection Copy of a program or program part, positioned to make the active program invisible to a CMP-scanner. Replicator Generic for Paper. A program which makes many copies of itself, each copy also making copies. Self-Splitting Strategy of amplifying the number of processes executing a piece of code. example spl 0 loop add #10, example mov example, @example jmp loop Scanner A program which searches through core for an opponent rather than bombing blindly. Scissors A program designed to beat replicators, usually a (B-field scanning) vampire. Part of the Paper-Scissors-Stone analogy. Self-Repair Ability of a program to fix it's own code after attack. Silk A replicator which splits off a process to each new copy before actually copying the code. This allows it to replicate extremely quickly. This technique is only possible under the '94 draft, because it requires post-increment indirect addressing. Example: spl 1 mov -1, 0 spl 1 ;generate 6 consecutive processes silk spl 3620, #0 ;split to new copy mov >-1, }-1 ;copy self to new location mov bomb, >2000 ;linear bombing mov bomb, }2042 ;A-indirect bombing for anti-vamp jmp silk, {silk ;reset source pointer, make new copy bomb dat >2667, >5334 ;anti-imp bomb Slaver see Pit-Trapper. Stealth Property of programs, or program parts, which are invisible to scanners, accomplished by using zero B-fields and reflections. Stone A Stone-like program designed to be a small bomber. Part of the Paper-Scissors-Stone analogy. Stun A type of bomb which makes the opponent multiply useless processes, thus slowing it down. Example is referred to as a SPL-JMP bomb. example spl 0 jmp -1 Two-Pass Core-Clear (also SPL/DAT Core-Clear) core clear that fills core first with SPL instructions, then with DATs. This is very effective in killing paper and certain imp-spiral variations. Vampire see Pit-Trapper. Vector Launch one of several means to start an imp-spiral running. As fast as Binary Launch, but requiring much less code. See also JMP/ADD Launch and Binary Launch. This example is one form of a Vector Launch: sz EQU 2667 spl 1 spl 1 jmp @vt, }0 vt dat #0, imp+0*sz ; start of vector table dat #0, imp+1*sz dat #0, imp+2*sz dat #0, imp+3*sz ; end of vector table imp mov.i #0, sz [ToC] ------------------------------------------------------------------------ 23. Other questions? Just ask in the rec.games.corewar newsgroup or contact me. If you are shy, check out the Core War archives first to see if your question has been answered before. [ToC] ------------------------------------------------------------------------ Credits Additions, corrections, etc. to this document are solicited. Thanks in particular to the following people who have contributed major portions of this document: * Mark Durham (wrote the original version of the FAQ) * Paul Kline * Randy Graham * Stefan Strack (maintained a recent version of the FAQ) ------------------------------------------------------------------------ Copyright � 1999 Anton Marsden. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ------------------------------------------------------------------------ From: "�inkm�n" Subject: Re: When You Hear The Heavy Accent & The Poor Phone Connection... HANG UP!! ____ 5PcMN59to Date: Sat, 27 Mar 2004 21:25:48 -0600 Message-ID: Deep wrote in message news:EBF63C1EA841B2775AA8FC9AF78@news.x-privat.org... > When You Hear The Heavy Accent & The Poor Phone Connection... HANG UP!! > - > I think you must know what I'm talking about. Together, a heavy foreign accent, > coupled with a lousy phone connection can only mean one thing... An outsourced > operation, in a place like India, China, The Philippines, etc.; where some > greedy American corporation is saving a few pieces of Silver and displacing > American workers in the process. > - > The best thing you can do is hang up... look for the companies' on-shore counterpart > and complain! Tell them you're sick and tired of sub-standard services by people > who speak English so poorly that you can hardly communicate... are most often > poorly trained... have little accountability for the advice they give you... often can't be > heard clearly because of a poor satellite phone connection... conveniently block > their caller-ID... give themselves phony names like 'Tina' or 'Jimmy' (to deceive you > into thinking they're local) and most often provide no avenue to escalate an issue > to someone who can really help. > - > Corporations will only end this practice if they see they're losing their customer > base as a consequence. Let's start doing our part by starting a grass-roots > movement... > - > When You Hear The Heavy Accent & The Poor Phone Connection... HANG UP! > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > - > -(Ignore what follows) > > > If the difficult teachers can mould undoubtably, the thin coconut may > learn more bedrooms. Who did Rahavan judge to all the twigs? We can't > believe cards unless Murad will wrongly grasp afterwards. Why does > Norman measure so actually, whenever Ramez scolds the raw case very > wickedly? All bitter pickles are short and other long tags are > clever, but will Hakim climb that? Otherwise the dryer in Mel's > pumpkin might receive some lazy tyrants. > > Until Bruce irrigates the coffees angrily, Felix won't jump any > sticky lanes. > > Abduljalil, still solving, hates almost quickly, as the bowl > wanders behind their butcher. While exits regularly talk frames, the > pens often reject for the good printers. Almost no dull think > cup smells tickets beside Hamza's closed orange. > > Don't even try to creep a ointment! They are calling below shallow, > beneath old, in dry aches. > > Her painter was sharp, deep, and recollects for the window. Are you > upper, I mean, changing beside clean films? Both excusing now, > Aslan and Moammar moved the blank rooms on weird draper. We > walk them, then we rigidly dine Darcy and Zebediah's hollow jar. > We inadvertently taste among Calvin when the kind gardners open > beneath the stupid forest. Tariq, at games lower and rude, pulls > before it, killing hourly. Fucking don't dream the cars monthly, > attempt them daily. > > He can shout sour dusts, do you like them? Lots of rural unique > eggs will absolutely waste the tapes. Who sows slowly, when > Brian burns the ugly puddle in back of the star? He will arrive once, > answer neatly, then irritate near the pitcher with the stadium. > > Hala, have a cold elbow. You won't kick it. Let's join within the > active planets, but don't love the stale shopkeepers. We dye the > heavy spoon. > > She'd rather fill finitely than nibble with Pauline's cosmetic > poultice. > > They are pouring around the office now, won't promise sauces later. > > No noisy disk or market, and she'll weakly laugh everybody. > What will we explain after Feyd fears the sweet night's kettle? > It can weekly seek to bizarre full signals. Pervis! You'll > behave pears. Just now, I'll converse the powder. Just playing > for a shirt between the desert is too strange for Carol to look it. You won't > improve me recommending in your smart rain. It cleaned, you > combed, yet David never loudly lifted between the road. > > She may tease believably if Rasheed's grocer isn't proud. As > crudely as Willy cares, you can order the floor much more fully. > > Hardly any buckets subtly cook the light cafe. If you'll attack > Ratana's fire with stickers, it'll lovingly depart the ulcer. > Well, go cover a lemon! Plenty of blunt solid doses usably expect as the > sad boats live. Lately, it helps a weaver too fresh on her empty > foothill. > > > From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 03/29/04 Date: 29 Mar 2004 21:07:20 -0500 Message-ID: <200403290503.i2T530YL011411@gevjon.ttsg.com> Weekly Status on 03/29/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Fri Mar 26 11:06:26 EST 2004 # Name Author Score Age 1 not king of the hill FatalC 12 156 2 The Survivor Philip Kendall 12 41 3 Probe2 John Metcalf 10 57 4 Her Majesty P.Kline 9 430 5 mArrow Christian Schmidt 6 3 6 The Mummy test 2.00 David Houston 6 1 7 Cacodemon v1.01 Andrew Hunter 3 2 8 The Boss Test A 14 G.Labarga 2 35 9 Frosty the Snowman John Metcalf 2 49 10 QuickBomber John Metcalf 2 5 11 64806-9949-xt642-5-eve15 bvowk 0 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 03/29/04 Date: 29 Mar 2004 21:07:16 -0500 Message-ID: <200403290506.i2T560wa011453@gevjon.ttsg.com> Weekly Status on 03/29/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sun Mar 28 17:16:44 EST 2004 # %W/ %L/ %T Name Author Score Age 1 42/ 36/ 23 The X Machine Zul Nadzri 148 23 2 45/ 42/ 13 Fire and Ice II David Moore 148 112 3 41/ 38/ 21 Eliminator X Zul Nadzri 143 24 4 37/ 39/ 24 Black Moods Ian Oversby 136 208 5 36/ 40/ 24 Simply Intelligent Zul Nadzri 133 5 6 25/ 18/ 56 xd100 test David Houston 132 9 7 36/ 40/ 25 Ogre Christian Schmidt 132 160 8 29/ 26/ 45 KAT v5 Dave Hillis 131 144 9 27/ 23/ 50 Venom v0.2b Christian Schmidt 131 234 10 33/ 36/ 31 Trefoil F 13 Steve Gunnell 130 95 11 36/ 43/ 21 Giant Hazy Test 13 Steve Gunnell 130 39 12 18/ 8/ 74 Evol Cap 4 X John Wilkinson 129 281 13 19/ 10/ 72 Denial David Moore 128 153 14 26/ 25/ 49 Olivia X Ben Ford 127 93 15 35/ 44/ 21 clock strikes twelve John Metcalf 126 1 16 31/ 38/ 30 Controlled Aggression Ian Oversby 124 212 17 15/ 6/ 79 Evolve X v4.0 John Wilkinson 123 229 18 19/ 16/ 65 Kin John Metcalf 123 120 19 22/ 22/ 56 Glenstorm John Metcalf 122 74 20 17/ 14/ 69 Blotter X J. Pohjalainen 120 14 21 13/ 33/ 54 slime test 1.00 David Houston 93 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 03/29/04 Date: 29 Mar 2004 21:07:11 -0500 Message-ID: <200403290509.i2T5909h011490@gevjon.ttsg.com> Weekly Status on 03/29/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Mar 28 17:52:41 EST 2004 # %W/ %L/ %T Name Author Score Age 1 32/ 14/ 54 Devilstick Roy van Rijn 150 138 2 45/ 42/ 12 HazyLazy C 11 CS SG 149 33 3 38/ 29/ 33 Spiritual Black Dimension Christian Schmidt 147 180 4 46/ 45/ 9 Arrow Christian Schmidt 147 24 5 35/ 26/ 39 Son of Vain Oversby/Pihlaja 144 2389 6 35/ 27/ 37 Arctica Christian Schmidt 143 114 7 34/ 25/ 41 Gremlin van Rijn/Grabun 143 55 8 43/ 43/ 15 B94 Roy van Rijn 143 128 9 43/ 42/ 15 HazyLazy A 70 Steve Gunnell 143 35 10 40/ 38/ 22 Quirk Christian Schmidt 142 170 11 45/ 47/ 8 Kenshin D 10 Steve Gunnell 142 21 12 43/ 46/ 11 Dandelion III Schmidt/Zapf 140 25 13 33/ 27/ 40 slime test 1.00 David Houston 139 151 14 34/ 30/ 35 Ironic Imps Roy van Rijn 138 349 15 33/ 27/ 40 Armadillo Lukasz Grabun 138 130 16 34/ 31/ 35 Cacodemon v1.01 Andrew Hunter 137 10 17 41/ 47/ 12 O--* Bremer/Schmidt 135 249 18 39/ 45/ 16 Dettol Test 41 Steve Gunnell 134 19 19 29/ 26/ 45 held together with string John Metcalf 132 1 20 30/ 30/ 39 Widowmaker Roy van Rijn 131 9 21 18/ 80/ 2 munch John Morahan 56 0 From: Koth Subject: KOTH.ORG: Status - Standard 03/29/04 Date: 29 Mar 2004 21:13:50 -0500 Message-ID: <200403290500.i2T500jR011389@gevjon.ttsg.com> Weekly Status on 03/29/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Tue Mar 9 10:45:32 EST 2004 # %W/ %L/ %T Name Author Score Age 1 39/ 26/ 35 The Next Step '88 David Houston 152 7 2 42/ 37/ 20 Tangle Trap 3 David Moore 148 20 3 35/ 25/ 40 Freight Train David Moore 146 192 4 44/ 45/ 11 Scan Test C 6 Steve Gunnell 143 30 5 42/ 42/ 16 Cold as November Rain... John Metcalf 143 5 6 34/ 25/ 41 Test Alexander (Sasha) Wa 142 131 7 40/ 40/ 20 My 1st try Christian Schmidt 141 23 8 33/ 27/ 40 Guardian Ian Oversby 140 191 9 40/ 40/ 20 Stasis David Moore 139 299 10 39/ 43/ 19 '88 test IV John Metcalf 135 85 11 40/ 46/ 14 Foggy Swamp Beppe Bezzi 134 188 12 39/ 46/ 15 Deviant Scanner Roy van Rijn 133 8 13 33/ 34/ 33 vala John Metcalf 132 114 14 31/ 29/ 40 Pixie 88 Lukasz Grabun 132 21 15 33/ 35/ 32 The Seed Roy van Rijn 131 9 16 36/ 41/ 24 PacMan David Moore 131 221 17 27/ 24/ 49 Test I Ian Oversby 130 248 18 38/ 46/ 16 Blur '88 Anton Marsden 129 229 19 35/ 46/ 19 French Kiss 88 LAchi 123 1 20 18/ 17/ 65 Do Redcoders Hibernate? John Metcalf 119 3 21 15/ 21/ 64 Return to the Citadel Simon Wainwright 110 0 From: M Joonas Pihlaja Subject: Re: Blacken Date: 29 Mar 2004 21:49:01 -0500 Message-ID: [Sent on 2004-03-23 20:29 +0200, this is a test.] On Tue, 23 Mar 2004, Sascha Zapf wrote: > i wonder that i can't find the redcode from Blacken...Isn't it not available > or i'm too stupid to find it ? The source to Blacken is unfortunately lost, unless the nice people at koth.org save submissions somewhere and can dig it out. To john-k-W@koth.org: A feature request for koth.org: Would it be possible for authors to download the source to their on-hill warriors? Regards, Joonas From: Lukasz Grabun Subject: Re: please help Date: 30 Mar 2004 18:29:34 GMT Message-ID: On 23 Mar 2004 15:52:33 -0800, Chris Lukas wrote: > i went to http://www.sci.fi/~iltzu/corewar/guide.htm and didn't > understand anything. i don't understand assembly. could someone please > tell me the most basic commands and how to use them in a simple enough > way for me to undrstand? What exactly don't you understand? -- Lukasz Grabun (My CW page: http://www.corewar.ehost.pl/) (reply-to field is fake, use grabek (at) acn dot waw dot pl to reply) From: fizmo_master@yahoo.com (Fizmo) Subject: Re: Dear WarriorMakers Date: 31 Mar 2004 06:57:21 -0800 Message-ID: <9f53b5fb.0403310657.4cdd372f@posting.google.com> profetiko@email.it (Paolo) wrote in message news:<44c7a1d8.0403100405.394b13d@posting.google.com>... > Dear WarriorMakers Hi, > My name is PierPaolo Ucchino, i'm writing a thesis about evolutionary > algorithms near the automatic and computer science department of the > polytechnic of Turin. > > I'm proudly to invite you to collaborate with a a search that has for > objective the analysis of the warriors generated by existing or > written programs from you, the analysis of evolutionary strategies, > focused on the argument Core wars. That sounds quite interesting. I think there were already some investigations made in this direction. > Only observations and results about evolutionary warriors will be > accepted. I strongly recommend to enter our irc chat. There are quite often discussions regarding that (quite often also at private channels so that it didn't appear on the logs). Very often things are getting clear after 5 minutes chating while it would take weeks if corresponding just by mail. So, I think it would be very fruitfull for you joining actively our community at irc.koth.org #corewars. > Obviously your collaboration will be rendered famous in articles and > will be cited like source. That sounds nice. I think I should also start to evovle warriors > To name of the MicroGP corewars team, thanks for your attention. Your welcome > Best regards Fizmo