From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 08/02/04 Date: 2 Aug 2004 07:54:01 -0400 Message-ID: <200408020409.i72491Mu015745@gevjon.ttsg.com> Weekly Status on 08/02/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Aug 1 10:43:21 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 34/ 28/ 38 Borgir Christian Schmidt 139 30 2 40/ 43/ 17 Dandelion 3 Christian Schmidt 138 116 3 44/ 51/ 5 Claw III Christian Schmidt 137 34 4 31/ 26/ 43 Gargantuan Roy van Rijn 136 16 5 41/ 46/ 13 Strike Two Roy/Fizmo 136 2 6 28/ 22/ 50 paper(paper(paper(clear)) Sascha Zapf 135 99 7 42/ 48/ 10 Arrow Christian Schmidt 135 198 8 34/ 34/ 32 2b||!2b Sascha Zapf 135 54 9 40/ 46/ 14 HazyLazy C 11 CS SG 134 207 10 31/ 28/ 41 elf Christian Schmidt 134 60 11 29/ 26/ 45 slime test 1.00 David Houston 133 325 12 29/ 26/ 45 Gremlin van Rijn/Grabun 132 229 13 29/ 26/ 44 Savage Flowing Battleworn Pascal Hofstee 132 14 14 42/ 52/ 6 Evil Willow John Metcalf 132 23 15 24/ 16/ 60 Maelstrom Roy van Rijn 131 139 16 26/ 21/ 53 Black Knight Christian Schmidt 131 20 17 26/ 21/ 53 unheard-of II Christian Schmidt 131 12 18 30/ 29/ 41 Frantic Roy van Rijn 131 8 19 28/ 27/ 45 Son of Vain Oversby/Pihlaja 130 2563 20 37/ 47/ 16 dreamlike deliberation John Metcalf 128 1 21 20/ 24/ 56 ptestod1 PBT 117 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 08/02/04 Date: 2 Aug 2004 07:56:54 -0400 Message-ID: <200408020406.i724619B015690@gevjon.ttsg.com> Weekly Status on 08/02/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sat Jul 31 09:13:31 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 44/ 35/ 21 Fatamorgana X Zul Nadzri 153 1 2 41/ 37/ 23 The X Machine Zul Nadzri 144 25 3 43/ 44/ 13 Fire and Ice II David Moore 142 114 4 39/ 39/ 21 Eliminator X Zul Nadzri 139 26 5 37/ 39/ 24 Black Moods Ian Oversby 134 210 6 35/ 40/ 25 Ogre Christian Schmidt 131 162 7 24/ 18/ 58 xd100 test David Houston 130 11 8 35/ 40/ 25 Simply Intelligent Zul Nadzri 130 7 9 19/ 8/ 74 Evol Cap 4 X John Wilkinson 129 283 10 32/ 35/ 33 Trefoil F 13 Steve Gunnell 129 97 11 27/ 26/ 46 KAT v5 Dave Hillis 128 146 12 26/ 24/ 50 Olivia X Ben Ford 127 95 13 24/ 21/ 56 Glenstorm John Metcalf 127 76 14 25/ 24/ 51 Venom v0.2b Christian Schmidt 127 236 15 18/ 11/ 72 Denial David Moore 125 155 16 15/ 7/ 78 Evolve X v4.0 John Wilkinson 123 231 17 20/ 16/ 64 Kin John Metcalf 123 122 18 34/ 45/ 22 Giant Hazy Test 13 Steve Gunnell 123 41 19 17/ 14/ 69 Blotter X J. Pohjalainen 121 16 20 30/ 39/ 31 Controlled Aggression Ian Oversby 121 214 21 12/ 25/ 63 faint harmonics John Metcalf 99 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 08/02/04 Date: 2 Aug 2004 07:57:52 -0400 Message-ID: <200408020403.i72431lA015653@gevjon.ttsg.com> Weekly Status on 08/02/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Aug 1 09:55:13 EDT 2004 # Name Author Score Age 1 Dodge Viper Christian Schmidt 11 39 2 The Survivor Philip Kendall 11 85 3 Her Majesty P.Kline 10 474 4 Leap test Christian Schmidt 9 41 5 not king of the hill FatalC 8 200 6 foundling John Metcalf 4 21 7 faint harmonics John Metcalf 3 2 8 fine powder John Metcalf 2 12 9 Zorca Christian Schmidt 1 32 10 dreamlike deliberation John Metcalf 1 1 11 wicked witch of the west Simon Wainwright 0 0 From: Koth Subject: KOTH.ORG: Status - Standard 08/02/04 Date: 2 Aug 2004 07:58:49 -0400 Message-ID: <200408020400.i72401Zl015604@gevjon.ttsg.com> Weekly Status on 08/02/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Mon Jul 26 11:59:14 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 42/ 28/ 31 The Next Step '88 David Houston 156 12 2 37/ 27/ 36 Freight Train David Moore 147 197 3 37/ 27/ 36 Test Alexander (Sasha) Wa 146 136 4 42/ 40/ 17 Tangle Trap 3 David Moore 144 25 5 36/ 28/ 36 Guardian Ian Oversby 144 196 6 35/ 26/ 40 A.I.P. Christian Schmidt 143 4 7 42/ 41/ 17 My 1st try Christian Schmidt 143 28 8 45/ 48/ 7 Scan Test C 6 Steve Gunnell 142 35 9 43/ 44/ 13 Cold as November Rain... John Metcalf 142 10 10 44/ 47/ 10 Speeed 88mph Christian Schmidt 141 2 11 41/ 42/ 17 Stasis David Moore 139 304 12 34/ 32/ 34 Pixie 88 Lukasz Grabun 137 26 13 38/ 41/ 20 PacMan David Moore 135 226 14 35/ 35/ 30 vala John Metcalf 135 119 15 26/ 18/ 56 unheard-of '88 Christian Schmidt 135 3 16 35/ 37/ 29 The Seed Roy van Rijn 133 14 17 40/ 48/ 12 Blurstone '88 M. J. Pihlaja 131 1 18 38/ 48/ 14 Blur '88 Anton Marsden 129 234 19 36/ 44/ 19 '88 test IV John Metcalf 128 90 20 38/ 50/ 12 Foggy Swamp Beppe Bezzi 126 193 21 36/ 47/ 17 B-Scanner live in vain Matt Hastings 125 0 From: chipw@mdli.com (Chip Wendell) Subject: Re: Corewar History Date: 3 Aug 2004 11:39:36 -0700 Message-ID: > 'MICE' almost repeated the history in Round 19 but it just couldn't beat its master! > > Congratulations ! :) Woo hoo! I just got back from vacation. Good news to come home to. Three in a row! Not bad for a living fossil. - Chip From: Sascha Zapf Subject: RF20 Date: Tue, 03 Aug 2004 12:20:43 +0200 Message-ID: T - 3 days -- Parlez vous Redcode? From: Sascha Zapf Subject: Happy 100th Challenge Date: Tue, 03 Aug 2004 12:24:34 +0200 Message-ID: Hi, paper(paper(paper(clear))) is now 100 Challenges old, my first Warrior ever who reaches an Age like this. May he live long. Pure Stones, or Stone with A/B-imps are welcome to the Party ;-) Sascha -- Parlez vous Redcode? From: Sascha Zapf Subject: RF20 Date: Wed, 04 Aug 2004 15:17:47 +0200 Message-ID: T - 2 days -- Parlez vous Redcode? From: neogryzormail@mixmail.com (Neogryzor) Subject: Ethanol vE ,(stone/imp) Date: 5 Aug 2004 03:31:10 -0700 Message-ID: <242debe4.0408050231.32c51e12@posting.google.com> This is a highly optimized stone/imp i wrote a year ago. Most of my stone-warriors use a stone like this. It uses an old Q^3 and A-imps, but i think it can be improved and updated easily. Otherwise it is strong enough to enter the hill without many changes, at least it entered again a couple of months ago without any change, (unfortunately not surviving for long... :\ ). I'll post the optimization results... if I find the file. here it is: ;redcode-94nop ;name Ethanol vE ;author G.Labarga ;assert CORESIZE==8000 ;strategy Q^3->stone/imp ;strategy ver 1.1 boots 7pt imp-pump and stone, (Rosebudish stone) ;strategy ver 1.2 Modified Thunderstrike-like stone -> d-clear ;strategy ver 1.3 better offset constants ;strategy ver 1.4 modified stone, new boot code ;strategy ver 1.5 modified imp launcher (3pt), boot and initial structure ;strategy ver 1.6 Optimized all the constants IP_LOC EQU SCL+5049 ;where the imp-pump is ST_LOC EQU IP_LOC - 281 ;where the stone is SG_LOC EQU ST_LOC - 50 ILOC EQU 4423 ;imp's first point ISTEP EQU 2667 ;3-pt imps STEP EQU 2684 DIST EQU CHK+2*STEP DIST2 EQU DIST+(1695*STEP)+1 GATE EQU SCL-3 BOOT: MOV CBM,*SPTR MOV BMB,@SPTR SUB.F #10,>7 ;(>GOST -> SPTR) SPL 0,}0 ;3 procs. (1|2 non parallel) MOV.I SP2 MOV.I 5 procs, source ptr gate MOV.I {SSRC,GATE-140 CLR: MOV CBM+10,>GATE DJN.F CLR,>GATE CBM: DAT <2667,10 ;9 STONE: SPL #-2*STEP,<-2*STEP REF: MOV {DIST2,*DIST MOV BMB+7,@REF CHK: SUB.F STONE,REF DJN.F @CHK,{3692 ;<- That location is bombed later BMB: DAT STEP,SCL-CHK-44 IPMP: SPL #-100,>-5969 ADD.A #ISTEP+1,IGO IGO: DJN.F IPMP+ILOC-ISTEP+2,qTab sne qd+qf+17*qs , qf+17*qs seq qf+16*qs , Subject: RF20 Date: Thu, 05 Aug 2004 12:59:48 +0200 Message-ID: T - 1 Day -- Parlez vous Redcode? From: achillu@tin.it (LAchi) Subject: Re: R.I.P Date: 6 Aug 2004 07:56:11 -0700 Message-ID: <1eeccf2e.0408060656.45b2d41@posting.google.com> Standing ovation! Sascha Zapf wrote in message news:... > Son of Vain has been pushed off the ICWS '94 No Pspace hill. > The current ICWS '94 No Pspace hill: > Last battle concluded at : Thu Aug 5 13:49:48 EDT 2004 > > Thanx to Joonas and Ian for the best Warrior ever made in Redcode. > > To many paper and not enough scanner to protect him... > > Rest in Peace...... > > Sascha From: achillu@tin.it (LAchi) Subject: Evolved warrior KOTH at SAL tiny! Date: 6 Aug 2004 08:00:40 -0700 Message-ID: <1eeccf2e.0408060700.43e9376d@posting.google.com> For the first time ever at SAL tiny hill, an evolved warrior is KOTH: SledgeHammer (RBv1.5r9) by The MicroGP Corewars Collective Congratulations to the MicroGP team and their RedBorgs. From: Sascha Zapf Subject: R.I.P Date: Fri, 06 Aug 2004 10:58:39 +0200 Message-ID: Son of Vain has been pushed off the ICWS '94 No Pspace hill. The current ICWS '94 No Pspace hill: Last battle concluded at : Thu Aug 5 13:49:48 EDT 2004 Thanx to Joonas and Ian for the best Warrior ever made in Redcode. To many paper and not enough scanner to protect him... Rest in Peace...... Sascha -- Parlez vous Redcode? From: Sascha Zapf Subject: Redcoders Frenzy 20 : The "Frankenstein" Round Date: Fri, 06 Aug 2004 13:03:27 +0200 Message-ID: .................................................................. . _____ _ _ . | __ \ | | | | . | |__) |___ __| | ___ ___ __| | ___ _ __ ___ . | _ // _ \/ _` |/ __/ _ \ / _` |/ _ \ '__/ __| . | | \ \ __/ (_| | (_| (_) | (_| | __/ | \__ \ . |_| \_\___|\__,_|\___\___/ \__,_|\___|_| |___/ . . ______ . | ____| . | |__ _ __ ___ _ __ _____ _ . | __| '__/ _ \ '_ \|_ / | | | . | | | | | __/ | | |/ /| |_| | . |_| |_| \___|_| |_/___|\__, | . __/ | . |___/ . .................................................................. The ongoing corewar tournament ____ ____ |__ \ / __ \ ) | / \ | / /| | | | / /_| \__/ | |___________/ ............................................. . . . The Code Creator's "Frankenstein" Round . . . ............................................. This is the 20th round of the ongoing corewar tournament. Further information are available on Fizmo's Corewar Info Page: http://www.corewar.info/tournament/cwt.htm The "Frankenstein" Round homepage is: http://www.corewar.info/tournament/20.htm .................................................................. _ . _ _ _ _| |___ ___ . | '_| || | / -_|_-< . |_| \_,_|_\___/__/ . . .................................................................. Hill spec: Coresize : 8000 Maxprocess : 8000 Cycles : 80000 Lenght : 100+ Distance : 500 Rounds : 250 Round Robin pSpace : 500 Two entry's for each participant. I hope this round is tricky enough to break the Summerhole of CW. For your entry you can choose one of three instruction-pools. Out of this pool you must create a Warrior. In the creators code all instruction are allowed, but the a-field (the source) must always be one of the instructionpools labels ( PA1, PB1, PC4 etc ). Note the magic of the immediate-adressing ! Example: mov.i $PB1,label+2 or add.ab *PB4,label+9 Exception from this is the p-switcher code. If your first instruction is called start, then between start and start+500 you can do anything you want. But after start+500 until start only read-access is allowed. Note that predrement or postinkrement reading is even a write-access. Shortcut's Instruction-pool-instruction : A Creator-code-instruction : B Created-warrior-instruction : C The last instruction of the creator must be a jmp $.... At the moment the execution is on this instruction all instructions A and B, except the jmp-instruction must be deleted. It's allowed to overwrite A or B with C. It's allowed to embed A in C. Means CCCCCCCAACCCCCC is allowed. For each entry you have 15 actionpoints (AP). After choosing and copy'n'paste the pool to your source you can do some changes at it. Take the possible change and it's cost from the list below. ======= I M P O R T A N T ===================== Each not used AP will be added to entry's score =============================================== Actions: ============================================ Flip modifier : A -> B -> A AB -> BA -> AB F -> X -> F Cost 2 AP ============================================ Flip adressing mode : # -> $ -> # * -> @ -> * { -> } -> { < -> > -> < Cost 2 AP ============================================ Flip instruction : add -> sub -> add seq -> sne -> seq jmz -> jmn -> jmz div -> mul -> div dat -> nop -> dat Cost 4 AP ============================================ Change modifier : Cost 3 AP Change addressing mode : Cost 4 AP Change instruction : Cost 9 AP ============================================ Swap two constants : Cost 2 AP Swap two instructions : Cost 3 AP ============================================ Increase entry's length for 5 instruktions : Cost 2 AP ============================================ Save B-instruction from clear : Cost 1 AP ( Last means that more than the jmp-instruction can be visible at the end of creators code ). Example Use this action two times, it's allowed that following snippet is visible spl 1 spl 1 spl 1 jmp $... ============================================ Please comment each action in your entry's source. Example: ;Flip modifier of A-field PB01 : n points ;Swap constants A:PB04 with B:PB03 : n points ;Change instruction PB8 to spl : n points Here are the pool's ( Please copy'n'paste ) ; ======================== ; Pool A - 10 Instructions ; ======================== PA00 spl $ 199 , # 17 PA01 jmp @ 11 , < 47 PA02 mov.i * -3 , } -3 PA03 mul.ab # 367 , $ 0 PA04 spl @ -10 , # 10 PA05 mov.i > 2667 , } -5 PA06 mov.i # 1143 , $ -2 PA07 mod.f $ -1 , $ 16 PA08 sne.b $ 22 , $ 3044 PA09 sub.a $ 0 , $ 2365 ; ======================== ; Pool B - 15 Instructions ; ======================== PB00 spl @ 1 , # 2667 PB01 mov.i # 2 , * 1143 PB02 dat < 3 , < 889 PB03 sne.i < 1000 , @ 1006 PB04 seq.i < 4 , $ 17 PB05 add.f $ 5 , $ 7 PB06 jmp @ 6 , < 61 PB07 jmz.f $ -6 , > 95 PB08 mov.i * -5 , < 13 PB09 djn.b $ -4 , # 0 PB10 spl # 3044 , # 2365 PB11 mov.ab < -3 , $ 12 PB12 slt.a $ -3 , $ -9 PB13 mov.i > -2 , } -8 PB14 jmp $ -1 , { -7 ; ======================== ; Pool C - 25 Instructions ; ======================== PC00 spl @ 3077 , # 2 PC01 spl $ -3 , # 3 PC02 mov.i > -1 , } -1 PC03 mov.i } 22 , > 5 PC04 dat < 2667 , < 5334 PC05 mov.ab # 0 , > 7 PC06 sne.i $ 3044 , $ 3364 PC07 sne.x $ 20 , $ 11 PC08 seq.f * 1143 , * 13 PC09 seq.b $ 1203 , < 17 PC10 mov.i $ 2376 , $ -7 PC11 mov.ab $ 4 , @ 19 PC12 jmz.f $ 1 , $ 23 PC13 djn.x $ 1111 , < 29 PC14 djn.a $ -4 , # 1000 PC15 spl # 12 , # 31 PC16 add.ba # 2365 , $ -3 PC17 add.x $ 0 , $ 37 PC18 slt.a $ 889 , $ (joker) PC19 jmp $ -2667 , $ 41 PC20 mul.ab # -8 , $ 43 PC21 mov.i # 3315 , * 47 PC22 mov.i # -1 , $ 53 PC23 spl $ (joker) , < 2936 PC24 jmn $ -2 , @ 59 * (joker) constants can be choosed by you. .................................................................. _ _ _ _ . __| |___ __ _ __| | (_)_ _ ___ . / _` / -_) _` / _` | | | ' \/ -_) . \__,_\___\__,_\__,_|_|_|_||_\___| . . .................................................................. September 18, 2004 Please don't send entries before September 1, 2004 because i would take part too. -------------------------------------------------------------- Please notify: You have to send your entries to Sascha Zapf (nc-zapfsa@netcologne.de) -------------------------------------------------------------- This round is dedicated to Son of Vain - the most famous warrior in CW's history Good luck, may be the core with you! -- Parlez vous Redcode? From: Michal Janeczek Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: Fri, 6 Aug 2004 15:41:44 +0200 Message-ID: The rules are a bit complicated, and I'm sure I didn't get them right.. Maybe you could post an example warrior (not necessarily competitive) that would demonstrate them? Michal From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: 6 Aug 2004 16:32:22 -0700 Message-ID: Please correct me. I know I still missing something: STEP 1 - select either instruction pool A, B or C STEP 2 - create a warrior out of this at other cores. Use the given rules. STEP 3 - make sure use only 15 AP STEP 4 - delete the instruction pool and creation code instuction STEP 5 - execute the created codes and win the round (step 5 can be parallel to step 4) From: Sascha Zapf Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: Fri, 06 Aug 2004 16:56:01 +0200 Message-ID: Michal Janeczek wrote: > The rules are a bit complicated, and I'm sure I didn't get them right.. > Maybe you could post an example warrior (not necessarily competitive) > that would demonstrate them? > > Michal Howdy, here is an examplewarrior, he wouldn't take part, it's not one of my entry's. He creates a little stone, should not score so good, but is created very fast. 10 AP are saved, so the score would be raised by 10 Points after the fight. In the moment when the jmp position would be executed only the jmp and the dat ( which is the result of an action ) are left from creators code and the pool ) You can clear like you want. I know it's hard to clear anything without leaf any instruction..But you can buy one or two instructions for leave left. But if you can, you should try to kill anything. It doesn't matter how many process are on the jmp-instruction. So, insert the pool in your code, and do the changes you need. Please comment them like i have done. Any questions are welcome Sascha ;redcode-rf20 ;name stoneclone ;author clonestone ;strategy kind of stone ;assert CORESIZE==8000 position EQU start + 400 ;position of the created Warrior start mov.i $PA00, position mov.i $PA02, position+1 sub.f $PA09, position+1 mov.i $PA09, position+2 mov.ab $PA07, position+2 mov.a $PA02, position+2 ; created the warrior, now clear anything spl 2 spl 1 spl 1 spl 1 mov.i start-1,>jl ; to get rid of the code pool mov.i start-1,>ptr jl jmp position, PA00 ptr dat 0,start ; ======================== ; Pool A - 10 Instructions ; ======================== PA00 spl # 199 , # 17 PA01 jmp @ 11 , < 47 PA02 mov.i * -3 , } -3 PA03 mul.ab # 367 , $ 0 PA04 spl @ -10 , # 10 PA05 mov.i > 2667 , } -5 PA06 mov.i # 1143 , $ -2 PA07 mod.f $ -1 , $ 16 PA08 sne.b $ 22 , $ 3044 PA09 sub.b $ 0 , $ 2365 ; List of actions i have done. ;1) Flip A-Field adressing of PA00 : 2 AP ;2) Flip Modifier of PA09 : 2 AP ;3) Save 1 instruction of the creator : 1 AP end start -- Parlez vous Redcode? From: Sascha Zapf Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: Sat, 07 Aug 2004 01:47:24 +0200 Message-ID: Zul Nadzri wrote: > Please correct me. I know I still missing something: > > STEP 1 - select either instruction pool A, B or C > STEP 2 - create a warrior out of this at other cores. Use the given > rules. > STEP 3 - make sure use only 15 AP > STEP 4 - delete the instruction pool and creation code instuction > STEP 5 - execute the created codes and win the round (step 5 can be > parallel to step 4) Step 5 must be after Step 4, the instruction pool and the creation code must be deleted when jmp to the created code. ( Exception : If you have used some AP to save creationcode instruction from deleting. Note: Step 3: For each AP you don't use, your score will be increased by 1 Point. Sascha -- Parlez vous Redcode? From: =?ISO-8859-2?Q?=A3ukasz_Adamowski?= Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: 7 Aug 2004 10:03:24 -0400 Message-ID: <4114b7bf37f82@wp.pl> Dnia 7-08-2004 o godz. 2:00 sayembara@yahoo.com (Zul Nadzri) napisal: > Please correct me. I know I still missing something: > > STEP 1 - select either instruction pool A, B or C > STEP 2 - create a warrior out of this at other cores. Use the given > rules. > STEP 3 - make sure use only 15 AP > STEP 4 - delete the instruction pool and creation code instuction > STEP 5 - execute the created codes and win the round (step 5 can be > parallel to step 4) I'd rather see it like this: 1. Choose instruction pool. 2. Modify chosen pool using your action points. 3. Create warrior out of modified pool (I means copying instructions you like in any order you like, but somewhere between 'start' and 'start+500') 4. Delete all what is NOT a warrior code (exception - the last JMP istruction) 5. Execute your warrior and win. :] I think it's another round good for evolvers. Infortunately I haven't written any Redcode evolver yet. Maybe it's the highest time to do it? Greetings Lukasz P.S. BTW: Sascha, if I don't want to use all instructions from the pool do I have to include it all in my warrior? I also guess I have to include _modified_ pool in my code with comments, what I have done with it. (?) --== "War is a problem, never a solution"/"Wojna jest problemem, a nie rozwiazaniem" ==-- ---------------------------------------------------- Czy chcesz wiedzie� wi�cej o komputerach? Szukasz najnowszych wiadomosci, plik�w, program�w, porad? Mamy co� dla Ciebie -> Nowy serwis o komputerach: http://klik.wp.pl/?adr=http%3A%2F%2Fkomputery.wp.pl&sid=222 From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: 7 Aug 2004 17:29:25 -0700 Message-ID: ?ukasz Adamowski wrote in message news:<4114b7bf37f82@wp.pl>... > Dnia 7-08-2004 o godz. 2:00 sayembara@yahoo.com (Zul Nadzri) > napisal: > > Please correct me. I know I still missing something: > > > > STEP 1 - select either instruction pool A, B or C > > STEP 2 - create a warrior out of this at other cores. Use the > given > > rules. > > STEP 3 - make sure use only 15 AP > > STEP 4 - delete the instruction pool and creation code > instuction > > STEP 5 - execute the created codes and win the round (step 5 > can be > > parallel to step 4) > > I'd rather see it like this: > 1. Choose instruction pool. > 2. Modify chosen pool using your action points. > 3. Create warrior out of modified pool (I means copying > instructions you like in any order you like, but somewhere > between 'start' and 'start+500') > 4. Delete all what is NOT a warrior code (exception - the last > JMP istruction) > 5. Execute your warrior and win. :] > How about p-switcher? 1. Use our own switch 2. Make sure it is deleted afterwards? From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: R.I.P Date: 7 Aug 2004 17:40:56 -0700 Message-ID: achillu@tin.it (LAchi) wrote in message news:<1eeccf2e.0408060656.45b2d41@posting.google.com>... > Standing ovation! > > Sascha Zapf wrote in message news:... > > Son of Vain has been pushed off the ICWS '94 No Pspace hill. > > The current ICWS '94 No Pspace hill: > > Last battle concluded at : Thu Aug 5 13:49:48 EDT 2004 > > > > Thanx to Joonas and Ian for the best Warrior ever made in Redcode. > > > > To many paper and not enough scanner to protect him... > > > > Rest in Peace...... > > > > Sascha Looking forward... If Vain equals to Stoneage era, Son of Vain equals to metal hand held weapon era, I think soon Grandson of Vain will emerge with weapon at least with arrow or early gunpowder technology. I believe this is not impossible unless Son of Vain decides to be single. (hmm... any siblings?) From: Sascha Zapf Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: Sat, 07 Aug 2004 22:49:12 +0200 Message-ID: ?ukasz Adamowski wrote: > Dnia 7-08-2004 o godz. 2:00 sayembara@yahoo.com (Zul Nadzri) > napisal: >> Please correct me. I know I still missing something: >> >> STEP 1 - select either instruction pool A, B or C >> STEP 2 - create a warrior out of this at other cores. Use the > given >> rules. >> STEP 3 - make sure use only 15 AP >> STEP 4 - delete the instruction pool and creation code > instuction >> STEP 5 - execute the created codes and win the round (step 5 > can be >> parallel to step 4) > > I'd rather see it like this: > 1. Choose instruction pool. > 2. Modify chosen pool using your action points. > 3. Create warrior out of modified pool (I means copying > instructions you like in any order you like, but somewhere > between 'start' and 'start+500') > 4. Delete all what is NOT a warrior code (exception - the last > JMP istruction) > 5. Execute your warrior and win. :] > So far so right... > I think it's another round good for evolvers. Infortunately I > haven't written any Redcode evolver yet. Maybe it's the highest > time to do it? > Greetings > Lukasz > Hmm, i don't think that this is a classic evolver round. ut every evolver is invited to try this round. > P.S. BTW: Sascha, if I don't want to use all instructions from > the pool do I have to include it all in my warrior? I also guess > I have to include _modified_ pool in my code with comments, what > I have done with it. (?) > Once choosen a pool you must include him complete, that's one of the strategic points of the round. Small pool, fast cleared but longer creation code. Large pool, some very useful instructions inside but slow to clear. Please, write comments what you have done with your actionpoints. ( see Example Warrior ) > --== "War is a problem, never a solution"/"Wojna jest problemem, > a nie rozwiazaniem" ==-- > > ---------------------------------------------------- > Czy chcesz wiedzie� wi�cej o komputerach? > Szukasz najnowszych wiadomosci, plik�w, program�w, porad? > Mamy co� dla Ciebie -> Nowy serwis o komputerach: > http://klik.wp.pl/?adr=http%3A%2F%2Fkomputery.wp.pl&sid=222 -- Parlez vous Redcode? From: "Robert Macrae" Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: Sat, 7 Aug 2004 23:44:10 +0100 Message-ID: <41155bb0$0$29944$cc9e4d1f@news.dial.pipex.com> > start mov.i $PA00, position > mov.i $PA02, position+1 > sub.f $PA09, position+1 > mov.i $PA09, position+2 > mov.ab $PA07, position+2 > mov.a $PA02, position+2 So this is "Creator Code" and has to have A fields pointing into pool. Could it also point B fields into the pool, and make changes, like MOV.x $PA00, $PA00 or NOP $PA00, spl 2 > spl 1 > spl 1 > spl 1 > mov.i start-1,>jl ; to get rid of the code pool > mov.i start-1,>ptr > jl jmp position, PA00 > ptr dat 0,start This doesn't have restricted A fields because it is "P Code" rather than "Creator Code"? Aside from the restriction of not writing outside the 500 cells, what are the restrictions on "P Code" -- for example, presumably it can't modify the pool? Presumably the created warriors have to contain only pool instructions, and these can be modified only by spending action points? Robert From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round (Summary ver 1) Date: 8 Aug 2004 10:01:50 -0700 Message-ID: Just to make sure... SUMMARY - VER 1 STEP 1 - Choose ONLY ONE intruction pool. Copy in FULL package. STEP 2 - Modify the pool within the 15 AP limit. Rules applied. STEP 3 - Create a warrior from the modified pool. Freely choose any lines and order. Must be copied between 'start' and 'start+500' STEP 4 - Delete all codes except the last JMP instruction and the newly created warrior code. If you have unused AP, you may leave some lines undeleted up to the number of AP left STEP 5 - Jmp to warrior code and win the round From: "Robert Macrae" Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: Sun, 8 Aug 2004 10:02:51 +0100 Message-ID: <4115f286$0$29952$cc9e4d1f@news.dial.pipex.com> > mov.i $PA02, position+1 > sub.f $PA09, position+1 So creator code MAY modify the created warrior, subject only to the A field pointing into the pool. Can P Code also modify the created warrior? Does the Pool have to appear in the order given, or can it be permuted? Must the Pool appear in full if only a subset of the instructions are used? Robert From: "Robert Macrae" Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: Sun, 8 Aug 2004 19:31:29 +0100 Message-ID: <4116ab7a$0$29930$cc9e4d1f@news.dial.pipex.com> > You can clear like you want. I know it's hard to clear anything > without leaf any instruction..But you can buy one or two instructions > for leave left. But if you can, you should try to kill anything. Presumably the instructions that are left cannot be active parts of the warrior? Otherwise you could just pay 14 points, delete the pool and enter an arbitrary 7-instruction warrior... Robert From: Sascha Zapf Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: Sun, 08 Aug 2004 21:18:16 +0200 Message-ID: Robert Macrae wrote: >> mov.i $PA02, position+1 >> sub.f $PA09, position+1 > > So creator code MAY modify the created warrior, subject only to the A > field > pointing into the pool. Can P Code also modify the created warrior? You can have a p-switcher without code limitations. You can have a code creator, with the limitation that he had to have always one of the pool's labels at the source. After creating you must clean the core without any code limitation. All parts can read all over the core, but write only in the first 500 instructions. > > Does the Pool have to appear in the order given, or can it be permuted? > > Must the Pool appear in full if only a subset of the instructions are > used? You must use the complete pool in the given order... > > Robert -- Parlez vous Redcode? From: Sascha Zapf Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: Sun, 08 Aug 2004 21:24:52 +0200 Message-ID: Robert Macrae wrote: >> start mov.i $PA00, position >> mov.i $PA02, position+1 >> sub.f $PA09, position+1 >> mov.i $PA09, position+2 >> mov.ab $PA07, position+2 >> mov.a $PA02, position+2 > > So this is "Creator Code" and has to have A fields pointing into pool. > Could it also point B fields into the pool, and make changes, like > MOV.x $PA00, $PA00 or > NOP $PA00, >> spl 2 >> spl 1 >> spl 1 >> spl 1 >> mov.i start-1,>jl ; to get rid of the code pool >> mov.i start-1,>ptr >> jl jmp position, PA00 >> ptr dat 0,start > > This doesn't have restricted A fields because it is "P Code" rather than > "Creator Code"? The P-switcher and the clear code after the creators code aren't under the A-field restrictions. > > Aside from the restriction of not writing outside the 500 cells, what are > the restrictions on "P Code" -- for example, presumably it can't modify > the pool? creators code or p-switcher code can modify the pool. with the AP you can do it faster without runtime cost. > > Presumably the created warriors have to contain only pool instructions, > and these can be modified only by spending action points? > like wrote above you can modify the pool with ap and with the creators code. But - example. If your warrior you have to create works fine with an instruction from the pool, but one of the constants is not so good but you need that constants in another part of the warrior, you can use some AP for swapping the constants instead of three mov's for swapping and erasing another constant of the pool. AP's are good for things you absolutely need or thing that are to long to code in the creator. But it is always a good idea to save some AP because they would be added to your entry's points after the fight. > Robert Sascha -- Parlez vous Redcode? From: Sascha Zapf Subject: RF20 Date: Sun, 08 Aug 2004 22:56:16 +0200 Message-ID: Hi, some participants have serious trouble with the rules, so i decided that i don't take part. Now you can send me your Sources and ask more detailed what your Problem's Sascha -- Parlez vous Redcode? From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: Redcoders Frenzy 20 : The "Frankenstein" Round Date: 9 Aug 2004 06:48:16 -0700 Message-ID: "Robert Macrae" wrote in message news:<4116ab7a$0$29930$cc9e4d1f@news.dial.pipex.com>... > > You can clear like you want. I know it's hard to clear anything > > without leaf any instruction..But you can buy one or two instructions > > for leave left. But if you can, you should try to kill anything. > > Presumably the instructions that are left cannot be active parts of the > warrior? Otherwise you could just pay 14 points, delete the pool and enter > an arbitrary 7-instruction warrior... > > Robert I am still not clear. Please give another example...p-warrior with a 4-line dwarf and scanner Rave. From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 08/09/04 Date: 9 Aug 2004 09:49:34 -0400 Message-ID: <200408090409.i794905S021317@gevjon.ttsg.com> Weekly Status on 08/09/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Aug 8 16:32:53 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 38/ 26/ 36 Hullabaloo Roy van Rijn 149 17 2 36/ 28/ 35 Borgir Christian Schmidt 145 52 3 44/ 44/ 12 Strike Two Roy/Fizmo 144 24 4 32/ 21/ 47 paper(paper(paper(clear)) Sascha Zapf 144 121 5 28/ 14/ 58 Maelstrom Roy van Rijn 142 161 6 34/ 25/ 41 Gargantuan Roy van Rijn 142 38 7 38/ 33/ 29 2b||!2b Sascha Zapf 142 76 8 30/ 19/ 51 Black Knight Christian Schmidt 142 42 9 42/ 43/ 15 Dandelion 3 Christian Schmidt 141 138 10 34/ 27/ 39 elf Christian Schmidt 141 82 11 33/ 24/ 43 slime test 1.00 David Houston 141 347 12 43/ 47/ 10 Arrow Christian Schmidt 140 220 13 42/ 45/ 13 HazyLazy C 11 CS SG 139 229 14 32/ 26/ 42 Savage Flowing Battleworn Pascal Hofstee 139 36 15 32/ 25/ 43 Remembering Vain Roy van Rijn 138 12 16 44/ 50/ 5 Claw III Christian Schmidt 138 56 17 32/ 26/ 43 Gremlin van Rijn/Grabun 138 251 18 40/ 43/ 17 Attacker in the Darkness Christian Schmidt 137 5 19 29/ 22/ 49 unheard-of II Christian Schmidt 136 34 20 5/ 0/ 0 Viva La Bomba Christian Schmidt 14 1 21 2/ 98/ 0 0 0 7 0 From: Koth Subject: KOTH.ORG: Status - Standard 08/09/04 Date: 9 Aug 2004 09:50:35 -0400 Message-ID: <200408090400.i79400s2021149@gevjon.ttsg.com> Weekly Status on 08/09/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Mon Jul 26 11:59:14 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 42/ 28/ 31 The Next Step '88 David Houston 156 12 2 37/ 27/ 36 Freight Train David Moore 147 197 3 37/ 27/ 36 Test Alexander (Sasha) Wa 146 136 4 42/ 40/ 17 Tangle Trap 3 David Moore 144 25 5 36/ 28/ 36 Guardian Ian Oversby 144 196 6 35/ 26/ 40 A.I.P. Christian Schmidt 143 4 7 42/ 41/ 17 My 1st try Christian Schmidt 143 28 8 45/ 48/ 7 Scan Test C 6 Steve Gunnell 142 35 9 43/ 44/ 13 Cold as November Rain... John Metcalf 142 10 10 44/ 47/ 10 Speeed 88mph Christian Schmidt 141 2 11 41/ 42/ 17 Stasis David Moore 139 304 12 34/ 32/ 34 Pixie 88 Lukasz Grabun 137 26 13 38/ 41/ 20 PacMan David Moore 135 226 14 35/ 35/ 30 vala John Metcalf 135 119 15 26/ 18/ 56 unheard-of '88 Christian Schmidt 135 3 16 35/ 37/ 29 The Seed Roy van Rijn 133 14 17 40/ 48/ 12 Blurstone '88 M. J. Pihlaja 131 1 18 38/ 48/ 14 Blur '88 Anton Marsden 129 234 19 36/ 44/ 19 '88 test IV John Metcalf 128 90 20 38/ 50/ 12 Foggy Swamp Beppe Bezzi 126 193 21 36/ 47/ 17 B-Scanner live in vain Matt Hastings 125 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 08/09/04 Date: 9 Aug 2004 09:50:32 -0400 Message-ID: <200408090403.i79430E1021234@gevjon.ttsg.com> Weekly Status on 08/09/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Aug 8 11:40:46 EDT 2004 # Name Author Score Age 1 Dodge Viper Christian Schmidt 14 46 2 Leap test Christian Schmidt 9 48 3 Attacker in the Darkness Christian Schmidt 6 1 4 The Survivor Philip Kendall 6 92 5 Her Majesty P.Kline 5 481 6 not king of the hill FatalC 5 207 7 across the grasslands John Metcalf 4 5 8 fine powder John Metcalf 4 19 9 foundling John Metcalf 4 28 10 Zorca Christian Schmidt 4 39 11 grasshopper without qscan Simon Wainwright 2 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 08/09/04 Date: 9 Aug 2004 09:50:30 -0400 Message-ID: <200408090406.i79460wV021281@gevjon.ttsg.com> Weekly Status on 08/09/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sun Aug 8 10:39:07 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 45/ 35/ 20 Fatamorgana X Zul Nadzri 154 1 2 42/ 36/ 22 The X Machine Zul Nadzri 148 25 3 43/ 44/ 13 Fire and Ice II David Moore 143 114 4 40/ 39/ 21 Eliminator X Zul Nadzri 141 26 5 28/ 18/ 54 xd100 test David Houston 139 11 6 38/ 38/ 24 Black Moods Ian Oversby 138 210 7 22/ 8/ 70 Evol Cap 4 X John Wilkinson 137 283 8 35/ 34/ 31 Trefoil F 13 Steve Gunnell 137 97 9 30/ 24/ 46 Olivia X Ben Ford 136 95 10 30/ 24/ 46 Venom v0.2b Christian Schmidt 136 236 11 28/ 21/ 51 Glenstorm John Metcalf 135 76 12 37/ 39/ 24 Ogre Christian Schmidt 135 162 13 30/ 26/ 44 KAT v5 Dave Hillis 134 146 14 22/ 11/ 67 Denial David Moore 134 155 15 36/ 40/ 24 Simply Intelligent Zul Nadzri 132 7 16 37/ 43/ 20 Giant Hazy Test 13 Steve Gunnell 131 41 17 23/ 16/ 60 Kin John Metcalf 131 122 18 18/ 7/ 75 Evolve X v4.0 John Wilkinson 130 231 19 34/ 38/ 29 Controlled Aggression Ian Oversby 130 214 20 21/ 14/ 65 Blotter X J. Pohjalainen 128 16 21 7/ 85/ 8 rickety old redcode Simon Wainwright 29 0 From: Sascha Zapf Subject: RF20 - FAQ Date: Mon, 09 Aug 2004 14:49:46 +0200 Message-ID: Hi, puhh, these rules are to hard...I'm going to explain most most the frequently asked questions here... 1) Must i use the hole pool or can i get only the instruction i need ? Once choosen you must include the hole pool into your source. 2) Where should i include the pool, before or after the other code. You can include the pool where ever you wan't 3) Parts of my entry are possible ? You can have one of the standart p-switcher ( switch on loss, switch on tie/or loss oder p^3 etc ) With that you are only allowed to jump to different code creators. Surewin technology is not allowed! Instead of a switcher you can have code that not creates a warrior directly, but is used to get constants or so. This code must have one of the pool labels in each instructions a-field. Example: If you won't to create an decoy in your +500 zone, you must do it with the help from the pool. Example. If you have pool b you can do something like this. create_decoy for 5 mov.i PB10,>PB07 rof This decoy will be seen as created code and must not be cleared. The same if you want to scan for enemy 500er zone. That will be a little bit tricky, but you can use pointer in the pool to form a loop in your code. ( pool's code must be placed 20 instruction you this code. ) fast_look mul.ab $PB02, $PB12 ; to set b-field as jmz-pointer sc_loop add.ab $PB05, $PB04 jmz.f @PB12, @PB04 ; where PB12 points to sc_loop ; target pointer at PB04.b One or more creators: In each a-field of the creators code must be one of the pools labels. Targets can be the pool or the corecells where you create your warrior. After creating you must clear everytihing but the created warrior, the last "jmp" to that warrior and each instruction whisch is saved by an AP 4) Which parts are under the +500 writerestriction Each part, the switcher ( if you use one ), the creators code, or the clear code is only allowed to write in the 500 cell from your first instruction. The created warrior has no writelimits. 5) Must i use all AP's No, saved AP are added to your points after fight. 6) If i have saved some instructions from the clear with my AP, can they be part of my warrior ? No, that is not allowed. 7) Does the Pool have to appear in the order given, or can it be permuted? You must include the pool in it's orginal order. 8) Creator's a-field must point into the pool. But is it allowed that b-field are pointing in the pool to? Can i modify the pool during the creation ? Yes that is allowed. O.K, i hope i have answered the most question..If not fell free to send entrys to me that i can check your idea's Sascha -- Parlez vous Redcode? From: neogryzormail@mixmail.com (Neogryzor) Subject: Tinyboss III Date: 10 Aug 2004 02:55:34 -0700 Message-ID: <242debe4.0408100155.74aab381@posting.google.com> Just another bombing oneshot scanner like many others. This one uses a different bomb and a mod 10 scan/bomb pattern. ;redcode-tiny ;name Tinyboss III ;author G.Labarga ;assert CORESIZE==800 ;strategy Bombing Oneshot scanner sgap equ 10 ;8 ;7 step equ (3*sgap) loop: sub.f inc,scan start: mov bmb,@scan scan: sne.i bpt+1+(2*sgap),}bpt+1+(1*sgap) djn.f loop,{bpt-71 ;loop-80+1 ;80+4 inc: spl #-step,<-step mov @bpt,>scan mov @bpt,>scan mov @bpt,>scan bpt: djn.f -3,{sbm dat 0,0 dat -9,9 sbm: spl #-65,9 bmb: mov.i #(2*sgap),}1 ;dat <(2*sgap),}1 end start From: neogryzormail@mixmail.com (Neogryzor) Subject: Re: Evolved warrior KOTH at SAL tiny! Date: 11 Aug 2004 01:32:59 -0700 Message-ID: <242debe4.0408110032.6a588bad@posting.google.com> achillu@tin.it (LAchi) wrote in message news:<1eeccf2e.0408060700.43e9376d@posting.google.com>... > For the first time ever at SAL tiny hill, an evolved warrior is KOTH: > > SledgeHammer (RBv1.5r9) by The MicroGP Corewars Collective > > Congratulations to the MicroGP team and their RedBorgs. Impressive! Congratulations to the MicroGP team. Now we have a challenge at the tiny hill trying to defeat those mutating beasts. Can i suggest bombers like Muskrat? imps? ;) Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 11 Aug 2004 08:56:48 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: dougirwin13@hotmail.com (Doug) Subject: MARS for Palm Date: 11 Aug 2004 22:31:01 -0700 Message-ID: Hey all, Does anyone know of any MARS for Palm OS devices? I know of PocketMARS (currently at v1.27b) - but that seems to have a way to go yet (no pre-processing, no debugging facilities at all, etc). Don't get me wrong - it's a whole lot better than nothing! It's just quite difficult to work on warriors using it. Thanks in advance for any and all (constructive) replies. -doug From: "ASW" Subject: Re: MARS for Palm Date: 12 Aug 2004 06:05:57 -0700 Message-ID: I wrote my first graphical MARS for a 68000 chip (the same chip as in Palm). I've considered buying an SPH-i500 from Sprint-- a 66MHZ Motorola 68K Palm OS phone-- if this happens (unlikely) I'll port pQmars to the phone. When I taught assembly language at McGill I used the Palm as my main source of examples; eventually I wanted to turn those course notes into a book but (secretly) I'm waiting for Palm OS to release their M68K OS software under the GPL. (Real Networks has done it for a lot of their code so it doesn't seem impossible anymore.) --ASW From: squillero@ieee.org (Dr. Giovanni Squillero) Subject: Re: Evolved warrior KOTH at SAL tiny! (aka. White Noise exposed) Date: 12 Aug 2004 06:16:41 -0700 Message-ID: <44161d42.0408120516.5413779@posting.google.com> On 2004-08-06, LAchi wrote: > For the first time ever at SAL tiny hill, an evolved warrior is KOTH: > SledgeHammer (RBv1.5r9) by The MicroGP Corewars Collective > Congratulations to the MicroGP team and their RedBorgs. On 2004-08-11, Neogryzor wrote: > Impressive! Congratulations to the MicroGP team. > Now we have a challenge at the tiny hill trying to defeat those mutating beasts. > Can i suggest bombers like Muskrat? imps? ;) On behalf of the MicroGP Corewars Collective: THANKS PALS!!! We are all so happy that our creature is now KOTH at SAL. I admit that not being able to access warriors' code was a big handicap... I just posted the new KOTH, a warrior named /White Noise/, and to help you defeating it I'm giving out the source code. I wonder if someone out there can understand its strategy. I'm not good with redcode and I'd like to hear your opinion. I don't want to bother you with details on the cultivation process. In these days we are writing a paper explaining all the enhancements of the evolutionary core (MicroGP) and the assimilation module (Borg). If it will be published I'll post the reference. giovanni P.S. Our new project is even more ambitious: climbing the regular hills (size=8000). Codename is /Tiramis�/. I may only say that it will exploit a hardware-accelerated infrared-code interpreter. Stay tuned. -- Giovanni Squillero, Ph.D. Politecnico di Torino - Dip. Automatica e Informatica C.so Duca degli Abruzzi 24 - 10129 Torino - ITALY Tel: +39-011564.7092 - Fax: +39-011564.7099 WWW: http://www.cad.polito.it/staff/squillero/ -- If life doesn't offer a game worth playing, then invent a new one. --------------------cut-here-------------------- ; -*-asm-*- ; This program was automagically created by uGP (MicroGP v2.1r10.3 [beta]) ; Copyright (c) 2002-2004 by Giovanni Squillero ; ;redcode-tiny ;name White Noise (RBv1.5r10) ;author The MicroGP Corewars Collective ;url http://www.cad.polito.it/research/microgp.html ;strategy This program was automagically created by MicroGP v2.1r10.3 [beta] ;strategy Copyright (c) 2002-2004 by Giovanni Squillero ;strategy . ;strategy The MicroGP Corewars Collective: ;strategy - Bio ;strategy - (ES)^2 ;strategy - dr.gapp ;strategy - Ipso ;strategy - MadMax ;strategy - MasKrP ;strategy - PPU ;strategy . ;strategy mailto:microgp-corewars [at] cad [dot] polito [dot] it ;strategy http://www.cad.polito.it/research/microgp.html ;strategy . ;strategy Biological and technological distinctiveness ;strategy of existing warriors was added to our own. ;strategy Existing strategies were adapted to serve us. ;strategy Resistance is futile. ;strategy We are the Redcode Borg. ;assert CORESIZE == 800 org n3262515 n3262514: add.f $n3262517+0, @n3262518+0 n3262515: sne.i }n3262515+733, $n3262515+727 n3262516: djn.f $n3262514+0, {n3262516+50 n3262517: spl.b #n3262517+774, {n3262517+774 n3262518: mov.i @n3262521+0, >n3262515+0 n3262519: mov.i @n3262521+0, >n3262516+0 mov.i @n3262521+0, >n3262516+0 n3262521: djn.x $n3262519+0, {n3262523+0 n3262522: dat.f #n3262522+619, }n3262530+0 n3262523: spl.b #n3262523+775, $n3262518+17 n3262524: spl.x #n3262524+1, $n3262524+1 mov.i @n3262527+0, >n3262522+148 spl.b #n3262516+480, >n3262524+396 n3262527: spl.b #n3262517+248, >n3262527+396 n3262528: spl.x $n3262528+1, $n3262528+1 n3262529: spl.x #n3262529+1, $n3262529+1 n3262530: mov.i @n3262532+0, >n3262527+148 n3262531: spl.x #n3262531+1, $n3262531+1 n3262532: spl.x $n3262532+1, }n3262532+1 n3262533: spl.x $n3262533+1, $n3262533+1 end ; *** this program: Aug 12 2004 13:24:29 ; *** MicroGP v2.1r10.3 [beta] "Astoria": May 4 2004 15:50:58 --------------------cut-here-------------------- From: Sascha Zapf Subject: Re: MARS for Palm Date: Thu, 12 Aug 2004 12:50:24 +0200 Message-ID: Doug wrote: > Hey all, > > Does anyone know of any MARS for Palm OS devices? I know of > PocketMARS (currently at v1.27b) - but that seems to have a way to go > yet (no pre-processing, no debugging facilities at all, etc). Don't > get me wrong - it's a whole lot better than nothing! It's just quite > difficult to work on warriors using it. > > Thanks in advance for any and all (constructive) replies. > -doug Hmm, just for testing an idea i think it's good to have a mars on a palm or other pda. But for the real warrior-coding it's quite better to have a mars on PC.. Sascha -- Parlez vous Redcode? From: dhillismail@netscape.net (Dave Hillis) Subject: Re: Evolved warrior KOTH at SAL tiny! (aka. White Noise exposed) Date: 12 Aug 2004 15:19:02 -0700 Message-ID: <5d6847b2.0408121419.a602a00@posting.google.com> ... > I just posted the new KOTH, a warrior named /White Noise/, and to help > you defeating it I'm giving out the source code. I wonder if someone > out there can understand its strategy. Based on a quick look, I'd say that you've seeded the your population with a handcoded scanner, the GA has added some intron code after the payload (aka bomb), possibly tweaked the step size and perhaps added one or two of the 3 MOVs in the attack module. I find it helpfull to translate both handwritten and mutated descendants into object code and look at them side by side. If you seed a population with more than one published warrior, this technique makes it easier to see which one wins out. It's also good to test them both against a benchmark that was not used in the fitness evaluation. I wonder if there's any hope of standardizing terminology to make comparing "evolved warriors" less confusing. Congrats on making KOTH! Dave Hillis From: squillero@ieee.org (Dr. Giovanni Squillero) Subject: Re: Evolved warrior KOTH at SAL tiny! (aka. White Noise exposed) Date: 13 Aug 2004 01:31:51 -0700 Message-ID: <44161d42.0408130031.6a56ac16@posting.google.com> dhillismail@netscape.net (Dave Hillis) wrote in message news:<5d6847b2.0408121419.a602a00@posting.google.com>... > Based on a quick look, I'd say that you've seeded the your population > with a handcoded scanner, the GA has added some intron code after the > payload (aka bomb), possibly tweaked the step size and perhaps added > one or two of the 3 MOVs in the attack module. > ... Thank you very much for the analysis. Seeding with a scanner was not intentional. Indeed, the initial population was not /seeded/ but /composed/ of warriors gathered from all available sources. Including all our evolved /Pan Genetic Gargle Blasters/. The mechanism allowing the MicroGP to exploit existing code was called /assimilation/ by star-trek fans. It was developed to for microprocessor test and verification, and then applied to corewar (we faced *big* problems to preserve diversity in the population after the assimilation of strong individuals). Comparing compiled redcode and skimming at logs, I noticed that all evolved warriors stemmed from the same source, directly or indirectly. But I frankly admit that I have no idea of the behavior of a scanner: I may be able to count the number of differences, not to understand them. Thus, I can't judge if our creatures are mere copies of sharp handwritten warriors, slightly optimized with trivial differences. Or if the MicroGP effectively evolved some interesting strategy. This is one of the reason I posted White Noise. Thanks in advance for your comments. giovanni -- Giovanni Squillero, Ph.D. Politecnico di Torino - Dip. Automatica e Informatica C.so Duca degli Abruzzi 24 - 10129 Torino - ITALY Tel: +39-011564.7092 - Fax: +39-011564.7099 WWW: http://www.cad.polito.it/staff/squillero/ -- If life doesn't offer a game worth playing, then invent a new one. From: neogryzormail@mixmail.com (Neogryzor) Subject: Re: Evolved warrior KOTH at SAL tiny! (aka. White Noise exposed) Date: 13 Aug 2004 04:48:44 -0700 Message-ID: <242debe4.0408130348.3463b657@posting.google.com> squillero@ieee.org (Dr. Giovanni Squillero) wrote in message news:<44161d42.0408120516.5413779@posting.google.com>... > We are all so happy that our creature is now KOTH at SAL. I admit that > not being able to access warriors' code was a big handicap... > > I just posted the new KOTH, a warrior named /White Noise/, and to help > you defeating it I'm giving out the source code. I wonder if someone > out there can understand its strategy. I'm not good with redcode and > I'd like to hear your opinion. It is a bit hard to read with those long labels. Like other RedBorg creatures, it's another oneshot scanner. It scans backwards, (using big irregular steps), and activates a SPL/SPL/DAT multipass clear when finds something. (instructions from n3262524 to the end are not used and White Noise would scores a bit better without them). Am I right? The main diference i find on this, compared with the published redborg, is that this one does not performs any bombing from the main loop, But it keeps using the same big -26 step, that makes it to find papers faster, but should do worse against oneshots and small bombers. Also, it performs a decrement trail in front of the warrior that acts as a decoy agains other backwards oneshots, (like the other RedBorgs), but useless against frontwards oneshots, (most of the handwritten ones). Anyway it scores incredibly well against all of them! I'm amazed how a big step can be so effective. Congrats again PS: Thanks publishing the code, but notice that now optimization can hurt White Noise quite a lot. Regards Germ�n Labarga, (Neogryzor) ........ > ; -*-asm-*- > ; This program was automagically created by uGP (MicroGP v2.1r10.3 > [beta]) > ; Copyright (c) 2002-2004 by Giovanni Squillero > > ; > > ;redcode-tiny > ;name White Noise (RBv1.5r10) > ;author The MicroGP Corewars Collective > ;url http://www.cad.polito.it/research/microgp.html > ;strategy This program was automagically created by MicroGP v2.1r10.3 > [beta] > ;strategy Copyright (c) 2002-2004 by Giovanni Squillero > ;strategy . > ;strategy The MicroGP Corewars Collective: > ;strategy - Bio > ;strategy - (ES)^2 > ;strategy - dr.gapp > ;strategy - Ipso > ;strategy - MadMax > ;strategy - MasKrP > ;strategy - PPU > ;strategy . > ;strategy mailto:microgp-corewars [at] cad [dot] polito [dot] it > ;strategy http://www.cad.polito.it/research/microgp.html > ;strategy . > ;strategy Biological and technological distinctiveness > ;strategy of existing warriors was added to our own. > ;strategy Existing strategies were adapted to serve us. > ;strategy Resistance is futile. > ;strategy We are the Redcode Borg. > ;assert CORESIZE == 800 > > org n3262515 > n3262514: > add.f $n3262517+0, @n3262518+0 > n3262515: > sne.i }n3262515+733, $n3262515+727 > n3262516: > djn.f $n3262514+0, {n3262516+50 > n3262517: > spl.b #n3262517+774, {n3262517+774 > n3262518: > mov.i @n3262521+0, >n3262515+0 > n3262519: > mov.i @n3262521+0, >n3262516+0 > mov.i @n3262521+0, >n3262516+0 > n3262521: > djn.x $n3262519+0, {n3262523+0 > n3262522: > dat.f #n3262522+619, }n3262530+0 > n3262523: > spl.b #n3262523+775, $n3262518+17 > n3262524: > spl.x #n3262524+1, $n3262524+1 > mov.i @n3262527+0, >n3262522+148 > spl.b #n3262516+480, >n3262524+396 > n3262527: > spl.b #n3262517+248, >n3262527+396 > n3262528: > spl.x $n3262528+1, $n3262528+1 > n3262529: > spl.x #n3262529+1, $n3262529+1 > n3262530: > mov.i @n3262532+0, >n3262527+148 > n3262531: > spl.x #n3262531+1, $n3262531+1 > n3262532: > spl.x $n3262532+1, }n3262532+1 > n3262533: > spl.x $n3262533+1, $n3262533+1 > end > > ; *** this program: Aug 12 2004 13:24:29 > ; *** MicroGP v2.1r10.3 [beta] "Astoria": May 4 2004 15:50:58 > > --------------------cut-here-------------------- From: Christoph Birk Subject: Koenigstuhl News Date: 13 Aug 2004 11:27:14 -0400 Message-ID: <200408121959.MAA28477@andromeda.ociw.edu> Congratulations to 'The MicroGP Corewars Collective'. Their program 'White Noise' is the new #1 on the Tiny-Koenigstuhl. Christoph http://www.ociw.edu/~birk/COREWAR/koenigstuhl.html From: =?iso-8859-1?q?will?= Subject: Re: Evolved warrior KOTH at SAL tiny! (aka. White Noise exposed) Date: 13 Aug 2004 11:27:10 -0400 Message-ID: <20040813100114.31998.qmail@web25002.mail.ukl.yahoo.com> Wow, KOTH!!!! Hats off! In Species, I have kept a simple bit of history when breeding warriors. Each warrior has a UID, and I record the UIDs of the parents. Then, as I bred with a standard cross-over on probability thingy, I recorded a string where each character denotes the source of that instruction, e.g. mmmfffmfmmmmfffmm where the m and f denotes mother or father. I also had codes for when I deleted an instruction or inserted one. All this history made minimal demands upon the reproduction process. Yet it would be possible to take any instruction in any warrior, and see where it came from and how mutated it became. It would be possible to take a pool of warriors even and work out the 'fitness' of individual instructions and their lifecycles. Such results might make interesting reading to us evolver fanatics, and if patterns emerged such statistics might be fed back into an evolver framework to enhance that search for an uber-warrior! Sadly I have zero corewar time available at the moment to follow such ideas up :-( /Will 'Varfar' --- "Dr. Giovanni Squillero" wrote: > Thus, I can't judge if our creatures are mere copies > of sharp > handwritten warriors, slightly optimized with > trivial differences. Or > if the MicroGP effectively evolved some interesting > strategy. ___________________________________________________________ALL-NEW Yahoo! Messenger - all new features - even more fun! http://uk.messenger.yahoo.com From: "localghost" Subject: looking for PcRobots information Date: 13 Aug 2004 12:59:03 GMT Message-ID: <411cbb17$0$37789$e4fe514c@news.xs4all.nl> Hello, I want to know if people are still actively playing PcRobots (by P.D.Smith). Can anyone point me to (active) websites, newsgroups, mailing lists, whatever, about PcRobots, if you happen to know any? It's just that I have a few robots and I would like to know what they are worth in the real world. I'm sorry to have intruded in this newsgroup. I know my question is not about Core War, but PcRobots is also a programming game so please forgive me. -- localghost is addicted to XanaNews 1.16.3.1 If it has an "X" in the name, it must be Linux? From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: Evolved warrior KOTH at SAL tiny! (aka. White Noise exposed) Date: 13 Aug 2004 18:12:15 -0700 Message-ID: Congratulations! First, let's put the codes in the almost standard way of writing it. I broke it into 4 blocks along with first-glance comments. ORG START ADD.F $ 3, @ 4 START SNE.I } -67, $ -73 ;scanner. "tinyBiShot2"-like effect. DJN.F $ -2, { 50 SPL.B # -26, { -26 ;optimised step. MOV.I @ 3, > -3 ;dclear with pointer to scanned core. MOV.I @ 2, > -3 MOV.I @ 1, > -4 DJN.X $ -2, { 2 DAT.F # -181, } 8 ;pointers & separators SPL.B # -25, $ 12 SPL.X # 1, $ 1 MOV.I @ 2, > 145 SPL.B # -330, > 394 SPL.B # 238, > 396 SPL.X $ 1, $ 1 ;noise and unnecessary colors? SPL.X # 1, $ 1 ; but may be a useful decoy! MOV.I @ 2, > 145 SPL.X # 1, $ 1 SPL.X $ 1, } 1 SPL.X $ 1, $ 1 From: Michal Janeczek Subject: equ expansion in redcode assembler Date: Sat, 14 Aug 2004 01:28:01 +0200 Message-ID: Hello, As some of you may know, I was writing another mars for some time. Now I've gotten to the parser part, specifically implementing equ and for/rof expansion. I have a small problem: pmars allows to give an equ the name of instruction modifier [f a b ab ba x i], which can lead to ambiguity when the equ of such name is placed where the instruction modifier should be placed. In pmars it's walked around by checking if there is a space and modifier - if yes, then the equ is expanded, otherwise it's not. So, the code: f equ x dat.f 0, 0 dat. f 0, 0 would be assembled to: dat.f 0, 0 dat.x 0, 0 This, paired with the fact that pmars equ expansion isn't perfect textual substitution, leads to a different problem: ins equ dat f equ x ins.f 0, 0 ins .f 0, 0 after expansion becomes: dat.x 0, 0 dat.x 0, 0 I have a couple of ideas about how to deal with above problems: 1) Add a restriction that equs are expanded only in arithmetic expressions. This would eliminate any ambiguities completely, and would allow to run most of existing warriors with trivial or no modifications. On the other hand, pmars multi-line equs would be broken, and besides that, restrictions in general aren't a good thing. 2) Add a restriction that equs with names of modifiers aren't allowed. I don't really like this idea, since it eliminates many useful short identifiers. 3) Add a restriction that equs with names of modifiers aren't allowed _in_place_where_the_regular_modifier_is_expected_. This is much lighter restriction than the two above, but leads to an unconsistent behaviour. 4) Duplicate pmars behaviour. The question is, how closely - I was expecting that equs would be substituted perfectly, so 'ins' equ would act exactly like dat opcode. Personally I'm in favour of the first solution, also taking into account that the mars is designed to be component of optimizers, and as such, it doesn't really need a fully featured parser. If you have any thoughts or ideas about these, or related issues, I would appreciate you sharing them. Michal From: dhillismail@netscape.net (Dave Hillis) Subject: Re: Evolved warrior KOTH at SAL tiny! (aka. White Noise exposed) Date: 14 Aug 2004 08:54:24 -0700 Message-ID: <5d6847b2.0408140754.4c1913fe@posting.google.com> > > Based on a quick look, I'd say that you've seeded the your population > > with a handcoded scanner, the GA has added some intron code after the > > payload (aka bomb), possibly tweaked the step size and perhaps added > > one or two of the 3 MOVs in the attack module. > > ... > > Thank you very much for the analysis. > > Seeding with a scanner was not intentional. Indeed, the initial > population was not /seeded/ but /composed/ of warriors gathered from > all available sources. I don't see the distinction, but let me make it clear that I think you're getting interesting results and I have nothing disparaging to say about your project. :) ... > Comparing compiled redcode and skimming at logs, I noticed that all > evolved warriors stemmed from the same source, directly or indirectly. I predict that will always be the case. I don't think that your representation (or any other I've seen) will permit meaningful exchange of code between unrelated species. Has anyone else ever seen this happen? It might be worth looking at GP-style automatic function discovery.... > But I frankly admit that I have no idea of the behavior of a scanner: Generally speaking: a scanner (AKA scissors) compares 2 locations in core, adds an offset (the step size) and compares 2 new locations, etc., until it finds 2 locations that are different-maybe because the enemy is at 1 of the locations. Then it overwrites core in that vicinity with nasty code which could paralyze the enemy by using up all its processes. A oneshot will then stop scanning and devote itself to trying to overwrite the rest of the core. AFAIK no one has ever evolved a real scanner "from scratch." > I may be able to count the number of differences, not to understand > them. Diversity at the representation level doesn't mean much. Here is an easy thing to do. Periodically play one of the evolved warriors in a graphical MARS against a dummy (inert) opponent. You will see visually when a warrior changes functionally. And it's really cool to watch! You will not be able to resist running the debugger to see which lines execute. > Thus, I can't judge if our creatures are mere copies of sharp > handwritten warriors, slightly optimized with trivial differences. Or > if the MicroGP effectively evolved some interesting strategy. > > This is one of the reason I posted White Noise. A while back I was experimenting with a representation much like yours: labels, constants, macros, etc. My experience was that it was lackluster at evolving warriors from a random start but showed promise at exploring variations for preexisting warriors. And that's where I left it. I think that this is your program's strength and I would encourage you to pursue this angle. Taking a highly optimized warrior and making it stronger, not just against 1 benchmark, but in some global sense is quite difficult by any method. Comparing the ancestor with the descendants can give you some quantitative results which should help with your paper(s). Dave Hillis From: Will Berry Subject: so I have this warrior... Message-ID: Date: Sat, 14 Aug 2004 14:26:29 -0400 A couple of years ago I heard about this intriguing little subculture and decided to try my hand at coding a warrior. About a month later I produced this warrior, rather unimaginatively called Imp Factory. Since I'm a big believer in open source, I'm releasing this warrior under the GPL. ;-) ========================================================= ;name Imp Factory ;author Will Berry (wberry@wberry.org.x) ;license GNU General Public License ;strategy Spit out Imps relentlessly! ;assert 1 ; but works best when gcd(coresize, scatter) is small scatter equ 5 org start ; copy the Imp code to the new location, spawn a thread, repeat ; the first Imp will spawn at address imp start: add.ab #scatter, 2 mul.a #scatter, -1 mov.i imp, imp - scatter spl @-1 jmp start imp: mov imp, 1 ========================================================= I put this warrior into the arena versus several of the evolved warriors that came packaged with the graphical engine from http://corewars.sourceforge.net/. Under the scoring criteria this engine uses by default, which favors code coverage to "kills", this warrior (in aggregate) beat the pants off everything I put it up against, except in very small cores. Obviously it is a poor gladiator because it never writes any DAT instructions. But my questions are: 1) Is this warrior actually an original concept in any way, or is it a re-implementation of some old hack? 2) Is anybody willing to post some anti-imp warriors that I can try out? -- Will Berry Director of Operations, Techwood Con gaming convention http://www.techwoodcon.com/ From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: so I have this warrior... Date: 14 Aug 2004 23:50:04 -0700 Message-ID: A) Idea may not be so original because there are already imppumps which i think are more powerful and versatile. ;redcode-x2 ;name Imp Pump 3 ;author x ;assert 1 size equ (CORESIZE+1)/3 size2 equ size+1 pump spl 0,0 add.a #size+1,2 mov imp,>1 jmp imp-2*size2,1 imp mov 0,size B) Anti-imp? Try HSA below. Should beat Imp to death in a very short time!! ;redcode-94 ;name He Scans Alone ;author P.Kline ;assert CORESIZE == 8000 ;strategy 80% f-scanner switches from SPL to DAT carpet tPtr dat 100 ,4100-4 ; widely-spaced pointers dat 0,0 dat 0,0 dat 0,0 dat 0,0 dat 0,0 tWipe mov tSpl ,tPtr ,>tPtr jmn.f tWipe ,>tPtr tScan sub.x #-12 ,tPtr ; increment and look sne *tPtr ,@tPtr sub.x *pScan ,@tScan ; increment and look jmn.f tSelf ,@tPtr jmz.f tScan ,*tPtr pScan mov.x @tScan ,@tScan ; swap pointers for attack tSelf slt.b @tScan ,#tEnd+4-tPtr ; self-check djn tWipe ,@tScan ; go to attack djn *pScan ,#13 ; after 13 self-scans jmp *pScan ,}tWipe ; switch to dat-wiping dat 0,0 tSpl spl #1,{1 dat 0,0 dat 0,0 tEnd dat 0,0 for 61 dat 0,0 rof tDecoy equ (tWipe+1-1196) tStart mov Subject: Re: so I have this warrior... Message-ID: Date: Sun, 15 Aug 2004 03:23:58 -0400 Zul Nadzri wrote: > A) Idea may not be so original because there are already imppumps > which i think are more powerful and versatile. > > ;name Imp Pump 3 I am not surprised that the warrior I wrote is but one individual in a named species; I just never saw another one before. I'm sort of new to the whole thing... But this specimen is quite beautiful. I'll have to remember the spl 0,0 trick. It could come in handy. > ;name He Scans Alone This one will require some thought before I can understand it. But thanks; this will renew my interest in the sport, since I have more to challenge me. -- Will Berry Director of Operations, Techwood Con gaming convention http://www.techwoodcon.com/ From: dhillismail@netscape.net (Dave Hillis) Subject: Re: so I have this warrior... Date: 15 Aug 2004 22:01:15 -0700 Message-ID: <5d6847b2.0408152101.151e4cc2@posting.google.com> If you haven't looked at Koenigstuhl yet, it's well worth your time. http://www.ociw.edu/~birk/COREWAR/koenigstuhl.html It has thousands of warriors. From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 08/16/04 Date: 16 Aug 2004 09:11:54 -0400 Message-ID: <200408160403.i7G430KC029786@gevjon.ttsg.com> Weekly Status on 08/16/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Aug 15 13:20:32 EDT 2004 # Name Author Score Age 1 defense test file tg3 simon wainwright 8 1 2 Attacker in the Darkness Christian Schmidt 5 2 3 The Survivor Philip Kendall 4 93 4 Her Majesty P.Kline 4 482 5 Dodge Viper Christian Schmidt 4 47 6 Zorca Christian Schmidt 4 40 7 not king of the hill FatalC 3 208 8 foundling John Metcalf 3 29 9 fine powder John Metcalf 2 20 10 Leap test Christian Schmidt 1 49 11 across the grasslands John Metcalf 0 6 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 08/16/04 Date: 16 Aug 2004 09:11:51 -0400 Message-ID: <200408160409.i7G491tO029880@gevjon.ttsg.com> Weekly Status on 08/16/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Aug 15 13:51:35 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 34/ 26/ 39 Hullabaloo Roy van Rijn 143 29 2 42/ 42/ 16 Dandelion 3 Christian Schmidt 142 150 3 42/ 45/ 13 Strike Two Roy/Fizmo 140 36 4 45/ 49/ 6 Claw III Christian Schmidt 140 68 5 43/ 47/ 10 Arrow Christian Schmidt 139 232 6 42/ 44/ 14 HazyLazy C 11 CS SG 139 241 7 33/ 26/ 41 elf Christian Schmidt 139 94 8 33/ 28/ 39 Borgir Christian Schmidt 137 64 9 39/ 43/ 18 Attacker in the Darkness Christian Schmidt 134 17 10 27/ 21/ 52 paper(paper(paper(clear)) Sascha Zapf 134 133 11 33/ 34/ 33 2b||!2b Sascha Zapf 132 88 12 25/ 19/ 56 Black Knight Christian Schmidt 131 54 13 29/ 26/ 45 Gargantuan Roy van Rijn 131 50 14 23/ 14/ 63 Maelstrom Roy van Rijn 131 173 15 28/ 25/ 47 Savage Flowing Battleworn Pascal Hofstee 131 48 16 24/ 19/ 58 test imony John Metcalf 129 1 17 27/ 25/ 48 slime test 1.00 David Houston 129 359 18 27/ 25/ 48 Gremlin van Rijn/Grabun 128 263 19 24/ 22/ 55 unheard-of II Christian Schmidt 126 46 20 35/ 46/ 18 Myrmidon Roy van Rijn 124 2 21 4/ 30/ 66 defense test file di1h simon wainwright 79 0 From: =?ISO-8859-2?Q?=A3ukasz_Adamowski?= Subject: Problem with linking pMARS Date: 16 Aug 2004 15:07:44 -0400 Message-ID: <412102f5b38b1@wp.pl> Hi! I have a small problem with linking pMARS (ver. 0.8.0) on my Mandrake 10.0. Linker cannot find library X11 (or others when I try to compile it with different options). Where to hell should these libraries be??? I've searched almost all places. Greetings Lukasz --== "War is a problem, never a solution"/"Wojna jest problemem, a nie rozwiazaniem" ==-- ---------------------------------------------------- Olimpiada na skuterze! Skutery, aparaty cyfrowe, oryginalne plecaki olimpijskie czekaj� na ch�tnych! ---> Ateny.wp.pl/Konkurs ---> Sprawd� si�! http://klik.wp.pl/?adr=http%3A%2F%2Fateny.wp.pl%2Fkonkurs&sid=226 From: "Doug" Subject: Re: MARS for Palm Date: 16 Aug 2004 18:02:54 -0700 Message-ID: Sascha, Yes, agreed. The idea (to me) is that a Palm or similar can be used for testing and debugging. For number crunching (e.g., constant searches, tournaments, benchmarks, etc) and other "real" work it will definately be better to use something with a whole lot more grunt. -doug From: "Doug" Subject: Re: MARS for Palm Date: 16 Aug 2004 18:07:05 -0700 Message-ID: ASW, > I wrote my first graphical MARS for a 68000 chip (the same chip as in > Palm). I've considered buying an SPH-i500 from Sprint-- a 66MHZ > Motorola 68K Palm OS phone-- if this happens (unlikely) I'll port > pQmars to the phone. When I taught assembly language at McGill I used > the Palm as my main source of examples; eventually I wanted to turn > those course notes into a book but (secretly) I'm waiting for Palm OS > to release their M68K OS software under the GPL. (Real Networks has > done it for a lot of their code so it doesn't seem impossible anymore.) > --ASW LOL! You may have a while to wait :) Think I'm gonna have a look around and see what there is in the way of C/C++ compilers for Palm and at so free source MARS engines... I did send George Tatevian (the author of Pocket MARS) and he responded that he might send me the source... But I haven't heard anything back from him yet. We'll see, I guess. -doug From: Sascha Zapf Subject: optiMAX Date: Tue, 17 Aug 2004 23:40:01 +0200 Message-ID: Hi, after a week of doin nothing more than sitting at my balcony i'm now relaxed enough to work on the next Version of optiMAX. But before implement new feature i want do bugfixes. Please write me what bugs you have found, or on which system, under which configurations optiMAX will not run properly. If you have idea's what features can included, write me too.. Sascha -- Parlez vous Redcode? From: neogryzormail@mixmail.com (Neogryzor) Subject: LP stone/imp: Histeric imps Date: 18 Aug 2004 02:08:22 -0700 Message-ID: <242debe4.0408180108.764c3de8@posting.google.com> This is a stone/imp for the lp hill. It launches a short 3 point spiral with 6 processes and a stone with two processes on it, using a vector launch. Obviously i have removed the p-space code. I don't want to trash the king's supremacy. :) ;redcode-lp ;name Histeric imps ;author G.Labarga ;assert CORESIZE==8000 ;strategy stone/imp ;strategy Without p-code ;--- stone step equ 4954 ;--- boot sloc equ (boot+ 3917 ) iloc equ (sloc+ 450 ) boot: mov imp,iloc mov This is a curious LP warrior, using only imps as strategy. (It is not the published previous version at the Koenigstuhl). This, the final version of "the Ring'o matic", uses a P^3 switcher to select the correct kind of imp of the three available: full B-imp spiral, B-imp spiral + A-imp ring or 1pt B-imps. (They were selected to obtain the best score against the warriors on the hill at that time). Also it uses a routine to detect itself. This, and the mutating vector launch both can be of your interest. Nice results for an only-imp warrior. Enjoy it. ;redcode-lp ;name The Ring'o matic ;kill The Ring'o matic ;author G.Labarga ;assert MAXPROCESSES==8 && CORESIZE==8000 ;strategy P-spaced imps ;strategy ver. 0.4 ;A-fields were chosen to improve the score against "Revenge of the Silklander" ;Multiple-imps: ringg/ring2/ringk2: ;ring-g: 8 proc. 3pt B-imp spiral ; Kills some bombers and scanners, resistant to papers . General porpouse strat ;ring2: 5 proc. 3pt B-imp spiral + 3pt A-imp ring ; ~~~~~~Better scores against paper, pap/sto and bombers, (not at all). Can't beat clears ;ringk2: 8* 1pt B-imps, spaced 1007 ; Excelent score against > or } clears. Ties against almost everything else ;Self-fight detection added, (losses 1 round {:\ ) ;still vulnerable to some papers, (specially evolved ones) ;***** Wins all rounds-1 against self ***** pin 2200 ;--- EQU's ;P-brain: CT0 EQU 232 ;state constants CT1 EQU 248 CT2 EQU 194 CT3 EQU 147 CT4 EQU 119 CT5 EQU 66 CT6 EQU 24 CT7 EQU 294 CT8 EQU 154 CT9 EQU 35 C_LOSS EQU 7 ;result constants C_WIN EQU 4 C_TIE EQU 11 C_SCD EQU 2323 ;self-detect constant STRAT0 EQU boot1 ;strategy labels STRAT1 EQU boot2 STRAT2 EQU boot3 D_RESULT EQU 0 ;P-space addresses D_STATE EQU 250 D_SELF EQU 114 D_SCD EQU 311 ;--- Now, the code imp3: mov.i #-581,2667 ;3pt B-imp boot1: add.a <1,bf ;launcher mutation boot2: spl @4,>1 ;ring2 spl 1,>0 spd: spl 2,}1 ;vector launch, ("vortex"?) bf: djn.a @mgo,#0 af: djn.a *mgo,#-3 dat 0,0 vector: dat }imp3+2668 ,}imp3+1 ;partial spiral + A-ring dat }imp3+5334 ,}imp3+2667 dat }imp3 ,}imp2+5334 mgo: dat }imp2+2667 ,}imp2 dat }imp3+2669 ,}imp3+2 ;full spiral dat }imp3+5335 ,}imp3+2668 dat }imp3+1 ,}imp3+5334 rgo: dat }imp3+2667 ,}imp3 for 10 dat 0,0 rof imp2: mov.i #2667,*0 ;3pt A-imp boot3: spl #1007,1007 ;ringk2 add.f boot3,2 mov imp4,@1 jmp imp4-2014,imp4-1007 imp4: mov.i #1,1 ;1pt B-imp dg for (MAXLENGTH-CURLINE)-29 ;decoy dat }-581,{1100+(10*dg) rof mark: STP.A #C_SCD,DONE ;set sucide flag RESULT: DAT 0,C_LOSS ;P-brain: ten stated table switcher DAT 0,C_WIN DAT 0,C_TIE start: LDP.A #D_RESULT,RESULT DONE: LDP.AB #D_SCD,#0 JMN.B self,DONE ;self check done? JMN.A @0,*RESULT ;suicide in the first round STP.A RESULT,CHK ;self chek CHK: LDP.A #D_SELF,#0 SEQ.A RESULT,CHK JMP mark STP.A #1,>mark ;Self check done self: JMN.A NEXT,RESULT SNE.BA DONE,mark ;its me? SUICIDE:DAT 0,0 ;suicide again NEXT: LDP.BA SAVE,STATE MOD.BA *RESULT,STATE SAVE: STP.B *STATE,#D_STATE STATE: JMP }0,#CT0 ;initial state: ring-g (next one) TABLE: DAT STRAT0,{CT1 ;ring-g DAT STRAT1,{CT2 ;ring2 DAT STRAT2,{CT3 ;ringk2 DAT STRAT2,{CT4 ;ringk2 DAT STRAT1,{CT5 ;ring2 DAT STRAT0,{CT6 ;ring-g DAT STRAT1,{CT7 ;ring2 DAT STRAT1,{CT8 ;ring2 DAT STRAT2,{CT9 ;ringk2 end start ;-------------------------------------- And here is the results when submitted: ;-------------------------------------- "The Ring'o matic" by "G.Labarga" has challenged the Limited process hill ;strategy P-spaced imps ;strategy ver. 0.4 Current hill status: # %W/ %L/ %T Name Author Score Age 1 40.9/ 25.2/ 33.9 Duke Christian Schmidt 156.6 7 2 43.2/ 31.7/ 25.1 Viper's Bugloss Christian Schmidt 154.8 8 3 43.0/ 34.4/ 22.6 Muffineer Christian Schmidt 151.6 2 4 31.1/ 16.8/ 52.1 Eve 15 bvowk + Fizmo 145.5 36 5 41.9/ 39.7/ 18.5 fbomber Michal Janeczek 144.1 88 6 43.9/ 46.3/ 9.9 FlipSide Zul Nadzri 141.4 49 7 39.3/ 37.4/ 23.2 Dental Disease Christian Schmidt 141.2 59 8 32.6/ 26.2/ 41.2 Roskilde Christian Schmidt 139.1 67 9 33.3/ 28.0/ 38.7 The Ring'o matic G.Labarga 138.7 1 10 27.2/ 17.2/ 55.6 8366-4510-cs-sdk-eve15 bvowk 137.1 38 11 38.9/ 42.9/ 18.2 ~~ The 9th Process ~~ Zul Nadzri 135.0 79 12 36.3/ 37.7/ 26.1 scan G.Labarga 134.9 5 13 37.6/ 40.4/ 22.0 Mad LP Christian Schmidt 134.7 55 14 39.2/ 43.7/ 17.1 The 8 Kings Christian Schmidt 134.6 99 15 29.1/ 24.1/ 46.8 4310-4309-xt430-0-eve15 bvowk 134.2 6 16 37.0/ 39.8/ 23.1 Revenge of the Silklander Christian Schmidt 134.2 46 17 38.1/ 44.3/ 17.7 From Beyond the Core John Metcalf 131.8 26 18 24.6/ 18.6/ 56.7 189602-1978-xt642-2-eve15 bvowk 130.7 37 19 34.6/ 38.7/ 26.7 FlipSide 04 Zul Nadzri 130.5 17 20 36.9/ 44.0/ 19.1 100% Evil Roy van Rijn 129.9 27 21 38.0/ 47.1/ 14.9 Quantum Attack Christian Schmidt 129.0 69 22 37.9/ 47.9/ 14.2 What's This? Revenge? John Metcalf 127.8 24 23 32.5/ 37.3/ 30.2 Achillu 94 LAchi + Fizmo 127.7 32 24 37.1/ 48.6/ 14.4 V-Empire Christian Schmidt 125.6 16 25 29.8/ 34.3/ 35.9 Pericoloso Fizmo + LAchi 125.2 28 26 27.9/ 32.2/ 40.0 To the City in the Core John Metcalf 123.6 24 Challenge results: Score # %W/ %L/ %T Name Author Taken Given 17 65.4/ 1.3/ 33.3 Quantum Attack Christian Schmidt 229.5 37.3 11 67.1/ 16.1/ 16.8 4310-4309-xt430-0-eve15 bvowk 218.2 65.0 4 54.0/ 4.7/ 41.3 Eve 15 bvowk + Fizmo 203.3 55.3 18 52.0/ 9.5/ 38.5 189602-1978-xt642-2-eve15 bvowk 194.5 66.9 9 45.2/ 3.1/ 51.7 8366-4510-cs-sdk-eve15 bvowk 187.3 60.9 7 46.3/ 11.4/ 42.3 Dental Disease Christian Schmidt 181.1 76.5 1 47.7/ 15.9/ 36.4 Duke Christian Schmidt 179.6 84.0 3 31.1/ 9.0/ 59.9 Muffineer Christian Schmidt 153.1 86.9 22 26.6/ 3.6/ 69.8 Achillu 94 LAchi + Fizmo 149.6 80.6 6 33.7/ 21.6/ 44.7 FlipSide Zul Nadzri 145.9 109.5 25 22.2/ 5.3/ 72.5 Pericoloso Fizmo + LAchi 139.1 88.5 19 21.4/ 7.7/ 70.9 FlipSide 04 Zul Nadzri 135.1 93.9 20 25.2/ 16.5/ 58.3 100% Evil Roy van Rijn 133.9 107.7 8 11.8/ 7.1/ 81.1 Roskilde Christian Schmidt 116.5 102.3 21 24.7/ 34.7/ 40.6 What's This? Revenge? John Metcalf 114.8 144.6 12 24.0/ 39.9/ 36.1 ~~ The 9th Process ~~ Zul Nadzri 108.1 155.9 2 25.5/ 51.9/ 22.6 Viper's Bugloss Christian Schmidt 99.2 178.2 26 0.8/ 2.6/ 96.6 To the City in the Core John Metcalf 99.0 104.4 24 24.8/ 58.4/ 16.8 V-Empire Christian Schmidt 91.2 192.0 5 16.4/ 60.7/ 22.9 fbomber Michal Janeczek 72.1 205.1 13 13.6/ 60.1/ 26.3 Revenge of the Silklander Christian Schmidt 67.1 206.5 16 6.5/ 46.1/ 47.4 Mad LP Christian Schmidt 67.0 185.6 15 7.3/ 75.1/ 17.6 scan G.Labarga 39.6 242.8 14 4.1/ 82.3/ 13.6 The 8 Kings Christian Schmidt 25.8 260.6 23 2.2/ 92.1/ 5.7 From Beyond the Core John Metcalf 12.3 282.1 10 0.4/ 99.6/ 0.0 The Ring'o matic G.Labarga 1.2 298.8 Wins are for the warrior on the same table row and losses are for "The Ring'o matic". "Score taken" is the number of points scored by the warrior listed on that table row. "Score given" is the number of points scored by "The Ring'o matic". From: neogryzormail@mixmail.com (Neogryzor) Subject: Re: R.I.P Date: 18 Aug 2004 02:48:16 -0700 Message-ID: <242debe4.0408180148.3a68d803@posting.google.com> sayembara@yahoo.com (Zul Nadzri) wrote in message news:... > achillu@tin.it (LAchi) wrote in message news:<1eeccf2e.0408060656.45b2d41@posting.google.com>... > > Standing ovation! > > > > Sascha Zapf wrote in message news:... > > > Son of Vain has been pushed off the ICWS '94 No Pspace hill. > > > The current ICWS '94 No Pspace hill: > > > Last battle concluded at : Thu Aug 5 13:49:48 EDT 2004 > > > > > > Thanx to Joonas and Ian for the best Warrior ever made in Redcode. > > > > > > To many paper and not enough scanner to protect him... > > > > > > Rest in Peace...... > > > > > > Sascha > > Looking forward... > If Vain equals to Stoneage era, Son of Vain equals to metal hand held > weapon era, I think soon Grandson of Vain will emerge with weapon at > least with arrow or early gunpowder technology. > I believe this is not impossible unless Son of Vain decides to be > single. > (hmm... any siblings?) The warrior i consider the best has fallen. Seems that with it, in the redcode history, the stone/imp era has ended with the rennaisance of papers, powered by Roy. Will be the papers ruling the hills? Can the scanners stop them? Is the strategy balance on the hills broken? SoV, rest in peace. Neogryzor From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: RF20 - FAQ Date: 20 Aug 2004 10:28:27 -0700 Message-ID: I need clarification: "Change instruction : Cost 9 AP" "Swap two instructions :Cost 3 AP" Does the second rules conflict with the first one? Or the second rules should read "Swap two addressing modes : Cost 3 AP" . I think this should be the one so that it can complement "Swap two constants : Cost 2 AP". Please reply asap. Time is running out & my warriors out of AP already! :) /Zul Nadzri From: Sascha Zapf Subject: Re: RF20 - FAQ Date: Fri, 20 Aug 2004 22:15:00 +0200 Message-ID: Zul Nadzri wrote: > I need clarification: > > "Change instruction : Cost 9 AP" > "Swap two instructions :Cost 3 AP" > > Does the second rules conflict with the first one? Or the second rules > should read "Swap two addressing modes : Cost 3 AP" . I think this > should be the one so that it can complement "Swap two constants : Cost > 2 AP". No, there are two different meanings. Change Instruction is that you can take an instruction that you want and write it over one of the Pool's instruction. Swap Instruction means that you can swap two instructions of your pool. Write the instruction from pa01 to pa03 and the instruction from pa03 to pa01 With the first you can use instruction which are not included in the pool. This is why it is so expensive. > > Please reply asap. Time is running out & my warriors out of AP > already! :) > Time enough, until middle of september... > /Zul Nadzri Sascha -- Parlez vous Redcode? From: Lukasz Grabun Subject: Re: Problem with linking pMARS Date: Sat, 21 Aug 2004 21:01:39 +0200 Message-ID: > I have a small problem with linking pMARS (ver. 0.8.0) on my > Mandrake 10.0. Linker cannot find library X11 (or others when I > try to compile it with different options). Where to hell should > these libraries be??? I've searched almost all places. These libraries should be installed already. While linking, however, you may want to use an option which provides a directory where they reside. It is -L. I had similar problem, check out this thread http://groups.google.pl/groups?threadm=slrnaps39g.7hd.grabek%40purgatory.abyss Welcome back, guys, btw. -- Lukasz Grabun From: sayembara@yahoo.com (Zul Nadzri) Subject: Re: RF20 - FAQ Date: 22 Aug 2004 07:47:36 -0700 Message-ID: Sascha Zapf wrote in message > Swap Instruction means that you can swap two instructions of your pool. > Write the instruction from pa01 to pa03 and the instruction from pa03 to > pa01 Thanks for the clarifications. I wonder why there is no swap rules for addressing mode. Can make one? :) /Zul From: =?ISO-8859-2?Q?=A3ukasz_Adamowski?= Subject: Re: Problem with linking pMARS Date: 22 Aug 2004 18:21:41 -0400 Message-ID: <4128ce6615153@wp.pl> Dnia 21-08-2004 o godz. 21:02 Lukasz Grabun napisal: > These libraries should be installed already. While linking, however, you > may want to use an option which provides a directory where they reside. > It is -L. I had similar problem, check out this thread > http://groups.google.pl/groups?threadm=slrnaps39g.7hd.grabek%40purgatory.abyss Thank you so much! I knew it's something with -L, but wasn't able to locate the libraries. I even started to suspect I have to install developers libs. ;] /usr/X11R6/lib is the path I needed. Thanks once more! And welcome back! Lukasz Adamowski --== "War is a problem, never a solution"/"Wojna jest problemem, a nie rozwiazaniem" ==-- ---------------------------------------------------- HITY LATA 2004 - mo�esz je mie� je w TWOJEJ KOM�RCE! Zobacz i wybierz: http://klik.wp.pl/?adr=http%3A%2F%2Flogodzwonki.wp.pl%2Fkategoria.html%3Fkat%3Dk15%26ng%3D6&sid=227 From: "Joshua Hudson" Subject: RF20 - Rules Date: 22 Aug 2004 18:21:38 -0400 Message-ID: I seem to be missing the rules to RF20. Please send. _________________________________________________________________ Don�t just search. Find. Check out the new MSN Search! http://search.msn.click-url.com/go/onm00200636ave/direct/01/ From: Koth Subject: KOTH.ORG: Status - Standard 08/23/04 Date: 23 Aug 2004 09:18:29 -0400 Message-ID: <200408230400.i7N400Cr006119@gevjon.ttsg.com> Weekly Status on 08/23/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Thu Aug 12 12:45:56 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 41/ 28/ 31 The Next Step '88 David Houston 153 14 2 37/ 27/ 35 Freight Train David Moore 148 199 3 37/ 27/ 36 Test Alexander (Sasha) Wa 147 138 4 43/ 40/ 17 My 1st try Christian Schmidt 145 30 5 36/ 28/ 36 Guardian Ian Oversby 144 198 6 42/ 40/ 17 Tangle Trap 3 David Moore 144 27 7 34/ 26/ 40 A.I.P. Christian Schmidt 142 6 8 45/ 48/ 7 Scan Test C 6 Steve Gunnell 141 37 9 41/ 42/ 17 Stasis David Moore 140 306 10 43/ 47/ 10 Speeed 88mph Christian Schmidt 138 4 11 39/ 41/ 20 PacMan David Moore 138 228 12 41/ 46/ 13 Cold as November Rain... John Metcalf 136 12 13 34/ 32/ 34 Pixie 88 Lukasz Grabun 136 28 14 41/ 48/ 11 Blurstone '88 M. J. Pihlaja 134 1 15 26/ 18/ 57 unheard-of '88 Christian Schmidt 133 5 16 35/ 37/ 29 The Seed Roy van Rijn 133 16 17 35/ 36/ 29 vala John Metcalf 133 121 18 37/ 44/ 19 '88 test IV John Metcalf 129 92 19 36/ 46/ 18 B-Scanner live in vain Matt Hastings 127 2 20 37/ 48/ 15 Blur '88 Anton Marsden 126 236 21 2/ 2/ 0 Blurstone '88 M. J. Pihlaja 7 3 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 08/23/04 Date: 23 Aug 2004 09:18:25 -0400 Message-ID: <200408230403.i7N430VS006172@gevjon.ttsg.com> Weekly Status on 08/23/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Aug 22 12:28:51 EDT 2004 # Name Author Score Age 1 defense test file tg3 simon wainwright 15 2 2 Dodge Viper Christian Schmidt 9 48 3 Zorca Christian Schmidt 7 41 4 Leap test Christian Schmidt 7 50 5 not king of the hill FatalC 6 209 6 Her Majesty P.Kline 6 483 7 Attacker in the Darkness Christian Schmidt 6 3 8 foundling John Metcalf 4 30 9 wzbroniony John Metcalf 3 1 10 The Survivor Philip Kendall 2 94 11 home of the grasshoppers Simon Wainwright 1 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 08/23/04 Date: 23 Aug 2004 09:18:20 -0400 Message-ID: <200408230406.i7N46026006231@gevjon.ttsg.com> Weekly Status on 08/23/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Mon Aug 16 13:37:18 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 44/ 36/ 21 Fatamorgana X Zul Nadzri 151 1 2 40/ 37/ 22 The X Machine Zul Nadzri 143 25 3 43/ 44/ 13 Fire and Ice II David Moore 141 114 4 40/ 40/ 21 Eliminator X Zul Nadzri 140 26 5 37/ 39/ 25 Black Moods Ian Oversby 134 210 6 28/ 24/ 48 Olivia X Ben Ford 131 95 7 19/ 8/ 73 Evol Cap 4 X John Wilkinson 131 283 8 24/ 18/ 58 xd100 test David Houston 131 11 9 27/ 24/ 49 Venom v0.2b Christian Schmidt 130 236 10 32/ 35/ 33 Trefoil F 13 Steve Gunnell 130 97 11 28/ 27/ 45 KAT v5 Dave Hillis 129 146 12 34/ 41/ 25 Ogre Christian Schmidt 127 162 13 34/ 41/ 25 Simply Intelligent Zul Nadzri 127 7 14 24/ 21/ 55 Glenstorm John Metcalf 127 76 15 35/ 44/ 22 Giant Hazy Test 13 Steve Gunnell 125 41 16 18/ 11/ 71 Denial David Moore 125 155 17 15/ 7/ 77 Evolve X v4.0 John Wilkinson 123 231 18 20/ 16/ 64 Kin John Metcalf 123 122 19 31/ 39/ 30 Controlled Aggression Ian Oversby 122 214 20 17/ 14/ 69 Blotter X J. Pohjalainen 121 16 21 18/ 32/ 51 flames of creativity John Metcalf 104 0 Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 26 Aug 2004 07:28:31 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: ksf_fa@hotmail.com (Loginius [KSF]) Subject: We need players. Multiplayer WAR web game. Date: 27 Aug 2004 19:40:17 -0700 Message-ID: <7f54ea73.0408271840.a9b3180@posting.google.com> We need players. Multiplayer WAR web game. Try your hand at running a country. Develop its technology, military, and land while dealing with war, trade, diplomacy and more! Best of all, compete and interact with thousands of others also trying to become the most powerful country on the planet. Experience one of the world's most popular interactive multiplayer web games today! Join our team KSF (Kamikaze Suicidal Fighters.) Apply on our site and become part of a great team of players, where the first goal is to have fun. http://e2hq.com/ksf/ Once you are validated you will have all the insturction on how to play the game and where to play it. Hope to see some new Crazy fighters with us. From: Michal Janeczek Subject: fmars - fast mars for optimizers Date: Sat, 28 Aug 2004 21:47:18 +0200 Message-ID: Hi, I'd like to announce initial release of fmars. It's still not as polished as I would like it to be, but you may find it useful. It is the fastest mars out there, the only trick is to compile it. http://www.v-lo.krakow.pl/~michal/fmars.html Michal From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 08/30/04 Date: 30 Aug 2004 07:24:59 -0400 Message-ID: <200408300406.i7U461Sl017139@gevjon.ttsg.com> Weekly Status on 08/30/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Mon Aug 16 13:37:18 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 44/ 36/ 21 Fatamorgana X Zul Nadzri 151 1 2 40/ 37/ 22 The X Machine Zul Nadzri 143 25 3 43/ 44/ 13 Fire and Ice II David Moore 141 114 4 40/ 40/ 21 Eliminator X Zul Nadzri 140 26 5 37/ 39/ 25 Black Moods Ian Oversby 134 210 6 28/ 24/ 48 Olivia X Ben Ford 131 95 7 19/ 8/ 73 Evol Cap 4 X John Wilkinson 131 283 8 24/ 18/ 58 xd100 test David Houston 131 11 9 27/ 24/ 49 Venom v0.2b Christian Schmidt 130 236 10 32/ 35/ 33 Trefoil F 13 Steve Gunnell 130 97 11 28/ 27/ 45 KAT v5 Dave Hillis 129 146 12 34/ 41/ 25 Ogre Christian Schmidt 127 162 13 34/ 41/ 25 Simply Intelligent Zul Nadzri 127 7 14 24/ 21/ 55 Glenstorm John Metcalf 127 76 15 35/ 44/ 22 Giant Hazy Test 13 Steve Gunnell 125 41 16 18/ 11/ 71 Denial David Moore 125 155 17 15/ 7/ 77 Evolve X v4.0 John Wilkinson 123 231 18 20/ 16/ 64 Kin John Metcalf 123 122 19 31/ 39/ 30 Controlled Aggression Ian Oversby 122 214 20 17/ 14/ 69 Blotter X J. Pohjalainen 121 16 21 18/ 32/ 51 flames of creativity John Metcalf 104 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 08/30/04 Date: 30 Aug 2004 07:24:56 -0400 Message-ID: <200408300409.i7U491w2017170@gevjon.ttsg.com> Weekly Status on 08/30/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Aug 29 19:53:58 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 37/ 27/ 36 Hullabaloo Roy van Rijn 147 42 2 36/ 29/ 35 Borgir Christian Schmidt 143 77 3 30/ 21/ 49 paper(paper(paper(clear)) Sascha Zapf 139 146 4 33/ 27/ 41 elf Christian Schmidt 138 107 5 42/ 46/ 11 Strike Two Roy/Fizmo 138 49 6 32/ 26/ 42 Gargantuan Roy van Rijn 138 63 7 28/ 18/ 54 Black Knight Christian Schmidt 137 67 8 35/ 35/ 30 2b||!2b Sascha Zapf 135 101 9 40/ 46/ 14 HazyLazy C 11 CS SG 135 254 10 30/ 26/ 44 Savage Flowing Battleworn Pascal Hofstee 135 61 11 40/ 45/ 15 Dandelion 3 Christian Schmidt 135 163 12 24/ 14/ 62 Maelstrom Roy van Rijn 134 186 13 41/ 49/ 10 Arrow Christian Schmidt 133 245 14 38/ 42/ 20 Edgar Variation Waknuk 133 2 15 29/ 26/ 45 Gremlin van Rijn/Grabun 133 276 16 26/ 21/ 53 unheard-of II Christian Schmidt 131 59 17 38/ 45/ 17 Backup P.Kline 131 1 18 42/ 52/ 6 Claw III Christian Schmidt 131 81 19 28/ 26/ 46 slime test 1.00 David Houston 130 372 20 38/ 46/ 16 Attacker in the Darkness Christian Schmidt 129 30 21 13/ 32/ 56 VoyagerBullet v1 Nenad Tomasev 94 0 From: Koth Subject: KOTH.ORG: Status - Standard 08/30/04 Date: 30 Aug 2004 07:25:04 -0400 Message-ID: <200408300400.i7U4016E017030@gevjon.ttsg.com> Weekly Status on 08/30/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Thu Aug 12 12:45:56 EDT 2004 # %W/ %L/ %T Name Author Score Age 1 41/ 28/ 31 The Next Step '88 David Houston 153 14 2 37/ 27/ 35 Freight Train David Moore 148 199 3 37/ 27/ 36 Test Alexander (Sasha) Wa 147 138 4 43/ 40/ 17 My 1st try Christian Schmidt 145 30 5 36/ 28/ 36 Guardian Ian Oversby 144 198 6 42/ 40/ 17 Tangle Trap 3 David Moore 144 27 7 34/ 26/ 40 A.I.P. Christian Schmidt 142 6 8 45/ 48/ 7 Scan Test C 6 Steve Gunnell 141 37 9 41/ 42/ 17 Stasis David Moore 140 306 10 43/ 47/ 10 Speeed 88mph Christian Schmidt 138 4 11 39/ 41/ 20 PacMan David Moore 138 228 12 41/ 46/ 13 Cold as November Rain... John Metcalf 136 12 13 34/ 32/ 34 Pixie 88 Lukasz Grabun 136 28 14 41/ 48/ 11 Blurstone '88 M. J. Pihlaja 134 1 15 26/ 18/ 57 unheard-of '88 Christian Schmidt 133 5 16 35/ 37/ 29 The Seed Roy van Rijn 133 16 17 35/ 36/ 29 vala John Metcalf 133 121 18 37/ 44/ 19 '88 test IV John Metcalf 129 92 19 36/ 46/ 18 B-Scanner live in vain Matt Hastings 127 2 20 37/ 48/ 15 Blur '88 Anton Marsden 126 236 21 2/ 2/ 0 Blurstone '88 M. J. Pihlaja 7 3 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 08/30/04 Date: 30 Aug 2004 07:25:02 -0400 Message-ID: <200408300403.i7U431oA017107@gevjon.ttsg.com> Weekly Status on 08/30/04 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Aug 29 15:04:09 EDT 2004 # Name Author Score Age 1 defense test file tg3 simon wainwright 12 5 2 Dodge Viper Christian Schmidt 11 51 3 Her Majesty P.Kline 8 486 4 Leap test Christian Schmidt 6 53 5 skirmish of the grasshopp Simon Wainwright 5 1 6 not king of the hill FatalC 4 212 7 Attacker in the Darkness Christian Schmidt 4 6 8 foundling John Metcalf 4 33 9 The Survivor Philip Kendall 4 97 10 Zorca Christian Schmidt 3 44 11 sentimental dreams John Metcalf 0 2 From: zed_exhome@hotmail.com (Zed_eX) Subject: CW on winXP Date: 31 Aug 2004 22:47:58 -0700 Message-ID: I downloaded CW but it won't work on XP. I also tried compatability mode. Any ideas? -Zed_eX