From: "Mike5" Subject: Re: Adressing modes Date: 1 Mar 2006 02:02:48 -0800 Message-ID: <1141207368.425252.150770@u72g2000cwu.googlegroups.com> Well some time ago I also had an idea about an instruction to seize and release a process queue. Only your own, of course. The seize op would disable all other threads until release op or until the current thread was removed from the process queue. If would enable warrior to do critical stuff reall quickly, but would also produce interesting results, if seize was used as a bomb :) Anyway... Cheers, Mike5 From: "Jens Gutzeit" Subject: Scottish Score Surfaces :-) Date: 3 Mar 2006 13:36:51 -0800 Message-ID: <1141421811.856115.190600@u72g2000cwu.googlegroups.com> Hi everybody, thanks to brx, bvowk, Roy, Sascha and bvowk, bvowk, bvowk, bvowk, ..., bvowk, bvowk and bvowk the current part of DiSSC will be probably tomorrow completed :-) We will have 66 new score surfaces by then. It will take some time to upload all surfaces, but I have already started: http://corewars.jgutzeit.de/score_surfaces/byap/index.en.html This time I have taken BYAP (Bombing YAP): pStep1 EQU 440 pStep2 EQU 336 bStep1 EQU xxx ; <- 1st variable bStep2 EQU yyy ; <- 2nd variable boot spl 1 mov.i -1, 0 mov.i -1, 0 silk1 spl @ silk1, < pStep1 mov.i } silk1, > silk1 mov.i > bStep1, { bStep2 mov.i { silk1, < silk2 silk2 djn.f @ silk2, < pStep2 END The values for pStep1 and pStep2 are fix this time and we change bStep1 and bStep2. It is up to you to find new and iteresting properties! :-) Regards, Jens Gutzeit :-) From: "Jens Gutzeit" Subject: Score Surface for 94nop Date: 3 Mar 2006 13:50:14 -0800 Message-ID: <1141422614.384619.39630@i39g2000cwa.googlegroups.com> Hi, some anonymous person (still called "bvowk" for simplicity ;-) is so kind to provide access to a pile of computers. I have suggested to calculate one score surface for standard settings. It takes roughly 1000 times the time of one "normal" surface to complete one for the standard settings, but it seems to be doable! Now the questions! Which warriors should we take for the fight? Unfortunately normal papers for 94nop have 3 or 4 silks, i.e. 3 or 4 values to work with. Which ones should we take? Regards, Jens Gutzeit :-) From: Sascha Zapf Subject: Re: Score Surface for 94nop Date: Fri, 03 Mar 2006 23:39:07 +0100 Message-ID: Jens Gutzeit wrote: > Hi, > > some anonymous person (still called "bvowk" for simplicity ;-) is so > kind to provide access to a pile of computers. I have suggested > to calculate one score surface for standard settings. It takes > roughly 1000 times the time of one "normal" surface to complete > one for the standard settings, but it seems to be doable! > > Now the questions! Which warriors should we take for the fight? > Unfortunately normal papers for 94nop have 3 or 4 silks, i.e. > 3 or 4 values to work with. Which ones should we take? The first two steps of the paper are the most important for wins. I think a cc-paper ala Revenge of the Papers or the newer Paper(Paper(Paper(Clear))) would be a nice choice. As Enemy i would like to see a 8liner Moore Paper. Sascha > > Regards, > > Jens Gutzeit :-) -- News From: digital.wilderness@googlemail.com Subject: Re: Score Surface for 94nop Date: 4 Mar 2006 01:26:27 -0800 Message-ID: <1141464387.570644.118180@p10g2000cwp.googlegroups.com> The paper from 2by4k has only 2 constants :-) Regards, John From: Sascha Zapf Subject: Re: Score Surface for 94nop Date: Sat, 04 Mar 2006 11:57:59 +0100 Message-ID: digital.wilderness@googlemail.com wrote: > The paper from 2by4k has only 2 constants :-) > > Regards, > > John Yes, thats an Excellent choice.. Sascha -- News From: Sascha Zapf Subject: Re: Score Surface for 94nop Date: Sat, 04 Mar 2006 12:04:24 +0100 Message-ID: digital.wilderness@googlemail.com wrote: > The paper from 2by4k has only 2 constants :-) > > Regards, > > John Another Idea...Take some ideas from 2by4k, but write your own warrior. Without any qscan, which will make some noise in the surface. Sascha -- News From: "inversed" Subject: Re: Score Surface for 94nop Date: 4 Mar 2006 15:22:26 -0800 Message-ID: <1141514546.329283.141040@p10g2000cwp.googlegroups.com> What about Moore-style paper like in Hullabaloo? It has 2 constants - replication step and bombing step. From: "Jens Gutzeit" Subject: Bug in pMARS Date: 6 Mar 2006 06:29:19 -0800 Message-ID: <1141655358.942251.41770@i40g2000cwc.googlegroups.com> Hi, either I don't know how EQUs work or I have found a bug in the parser of pMARS. So far I cound pin it down to: ;redcode-tiny ;name test ;assert CORESIZE == 800 v3 EQU 3 * (3 / 2 + 1) + 3 v4 EQU (CORESIZE - v3) dat.f v3, v4 With the settings for tiny pMARS' parses it to: dat.f $ 9, $ -9 The value for v3 is correct, but v4 is wrong. It should be (800 - 3 * (3 / 2 + 1) + 3) = 800 - 3 * 2 + 3 = 797 = -3 The confusing part is, that in the debug output pMARS seems to correctly replace the v3 in v4: After pass 1 Instruction (physical line, instr): ( 11) DAT.f 3*(3/2+1)+3,(800 -3*(3/2+1)+3) Can somebody, who knows more about pMARS' parser, please confirm it as a bug? And if it isn't a bug, why does pMARS evaluate it that way? By the way I found that problem in the warrior "Borkked" (Tiny Hill at Koenigstuhl). Regards, Jens Gutzeit :-) From: "Peter Duniho" Subject: Re: Bug in pMARS Date: Mon, 6 Mar 2006 10:28:44 -0800 Message-ID: <120ovr8e8937k10@corp.supernews.com> "Jens Gutzeit" wrote in message news:1141655358.942251.41770@i40g2000cwc.googlegroups.com... > [...] > Can somebody, who knows more about pMARS' parser, > please confirm it as a bug? And if it isn't a bug, why does > pMARS evaluate it that way? It seems to me that -9 may be the correct output. The term "v3" is apparently evaluated prior to being used for "v4". I see no reason for this to not be a legitimate evaluation, since it more logically follows what was written. The way you evaluated the term is consistent with how a C preprocessor would do it. That is, expanding all terms to their literal value before performing the calculation. However, I never seen any C code that actually relies on this behavior. In fact, most experienced C programmers automatically put parentheses around their #define'd terms to ensure that they are evaluated atomically. I don't know what the specification for the language is, and if the specification dictates that the EQU op be evaluated the same way a C preprocessor would do it, then you're right, and it's a bug. But if there's no such requirement, it seems to me that the behavior is a reasonable choice, given that programmers commonly try to avoid the C preprocessor default behavior at every opportunity. As far as the debug output goes, it seems to me that at the very least, that is buggy. After all, it should indicate what is actually happening, otherwise it's not very useful as a debugging tool. Pete From: KOTH Subject: KOTH.ORG: Status - Standard 03/06/06 Date: Mon, 6 Mar 2006 13:08:51 -0500 (EST) Message-ID: <200603060500.k26500ui045148@asgard.t-b-o-h.net> Weekly Status on 03/06/06 -=- 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 : Sat Mar 4 18:18:54 EST 2006 # %W/ %L/ %T Name Author Score Age 1 35/ 24/ 41 Test Alexander (Sasha) Wa 145 185 2 36/ 29/ 35 The Next Step '88 David Houston 144 61 3 39/ 38/ 23 My 1st try Christian Schmidt 140 77 4 32/ 25/ 43 The Hurricaner G.Labarga 140 32 5 40/ 41/ 19 Scan the Can Christian Schmidt 138 26 6 31/ 25/ 44 test G.Labarga 136 28 7 38/ 40/ 21 Moonwipe Christian Schmidt 136 42 8 38/ 41/ 20 July Nenad Tomasev 135 18 9 30/ 26/ 44 Guardian Ian Oversby 135 245 10 39/ 44/ 16 Hexamorph inversed 134 1 11 33/ 32/ 34 The Seed Roy van Rijn 134 63 12 41/ 49/ 9 Replihater Some Redcoder 133 16 13 41/ 48/ 11 Scan Test C 6 Steve Gunnell 133 84 14 40/ 48/ 12 Speeed 88mph Christian Schmidt 132 45 15 25/ 17/ 58 Utterer '88 Christian Schmidt 132 20 16 31/ 30/ 39 SoundOfDarkness Nenad Tomasev 132 9 17 27/ 24/ 48 Scopulos pluviae G.Labarga 130 12 18 31/ 31/ 38 A.I.P. Christian Schmidt 130 53 19 37/ 44/ 19 war in the name of music John Metcalf 129 4 20 21/ 15/ 64 IMParable G.Labarga 128 33 21 27/ 32/ 41 Matreshka Rulez! inversed 122 0 From: KOTH Subject: KOTH.ORG: Status - ICWS Experimental 94 03/06/06 Date: Mon, 6 Mar 2006 13:08:50 -0500 (EST) Message-ID: <200603060506.k26560pZ045651@asgard.t-b-o-h.net> Weekly Status on 03/06/06 -=- 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 : Wed Feb 8 16:18:38 EST 2006 # %W/ %L/ %T Name Author Score Age 1 45/ 36/ 19 Fatamorgana X Zul Nadzri 155 10 2 43/ 37/ 20 The X Machine Zul Nadzri 148 34 3 43/ 38/ 19 Ogre Christian Schmidt 147 171 4 35/ 23/ 42 xd100 test David Houston 147 20 5 41/ 40/ 19 Eliminator X Zul Nadzri 143 35 6 27/ 11/ 62 Evol Cap 4 X John Wilkinson 142 292 7 32/ 26/ 42 KAT v5 Dave Hillis 139 155 8 40/ 41/ 20 Bewitching S.Fernandes 139 1 9 33/ 31/ 36 Olivia X Ben Ford 135 104 10 39/ 43/ 18 Black Moods Ian Oversby 135 219 11 32/ 30/ 38 Glenstorm John Metcalf 134 85 12 36/ 38/ 26 test Some Redcoder 134 4 13 39/ 45/ 16 Giant Hazy Test 13 Steve Gunnell 134 50 14 40/ 45/ 15 O_Fortuna3X Nenad Tomasev 134 6 15 36/ 39/ 24 Trefoil F 13 Steve Gunnell 134 106 16 37/ 41/ 21 Controlled Aggression Ian Oversby 133 223 17 38/ 42/ 20 Simply Intelligent Zul Nadzri 133 16 18 19/ 6/ 75 Evolve X v4.0 John Wilkinson 133 240 19 36/ 40/ 23 Trefoil Test F 14 Steve Gunnell 132 7 20 38/ 47/ 15 Fatal Choice Some Redcoder 129 5 21 33/ 52/ 15 apple pie John Metcalf 114 0 From: KOTH Subject: KOTH.ORG: Status - MultiWarrior 94 03/06/06 Date: Mon, 6 Mar 2006 13:08:51 -0500 (EST) Message-ID: <200603060503.k26530FL045311@asgard.t-b-o-h.net> Weekly Status on 03/06/06 -=- 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 Feb 24 13:29:01 EST 2006 # Name Author Score Age 1 Urgle Daniel Rivas 35 6 2 JustADirtyClearTest Nenad Tomasev 31 55 3 Fluffy Paper VI Jens Gutzeit 31 26 4 kingdom of the grasshoppe simon wainwright 28 121 5 the price of hostility John Metcalf 28 13 6 simply believe John Metcalf 28 3 7 nameless fragment S.Fernandes 27 25 8 Diptera Nenad Tomasev 22 40 9 hostage in the other core John Metcalf 22 1 10 rooftop pursuit John Metcalf 20 2 11 Gungnir John Metcalf 19 8 From: KOTH Subject: KOTH.ORG: Status - 94 No Pspace 03/06/06 Date: Mon, 6 Mar 2006 13:08:49 -0500 (EST) Message-ID: <200603060509.k26590fI045790@asgard.t-b-o-h.net> Weekly Status on 03/06/06 -=- 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 5 12:41:49 EST 2006 # %W/ %L/ %T Name Author Score Age 1 34/ 23/ 42 Monster_Human_Grunt inversed 145 112 2 33/ 25/ 42 Hullab3loo Roy van Rijn 141 27 3 41/ 42/ 17 Mutant Sascha Zapf 140 1 4 28/ 17/ 55 Rust [v0.2] inversed 140 220 5 32/ 23/ 45 Monster_Alien_Grunt inversed 140 113 6 28/ 15/ 57 Mascaf� G.Labarga 140 18 7 29/ 18/ 53 Paperanha Sascha Zapf 140 2 8 37/ 34/ 28 Stable Muffin P.Kline 140 43 9 28/ 15/ 57 D3vilstick Roy van Rijn 140 26 10 43/ 46/ 11 Poison Arrow Christian Schmidt 139 42 11 32/ 25/ 43 Gods Of Destiny Nenad Tomasev 138 241 12 28/ 19/ 53 2by4k P.Kline 137 73 13 29/ 22/ 49 MoonOfChaos Nenad Tomasev 136 75 14 30/ 25/ 45 Dreaming of Dreams Jens Gutzeit 135 4 15 28/ 21/ 51 Last Judgement Christian Schmidt 135 297 16 31/ 29/ 40 Battery Sascha Zapf 134 119 17 42/ 50/ 9 HallucinationScanner inversed 134 5 18 28/ 24/ 48 Goddess of Fluffiness Jens Gutzeit 133 15 19 37/ 42/ 21 war in the name of music John Metcalf 132 3 20 37/ 43/ 20 F3 Sascha Zapf 132 40 21 2/ 98/ 0 dat dot 7 0 From: sayembara@gmail.com Subject: Re: Bug in pMARS Date: 6 Mar 2006 13:57:09 -0800 Message-ID: <1141682229.902819.164060@i39g2000cwa.googlegroups.com> Peter Duniho wrote: > It seems to me that -9 may be the correct output. > > The term "v3" is apparently evaluated prior to being used for "v4". I see > no reason for this to not be a legitimate evaluation, since it more > logically follows what was written. That would be the answer. pMARS may work like this: Calculate v3. v3=....=9 calculate v4. v4=800-9 = -9 From: John Morahan Subject: Re: Bug in pMARS Date: Mon, 6 Mar 2006 19:39:43 -0500 (EST) Message-ID: <440CC972.9070401@eircom.net> Jens Gutzeit wrote: > Hi, > > either I don't know how EQUs work or I have found > a bug in the parser of pMARS. So far I cound pin > it down to: The EQUs are replacing the text without first evaluating it, as you correctly expected. The bug is in pMARS' evaluation of the resulting expression. Try running this through the parser: dat 1-1*1+1, 1-(1*1)+1 You get the following: DAT.F $-1, $1 -john From: "Jeff" Subject: Yryh. The Arcade Room Rocks ! Yryh. Message-ID: <8_8Pf.45164$1Z5.6581@newsfe07.phx> Date: Tue, 7 Mar 2006 00:26:29 -0500 This site has one of the best game rooms online for fun! Visit the arcade room for excitement at http://www.gabbyinc.net!Also has plenty of free games to enjoy! So pass it on... Z?i"L From: "Jeff" Subject: 33HP/ The Arcade Room Rocks ! 33HP/ Message-ID: Date: Tue, 7 Mar 2006 00:38:59 -0500 This site has tons of games for fun! Visit the arcade room for excitement at http://www.gabbyinc.net ! Also has plenty of free games to enjoy! So pass it on... ]TreN From: sayembara@gmail.com Subject: Re: Bug in pMARS Date: 7 Mar 2006 06:16:48 -0800 Message-ID: <1141741008.740341.30800@j52g2000cwj.googlegroups.com> looking from difference perspective, better put more brackets to be sure? e.g. 1-((1*1)+1) or (1-1*1)+1 which ever result if preferred. From: "Judodudo" Subject: Re: Adressing modes Date: 11 Mar 2006 01:10:12 -0800 Message-ID: <1142068212.916111.148940@v46g2000cwv.googlegroups.com> At the risk of starting a flame war, it wouldn't make you immortal, because the delayed process would not actually exist before it came into play, so you could kill all the enemy's processes before it was activated and you would win. From: "Kelly" Subject: er+NW Hot Online Deals er+NW Message-ID: <2juQf.981$br4.266@newsfe14.phx> Date: Sat, 11 Mar 2006 01:36:04 -0500 I discovered a great marketplace for specials, deals and entertainment at http://www.cashdeals4u2save.com ! `E$b: From: "termin" Subject: Imp bot in x86 Date: 13 Mar 2006 01:19:54 -0800 Message-ID: <1142241594.070972.103340@z34g2000cwc.googlegroups.com> Can anybody give me ideas as to how to build a imp bot in x86 assembly i am new to assembly and struggling with it ... Regards Deepak Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 13 Mar 2006 05:27:23 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: KOTH Subject: KOTH.ORG: Status - 94 No Pspace 03/13/06 Date: Mon, 13 Mar 2006 10:21:55 -0500 (EST) Message-ID: <200603130509.k2D5903P007447@asgard.t-b-o-h.net> Weekly Status on 03/13/06 -=- 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 12 15:06:46 EST 2006 # %W/ %L/ %T Name Author Score Age 1 40/ 43/ 18 Mutant Sascha Zapf 137 6 2 31/ 25/ 44 Monster_Human_Grunt inversed 136 117 3 37/ 39/ 24 Twilight S.Fernandes 135 2 4 35/ 36/ 29 Stable Muffin P.Kline 133 48 5 40/ 47/ 13 Poison Arrow Christian Schmidt 133 47 6 29/ 27/ 44 Hullab3loo Roy van Rijn 132 32 7 28/ 25/ 48 Monster_Alien_Grunt inversed 131 118 8 25/ 20/ 56 Paperanha Sascha Zapf 130 7 9 40/ 50/ 11 HallucinationScanner inversed 129 10 10 25/ 21/ 54 Last Judgement Christian Schmidt 129 302 11 25/ 22/ 53 Bluebell Christian Schmidt 129 5 12 24/ 20/ 56 2by4k P.Kline 129 78 13 22/ 16/ 62 Mascaf� G.Labarga 128 23 14 22/ 16/ 62 D3vilstick Roy van Rijn 127 31 15 27/ 27/ 46 Gods Of Destiny Nenad Tomasev 127 246 16 23/ 20/ 57 Rust [v0.2] inversed 126 225 17 34/ 43/ 23 quick hack oneshot John Metcalf 125 1 18 26/ 30/ 44 Battery Sascha Zapf 123 124 19 23/ 23/ 54 MoonOfChaos Nenad Tomasev 123 80 20 25/ 27/ 48 Dreaming of Dreams Jens Gutzeit 122 9 21 23/ 26/ 50 Goddess of Fluffiness Jens Gutzeit 121 20 From: KOTH Subject: KOTH.ORG: Status - ICWS Experimental 94 03/13/06 Date: Mon, 13 Mar 2006 10:25:59 -0500 (EST) Message-ID: <200603130506.k2D560gO007285@asgard.t-b-o-h.net> Weekly Status on 03/13/06 -=- 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 12 13:11:14 EST 2006 # %W/ %L/ %T Name Author Score Age 1 46/ 36/ 18 Fatamorgana X Zul Nadzri 156 10 2 44/ 37/ 19 Ogre Christian Schmidt 150 171 3 43/ 37/ 20 The X Machine Zul Nadzri 149 34 4 42/ 40/ 18 Eliminator X Zul Nadzri 145 35 5 34/ 23/ 43 xd100 test David Houston 144 20 6 26/ 11/ 64 Evol Cap 4 X John Wilkinson 141 292 7 33/ 25/ 42 KAT v5 Dave Hillis 141 155 8 40/ 40/ 20 Bewitching S.Fernandes 139 1 9 40/ 43/ 17 Black Moods Ian Oversby 136 219 10 40/ 44/ 16 Giant Hazy Test 13 Steve Gunnell 136 50 11 37/ 38/ 26 test Some Redcoder 135 4 12 38/ 41/ 21 Controlled Aggression Ian Oversby 135 223 13 20/ 6/ 74 Evolve X v4.0 John Wilkinson 135 240 14 40/ 45/ 15 O_Fortuna3X Nenad Tomasev 134 6 15 38/ 42/ 21 Simply Intelligent Zul Nadzri 133 16 16 33/ 32/ 35 Olivia X Ben Ford 133 104 17 36/ 40/ 24 Trefoil F 13 Steve Gunnell 132 106 18 31/ 31/ 38 Glenstorm John Metcalf 132 85 19 36/ 41/ 23 Trefoil Test F 14 Steve Gunnell 131 7 20 39/ 47/ 14 Fatal Choice Some Redcoder 130 5 21 31/ 55/ 13 Twilight S.Fernandes 107 0 From: KOTH Subject: KOTH.ORG: Status - Standard 03/13/06 Date: Mon, 13 Mar 2006 10:26:00 -0500 (EST) Message-ID: <200603130500.k2D500VZ007045@asgard.t-b-o-h.net> Weekly Status on 03/13/06 -=- 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 : Fri Mar 10 18:09:44 EST 2006 # %W/ %L/ %T Name Author Score Age 1 36/ 25/ 39 Test Alexander (Sasha) Wa 148 186 2 38/ 30/ 32 The Next Step '88 David Houston 146 62 3 35/ 25/ 40 The Hurricaner G.Labarga 144 33 4 40/ 37/ 23 My 1st try Christian Schmidt 142 78 5 33/ 25/ 42 test G.Labarga 140 29 6 32/ 26/ 42 Guardian Ian Oversby 139 246 7 39/ 42/ 19 Scan the Can Christian Schmidt 137 27 8 38/ 40/ 22 Moonwipe Christian Schmidt 136 43 9 33/ 30/ 37 SoundOfDarkness Nenad Tomasev 136 10 10 34/ 33/ 32 The Seed Roy van Rijn 135 64 11 26/ 18/ 56 Utterer '88 Christian Schmidt 134 21 12 39/ 44/ 17 Hexamorph inversed 134 1 13 29/ 25/ 46 Scopulos pluviae G.Labarga 133 13 14 32/ 32/ 36 A.I.P. Christian Schmidt 132 54 15 40/ 48/ 11 Speeed 88mph Christian Schmidt 132 46 16 37/ 42/ 21 July Nenad Tomasev 131 19 17 40/ 51/ 9 Replihater Some Redcoder 129 17 18 23/ 17/ 61 IMParable G.Labarga 128 34 19 39/ 50/ 11 Scan Test C 6 Steve Gunnell 128 85 20 35/ 46/ 19 war in the name of music John Metcalf 124 5 21 2/ 2/ 1 Hexamorph inversed 7 2 From: KOTH Subject: KOTH.ORG: Status - MultiWarrior 94 03/13/06 Date: Mon, 13 Mar 2006 10:26:00 -0500 (EST) Message-ID: <200603130503.k2D5309j007164@asgard.t-b-o-h.net> Weekly Status on 03/13/06 -=- 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 : Thu Mar 9 12:54:07 EST 2006 # Name Author Score Age 1 Fluffy Paper VI Jens Gutzeit 38 26 2 kingdom of the grasshoppe simon wainwright 34 121 3 the price of hostility John Metcalf 31 13 4 nameless fragment S.Fernandes 30 25 5 JustADirtyClearTest Nenad Tomasev 29 55 6 Urgle Daniel Rivas 26 6 7 rooftop pursuit John Metcalf 25 2 8 simply believe John Metcalf 22 3 9 Diptera Nenad Tomasev 22 40 10 hostage in the other core John Metcalf 20 1 11 spawn of the grasshopper Simon Wainwright 11 0 From: Sascha Zapf Subject: tiny warrior: desTiny Date: Fri, 17 Mar 2006 13:42:48 +0100 Message-ID: R.I.P. Destiny After pushing off i would like to publish desTiny. desTiny was based on "Soft as Silk" which get an nice age on tiny. I have changed the decoymaker in front to an 2c-quickbomber which gave him nice extra points. After boot i jump to the silk-body with an decoy-creating djn instruction. desTiny died at age 93 Sascha ;redcode-tiny ;name desTiny ;author Sascha Zapf ;assert CORESIZE==800 ;strategy qbomb -> silkdwarf ;strategy Soft as Silk reworked/reoptimized ;optimax 1234 ;optimax work tinytest ;optimax rounds 1 50 200 500 ;optimax suite fshtiny0.1 ;optimax alarm highscore ;optimax phase2 fshtiny0.1/clr/T766.RED ;optimax phase2 120 ;optimax phase3 130 ;optimax phase3 top10 ;optimax phase3 pap:cds ;optimax phase4 100% ;optimax phase4 top10 start mov.i <428, 542 mov.i <701, 40 mov.i <688, 481 mov.i <125, 327 mov.i <683, 556 mov.i <231, 378 mov.i <367, 261 mov.i <439, 84 mov.i <642, 69 bootdis equ 187 launch spl 2, <696 spl 1, <598 spl 1, <620 mov.i {ssilk,{boot boot djn.f launch+bootdis,<219 ssilk spl @6,<104 mov.i }-1, >-1 spl #374, >272 mov {560, {160 add -2, -1 djn.f @0, {-2 end start -- News From: KOTH Subject: KOTH.ORG: Status - MultiWarrior 94 03/20/06 Date: Mon, 20 Mar 2006 00:59:05 -0500 (EST) Message-ID: <200603200503.k2K530g4008346@asgard.t-b-o-h.net> Weekly Status on 03/20/06 -=- 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 : Thu Mar 16 16:40:51 EST 2006 # Name Author Score Age 1 the price of hostility John Metcalf 38 13 2 Urgle Daniel Rivas 38 6 3 kingdom of the grasshoppe simon wainwright 36 121 4 JustADirtyClearTest Nenad Tomasev 32 55 5 Fluffy Paper VI Jens Gutzeit 30 26 6 simply believe John Metcalf 29 3 7 nameless fragment S.Fernandes 22 25 8 rooftop pursuit John Metcalf 20 2 9 Diptera Nenad Tomasev 20 40 10 hostage in the other core John Metcalf 17 1 11 d Nenad 0 0 From: KOTH Subject: KOTH.ORG: Status - ICWS Experimental 94 03/20/06 Date: Mon, 20 Mar 2006 00:59:04 -0500 (EST) Message-ID: <200603200506.k2K560MH008602@asgard.t-b-o-h.net> Weekly Status on 03/20/06 -=- 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 : Mon Mar 13 13:00:37 EST 2006 # %W/ %L/ %T Name Author Score Age 1 46/ 35/ 19 Fatamorgana X Zul Nadzri 157 10 2 44/ 37/ 19 Ogre Christian Schmidt 150 171 3 36/ 22/ 42 xd100 test David Houston 150 20 4 43/ 37/ 20 The X Machine Zul Nadzri 150 34 5 43/ 39/ 18 Eliminator X Zul Nadzri 147 35 6 28/ 11/ 62 Evol Cap 4 X John Wilkinson 145 292 7 33/ 25/ 42 KAT v5 Dave Hillis 141 155 8 40/ 39/ 21 Bewitching S.Fernandes 141 1 9 34/ 30/ 36 Olivia X Ben Ford 138 104 10 38/ 38/ 24 Trefoil F 13 Steve Gunnell 137 106 11 40/ 44/ 16 Giant Hazy Test 13 Steve Gunnell 137 50 12 40/ 43/ 17 Black Moods Ian Oversby 137 219 13 33/ 29/ 38 Glenstorm John Metcalf 137 85 14 40/ 44/ 16 O_Fortuna3X Nenad Tomasev 137 6 15 39/ 41/ 20 Simply Intelligent Zul Nadzri 136 16 16 21/ 6/ 73 Evolve X v4.0 John Wilkinson 136 240 17 37/ 39/ 23 Trefoil Test F 14 Steve Gunnell 135 7 18 36/ 37/ 26 test Some Redcoder 135 4 19 38/ 41/ 21 Controlled Aggression Ian Oversby 135 223 20 39/ 46/ 14 Fatal Choice Some Redcoder 133 5 21 14/ 70/ 16 Airstrike II Slaytanist 58 0 From: KOTH Subject: KOTH.ORG: Status - Standard 03/20/06 Date: Mon, 20 Mar 2006 00:59:06 -0500 (EST) Message-ID: <200603200500.k2K500wS008236@asgard.t-b-o-h.net> Weekly Status on 03/20/06 -=- 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 : Fri Mar 10 18:09:44 EST 2006 # %W/ %L/ %T Name Author Score Age 1 36/ 25/ 39 Test Alexander (Sasha) Wa 148 186 2 38/ 30/ 32 The Next Step '88 David Houston 146 62 3 35/ 25/ 40 The Hurricaner G.Labarga 144 33 4 40/ 37/ 23 My 1st try Christian Schmidt 142 78 5 33/ 25/ 42 test G.Labarga 140 29 6 32/ 26/ 42 Guardian Ian Oversby 139 246 7 39/ 42/ 19 Scan the Can Christian Schmidt 137 27 8 38/ 40/ 22 Moonwipe Christian Schmidt 136 43 9 33/ 30/ 37 SoundOfDarkness Nenad Tomasev 136 10 10 34/ 33/ 32 The Seed Roy van Rijn 135 64 11 26/ 18/ 56 Utterer '88 Christian Schmidt 134 21 12 39/ 44/ 17 Hexamorph inversed 134 1 13 29/ 25/ 46 Scopulos pluviae G.Labarga 133 13 14 32/ 32/ 36 A.I.P. Christian Schmidt 132 54 15 40/ 48/ 11 Speeed 88mph Christian Schmidt 132 46 16 37/ 42/ 21 July Nenad Tomasev 131 19 17 40/ 51/ 9 Replihater Some Redcoder 129 17 18 23/ 17/ 61 IMParable G.Labarga 128 34 19 39/ 50/ 11 Scan Test C 6 Steve Gunnell 128 85 20 35/ 46/ 19 war in the name of music John Metcalf 124 5 21 2/ 2/ 1 Hexamorph inversed 7 2 From: KOTH Subject: KOTH.ORG: Status - 94 No Pspace 03/20/06 Date: Mon, 20 Mar 2006 00:59:02 -0500 (EST) Message-ID: <200603200509.k2K590VB008737@asgard.t-b-o-h.net> Weekly Status on 03/20/06 -=- 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 : Thu Mar 16 12:05:06 EST 2006 # %W/ %L/ %T Name Author Score Age 1 27/ 13/ 60 Mascaf� G.Labarga 141 28 2 30/ 20/ 50 Paperanha Sascha Zapf 139 12 3 30/ 21/ 50 2by4k P.Kline 138 83 4 30/ 22/ 48 Last Judgement Christian Schmidt 137 307 5 33/ 30/ 37 Hullab3loo Roy van Rijn 137 37 6 25/ 14/ 61 D3vilstick Roy van Rijn 136 36 7 32/ 29/ 40 Monster_Human_Grunt inversed 135 122 8 32/ 29/ 39 Gods Of Destiny Nenad Tomasev 135 251 9 25/ 16/ 58 Rust [v0.2] inversed 134 230 10 38/ 45/ 16 ChimeraQueen Nenad Tomasev 131 2 11 28/ 42/ 30 FearIsTheName_v3 Nenad Tomasev 114 0 From: "Neogryzor" Subject: NanoWarrior Date: 25 Mar 2006 05:54:48 -0800 Message-ID: <1143294888.499087.17000@v46g2000cwv.googlegroups.com> __ __) (, ) | / , __ _ __ _ | /| / _ __ __ _ __ Issue 1 / (_(_(_/ (_(_) |/ |/ (_(_/ (_/ (_(_(_)/ 24 March, 2006 ________________________________/__|_______________________________________= __ "I think nano only supports one strategy only mad mad bombers" - BARKLEY VOWK, irc.koth.org (19 June 2004) On 11 June 2004 the Nano hill on SAL opened for business. The online Corewar community wondered if an 80 cell core with warriors of just 5 instructions had anything of interest to offer. Seven days later, 940-914-xt430-1-nano-eve78 evolved by Bvowk shot straight to the top. The stuggle between evolved and hand-written warriors had begun. On 28 June, the hill was extended to 50 positions. In the beginning, Barkley Vowk and others predicted the hill would be dominated by warriors which disrupt the core as quickly as possible. Evolved warriors and core-clears saturated the hill for the next 10 months, and for a while it seemed they were right. Fast-forward to 19 April 2005 and an explosion of diversity - the first of the nano qscans enters the hill, Toy Soldier by John Metcalf. The following day, G.Labarga claimed first place with his nano scanner Humans rule over machines! followed by nano-oneshot on day 3. Even the attention of the evolving elite had been captured: ;name GO! Nano QScan ;author Dave Hillis ;strategy - dying of curiosity about nano qscan Since they first appeared, a variety of other qscans, scanners and oneshots have taken strong positions, as evidenced in the Hall of Fame. The Nano hill is now providing an interesting challenge to beginners and veterans alike. ___________________________________________________________________________= __ Specs for SAL's Nano Hill, http://sal.math.ualberta.ca/hill.php?key=3Dnano Hill key: nano Core size: 80 Max processes: 80 Max cycles: 800 Max length: 5 P-space size: 5 Resources for Nano programmers: http://www.ociw.edu/~birk/COREWAR/NANO/hill_rec.html http://corewar.co.uk/nano.htm ___________________________________________________________________________= __ Status of the SAL Nano Hill after 736 successful challenges: # %W/ %L/ %T Name Author Score Age 1 50.1/ 42.9/ 7.1 Polarization 05 Zul Nadzri 157.2 180 2 50.5/ 43.7/ 5.9 Foggy Maus (beta) The MicroGP... 157.2 24 3 50.5/ 44.9/ 4.6 Millionaire Landlord Zul Nadzri 156.0 26 4 49.8/ 45.6/ 4.7 Petro "I'm Old" Warrior Zul Nadzri 154.0 216 5 48.9/ 45.4/ 5.7 Polarization 04 Zul Nadzri 152.4 183 6 49.2/ 46.3/ 4.5 rdrc: Repent Linemen Dave Hillis 152.2 394 7 48.8/ 45.7/ 5.5 Resolute John Metcalf 151.8 62 8 48.4/ 45.9/ 5.7 rdrc: Alcoholism Malt Dave Hillis 150.9 382 9 47.9/ 45.0/ 7.2 Mellisuga helenae (RB... The MicroGP... 150.8 27 10 48.5/ 46.5/ 4.9 rdrc: Laundry OSHA Dave Hillis 150.5 376 11 47.9/ 45.4/ 6.7 Paedocypris horridus (RBv The MicroGP... 150.5 51 12 48.2/ 46.6/ 5.2 iEvo[[1]] inversed 149.7 25 13 48.2/ 46.8/ 5.0 Drunken Onion I The MicroGP... 149.5 23 14 48.0/ 46.9/ 5.1 rdrc: Revere Gimmickry Dave Hillis 149.0 322 15 47.4/ 45.8/ 6.8 Muddy Mouse (RB... The MicroGP... 148.9 36 16 47.8/ 46.8/ 5.4 Shutting Down Evolver Now Roy van Rijn 148.8 414 17 47.3/ 46.2/ 6.5 test John Metcalf 148.3 11 18 47.4/ 46.6/ 6.0 Master of the Core John Metcalf 148.3 190 19 47.4/ 46.6/ 6.0 Man&Machine Roy van Rijn 148.2 345 20 47.7/ 47.4/ 4.9 rdrc: Blanch Autoclave Dave Hillis 148.0 389 21 47.0/ 46.9/ 6.1 rdrc: Borneo Birdie Dave Hillis 147.1 401 22 48.8/ 50.6/ 0.6 My nano Qscan III G.L 146.9 306 23 47.4/ 48.1/ 4.5 SuperSentryIV J.J. 'Imrahil' 146.7 67 24 47.0/ 47.5/ 5.6 4989-5634-xt642-3-nano-ev bvowk 146.4 81 25 47.7/ 49.0/ 3.4 Bombus Sylvestris S.Fernandes 146.3 123 26 47.0/ 48.0/ 5.0 rdrc: Delicate Crowbait Dave Hillis 146.0 572 27 47.1/ 48.1/ 4.8 Petro "I'm Old" Warrior [ Zul Nadzri 146.0 215 28 44.2/ 42.6/ 13.2 qEvo[[3]] inversed 145.8 73 29 41.6/ 37.5/ 21.0 2218-6722-xt430-22-nano-e bvowk 145.7 179 30 46.6/ 47.7/ 5.7 10702-3379-xt642-0-nano-e bvowk 145.5 75 31 46.2/ 47.3/ 6.5 Merdeka 06 Zul Nadzri 145.1 242 32 46.8/ 48.5/ 4.8 the last of the dragons John Metcalf 145.1 329 33 46.0/ 47.0/ 7.0 Bombus Polaris S.Fernandes 145.0 95 34 38.2/ 31.6/ 30.2 rdrc: Breakaway Carte Dave Hillis 144.8 355 35 46.0/ 47.4/ 6.6 Go on! Roy van Rijn 144.7 413 36 45.5/ 46.6/ 7.9 victim of the night John Metcalf 144.5 7 37 38.0/ 33.0/ 29.0 Happy Onion VIII The MicroGP... 143.0 34 38 44.8/ 46.9/ 8.3 toy soldier John Metcalf 142.7 348 39 45.7/ 49.1/ 5.2 rdrc: Sportsmen Momentary Dave Hillis 142.4 390 40 45.0/ 48.4/ 6.6 Happy Onion V The MicroGP... 141.6 37 41 45.8/ 50.2/ 4.1 Unit 0446 G.Labarga 141.3 20 42 45.3/ 49.5/ 5.2 around the core in 80 cyc John Metcalf 141.0 265 43 44.9/ 49.2/ 6.0 7698-6009-biostat-xt3-nan bvowk 140.6 66 44 41.6/ 42.7/ 15.7 NanoWarp inversed 140.5 74 45 44.8/ 49.4/ 5.8 5312-1734-xt430-15-nano-e bvowk 140.3 92 46 44.0/ 48.9/ 7.1 spawn of the grasshopper Simon Wainwright 139.1 1 47 42.9/ 46.8/ 10.3 the path best forgotten John Metcalf 139.0 12 48 45.3/ 52.3/ 2.4 Thylacinus Cynocephalus S.Fernandes 138.3 3 49 43.0/ 47.8/ 9.2 honey and cheese John Metcalf 138.3 8 50 45.3/ 52.5/ 2.1 Acarus Calvanicus S.Fernandes 138.1 4 Averages: 21 46.6/ 45.2/ 8.1 33 evolved warriors 6 authors 147.9 203 34 46.0/ 48.4/ 5.7 17 hand-coded warriors 5 authors 143.6 109 46.3/ 46.3/ 7.3 all warriors 11 authors 146.1 171 John Metcalf and Dave Hillis each have 9 warriors, with John representing the hand-coders and Dave the evolvers. Following closely are The MicroGP Corewars Collective with 7, Zul Nadzri with 6 and bvowk with 5. Currently, the Nano hill is home to the 14 oldest warriors on any hill! ___________________________________________________________________________= __ The SAL Nano Hall of Fame: * indicates the warrior is still active. Pos Name Author Age Strategy 1 rdrc: Delicate Crowbai Dave Hillis 572 * evolved 2 on-speed brx 533 clear 3 Shutting Down Evolver Roy van Rijn 414 * evolved 4 Go on! Roy van Rijn 413 * evolved 5 rdrc: Borneo Birdie Dave Hillis 401 * evolved 6 rdrc: Repent Linemen Dave Hillis 394 * evolved 7 rdrc: Sportsmen Moment Dave Hillis 390 * evolved 8 rdrc: Blanch Autoclave Dave Hillis 389 * evolved 9 rdrc: Alcoholism Malt Dave Hillis 382 * evolved 10 rdrc: Laundry OSHA Dave Hillis 376 * evolved 11 rdrc: Aborning Chute Dave Hillis 370 evolved 12 rdrc: Breakaway Carte Dave Hillis 355 * evolved 13 toy soldier John Metcalf 348 * qscan 14 Man&Machine Roy van Rijn 345 * evolved 15 the last of the dragon John Metcalf 329 * qscan 16 rdrc: Revere Gimmickry Dave Hillis 322 * evolved 17 My nano Qscan III G.L 306 * qscan 18 Military Grade Nano Ken Hubbard 299 evolved 19 h1_3.red Dave Hillis 275 evolved 20 6843-5724-xt430-4-nano bvowk 271 evolved 21 around the core in 80 John Metcalf 265 * clear 22 Merdeka 06 Zul Nadzri 242 * evolved 23 rdrc: Chiefdom Monogam Dave Hillis 241 evolved 24 @}--- Zul Nadzri 240 evolved 25 rdrc: Silhouette Ulcer Dave Hillis 231 evolved 26 Go on! Roy van Rijn 220 evolved 27 Petro "I'm Old" Warrio Zul Nadzri 216 * evolved 28 Petro "I'm Old" Warrio Zul Nadzri 215 * evolved =3D rdrc: Cosy Eruption Dave Hillis 215 evolved 30 rdrc: Bangui Handy Dave Hillis 213 evolved 31 18393-6049-werewulf-na bvowk 209 evolved 32 Sabertooth.red Ken Hubbard 206 evolved 33 rdrc: Surpass Strictur Dave Hillis 202 evolved 34 rdrc: Dub Pluck Dave Hillis 194 evolved 35 Master of the Core John Metcalf 190 * qscan 36 4910-8311-xt430-9-nano bvowk 186 evolved 37 Polarization 04 Zul Nadzri 183 * evolved 38 Polarization 05 Zul Nadzri 180 * evolved =3D Bombus Terrestris S.Fernandes 180 evolved 40 2218-6722-xt430-22-nan bvowk 179 * evolved 41 Heavy Ash Ken Hubbard 174 clear =3D wisdom of the grasshop Simon Wainwright 174 clear 43 YACE: Optimistic Limbo Roy van Rijn 164 evolved =3D Micro-Masher Roy van Rijn 164 evolved 45 Type-1 John Metcalf 163 scanner 46 152154-5742-xt642-8-ev bvowk 162 evolved 47 Hit the button, George Kathi 160 evolved 48 Man vs Machine Roy van Rijn 156 evolved =3D 9988-449-xt642-8-nano- bvowk 156 evolved 50 testb John Metcalf 153 scanner =3D Humans rule over machi G.Labarga 153 scanner 40 of the 51 warriors in the HoF are evolved, showing how evolved warriors once possessed a strong advantage on the Nano hill. The 11 hand-written warriors compose 4 qscans, 4 clears and 3 scanners. Are the evolved warriors slowly losing their edge? ___________________________________________________________________________= __ Status of the Koenigstuhl Recursive Infinite Nano Hill: Rank Name Author Score ---------------------------------------------------------------- 1 Shutting Down Evolver Now.. Roy van Rijn 178.32 2 Go on! Roy van Rijn 175.02 3 h1_36 Dave Hillis 174.35 4 h1_3 Dave Hillis 173.34 5 toy soldier John Metcalf 172.99 6 rdrc: Silhouette Ulcer Dave Hillis 172.86 7 Taking Over Nano IX Jens Gutzeit 171.70 8 listen to the rain John Metcalf 170.51 9 9988-449-xt642-8-nano-eve78 bvowk 170.08 10 forsaken John Metcalf 169.05 11 looking glass John Metcalf 168.33 12 12261-1211-xt430-8-nano-eve78 bvowk 168.12 13 Bombus Pratorum S.Fernandes 168.10 14 Bombus Terrestris S.Fernandes 167.83 15 Iceblade Metcalf/Wainwright 167.68 16 wisdom of the grasshoppers Simon Wainwright 167.02 17 on-speed brx 167.00 18 Taking Over Nano VI Jens Gutzeit 166.01 19 3923-7280-xt430-0-nano-eve78 bvowk 166.01 20 Eagle: Wings of Fire Zul Nadzri 165.79 21 strike against the machines John Metcalf 165.04 22 miracles DO happen Kathi 164.67 23 4910-8311-xt430-9-nano-eve78 bvowk 164.05 24 Sub Zul Nadzri 163.58 25 Taking Over Nano V Jens Gutzeit 162.51 26 Sniper VI G.Labarga 162.32 27 rdrc: Surpass Stricture Dave Hillis 161.67 28 written in the dust John Metcalf 161.05 29 Just another try... Roy van Rijn 160.99 30 A b y s s Zul Nadzri 160.07 31 940-914-xt430-1-nano-eve78 bvowk 159.49 32 trial by fire John Metcalf 159.45 33 Imp Legacy Zul Nadzri 158.88 34 Second Nature John Metcalf 158.78 35 Wild Roses John Metcalf 158.39 36 Kore Klear 2 Neo 158.38 37 Bombus Sylvestris S.Fernandes 158.31 38 Giant Killer Zul Nadzri 156.70 39 flesh eating owls John Metcalf 156.13 40 from the analogue core John Metcalf 155.50 41 Attackimp Zul Nadzri 154.15 42 Nano Clear Christian Schmidt 153.76 43 Kore Klear Neo 153.36 44 SuperSentryIV J.J. 'Imrahil' Wingert 151.06 45 imp-test2 Neo 150.76 46 muddy puddle John Metcalf 150.68 47 naosv2 Nenad Tomasev 150.59 48 Humans counter-attack! Neo 148.54 49 More mutated beast Neo 148.46 50 unique geometry John Metcalf 148.33 The top 50 of 137 warriors on Christoph's Nano Koenigstuhl includes 24 evolved and 26 hand-written. 14 authors are represented in the top 50. With 13, John has most. Zul and Neo each have 6, bvowk 5, Dave Hillis 4. ___________________________________________________________________________= __ Strategy: Nano Quickscanners Sounds like a joke, but Qscans for nano are not only possible, they also can be very effective. By comparison, if a tiny warrior has a size of 20 in a 800 sized core, (that's 1/40th of the core), a nano warrior has 5 lines for a core size of 80, (1/16th of the core). This suggests that if such a Qscanner can be fitted in 5 lines, it could have a more effective detection rate. The scan+decode engine can be implemented in several ways, though, in my opinion, the next one seems to be the most effective: st: sne.i d1,d2 seq.i {ptr,d3 ptr: mul.x #x,#y .=2E.(attack, usually a simple clear loop) Here we use the typical sne/seq pair from a standard Q^4, while the mul line performs the decoding and also contains the pointer to the scanned location. So, the rule to calculate the addresses d1,d2 and d3 is as follows: d1=3Dx*y d2 can be any location, shortly after or before d1, (depending if the clear attack goes forward or backward). d3=3D(x-1)*y , x being a location near d3: x=3D(x-1)*y +/-distance We use the last formula to calculate x, so there exist several x,y pairs that acomplish this rule. These pairs can be calculated quite easily in a loop using your favourite programming language. Also, to be more effective, it is better not to start attacking the scanned location, but any other close to it, so your clear can wipe completely your 5-line opponent with a forward or backwards clear. So, the final formula may be like this: x=3D(x-1)*y-5 Forward attack, scanned (x*y)+5,(x*y)+10 first, and then (x-1), (x-1)+5. -> x=3D(x-1)*y+5 Clearing backwards, scanned (x*y)-5,(x*y)-10 first, and then (x-1), (x-1)-5. -> x=3D(x-1)*y-5 As an example, here is "My nano Qscan III", my best nano Qscan so far, and the program I used to calculate constants. It calculates the location next to the scanned pair and clears backwards. ;redcode-nano ;name My nano Qscan III ;author G.Labarga ;assert 1 x equ 30 y equ 70 d1 equ ptr+(x*y)-6 d2 equ ptr+(x*y)-1 d3 equ ptr+(x-1)-5 st: sne.i d1,d2 seq.i {ptr,d3 ptr: mul.x #x,#y clr: mov <49,4) & (mod((x*y),80)>4) & (y~=3Dmod((x*y),80)) & (y~=3Dmod((y*(x-1)),80)) & (mod(x,1)=3D=3D0) ) disp(['x:' num2str(x) ' y:' num2str(y) ' x*y:' num2str(mod(x*y,80)) ' y*(x-1):' num2str(mod(y*(x-1),80))]); valo(n,1)=3Dx; valo(n,2)=3Dy; n=3Dn+1; end end end % Clear repeated x y pairs j=3D2; values(1,1:2)=3Dvalo(1,1:2); for (i=3D2:n-1) igual=3D0; r=3D1; while ( (rptr ; store xy next slt.a #upper, xy ; xloop jmp eval, }xy slt #upper, xy ; yloop jmp loop, >xy list end Thanks to John, for being the first Redcoder to send a Qscan to the nano hill. Otherwise it is likely no-one would have tried such an unheard-of idea. Finally, here's the code for the first nano Qscan to become KOTH, the last of the dragons: ;redcode-nano ;name the last of the dragons ;author John Metcalf ;strategy another nano Q^4 qscan ;assert CORESIZE=3D=3D80 ; king of the nano hill April 2005 x equ 59 y equ 9 sne ptr+x*y+y+4, ptr+x*y+y+9 seq {ptr, ptr+x-5 ptr mul.x #x+1, #y loop mov <35, >ptr djn.f loop, }loop end ___________________________________________________________________________= __ Strategy: Nano Scanners Before the appearance of Qscans and scanners, evolved clears were dominating the nano hill. The only proud motivation for hand-coders was brx's on-speed, which performed well on a very hard-to-enter hill. The first succesful scanner to enter the hill as KOTH was Humans rule over machines!, based on the 94nop warrior Origin of Storms. This nano warrior uses a special anti-clear bomb, widely used actually. ;redcode-nano ;name Humans rule over machines! ;author G.Labarga ;assert CORESIZE=3D=3D80 ;strategy scanner ;Using JM's Origin of storms trick loop: add.ab #5,ptr atk: mov.i bm,>ptr ptr: jmz.f loop,7 jmp atk,<-8 bm: mov.i #1,-1 end ptr This second one is another former KOTH. It is just a slightly faster scanner which uses the same bomb. ;redcode-nano ;name Rocket propelled monkey II ;author G.Labarga ;assert CORESIZE=3D=3D80 ;strategy scanner loo: add #5,#9 jmz.f loo,@loo mov bm,>loo jmp -2,<-8 bm: mov.i #1,-1 end loo+1 And the third scanner is the only one of this group at the hill today. It uses a transparent bomb, that works in a very similar way than the previous bomb. It makes the warrior a smaller target to other scanners. ;redcode-nano ;name Ucekupatox ;author G.Labarga ;assert CORESIZE=3D=3D80 ;strategy Scanner ;strategy Randomly named loop: add #-5,scan scan: jmz.a loop,-7 mov bmb,>scan jmp scan,<35 bmb: mov.i #0,{0 end scan The mov.i #1,-1 / mov.i #0,{0 bomb copies itself back when executed. This is very useful to overwrite those nasty SPL heads in clears. The scanner covers the target forwards, then continues scanning, so a clear's processes will finally fall in empty core. Unfortunately, the processes take some time to do this, and sometimes the scanner attacks itself before the opponent dies. A faster way to kill those processes is to drop first the bomb and then clear with empty core, like S.Fernandes did in the oneshot Bombus Sylvestris. Our final scanner, unique geometry, is a surprising bomb/scan hybrid which uses the 0.66c scan loop and also creates a slow decrement trail as both secondary attack and decoy. It scans backwards two separated locations using a -5 scan step, (thanks to the djn.f) and bombs opponents with empty core. This means that it scans and attacks 4 locations every 10, (if nothing is found). It is a bit more vulnerable to decoys than other scanners due to its reduced bombing speed, (0.25c when a target is found). On the other hand, Unique geometry scores well against other scanners thanks to its wide core coverage and decrement trail. Nice code from J=2E Metcalf: ;redcode-nano ;name unique geometry ;author John Metcalf ;strategy scanner ;assert 1 scan:sne -7, 39 add inc, scan ptr: mov {40, *scan mov }ptr, @scan inc: djn.f scan, scan end ___________________________________________________________________________= __ Strategy: Nano Oneshots Shortly after the qscans and scanners arrived on the Nano hill, the first of the oneshots appeared. To begin with, the scores looked disappointing - the early oneshots survived just a few challenges. Where others failed, Nenad Tomasev found the way forward with a tricky piece of coding, a .5c scan -> spl/dat clear in just 5 lines! ;redcode-nano ;name naosv2 ;author Nenad Tomasev ;assert CORESIZE=3D=3D80 ;strategy nano oneshot v2.0 step equ 5 ini equ 12 org scan scan add.ab stun, #ini jmz.f scan, @scan stun spl #step, 10 clr mov.i *scan, >scan djn.f clr, {-10 end Four months later, G.Labarga updated one of his oneshots from the early Nano hill to produce the most successful nano oneshot to date. Sniper VI effectively uses a reverse scan / reverse clear to create a warrior which survived for 133 challenges - the current record for a nano oneshot. ;redcode-nano ;name Sniper VI ;author G.Labarga ;assert CORESIZE=3D=3D80 ;strategy Oneshot ptr: sub.ab #6,#-6 scan: jmz.f ptr,>ptr spl #0,<40 mov {35,loop djn.f attack , {bomb end Victim of the night is relative newcomer to the Nano hill, which has the advantage of only 3 lines visible to .f scanners. Combined with the reverse scan, this creates a lethal combination against the majority of nano scanners. ;redcode-nano ;name victim of the night ;author John Metcalf ;strategy oneshot v2 scan add #-6, ptr star jmz.f scan, >ptr spl #0, 0 ptr mov <-48, -16 djn.f {0, }0 end star ___________________________________________________________________________= __ Extra Extra: Type-1 by John Metcalf September 15, 2005: a day with a surprise addition to the Nano hill. Along came a warrior with a score outside the typically narrow 140-150 range: # %W/ %L/ %T Name Author Score Age 1 55.7/ 41.0/ 3.3 Type-1 John Metcalf 170.4 1 2 47.9/ 46.0/ 6.0 rdrc: Borneo Birdie Dave Hillis 149.8 206 3 47.5/ 45.7/ 6.8 Rocket propelled monkey I G.Labarga 149.4 9 4 47.6/ 46.3/ 6.1 Petro "I'm Old" Warrior [ Zul Nadzri 148.8 21 5 47.1/ 45.9/ 6.9 Shutting Down Evolver Now Roy van Rijn 148.3 219 Metcalf's new scanner, Type-1, entered the hill as Koth with an impressive score of 170.4, a 20.6 point lead over the second place warrior. Type-1 remained in first place on the hill until it reached age 65. Type-1 scored extremely well against conventional d-clears (including former Koths on-speed and Military Grade Nano) and some early nano-scanners (such as former Koths Rocket propelled monkey II and Humans rule over machines!). As the only clear weakness, its vulnerability to nano-Qscan made it drop down this hill as these new nano warriors increased their presence. Type-1 left the hill January 31, 2006 with an age of 163. One of the secrets to the success of Type-1 is simple - scanning backwards using a step of -5. Finally, here's Metcalf's mystery code: ;redcode-nano;name Type-1 ;author John Metcalf ;strategy scanner ;assert CORESIZE=3D=3D80 step equ 5 first equ bomb-10 bomb:mov.i #1, -1 ptr: sub #step, #first wipe:jmz.f ptr, @ptr mov bomb, >ptr djn.f wipe, {ptr-5 end wipe ___________________________________________________________________________= __ NanoWarrior #1 authors: S=2EFernandes John Metcalf Germ=E1n Labarga From: "Neogryzor" Subject: NanoWarrior Date: 25 Mar 2006 05:54:41 -0800 Message-ID: <1143294881.207439.124470@j33g2000cwa.googlegroups.com> __ __) (, ) | / , __ _ __ _ | /| / _ __ __ _ __ Issue 1 / (_(_(_/ (_(_) |/ |/ (_(_/ (_/ (_(_(_)/ 24 March, 2006 ________________________________/__|_______________________________________= __ "I think nano only supports one strategy only mad mad bombers" - BARKLEY VOWK, irc.koth.org (19 June 2004) On 11 June 2004 the Nano hill on SAL opened for business. The online Corewar community wondered if an 80 cell core with warriors of just 5 instructions had anything of interest to offer. Seven days later, 940-914-xt430-1-nano-eve78 evolved by Bvowk shot straight to the top. The stuggle between evolved and hand-written warriors had begun. On 28 June, the hill was extended to 50 positions. In the beginning, Barkley Vowk and others predicted the hill would be dominated by warriors which disrupt the core as quickly as possible. Evolved warriors and core-clears saturated the hill for the next 10 months, and for a while it seemed they were right. Fast-forward to 19 April 2005 and an explosion of diversity - the first of the nano qscans enters the hill, Toy Soldier by John Metcalf. The following day, G.Labarga claimed first place with his nano scanner Humans rule over machines! followed by nano-oneshot on day 3. Even the attention of the evolving elite had been captured: ;name GO! Nano QScan ;author Dave Hillis ;strategy - dying of curiosity about nano qscan Since they first appeared, a variety of other qscans, scanners and oneshots have taken strong positions, as evidenced in the Hall of Fame. The Nano hill is now providing an interesting challenge to beginners and veterans alike. ___________________________________________________________________________= __ Specs for SAL's Nano Hill, http://sal.math.ualberta.ca/hill.php?key=3Dnano Hill key: nano Core size: 80 Max processes: 80 Max cycles: 800 Max length: 5 P-space size: 5 Resources for Nano programmers: http://www.ociw.edu/~birk/COREWAR/NANO/hill_rec.html http://corewar.co.uk/nano.htm ___________________________________________________________________________= __ Status of the SAL Nano Hill after 736 successful challenges: # %W/ %L/ %T Name Author Score Age 1 50.1/ 42.9/ 7.1 Polarization 05 Zul Nadzri 157.2 180 2 50.5/ 43.7/ 5.9 Foggy Maus (beta) The MicroGP... 157.2 24 3 50.5/ 44.9/ 4.6 Millionaire Landlord Zul Nadzri 156.0 26 4 49.8/ 45.6/ 4.7 Petro "I'm Old" Warrior Zul Nadzri 154.0 216 5 48.9/ 45.4/ 5.7 Polarization 04 Zul Nadzri 152.4 183 6 49.2/ 46.3/ 4.5 rdrc: Repent Linemen Dave Hillis 152.2 394 7 48.8/ 45.7/ 5.5 Resolute John Metcalf 151.8 62 8 48.4/ 45.9/ 5.7 rdrc: Alcoholism Malt Dave Hillis 150.9 382 9 47.9/ 45.0/ 7.2 Mellisuga helenae (RB... The MicroGP... 150.8 27 10 48.5/ 46.5/ 4.9 rdrc: Laundry OSHA Dave Hillis 150.5 376 11 47.9/ 45.4/ 6.7 Paedocypris horridus (RBv The MicroGP... 150.5 51 12 48.2/ 46.6/ 5.2 iEvo[[1]] inversed 149.7 25 13 48.2/ 46.8/ 5.0 Drunken Onion I The MicroGP... 149.5 23 14 48.0/ 46.9/ 5.1 rdrc: Revere Gimmickry Dave Hillis 149.0 322 15 47.4/ 45.8/ 6.8 Muddy Mouse (RB... The MicroGP... 148.9 36 16 47.8/ 46.8/ 5.4 Shutting Down Evolver Now Roy van Rijn 148.8 414 17 47.3/ 46.2/ 6.5 test John Metcalf 148.3 11 18 47.4/ 46.6/ 6.0 Master of the Core John Metcalf 148.3 190 19 47.4/ 46.6/ 6.0 Man&Machine Roy van Rijn 148.2 345 20 47.7/ 47.4/ 4.9 rdrc: Blanch Autoclave Dave Hillis 148.0 389 21 47.0/ 46.9/ 6.1 rdrc: Borneo Birdie Dave Hillis 147.1 401 22 48.8/ 50.6/ 0.6 My nano Qscan III G.L 146.9 306 23 47.4/ 48.1/ 4.5 SuperSentryIV J.J. 'Imrahil' 146.7 67 24 47.0/ 47.5/ 5.6 4989-5634-xt642-3-nano-ev bvowk 146.4 81 25 47.7/ 49.0/ 3.4 Bombus Sylvestris S.Fernandes 146.3 123 26 47.0/ 48.0/ 5.0 rdrc: Delicate Crowbait Dave Hillis 146.0 572 27 47.1/ 48.1/ 4.8 Petro "I'm Old" Warrior [ Zul Nadzri 146.0 215 28 44.2/ 42.6/ 13.2 qEvo[[3]] inversed 145.8 73 29 41.6/ 37.5/ 21.0 2218-6722-xt430-22-nano-e bvowk 145.7 179 30 46.6/ 47.7/ 5.7 10702-3379-xt642-0-nano-e bvowk 145.5 75 31 46.2/ 47.3/ 6.5 Merdeka 06 Zul Nadzri 145.1 242 32 46.8/ 48.5/ 4.8 the last of the dragons John Metcalf 145.1 329 33 46.0/ 47.0/ 7.0 Bombus Polaris S.Fernandes 145.0 95 34 38.2/ 31.6/ 30.2 rdrc: Breakaway Carte Dave Hillis 144.8 355 35 46.0/ 47.4/ 6.6 Go on! Roy van Rijn 144.7 413 36 45.5/ 46.6/ 7.9 victim of the night John Metcalf 144.5 7 37 38.0/ 33.0/ 29.0 Happy Onion VIII The MicroGP... 143.0 34 38 44.8/ 46.9/ 8.3 toy soldier John Metcalf 142.7 348 39 45.7/ 49.1/ 5.2 rdrc: Sportsmen Momentary Dave Hillis 142.4 390 40 45.0/ 48.4/ 6.6 Happy Onion V The MicroGP... 141.6 37 41 45.8/ 50.2/ 4.1 Unit 0446 G.Labarga 141.3 20 42 45.3/ 49.5/ 5.2 around the core in 80 cyc John Metcalf 141.0 265 43 44.9/ 49.2/ 6.0 7698-6009-biostat-xt3-nan bvowk 140.6 66 44 41.6/ 42.7/ 15.7 NanoWarp inversed 140.5 74 45 44.8/ 49.4/ 5.8 5312-1734-xt430-15-nano-e bvowk 140.3 92 46 44.0/ 48.9/ 7.1 spawn of the grasshopper Simon Wainwright 139.1 1 47 42.9/ 46.8/ 10.3 the path best forgotten John Metcalf 139.0 12 48 45.3/ 52.3/ 2.4 Thylacinus Cynocephalus S.Fernandes 138.3 3 49 43.0/ 47.8/ 9.2 honey and cheese John Metcalf 138.3 8 50 45.3/ 52.5/ 2.1 Acarus Calvanicus S.Fernandes 138.1 4 Averages: 21 46.6/ 45.2/ 8.1 33 evolved warriors 6 authors 147.9 203 34 46.0/ 48.4/ 5.7 17 hand-coded warriors 5 authors 143.6 109 46.3/ 46.3/ 7.3 all warriors 11 authors 146.1 171 John Metcalf and Dave Hillis each have 9 warriors, with John representing the hand-coders and Dave the evolvers. Following closely are The MicroGP Corewars Collective with 7, Zul Nadzri with 6 and bvowk with 5. Currently, the Nano hill is home to the 14 oldest warriors on any hill! ___________________________________________________________________________= __ The SAL Nano Hall of Fame: * indicates the warrior is still active. Pos Name Author Age Strategy 1 rdrc: Delicate Crowbai Dave Hillis 572 * evolved 2 on-speed brx 533 clear 3 Shutting Down Evolver Roy van Rijn 414 * evolved 4 Go on! Roy van Rijn 413 * evolved 5 rdrc: Borneo Birdie Dave Hillis 401 * evolved 6 rdrc: Repent Linemen Dave Hillis 394 * evolved 7 rdrc: Sportsmen Moment Dave Hillis 390 * evolved 8 rdrc: Blanch Autoclave Dave Hillis 389 * evolved 9 rdrc: Alcoholism Malt Dave Hillis 382 * evolved 10 rdrc: Laundry OSHA Dave Hillis 376 * evolved 11 rdrc: Aborning Chute Dave Hillis 370 evolved 12 rdrc: Breakaway Carte Dave Hillis 355 * evolved 13 toy soldier John Metcalf 348 * qscan 14 Man&Machine Roy van Rijn 345 * evolved 15 the last of the dragon John Metcalf 329 * qscan 16 rdrc: Revere Gimmickry Dave Hillis 322 * evolved 17 My nano Qscan III G.L 306 * qscan 18 Military Grade Nano Ken Hubbard 299 evolved 19 h1_3.red Dave Hillis 275 evolved 20 6843-5724-xt430-4-nano bvowk 271 evolved 21 around the core in 80 John Metcalf 265 * clear 22 Merdeka 06 Zul Nadzri 242 * evolved 23 rdrc: Chiefdom Monogam Dave Hillis 241 evolved 24 @}--- Zul Nadzri 240 evolved 25 rdrc: Silhouette Ulcer Dave Hillis 231 evolved 26 Go on! Roy van Rijn 220 evolved 27 Petro "I'm Old" Warrio Zul Nadzri 216 * evolved 28 Petro "I'm Old" Warrio Zul Nadzri 215 * evolved =3D rdrc: Cosy Eruption Dave Hillis 215 evolved 30 rdrc: Bangui Handy Dave Hillis 213 evolved 31 18393-6049-werewulf-na bvowk 209 evolved 32 Sabertooth.red Ken Hubbard 206 evolved 33 rdrc: Surpass Strictur Dave Hillis 202 evolved 34 rdrc: Dub Pluck Dave Hillis 194 evolved 35 Master of the Core John Metcalf 190 * qscan 36 4910-8311-xt430-9-nano bvowk 186 evolved 37 Polarization 04 Zul Nadzri 183 * evolved 38 Polarization 05 Zul Nadzri 180 * evolved =3D Bombus Terrestris S.Fernandes 180 evolved 40 2218-6722-xt430-22-nan bvowk 179 * evolved 41 Heavy Ash Ken Hubbard 174 clear =3D wisdom of the grasshop Simon Wainwright 174 clear 43 YACE: Optimistic Limbo Roy van Rijn 164 evolved =3D Micro-Masher Roy van Rijn 164 evolved 45 Type-1 John Metcalf 163 scanner 46 152154-5742-xt642-8-ev bvowk 162 evolved 47 Hit the button, George Kathi 160 evolved 48 Man vs Machine Roy van Rijn 156 evolved =3D 9988-449-xt642-8-nano- bvowk 156 evolved 50 testb John Metcalf 153 scanner =3D Humans rule over machi G.Labarga 153 scanner 40 of the 51 warriors in the HoF are evolved, showing how evolved warriors once possessed a strong advantage on the Nano hill. The 11 hand-written warriors compose 4 qscans, 4 clears and 3 scanners. Are the evolved warriors slowly losing their edge? ___________________________________________________________________________= __ Status of the Koenigstuhl Recursive Infinite Nano Hill: Rank Name Author Score ---------------------------------------------------------------- 1 Shutting Down Evolver Now.. Roy van Rijn 178.32 2 Go on! Roy van Rijn 175.02 3 h1_36 Dave Hillis 174.35 4 h1_3 Dave Hillis 173.34 5 toy soldier John Metcalf 172.99 6 rdrc: Silhouette Ulcer Dave Hillis 172.86 7 Taking Over Nano IX Jens Gutzeit 171.70 8 listen to the rain John Metcalf 170.51 9 9988-449-xt642-8-nano-eve78 bvowk 170.08 10 forsaken John Metcalf 169.05 11 looking glass John Metcalf 168.33 12 12261-1211-xt430-8-nano-eve78 bvowk 168.12 13 Bombus Pratorum S.Fernandes 168.10 14 Bombus Terrestris S.Fernandes 167.83 15 Iceblade Metcalf/Wainwright 167.68 16 wisdom of the grasshoppers Simon Wainwright 167.02 17 on-speed brx 167.00 18 Taking Over Nano VI Jens Gutzeit 166.01 19 3923-7280-xt430-0-nano-eve78 bvowk 166.01 20 Eagle: Wings of Fire Zul Nadzri 165.79 21 strike against the machines John Metcalf 165.04 22 miracles DO happen Kathi 164.67 23 4910-8311-xt430-9-nano-eve78 bvowk 164.05 24 Sub Zul Nadzri 163.58 25 Taking Over Nano V Jens Gutzeit 162.51 26 Sniper VI G.Labarga 162.32 27 rdrc: Surpass Stricture Dave Hillis 161.67 28 written in the dust John Metcalf 161.05 29 Just another try... Roy van Rijn 160.99 30 A b y s s Zul Nadzri 160.07 31 940-914-xt430-1-nano-eve78 bvowk 159.49 32 trial by fire John Metcalf 159.45 33 Imp Legacy Zul Nadzri 158.88 34 Second Nature John Metcalf 158.78 35 Wild Roses John Metcalf 158.39 36 Kore Klear 2 Neo 158.38 37 Bombus Sylvestris S.Fernandes 158.31 38 Giant Killer Zul Nadzri 156.70 39 flesh eating owls John Metcalf 156.13 40 from the analogue core John Metcalf 155.50 41 Attackimp Zul Nadzri 154.15 42 Nano Clear Christian Schmidt 153.76 43 Kore Klear Neo 153.36 44 SuperSentryIV J.J. 'Imrahil' Wingert 151.06 45 imp-test2 Neo 150.76 46 muddy puddle John Metcalf 150.68 47 naosv2 Nenad Tomasev 150.59 48 Humans counter-attack! Neo 148.54 49 More mutated beast Neo 148.46 50 unique geometry John Metcalf 148.33 The top 50 of 137 warriors on Christoph's Nano Koenigstuhl includes 24 evolved and 26 hand-written. 14 authors are represented in the top 50. With 13, John has most. Zul and Neo each have 6, bvowk 5, Dave Hillis 4. ___________________________________________________________________________= __ Strategy: Nano Quickscanners Sounds like a joke, but Qscans for nano are not only possible, they also can be very effective. By comparison, if a tiny warrior has a size of 20 in a 800 sized core, (that's 1/40th of the core), a nano warrior has 5 lines for a core size of 80, (1/16th of the core). This suggests that if such a Qscanner can be fitted in 5 lines, it could have a more effective detection rate. The scan+decode engine can be implemented in several ways, though, in my opinion, the next one seems to be the most effective: st: sne.i d1,d2 seq.i {ptr,d3 ptr: mul.x #x,#y .=2E.(attack, usually a simple clear loop) Here we use the typical sne/seq pair from a standard Q^4, while the mul line performs the decoding and also contains the pointer to the scanned location. So, the rule to calculate the addresses d1,d2 and d3 is as follows: d1=3Dx*y d2 can be any location, shortly after or before d1, (depending if the clear attack goes forward or backward). d3=3D(x-1)*y , x being a location near d3: x=3D(x-1)*y +/-distance We use the last formula to calculate x, so there exist several x,y pairs that acomplish this rule. These pairs can be calculated quite easily in a loop using your favourite programming language. Also, to be more effective, it is better not to start attacking the scanned location, but any other close to it, so your clear can wipe completely your 5-line opponent with a forward or backwards clear. So, the final formula may be like this: x=3D(x-1)*y-5 Forward attack, scanned (x*y)+5,(x*y)+10 first, and then (x-1), (x-1)+5. -> x=3D(x-1)*y+5 Clearing backwards, scanned (x*y)-5,(x*y)-10 first, and then (x-1), (x-1)-5. -> x=3D(x-1)*y-5 As an example, here is "My nano Qscan III", my best nano Qscan so far, and the program I used to calculate constants. It calculates the location next to the scanned pair and clears backwards. ;redcode-nano ;name My nano Qscan III ;author G.Labarga ;assert 1 x equ 30 y equ 70 d1 equ ptr+(x*y)-6 d2 equ ptr+(x*y)-1 d3 equ ptr+(x-1)-5 st: sne.i d1,d2 seq.i {ptr,d3 ptr: mul.x #x,#y clr: mov <49,4) & (mod((x*y),80)>4) & (y~=3Dmod((x*y),80)) & (y~=3Dmod((y*(x-1)),80)) & (mod(x,1)=3D=3D0) ) disp(['x:' num2str(x) ' y:' num2str(y) ' x*y:' num2str(mod(x*y,80)) ' y*(x-1):' num2str(mod(y*(x-1),80))]); valo(n,1)=3Dx; valo(n,2)=3Dy; n=3Dn+1; end end end % Clear repeated x y pairs j=3D2; values(1,1:2)=3Dvalo(1,1:2); for (i=3D2:n-1) igual=3D0; r=3D1; while ( (rptr ; store xy next slt.a #upper, xy ; xloop jmp eval, }xy slt #upper, xy ; yloop jmp loop, >xy list end Thanks to John, for being the first Redcoder to send a Qscan to the nano hill. Otherwise it is likely no-one would have tried such an unheard-of idea. Finally, here's the code for the first nano Qscan to become KOTH, the last of the dragons: ;redcode-nano ;name the last of the dragons ;author John Metcalf ;strategy another nano Q^4 qscan ;assert CORESIZE=3D=3D80 ; king of the nano hill April 2005 x equ 59 y equ 9 sne ptr+x*y+y+4, ptr+x*y+y+9 seq {ptr, ptr+x-5 ptr mul.x #x+1, #y loop mov <35, >ptr djn.f loop, }loop end ___________________________________________________________________________= __ Strategy: Nano Scanners Before the appearance of Qscans and scanners, evolved clears were dominating the nano hill. The only proud motivation for hand-coders was brx's on-speed, which performed well on a very hard-to-enter hill. The first succesful scanner to enter the hill as KOTH was Humans rule over machines!, based on the 94nop warrior Origin of Storms. This nano warrior uses a special anti-clear bomb, widely used actually. ;redcode-nano ;name Humans rule over machines! ;author G.Labarga ;assert CORESIZE=3D=3D80 ;strategy scanner ;Using JM's Origin of storms trick loop: add.ab #5,ptr atk: mov.i bm,>ptr ptr: jmz.f loop,7 jmp atk,<-8 bm: mov.i #1,-1 end ptr This second one is another former KOTH. It is just a slightly faster scanner which uses the same bomb. ;redcode-nano ;name Rocket propelled monkey II ;author G.Labarga ;assert CORESIZE=3D=3D80 ;strategy scanner loo: add #5,#9 jmz.f loo,@loo mov bm,>loo jmp -2,<-8 bm: mov.i #1,-1 end loo+1 And the third scanner is the only one of this group at the hill today. It uses a transparent bomb, that works in a very similar way than the previous bomb. It makes the warrior a smaller target to other scanners. ;redcode-nano ;name Ucekupatox ;author G.Labarga ;assert CORESIZE=3D=3D80 ;strategy Scanner ;strategy Randomly named loop: add #-5,scan scan: jmz.a loop,-7 mov bmb,>scan jmp scan,<35 bmb: mov.i #0,{0 end scan The mov.i #1,-1 / mov.i #0,{0 bomb copies itself back when executed. This is very useful to overwrite those nasty SPL heads in clears. The scanner covers the target forwards, then continues scanning, so a clear's processes will finally fall in empty core. Unfortunately, the processes take some time to do this, and sometimes the scanner attacks itself before the opponent dies. A faster way to kill those processes is to drop first the bomb and then clear with empty core, like S.Fernandes did in the oneshot Bombus Sylvestris. Our final scanner, unique geometry, is a surprising bomb/scan hybrid which uses the 0.66c scan loop and also creates a slow decrement trail as both secondary attack and decoy. It scans backwards two separated locations using a -5 scan step, (thanks to the djn.f) and bombs opponents with empty core. This means that it scans and attacks 4 locations every 10, (if nothing is found). It is a bit more vulnerable to decoys than other scanners due to its reduced bombing speed, (0.25c when a target is found). On the other hand, Unique geometry scores well against other scanners thanks to its wide core coverage and decrement trail. Nice code from J=2E Metcalf: ;redcode-nano ;name unique geometry ;author John Metcalf ;strategy scanner ;assert 1 scan:sne -7, 39 add inc, scan ptr: mov {40, *scan mov }ptr, @scan inc: djn.f scan, scan end ___________________________________________________________________________= __ Strategy: Nano Oneshots Shortly after the qscans and scanners arrived on the Nano hill, the first of the oneshots appeared. To begin with, the scores looked disappointing - the early oneshots survived just a few challenges. Where others failed, Nenad Tomasev found the way forward with a tricky piece of coding, a .5c scan -> spl/dat clear in just 5 lines! ;redcode-nano ;name naosv2 ;author Nenad Tomasev ;assert CORESIZE=3D=3D80 ;strategy nano oneshot v2.0 step equ 5 ini equ 12 org scan scan add.ab stun, #ini jmz.f scan, @scan stun spl #step, 10 clr mov.i *scan, >scan djn.f clr, {-10 end Four months later, G.Labarga updated one of his oneshots from the early Nano hill to produce the most successful nano oneshot to date. Sniper VI effectively uses a reverse scan / reverse clear to create a warrior which survived for 133 challenges - the current record for a nano oneshot. ;redcode-nano ;name Sniper VI ;author G.Labarga ;assert CORESIZE=3D=3D80 ;strategy Oneshot ptr: sub.ab #6,#-6 scan: jmz.f ptr,>ptr spl #0,<40 mov {35,loop djn.f attack , {bomb end Victim of the night is relative newcomer to the Nano hill, which has the advantage of only 3 lines visible to .f scanners. Combined with the reverse scan, this creates a lethal combination against the majority of nano scanners. ;redcode-nano ;name victim of the night ;author John Metcalf ;strategy oneshot v2 scan add #-6, ptr star jmz.f scan, >ptr spl #0, 0 ptr mov <-48, -16 djn.f {0, }0 end star ___________________________________________________________________________= __ Extra Extra: Type-1 by John Metcalf September 15, 2005: a day with a surprise addition to the Nano hill. Along came a warrior with a score outside the typically narrow 140-150 range: # %W/ %L/ %T Name Author Score Age 1 55.7/ 41.0/ 3.3 Type-1 John Metcalf 170.4 1 2 47.9/ 46.0/ 6.0 rdrc: Borneo Birdie Dave Hillis 149.8 206 3 47.5/ 45.7/ 6.8 Rocket propelled monkey I G.Labarga 149.4 9 4 47.6/ 46.3/ 6.1 Petro "I'm Old" Warrior [ Zul Nadzri 148.8 21 5 47.1/ 45.9/ 6.9 Shutting Down Evolver Now Roy van Rijn 148.3 219 Metcalf's new scanner, Type-1, entered the hill as Koth with an impressive score of 170.4, a 20.6 point lead over the second place warrior. Type-1 remained in first place on the hill until it reached age 65. Type-1 scored extremely well against conventional d-clears (including former Koths on-speed and Military Grade Nano) and some early nano-scanners (such as former Koths Rocket propelled monkey II and Humans rule over machines!). As the only clear weakness, its vulnerability to nano-Qscan made it drop down this hill as these new nano warriors increased their presence. Type-1 left the hill January 31, 2006 with an age of 163. One of the secrets to the success of Type-1 is simple - scanning backwards using a step of -5. Finally, here's Metcalf's mystery code: ;redcode-nano;name Type-1 ;author John Metcalf ;strategy scanner ;assert CORESIZE=3D=3D80 step equ 5 first equ bomb-10 bomb:mov.i #1, -1 ptr: sub #step, #first wipe:jmz.f ptr, @ptr mov bomb, >ptr djn.f wipe, {ptr-5 end wipe ___________________________________________________________________________= __ NanoWarrior #1 authors: S=2EFernandes John Metcalf Germ=E1n Labarga Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 27 Mar 2006 05:30:07 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: KOTH Subject: KOTH.ORG: Status - MultiWarrior 94 03/27/06 Date: Mon, 27 Mar 2006 07:23:49 -0500 (EST) Message-ID: <200603270503.k2R5303J019152@asgard.t-b-o-h.net> Weekly Status on 03/27/06 -=- 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 : Thu Mar 16 16:40:51 EST 2006 # Name Author Score Age 1 the price of hostility John Metcalf 38 13 2 Urgle Daniel Rivas 38 6 3 kingdom of the grasshoppe simon wainwright 36 121 4 JustADirtyClearTest Nenad Tomasev 32 55 5 Fluffy Paper VI Jens Gutzeit 30 26 6 simply believe John Metcalf 29 3 7 nameless fragment S.Fernandes 22 25 8 rooftop pursuit John Metcalf 20 2 9 Diptera Nenad Tomasev 20 40 10 hostage in the other core John Metcalf 17 1 11 d Nenad 0 0 From: KOTH Subject: KOTH.ORG: Status - Standard 03/27/06 Date: Mon, 27 Mar 2006 07:23:50 -0500 (EST) Message-ID: <200603270500.k2R500mi018905@asgard.t-b-o-h.net> Weekly Status on 03/27/06 -=- 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 : Fri Mar 10 18:09:44 EST 2006 # %W/ %L/ %T Name Author Score Age 1 36/ 25/ 39 Test Alexander (Sasha) Wa 148 186 2 38/ 30/ 32 The Next Step '88 David Houston 146 62 3 35/ 25/ 40 The Hurricaner G.Labarga 144 33 4 40/ 37/ 23 My 1st try Christian Schmidt 142 78 5 33/ 25/ 42 test G.Labarga 140 29 6 32/ 26/ 42 Guardian Ian Oversby 139 246 7 39/ 42/ 19 Scan the Can Christian Schmidt 137 27 8 38/ 40/ 22 Moonwipe Christian Schmidt 136 43 9 33/ 30/ 37 SoundOfDarkness Nenad Tomasev 136 10 10 34/ 33/ 32 The Seed Roy van Rijn 135 64 11 26/ 18/ 56 Utterer '88 Christian Schmidt 134 21 12 39/ 44/ 17 Hexamorph inversed 134 1 13 29/ 25/ 46 Scopulos pluviae G.Labarga 133 13 14 32/ 32/ 36 A.I.P. Christian Schmidt 132 54 15 40/ 48/ 11 Speeed 88mph Christian Schmidt 132 46 16 37/ 42/ 21 July Nenad Tomasev 131 19 17 40/ 51/ 9 Replihater Some Redcoder 129 17 18 23/ 17/ 61 IMParable G.Labarga 128 34 19 39/ 50/ 11 Scan Test C 6 Steve Gunnell 128 85 20 35/ 46/ 19 war in the name of music John Metcalf 124 5 21 2/ 2/ 1 Hexamorph inversed 7 2 From: KOTH Subject: KOTH.ORG: Status - ICWS Experimental 94 03/27/06 Date: Mon, 27 Mar 2006 07:23:48 -0500 (EST) Message-ID: <200603270506.k2R5605k019300@asgard.t-b-o-h.net> Weekly Status on 03/27/06 -=- 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 : Mon Mar 13 13:00:37 EST 2006 # %W/ %L/ %T Name Author Score Age 1 46/ 35/ 19 Fatamorgana X Zul Nadzri 157 10 2 44/ 37/ 19 Ogre Christian Schmidt 150 171 3 36/ 22/ 42 xd100 test David Houston 150 20 4 43/ 37/ 20 The X Machine Zul Nadzri 150 34 5 43/ 39/ 18 Eliminator X Zul Nadzri 147 35 6 28/ 11/ 62 Evol Cap 4 X John Wilkinson 145 292 7 33/ 25/ 42 KAT v5 Dave Hillis 141 155 8 40/ 39/ 21 Bewitching S.Fernandes 141 1 9 34/ 30/ 36 Olivia X Ben Ford 138 104 10 38/ 38/ 24 Trefoil F 13 Steve Gunnell 137 106 11 40/ 44/ 16 Giant Hazy Test 13 Steve Gunnell 137 50 12 40/ 43/ 17 Black Moods Ian Oversby 137 219 13 33/ 29/ 38 Glenstorm John Metcalf 137 85 14 40/ 44/ 16 O_Fortuna3X Nenad Tomasev 137 6 15 39/ 41/ 20 Simply Intelligent Zul Nadzri 136 16 16 21/ 6/ 73 Evolve X v4.0 John Wilkinson 136 240 17 37/ 39/ 23 Trefoil Test F 14 Steve Gunnell 135 7 18 36/ 37/ 26 test Some Redcoder 135 4 19 38/ 41/ 21 Controlled Aggression Ian Oversby 135 223 20 39/ 46/ 14 Fatal Choice Some Redcoder 133 5 21 14/ 70/ 16 Airstrike II Slaytanist 58 0 From: KOTH Subject: KOTH.ORG: Status - 94 No Pspace 03/27/06 Date: Mon, 27 Mar 2006 07:23:47 -0500 (EST) Message-ID: <200603270509.k2R590Rg019419@asgard.t-b-o-h.net> Weekly Status on 03/27/06 -=- 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 26 18:33:08 EST 2006 # %W/ %L/ %T Name Author Score Age 1 32/ 27/ 41 Hullab3loo Roy van Rijn 138 42 2 26/ 14/ 60 Mascaf� G.Labarga 137 33 3 31/ 27/ 42 Monster_Human_Grunt inversed 136 127 4 27/ 20/ 54 Last Judgement Christian Schmidt 134 312 5 39/ 44/ 17 ChimeraQueen Nenad Tomasev 134 7 6 27/ 20/ 53 Paperanha Sascha Zapf 134 17 7 24/ 15/ 61 D3vilstick Roy van Rijn 132 41 8 36/ 42/ 22 ()()() Nenad Tomasev 131 4 9 29/ 27/ 44 Gods Of Destiny Nenad Tomasev 131 256 10 25/ 19/ 56 Rust [v0.2] inversed 130 235 11 29/ 27/ 44 Monster_Alien_Grunt inversed 130 128 12 26/ 23/ 51 MoonOfChaos Nenad Tomasev 130 90 13 37/ 46/ 17 Mutant Sascha Zapf 129 16 14 25/ 22/ 53 2by4k P.Kline 129 88 15 38/ 47/ 15 Strike while the iron is Christian Schmidt 129 8 16 26/ 22/ 52 Bluebell Christian Schmidt 129 15 17 29/ 29/ 42 Battery Sascha Zapf 129 134 18 28/ 28/ 43 written with the big pen John Metcalf 128 2 19 35/ 42/ 23 Twilight S.Fernandes 127 12 20 36/ 45/ 19 YAMA inversed 127 1 21 33/ 49/ 18 Strange Light inversed 116 0 From: "simple simon" Subject: Re: NanoWarrior Date: 27 Mar 2006 08:01:11 -0800 Message-ID: <1143475271.873985.168760@i40g2000cwc.googlegroups.com> Thanks, nice work. :-) From: "fizmo" Subject: REDCODERS FRENZY TOURNAMENT 25 - THE PSYCHO PAIR ROUND Date: 27 Mar 2006 09:51:33 -0800 Message-ID: <1143481893.845119.18030@v46g2000cwv.googlegroups.com> .................................................................. . _____ _ _ . | __ \ | | | | . | |__) |___ __| | ___ ___ __| | ___ _ __ ___ . | _ // _ \/ _` |/ __/ _ \ / _` |/ _ \ '__/ __| . | | \ \ __/ (_| | (_| (_) | (_| | __/ | \__ \ . |_| \_\___|\__,_|\___\___/ \__,_|\___|_| |___/ . . ______ . | ____| . | |__ _ __ ___ _ __ _____ _ . | __| '__/ _ \ '_ \|_ / | | | . | | | | | __/ | | |/ /| |_| | . |_| |_| \___|_| |_/___|\__, | . __/ | . |___/ . .................................................................. The ongoing corewar tournament _____ _____ / __ \| ___| `' / /'|___ \ / / \ \ ./ /___/\__/ / \_____/\____/ ............................ . . . The Psycho Pair Round . . . ............................ This is the 25th round of the ongoing corewar tournament. Further information are available on Fizmo's Corewar Info Page: http://www.corewar.info/tournament/cwt.htm The Psycho Pair Round homepage is: http://www.corewar.info/tournament/25.htm .................................................................. _ . _ _ _ _| |___ ___ . | '_| || | / -_|_-< . |_| \_,_|_\___/__/ . . .................................................................. Some would say that corewar battle is about winning. Some would say that winning doesn't matter, that it's all about having as much fun as you can. Well, the fun is there, alright :). However, you'll need to do much more if you want to win this round of Redcoders Frenzy Tournament! You'll have to WIN, you'll have to LOSE and you'll HAVE to TIE... in a way, at least... The key to this round lies in finding the balance between the strong and the weak, choosing weak in a unique way, if possible, planning, considering many available options. Slightly unusual battle parameters make it no easier to win. Will you take the challenge? combat properties: ------------------ CORESIZE: 8192 MAXPROC: 267 MAXCYCLES: 100000 MAXLENGTH: 267 MINDIST: 267 NUM. ROUNDS: 600 Pspace is not allowed! Two warriors per author are NECESSARY!!!! (you can't submit only one warrior - read further for explanation) So, it is a tourney hill size, and the number of cycles, in a medium-process enviroment. But there is more... Here is how the battles will be run, and the score calculated: Players will all submit two warriors, but the score of player won't be calculated as the score of the best scoring warrior by that player, but in a different way. Let's say that player X is fighting player Y. Let x1, x2, y1, y2 denote, respectively, the warriors submitted by the first and second player. Let sc_xi_yj denote the number of points, calculated using standard score formula, that warrior xi got when fighting warrior yj. Then this is the score formula used in this round of Redcoder's Frenzy tournament: k1 equ 1 k2 equ 1.1 k3 equ 1.2 pointsX := k1*bestX - k2*worstX - k3*not_similarX bestX := max{0.5*((sc_x1_y1 - sc_y1_x1) + (sc_x1_y2 - sc_y2_x1)), 0.5*((sc_x2_y1 - sc_y1_x2) + (sc_x2_y2 - sc_y2_x2))} explanation: bestX is the better of the two averaged differences of scores of your warriors against the opponents warriors worstX := min{0.5*((sc_x1_y1 - sc_y1_x1) + (sc_x1_y2 - sc_y2_x1)), 0.5*((sc_x2_y1 - sc_y1_x2) + (sc_x2_y2 - sc_y2_x2))} explanation: worstX is the worse of the two averaged differences of scores of your warriors against the opponents warriors. Notice that if worstX < 0, you gain points!!!! In other words, it is good to have one good warrior that beats the opponent - will contribute to bestX, and one that loses much to your opponent as well!!!! not_similarX := abs(sc_x1_x2 - sc_x2_x1) explanation: to prevent people from submiting a good warrior and something like dat 0, 0 that'll lose horribly to the opponent, this final part of the score is introduced. If one of your warriors defeats the other heavily, it will have a negative impact on the score. Also notice that k3 > k2 > k1, so it is, in a way, more important to have warriors that have mutual W% - L% -> 0, than the warrior that loses a lot to the opponent. But, the best combination of these is what will make the winner of this round! Since handshaking in a usual way is impossible due to absence of pspace, it will be up to your skill to come up with a way to achieve this. Also, don't forget that you also need to make a good warrior, to increase your bestX score. Good luck! .................................................................. _ _ _ _ . __| |___ __ _ __| | (_)_ _ ___ . / _` / -_) _` / _` | | | ' \/ -_) . \__,_\___\__,_\__,_|_|_|_||_\___| . . .................................................................. The DEADLINE is May, 1st, 2006 You'll be sending your entries to the following addresses: tomasev at nspoint.net or pbrain at cincilator.com .................................................................. From: sayembara@gmail.com Subject: Re: REDCODERS FRENZY TOURNAMENT 25 - THE PSYCHO PAIR ROUND Date: 28 Mar 2006 02:33:03 -0800 Message-ID: <1143541983.054712.298890@j33g2000cwa.googlegroups.com> errmmm... any example, with numbers? (I think I better take a nap for a while...) From: =?ISO-8859-2?Q?=A3ukasz_Adamowski?= Subject: Odp: NanoWarrior Date: Tue, 28 Mar 2006 10:38:24 -0500 (EST) Message-ID: <4429404e3ad36@wp.pl> Very interesting articles... I've never thought about nano Q-scans, now I have a lot of ideas. :D They score poor mostly. :( Thanks anyway ;) Lukasz Adamowski -= "War is a problem, never a solution" =- -= "Wojna jest problemem, a nie rozwiazaniem" =- ---------------------------------------------------- Sharon Stone w filmie "Nagi Instynkt 2" w kinach od 29 marca! http://klik.wp.pl/?adr=http%3A%2F%2Fadv.reklama.wp.pl%2Fas%2Fnagi_instynkt.html&sid=712 From: =?ISO-8859-2?Q?=A3ukasz_Adamowski?= Subject: Odp: REDCODERS FRENZY TOURNAMENT 25 - THE PSYCHO PAIR ROUND Date: Tue, 28 Mar 2006 10:38:23 -0500 (EST) Message-ID: <44294272e869f@wp.pl> Frenzy!!! Good to see RF Tour is on. I waited long long time for this message! I will participate for sure!!! Lukasz Adamowski -= "War is a problem, never a solution" =- -= "Wojna jest problemem, a nie rozwiazaniem" =- ---------------------------------------------------- Zwiedzaj z nami Europ�! Oferty na Wielk� Maj�wk� - kliknij i zobacz: http://klik.wp.pl/?adr=http%3A%2F%2Fpasaz.wp.pl%2Flinki_2.html&sid=713 From: sayembara@gmail.com Subject: Re: REDCODERS FRENZY TOURNAMENT 25 - THE PSYCHO PAIR ROUND Date: 28 Mar 2006 14:28:29 -0800 Message-ID: <1143584909.016650.297420@i39g2000cwa.googlegroups.com> Now I think i've got it. 5 fights: war1a vs war2a war1a vs war2b war1b vs war2a war1b vs war2b war1a vs war1b for each fight we have 2 scores -- one for each warrior. A: score x1 - score y1 = 300-100 = 200 B: score x1 - score y2 = 600-100 = 500 C: score x2 - score y1 = 120-100 = 20 D: score x2 - score y2 = 150 - 50 = 100 Total score for war1 is bigger than war2, so take (200+500) as first value. War2 ie. C + D is smaller, so, second value is (20+100). E: abs(score x1 - score x2) = 600 -100 = 500 so, Score=700-1.1(120)-1.2(500)= -32 From: sayembara@gmail.com Subject: Re: REDCODERS FRENZY TOURNAMENT 25 - THE PSYCHO PAIR ROUND Date: 28 Mar 2006 14:58:43 -0800 Message-ID: <1143586723.307316.108770@i39g2000cwa.googlegroups.com> after thinking for a while, dat 0,0 is a good warrior ! Please prove me wrong. Put some evidence if you dare :) From: "erus" Subject: Comparison help Date: 29 Mar 2006 17:31:03 -0800 Message-ID: <1143682263.160490.94430@j33g2000cwa.googlegroups.com> DAT -1, #-23 ... ... ... seq *-3, #7 basicly i need it to skip when the a feild of the DAT is equal to 7. is this possible? From: =?ISO-8859-2?Q?=A3ukasz_Adamowski?= Subject: Re: REDCODERS FRENZY TOURNAMENT 25 - THE PSYCHO PAIR ROUND Date: Thu, 30 Mar 2006 00:45:42 -0500 (EST) Message-ID: <442b152051c6d@wp.pl> Dnia 29-03-2006 o godz. 1:39 sayembara@gmail.com napisal: > after thinking for a while, dat 0,0 is a good warrior ! Actually a pair of two DAT warriors is a good one. After some calculations I can say losing all the time is better than tieing all the time. A pair of DATs scores 30 points in 100 rounds for sure... Wait... But what will happen if the opponent enters with DATs too? You will score worse, but still not worse than tieing. Greets Lukasz Adamowski -= "War is a problem, never a solution" =- -= "Wojna jest problemem, a nie rozwiazaniem" =- ---------------------------------------------------- Bezpiecze�stwo dla wszystkich - gry i zabawy edukacyjne! http://klik.wp.pl/?adr=http%3A%2F%2Fadv.reklama.wp.pl%2Fas%2Fdroga.html&sid=711 From: "Judodudo" Subject: Re: REDCODERS FRENZY TOURNAMENT 25 - THE PSYCHO PAIR ROUND Date: 30 Mar 2006 11:52:56 -0800 Message-ID: <1143748376.563906.70700@t31g2000cwb.googlegroups.com> Lukasz Adamowski wrote: After some calculations I can say losing all the time is better than tieing all the time. But winning is still best, and you're not likely to win a round with only 30/100 points. Therefore, dat 0, 0 is not a great warrior, no? From: sayembara@gmail.com Subject: Re: REDCODERS FRENZY TOURNAMENT 25 - THE PSYCHO PAIR ROUND Date: 30 Mar 2006 14:03:42 -0800 Message-ID: <1143756222.152068.168620@z34g2000cwc.googlegroups.com> Send one top warrior and one dat 0,0. So, now whoever can send one best warrior wins because surely dat 0,0 will bring a lot of points. dat 0,0 is not a great warrior, it just can bring a lot of points :)