From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 05/02/05 Date: 2 May 2005 00:31:54 -0400 Message-ID: <200505020409.j424913Z001815@gevjon.ttsg.com> Weekly Status on 05/02/05 -=- 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 : Sat Apr 30 05:38:30 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 36/ 29/ 35 Borgir Christian Schmidt 142 246 2 43/ 46/ 10 Arrow Christian Schmidt 140 414 3 34/ 29/ 37 Hullabaloo Roy van Rijn 140 211 4 27/ 17/ 56 Maelstrom Roy van Rijn 137 354 5 39/ 41/ 20 Sharky Christian Schmidt 137 20 6 40/ 43/ 17 Beat this Sascha Zapf 136 59 7 40/ 44/ 16 Brae Christian Schmidt 136 11 8 34/ 31/ 35 107 kHz Sascha Zapf 136 4 9 30/ 24/ 46 test Roy van Rijn 136 7 10 30/ 25/ 45 New-T Roy van Rijn 135 145 11 40/ 44/ 17 HazyLazy Test C 30 Steve Gunnell / Chri 135 26 12 43/ 50/ 7 djn.f stream John Metcalf 135 5 13 32/ 30/ 38 DifferentialOperatorWS Nenad Tomasev 134 40 14 27/ 23/ 50 Sinus Tree Christian Schmidt 132 25 15 30/ 29/ 40 The Humanizer bvowk/fiz 131 99 16 26/ 22/ 52 Black Knight Christian Schmidt 129 236 17 24/ 19/ 57 S.D.N. Christian Schmidt 129 23 18 36/ 44/ 20 WriteLn('Victory'); Nenad Tomasev 129 1 19 29/ 30/ 41 false illusion John Metcalf 128 19 20 30/ 32/ 38 Immortal Fire Sascha Zapf 127 2 21 23/ 30/ 47 CoreRW Nenad Tomasev 115 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 05/02/05 Date: 2 May 2005 00:37:13 -0400 Message-ID: <200505020403.j42431VO001696@gevjon.ttsg.com> Weekly Status on 05/02/05 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Fri Apr 1 11:08:36 EST 2005 # Name Author Score Age 1 BattleShield Nenad Tomasev 20 19 2 kingdom of the grasshoppe simon wainwright 20 43 3 desolate Simon Wainwright 18 13 4 careless scanning Simon Wainwright 17 12 5 glow worm John Metcalf 14 1 6 French Kiss LAchi 14 4 7 NSos13 Nenad Tomasev 10 3 8 Purpurea 2nd Miz 10 10 9 Hiperblast G.Labarga 7 53 10 CLP-shot 2 G.Labarga 3 5 11 djn.f stream John Metcalf 0 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 05/02/05 Date: 2 May 2005 00:37:06 -0400 Message-ID: <200505020406.j42461cN001756@gevjon.ttsg.com> Weekly Status on 05/02/05 -=- 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 Apr 16 18:05:34 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 44/ 36/ 20 Fatamorgana X Zul Nadzri 152 3 2 41/ 37/ 21 The X Machine Zul Nadzri 145 27 3 41/ 38/ 21 Black Moods Ian Oversby 143 212 4 26/ 9/ 65 Evol Cap 4 X John Wilkinson 142 285 5 43/ 44/ 13 Fire and Ice II David Moore 141 116 6 30/ 20/ 50 xd100 test David Houston 141 13 7 39/ 40/ 20 Eliminator X Zul Nadzri 138 28 8 25/ 12/ 62 Denial David Moore 138 157 9 30/ 23/ 47 Glenstorm John Metcalf 137 78 10 22/ 7/ 71 Evolve X v4.0 John Wilkinson 136 233 11 32/ 27/ 41 KAT v5 Dave Hillis 136 148 12 36/ 37/ 27 Trefoil F 13 Steve Gunnell 135 99 13 31/ 27/ 42 Olivia X Ben Ford 135 97 14 26/ 18/ 56 Kin John Metcalf 133 124 15 38/ 43/ 19 Giant Hazy Test 13 Steve Gunnell 133 43 16 36/ 41/ 23 Ogre Christian Schmidt 132 164 17 35/ 39/ 26 Controlled Aggression Ian Oversby 132 216 18 36/ 41/ 22 Simply Intelligent Zul Nadzri 131 9 19 28/ 30/ 42 Venom v0.2b Christian Schmidt 126 238 20 39/ 54/ 7 something from darkwood John Metcalf 125 1 21 25/ 67/ 7 test G.Labarga 83 0 From: Koth Subject: KOTH.ORG: Status - Standard 05/02/05 Date: 2 May 2005 01:02:43 -0400 Message-ID: <200505020400.j424011U001351@gevjon.ttsg.com> Weekly Status on 05/02/05 -=- 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 : Sun Apr 24 05:17:38 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 39/ 28/ 33 The Next Step '88 David Houston 149 34 2 34/ 24/ 42 The Hurricaner G.Labarga 144 5 3 41/ 41/ 18 Scan the Can Christian Schmidt 141 14 4 40/ 39/ 21 Tangle Trap 3 David Moore 140 47 5 32/ 25/ 43 Test Alexander (Sasha) Wa 139 158 6 35/ 32/ 32 The Seed Roy van Rijn 138 36 7 32/ 26/ 42 Freight Train David Moore 138 219 8 39/ 40/ 21 My 1st try Christian Schmidt 138 50 9 32/ 27/ 40 A.I.P. Christian Schmidt 137 26 10 37/ 38/ 25 PacMan David Moore 136 248 11 31/ 26/ 42 Guardian Ian Oversby 136 218 12 24/ 11/ 65 IMParable G.Labarga 136 6 13 30/ 26/ 44 test G.Labarga 135 1 14 24/ 15/ 62 Utterer '88 Christian Schmidt 133 2 15 38/ 43/ 20 Stasis David Moore 132 326 16 37/ 43/ 20 Moonwipe Christian Schmidt 132 15 17 40/ 49/ 10 Scan Test C 6 Steve Gunnell 131 57 18 40/ 49/ 10 Speeed 88mph Christian Schmidt 131 18 19 37/ 48/ 15 Cold as November Rain... John Metcalf 127 32 20 34/ 42/ 24 '88 test IV John Metcalf 126 112 21 25/ 50/ 26 Twill Andy Pierce 100 0 From: neogryzormail@mixmail.com (Neogryzor) Subject: Re: Redcoder's Frenzy 23: The Powers of Ten Round Date: 2 May 2005 02:29:05 -0700 Message-ID: <242debe4.0505020129.71d9b73f@posting.google.com> "Nenad Tomasev" wrote in message news:<1114764197.554666.118080@f14g2000cwb.googlegroups.com>... > Hi. > Definitely an intersting round. > Large coresize, write limit, and lp -> it will be very difficult for > evolvers to make something competitive this time. Mobility is, of > course, necessary in order to be able to attack throughout the core, > but you can always sit and wait for your opponent to come to you :) > (static warriors can be much more complex). Of course, there is always > the option of combining these two approaches. > ... Testing will be difficult, because there is no possibility of > making a benchmark. We'll only be able to test our own potential > entries against each other. > heh. but that's what makes this so interesting :-). Certainly, a realy interesting round. Though, a serious problem for those, (surely only me), who have a paleolithic PC. 100 rounds are maybe not enough for complex p-brains, but with 10^7 cycles we could become grandpas waiting the results with a large number of rounds. Am i hearing the sound of mP^3's...? Personal note: I have to steal a nice machine from somewhere. Should i go to Alberta to visit Bvowk? Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 02 May 2005 04:33:22 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: "Chip" Subject: Re: Redcoder's Frenzy 23: The Powers of Ten Round Date: 2 May 2005 08:19:12 -0700 Message-ID: <1115047152.137244.121710@f14g2000cwb.googlegroups.com> I think I see what you mean. It seems that CoreWin has a bug in the way it retrieves both the p-space size and the R/W limits from the configuration file: if you load settings that have absolute numbers for these (instead of fractions of coresize), the numbers fail to override the default fractional values, so the p-space size remains at 1/16th of coresize (62500 for this round). More importantly, the write limit will fail to get set! I'll fix this bug for version 2.3. For now, though, please use this workaround: After you start CoreWin and load your settings for RF23, manually type in the values for write limit and p-space size. They'll look the same, but the act of typing forces the system to recognize them as new values, and they'll get properly set. To doublecheck, open a p-space view window to check p-space size, and run mov 0, 50001, which should behave as a normal imp. Sorry about the inconvenience. - Chip From: M Joonas Pihlaja Subject: Re: Redcoder's Frenzy 23: The Powers of Ten Round Date: Wed, 4 May 2005 19:30:27 +0300 Message-ID: Hi, pMARS has some trouble displaying cores as large as this round requires. I've hacked sdldisp.c to squash the core vertically to limit the maximum core arena window height to 400 pixels (so that you can still see the cdb panel when debugging.) You can download the sources with read/write limit patches applied already at: http://www.helsinki.fi/~jpihlaja/pmars-0.9.2-6-rw.tar.gz Cheers, Joonas From: M Joonas Pihlaja Subject: Re: Redcoder's Frenzy 23: The Powers of Ten Round Date: Wed, 4 May 2005 21:43:02 +0300 Message-ID: There's a five-slot ;redcode-rf23 hill up on http://sal.math.ualberta.ca Be prepared for *long* waits when the hill becomes saturated with paper. So please do try real hard to kick all paper off ASAP. :) Cheers, Joonas From: "Chip" Subject: Re: Redcoder's Frenzy 23: The Powers of Ten Round Date: 5 May 2005 08:51:15 -0700 Message-ID: <1115308275.923752.163000@g14g2000cwa.googlegroups.com> There have been a few questions about the RF23 round, so I've put together a brief FAQ. Q: Why isn't my warrior working the same under CoreWin and pmars? A: As I noted in a previous post, CoreWin has a bug in the way it reads settings from a .cfg file. Each time you start CoreWin, you need to type numbers into the write limit and p-space size boxes in order for those parameters to be set properly. If in doubt, run MOV 0,50001; it should behave as a normal imp. Q: How do read/write limits work? A: This is a long one, but here goes: Every address in Redcode is either a read address or a write address. Basically, a write address is any address at which the core contents are (or could be) changed, and everything else is a read address. For instance, in a MOV $X,$Y instruction, X is a read address but Y is a write address. All compares, jumps, and SPL use read addresses, because nothing is changed in core. The address that's decremented by a DJN is a write address. Each of the indirect addressing modes involves two addresses, which may be classified differently: in a SUB >X,}Y instruction, both of the intermediate addresses (X and Y) are write addresses, because they're being incremented; the final addresses (X+[X.B] and Y+[Y.A]) are read and write addresses, respectively. Under R/W limits, each write address is calculated modulo the write limit (WL), so that the address is "folded" into the range -WL/2+1 to +WL/2. Similarly, each read address is folded modulo the read limit. Under RF23 rules, the read limit is the same as the coresize, and since all addresses are calculated modulo the coresize anyway, the extra folding has no effect; any address in core can be "read". But the write limit is 50000, so every write address will be folded into the range -24999 to +25000, relative to the current instruction. This is true even for indirect addressing; MOV bomb,@ptr will bomb the same section of core no matter how far away ptr is. Note that p-space addresses are not subject to R/W limits. STP #42,#90000 will store a value in p-space location 90000 under RF23 rules. (P-space addresses are folded modulo the p-space size, but that's a different story.) If anyone has other questions they'd like to ask, please let me know, and I'll try to address them (no pun intended). From: Barkley Vowk Subject: Mutation rates in evolutionary corewar Date: Fri, 6 May 2005 15:11:02 -0600 Message-ID: <20050506145735.W25256@3jane.math.ualberta.ca> I have finally figured out why all my evolved nano warriors look mostly identical: The mutation rate is too high. The problem is when the mutation rate is too high, the warriors have significant pressure to assume a mutation resistant form. Going through the results of the new evolver showed me that all the typical forms I'd evolve from the previous version, were terrifically resistant to some twiddling or its bits. On a hunch, I dropped the mutation rate by a factor of about 7, and I suddenly started evolving more interesting forms that scored better, but did not reproduce effectively in the face of high mutation rates. This effect seems to be most pronounced on nano, because 5 line warriors can change form in a surprisingly short amount of time. This means that if the mutation rate ever climbs too high, all the complexity evolved is effectly lost as the warriors assume resistant forms. Something to think about. From: dhillismail@netscape.net Subject: Re: Mutation rates in evolutionary corewar Date: 8 May 2005 10:39:27 -0700 Message-ID: <1115573967.811612.191100@g14g2000cwa.googlegroups.com> Interesting point. I"ve seen this. High disruption forces the GA towards short, simple forms such that mutation or crossover doesn't change them so much. Less disruption sometimes allows more sophisticated warriors to develop which leads, alas, to weaker performance in my experience anyway:( Oh the perversity of it all! In the same vein: coevolving warriors sometimes seem to evolve to be better at evolving. I'll get warriors where a single point mutation turns replication on or off or switches core clearing and imp bombing back and forth. Dave Hillis From: will Subject: Re: Mutation rates in evolutionary corewar Date: 8 May 2005 11:52:34 -0400 Message-ID: <20050507184122.59728.qmail@web25006.mail.ukl.yahoo.com> Aha! Good work Barkley, and thank you very much for sharing it with the CW community! > Something to think about. indeed!! ___________________________________________________________ Yahoo! Messenger - want a free and easy way to contact your friends online? http://uk.messenger.yahoo.com From: Jens Gutzeit Subject: PyMARS - A Python MARS Date: Sun, 08 May 2005 21:44:29 +0200 Message-ID: Hi, in order to learn Redcode, I've written a pure-Python MARS. During the next days I won't have much time - that's why I release it now, altough it is quite unfinished. You can find it at http://corewars.jgutzeit.de/pymars/download/PyMARS-0.0.0.tar.bz2 Apart from being incomplete it has the following features: - It is slow (probably the slowest MARS ever :-) - Has a lot of bugs. - Survives its own testsuite. - Runs on Linux and Windows (not tested). - Has a simple GUI. - There is not point using it ;-) To use its GUI you need Python >= 2.4.0 (http://www.python.org) and PyGTK >= 2.6.0 (http://www.pygtk.org). - Jens Gutzeit From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 05/09/05 Date: 9 May 2005 08:59:11 -0400 Message-ID: <200505090403.j49431U4013368@gevjon.ttsg.com> Weekly Status on 05/09/05 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Thu May 5 12:53:51 EDT 2005 # Name Author Score Age 1 careless scanning Simon Wainwright 29 12 2 BattleShield Nenad Tomasev 26 19 3 glow worm John Metcalf 21 1 4 desolate Simon Wainwright 21 13 5 French Kiss LAchi 17 4 6 CLP-shot 2 G.Labarga 14 5 7 kingdom of the grasshoppe simon wainwright 12 43 8 Hiperblast G.Labarga 11 53 9 Purpurea 2nd Miz 6 10 10 NSos13 Nenad Tomasev 5 3 11 careful calculations John Metcalf 0 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 05/09/05 Date: 9 May 2005 08:59:09 -0400 Message-ID: <200505090406.j49461h7013427@gevjon.ttsg.com> Weekly Status on 05/09/05 -=- 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 : Fri May 6 15:52:31 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 44/ 36/ 20 Fatamorgana X Zul Nadzri 151 3 2 40/ 38/ 22 The X Machine Zul Nadzri 143 27 3 39/ 39/ 21 Black Moods Ian Oversby 139 212 4 42/ 45/ 13 Fire and Ice II David Moore 139 116 5 39/ 40/ 20 Eliminator X Zul Nadzri 139 28 6 22/ 9/ 69 Evol Cap 4 X John Wilkinson 135 285 7 27/ 19/ 54 xd100 test David Houston 135 13 8 35/ 37/ 28 Trefoil F 13 Steve Gunnell 133 99 9 36/ 41/ 23 Ogre Christian Schmidt 132 164 10 27/ 22/ 51 Glenstorm John Metcalf 132 78 11 22/ 12/ 67 Denial David Moore 132 157 12 28/ 27/ 45 KAT v5 Dave Hillis 130 148 13 19/ 7/ 74 Evolve X v4.0 John Wilkinson 130 233 14 28/ 26/ 46 Olivia X Ben Ford 129 97 15 35/ 41/ 24 Simply Intelligent Zul Nadzri 129 9 16 23/ 17/ 60 Kin John Metcalf 129 124 17 36/ 45/ 19 Giant Hazy Test 13 Steve Gunnell 128 43 18 33/ 39/ 28 Controlled Aggression Ian Oversby 127 216 19 27/ 27/ 46 Venom v0.2b Christian Schmidt 127 238 20 40/ 53/ 7 something from darkwood John Metcalf 126 1 21 16/ 30/ 55 AnimaRisingII Nenad Tomasev 102 0 From: Koth Subject: KOTH.ORG: Status - Standard 05/09/05 Date: 9 May 2005 08:59:14 -0400 Message-ID: <200505090400.j49401Ah013291@gevjon.ttsg.com> Weekly Status on 05/09/05 -=- 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 : Sun Apr 24 05:17:38 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 39/ 28/ 33 The Next Step '88 David Houston 149 34 2 34/ 24/ 42 The Hurricaner G.Labarga 144 5 3 41/ 41/ 18 Scan the Can Christian Schmidt 141 14 4 40/ 39/ 21 Tangle Trap 3 David Moore 140 47 5 32/ 25/ 43 Test Alexander (Sasha) Wa 139 158 6 35/ 32/ 32 The Seed Roy van Rijn 138 36 7 32/ 26/ 42 Freight Train David Moore 138 219 8 39/ 40/ 21 My 1st try Christian Schmidt 138 50 9 32/ 27/ 40 A.I.P. Christian Schmidt 137 26 10 37/ 38/ 25 PacMan David Moore 136 248 11 31/ 26/ 42 Guardian Ian Oversby 136 218 12 24/ 11/ 65 IMParable G.Labarga 136 6 13 30/ 26/ 44 test G.Labarga 135 1 14 24/ 15/ 62 Utterer '88 Christian Schmidt 133 2 15 38/ 43/ 20 Stasis David Moore 132 326 16 37/ 43/ 20 Moonwipe Christian Schmidt 132 15 17 40/ 49/ 10 Scan Test C 6 Steve Gunnell 131 57 18 40/ 49/ 10 Speeed 88mph Christian Schmidt 131 18 19 37/ 48/ 15 Cold as November Rain... John Metcalf 127 32 20 34/ 42/ 24 '88 test IV John Metcalf 126 112 21 25/ 50/ 26 Twill Andy Pierce 100 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 05/09/05 Date: 9 May 2005 08:59:06 -0400 Message-ID: <200505090409.j49491HW013571@gevjon.ttsg.com> Weekly Status on 05/09/05 -=- 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 : Tue May 3 18:37:47 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 45/ 45/ 10 Arrow Christian Schmidt 146 415 2 37/ 28/ 36 Hullabaloo Roy van Rijn 146 212 3 37/ 29/ 33 Borgir Christian Schmidt 145 247 4 38/ 30/ 32 107 kHz Sascha Zapf 145 5 5 43/ 42/ 15 Brae Christian Schmidt 144 12 6 41/ 38/ 21 KryneLamiya Nenad Tomasev 144 1 7 42/ 41/ 16 Beat this Sascha Zapf 143 60 8 30/ 17/ 53 Maelstrom Roy van Rijn 143 355 9 33/ 24/ 44 test Roy van Rijn 142 8 10 40/ 41/ 19 Sharky Christian Schmidt 140 21 11 32/ 24/ 43 New-T Roy van Rijn 140 146 12 35/ 30/ 35 DifferentialOperatorWS Nenad Tomasev 139 41 13 31/ 23/ 47 Sinus Tree Christian Schmidt 138 26 14 40/ 43/ 17 HazyLazy Test C 30 Steve Gunnell / Chri 137 27 15 33/ 28/ 40 false illusion John Metcalf 137 20 16 33/ 29/ 38 The Humanizer bvowk/fiz 137 100 17 29/ 21/ 50 Black Knight Christian Schmidt 137 237 18 43/ 49/ 7 djn.f stream John Metcalf 137 6 19 33/ 30/ 37 Immortal Fire Sascha Zapf 137 3 20 27/ 18/ 54 S.D.N. Christian Schmidt 136 24 21 2/ 84/ 14 deccy Caleb 21 0 From: "Nenad Tomasev" Subject: 94b Date: 13 May 2005 06:47:42 -0700 Message-ID: <1115992062.665128.5680@f14g2000cwb.googlegroups.com> Hi. I would like to inform all the beginners that i've killed my warriors on 94b hill at http://sal.math.ualberta.ca/. The hill is now quite empty (only ten slots contain actual warriors) -> so try to make it full again :). Anything you send to the hill now will certainly enter. ... the hill became too strong some time ago, and I hope it is no longer the case. Good luck. Nenad From: fun21sunblue@hotmail.com Subject: Fellow Game Enthusiast, You're Invited! Date: 13 May 2005 20:14:53 -0700 Message-ID: <1116040493.535718.8040@g49g2000cwa.googlegroups.com> Friend, Check out http://ChezBrandon.com It's awesome. As it should be, those who are friends with individuals who are intelligent, industrious, and good create symbiotic and mutually profitable relationships. Brandon is one of my best friends; he -- like you -- has the above mentioned character traits but spends too much time studying, working, and spending time with his girlfriend Anne and should make more awesome friends. Have a great day and an excellent week, Jacen From: Jens Gutzeit Subject: Re: 94b Date: Sat, 14 May 2005 11:01:47 +0200 Message-ID: Hi, now that I've managed to enter the beginner hill, you kill all your warriors :-( But yes, it's been quite difficult to enter the hill, so I think you were right in killing some of your warriors. - Jens From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 05/16/05 Date: 16 May 2005 09:18:30 -0400 Message-ID: <200505160409.j4G491QN029035@gevjon.ttsg.com> Weekly Status on 05/16/05 -=- 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 : Wed May 11 15:47:03 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 40/ 39/ 21 KryneLamiya Nenad Tomasev 141 3 2 43/ 47/ 10 Arrow Christian Schmidt 139 417 3 34/ 29/ 37 Hullabaloo Roy van Rijn 139 214 4 34/ 30/ 35 Borgir Christian Schmidt 138 249 5 40/ 43/ 16 Brae Christian Schmidt 137 14 6 40/ 43/ 16 Beat this Sascha Zapf 137 62 7 34/ 32/ 34 107 kHz Sascha Zapf 136 7 8 38/ 42/ 20 Sharky Christian Schmidt 135 23 9 26/ 17/ 57 Maelstrom Roy van Rijn 135 357 10 43/ 51/ 7 djn.f stream John Metcalf 135 8 11 39/ 44/ 17 HazyLazy Test C 30 Steve Gunnell / Chri 133 29 12 29/ 25/ 46 New-T Roy van Rijn 133 148 13 31/ 31/ 38 DifferentialOperatorWS Nenad Tomasev 132 43 14 29/ 26/ 45 test Roy van Rijn 131 10 15 30/ 30/ 40 The Humanizer bvowk/fiz 130 102 16 27/ 24/ 49 Sinus Tree Christian Schmidt 130 28 17 26/ 22/ 52 Black Knight Christian Schmidt 130 239 18 25/ 19/ 56 S.D.N. Christian Schmidt 130 26 19 29/ 31/ 40 false illusion John Metcalf 128 22 20 28/ 31/ 41 exp2.1 Nenad Tomasev 126 1 21 1/ 1/ 3 exp2 Nenad Tomasev 6 2 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 05/16/05 Date: 16 May 2005 09:19:03 -0400 Message-ID: <200505160406.j4G461rS028913@gevjon.ttsg.com> Weekly Status on 05/16/05 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Thu May 12 10:11:47 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 43/ 36/ 21 Fatamorgana X Zul Nadzri 150 4 2 40/ 38/ 22 The X Machine Zul Nadzri 142 28 3 28/ 19/ 53 xd100 test David Houston 138 14 4 23/ 8/ 69 Evol Cap 4 X John Wilkinson 137 286 5 38/ 41/ 21 Eliminator X Zul Nadzri 136 29 6 41/ 46/ 13 Fire and Ice II David Moore 135 117 7 38/ 42/ 19 Giant Hazy Test 13 Steve Gunnell 134 44 8 22/ 11/ 67 Denial David Moore 133 158 9 29/ 26/ 45 KAT v5 Dave Hillis 132 149 10 29/ 27/ 44 Olivia X Ben Ford 132 98 11 34/ 37/ 29 Trefoil F 13 Steve Gunnell 131 100 12 36/ 41/ 23 Ogre Christian Schmidt 131 165 13 34/ 38/ 28 Trefoil Test F 14 Steve Gunnell 131 1 14 28/ 26/ 46 Venom v0.2b Christian Schmidt 131 239 15 36/ 42/ 22 Black Moods Ian Oversby 130 213 16 27/ 24/ 49 Glenstorm John Metcalf 130 79 17 34/ 39/ 27 Controlled Aggression Ian Oversby 129 217 18 17/ 7/ 76 Evolve X v4.0 John Wilkinson 128 234 19 34/ 41/ 24 Simply Intelligent Zul Nadzri 127 10 20 22/ 20/ 58 Kin John Metcalf 125 125 21 28/ 45/ 27 Bugtown Rap 18 Steve Gunnell 111 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 05/16/05 Date: 16 May 2005 09:19:33 -0400 Message-ID: <200505160403.j4G430c3028864@gevjon.ttsg.com> Weekly Status on 05/16/05 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Thu May 5 12:53:51 EDT 2005 # Name Author Score Age 1 careless scanning Simon Wainwright 29 12 2 BattleShield Nenad Tomasev 26 19 3 glow worm John Metcalf 21 1 4 desolate Simon Wainwright 21 13 5 French Kiss LAchi 17 4 6 CLP-shot 2 G.Labarga 14 5 7 kingdom of the grasshoppe simon wainwright 12 43 8 Hiperblast G.Labarga 11 53 9 Purpurea 2nd Miz 6 10 10 NSos13 Nenad Tomasev 5 3 11 careful calculations John Metcalf 0 0 From: Koth Subject: KOTH.ORG: Status - Standard 05/16/05 Date: 16 May 2005 09:20:04 -0400 Message-ID: <200505160400.j4G400QX028830@gevjon.ttsg.com> Weekly Status on 05/16/05 -=- 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 : Sun Apr 24 05:17:38 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 39/ 28/ 33 The Next Step '88 David Houston 149 34 2 34/ 24/ 42 The Hurricaner G.Labarga 144 5 3 41/ 41/ 18 Scan the Can Christian Schmidt 141 14 4 40/ 39/ 21 Tangle Trap 3 David Moore 140 47 5 32/ 25/ 43 Test Alexander (Sasha) Wa 139 158 6 35/ 32/ 32 The Seed Roy van Rijn 138 36 7 32/ 26/ 42 Freight Train David Moore 138 219 8 39/ 40/ 21 My 1st try Christian Schmidt 138 50 9 32/ 27/ 40 A.I.P. Christian Schmidt 137 26 10 37/ 38/ 25 PacMan David Moore 136 248 11 31/ 26/ 42 Guardian Ian Oversby 136 218 12 24/ 11/ 65 IMParable G.Labarga 136 6 13 30/ 26/ 44 test G.Labarga 135 1 14 24/ 15/ 62 Utterer '88 Christian Schmidt 133 2 15 38/ 43/ 20 Stasis David Moore 132 326 16 37/ 43/ 20 Moonwipe Christian Schmidt 132 15 17 40/ 49/ 10 Scan Test C 6 Steve Gunnell 131 57 18 40/ 49/ 10 Speeed 88mph Christian Schmidt 131 18 19 37/ 48/ 15 Cold as November Rain... John Metcalf 127 32 20 34/ 42/ 24 '88 test IV John Metcalf 126 112 21 25/ 50/ 26 Twill Andy Pierce 100 0 Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 17 May 2005 04:29:36 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: Tuc Subject: Time to get ready Date: 17 May 2005 19:47:11 -0400 Message-ID: <200505172242.j4HMgb4n039946@himinbjorg.tucs-beachin-obx-house.com> Hi, 5 minute warning.... From the next 5 minutes until the end of the month, you need to be aware that almost anything can happen with Koth Hills, Koth Website, Koth IRC server, Koth FTP and the COREWAR-L list. IF, at any time, something JUST DOESNT LOOK RIGHT, *PLEASE* email "koth@t-b-o-h.net". This will be a valid email address until the end of the month. I'd rather someone go "THIS DOESNT LOOK RIGHT" and have me go "No, its ok, it was a momentary thing, nothing to worry about" then go "THIS ISN'T RIGHT, but I'm sure someone else will mention it"... {Side story, a girlfriend did that when her power went out... And 2 days later when it wasn't fixed I finally called the power company against her wishes to find out NO ONE ON THE BLOCK CALLED!!!!!} And Joonas, it looks like the problem with the archives not being available is deeper than just my installing it on a new machine, so I will be going deeper into it. The archives WILL NOT BE LOST. Otherwise, IRC has been set up, and will not be an issue. Listproc is up/running, but the news feed is turning into a problem. If anyone knows someone who admins a Usenet news server, we could really use a feed. ONLY need the 1 group, and if they run INN I can give them 3 lines to put into the config that just emails a copy to me, and then has to add my system as an allowed posting host. If not, it will mean I have to pay for this from someone. I will try to keep people up to date... Tuc From: Tuc Subject: Outbound test Date: Tue, 17 May 2005 22:15:17 -0400 (EDT) Message-ID: <200505180202.j4I22sX0045264@himinbjorg.tucs-beachin-obx-house.com> This is a test outbound. From: "CH" Subject: rf23 hill Date: 18 May 2005 12:33:20 -0700 Message-ID: <1116444800.258124.111840@o13g2000cwo.googlegroups.com> Why doesn=B4t anyone on the sal rf23 hill apear to be using=20 a handshake for self fights?(apart from Roy) From: "sayembara" Subject: Re: rf23 hill Date: 19 May 2005 02:32:27 -0700 Message-ID: <1116495147.280934.286120@g47g2000cwa.googlegroups.com> CH wrote: > Why doesn=B4t anyone on the sal rf23 hill apear to be > using > a handshake for self fights?(apart from Roy) Because RF23 rules are not allowing both.? From: "CH" Subject: Re: rf23 hill Date: 19 May 2005 15:31:06 -0700 Message-ID: <1116541866.346080.156950@g43g2000cwa.googlegroups.com> Oops, I think I=B4d best re-read the rules! From: "Robert Macrae" Subject: Gridwars and Corewars Date: 23 May 2005 00:57:42 -0400 Message-ID: <026001c55ca3$d17e09d0$2200a8c0@Mesh1> >>I'm a longstanding fan of Corewars >>(rec.games.corewars, www.koth.org) and there is a current competition >>Redcoder's Frenzy, all organised by enthusiasts around standard freeware. >>The more the merrier... > > Thanks for the hint. What would be an easy way to start Core War in your > opinion? Is there a good introduction exemplified with sample warriors? > What distribution would you recommend? (I don't mind bare command-line > compiler/interpreter at all, but in case there is a GUI version with > Redcode debugger, it would be nicer of course). 8-) Have a look round on www.koth.org and download PMars or Corwin. PMars is the standard and is very thoroughly debugged, but it can be a hassle getting the graphics to work on modern windows machines. I have just started using Corewin (its required for the current Frenzy round) and AFAICS it is an excellent replacement that works out-of-the-box. In terms of example warriors, look on koenigstuhl, http://www.ociw.edu/~birk/COREWAR/koenigstuhl.html this stores and scores all published warriors! It is a bit imposing at first, partly because of its bulk and partly because most of the warriors contain a lot of auxiliary code (quickscans, launchers, decoys etc) that obscure what the main warrior is doing. To understand what you are seeing read some issues of Corewarrior or look at one of the tutorials, also on koth. > And I would really appreciate learning a bit about Core War if you > don't mind educating me: CW is in its early twenties, is there still > room for improvement and creativity? Interesting question. In my opinion the standard games are reasonably well explored and most new warriors are tweaks rather than revolutions. Newsgroup activity is way off, I think because newcomers find the learning slope just too imposing. OTOH the Frenzy rounds each do something untested and experience does not give that much of an edge. It is more important to imagine clearly what you will be up against (and then code something to eat it). > How would you compare CW > to GW in terms of complexity/creativity space? Hard to define. CW is tweaking assembler rather than tweaking a state machine, but I doubt GW will be played for 20 years! > I found a page about > Redcoders' Frenzy at corewar.info, and there is Roy van Rijn -- is he > by any chance that Roy who participated in GW and referred to CW? Could well be... or I know I made some CW references and may have mis-spelled "Rob"! I've taken the liberty of copying this to r.g.c; how about it Roy? > Thanks in advance if you manage to answer [some of] these. :-) Delighted. Have fun! BTW it is not too late to enter the current round... and it incorporates write limits, a major new feature that destroys many established strategies. I expect something radically new to win this one, and have two candidates 8-) Robert From: roy.van.rijn@gmail.com Subject: Re: Gridwars and Corewars Date: 23 May 2005 01:00:44 -0700 Message-ID: <1116835244.647910.161650@g43g2000cwa.googlegroups.com> Well yes, I participated in Gridwars last year too! (And I'm the Roy van Rijn from Corewars). And I also mentioned corewars as a good past-time in some of my GW-posts. My Gridwars experience wasn't very succesfull, experimenting with some ideas, and reluctant to analyse other peoples code :) And IMHO if you like to play gridwars, you'll probebly also like corewars. So you should indeed check it out. From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 05/23/05 Date: 23 May 2005 09:03:18 -0400 Message-ID: <200505230409.j4N490nZ010553@gevjon.ttsg.com> Weekly Status on 05/23/05 -=- 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 May 22 17:19:43 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 44/ 47/ 9 Arrow Christian Schmidt 141 418 2 35/ 28/ 37 Hullabaloo Roy van Rijn 141 215 3 40/ 39/ 21 KryneLamiya Nenad Tomasev 140 4 4 41/ 43/ 16 Beat this Sascha Zapf 140 63 5 35/ 30/ 35 Borgir Christian Schmidt 140 250 6 39/ 42/ 19 Sharky Christian Schmidt 137 24 7 43/ 50/ 7 djn.f stream John Metcalf 136 9 8 40/ 44/ 16 Brae Christian Schmidt 135 15 9 33/ 30/ 37 UnderConstruction Roy van Rijn 135 1 10 33/ 32/ 35 107 kHz Sascha Zapf 134 8 11 26/ 17/ 58 Maelstrom Roy van Rijn 134 358 12 29/ 25/ 46 New-T Roy van Rijn 134 149 13 39/ 45/ 16 HazyLazy Test C 30 Steve Gunnell / Chri 134 30 14 31/ 30/ 39 The Humanizer bvowk/fiz 133 103 15 31/ 31/ 38 DifferentialOperatorWS Nenad Tomasev 132 44 16 27/ 24/ 49 Sinus Tree Christian Schmidt 131 29 17 26/ 22/ 52 Black Knight Christian Schmidt 131 240 18 25/ 19/ 56 S.D.N. Christian Schmidt 130 27 19 29/ 30/ 41 false illusion John Metcalf 128 23 20 28/ 31/ 41 exp2.1 Nenad Tomasev 125 2 21 21/ 29/ 49 Korariel Nenad Tomasev 113 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 05/23/05 Date: 23 May 2005 09:03:20 -0400 Message-ID: <200505230403.j4N430Gc010403@gevjon.ttsg.com> Weekly Status on 05/23/05 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Thu May 5 12:53:51 EDT 2005 # Name Author Score Age 1 careless scanning Simon Wainwright 29 12 2 BattleShield Nenad Tomasev 26 19 3 glow worm John Metcalf 21 1 4 desolate Simon Wainwright 21 13 5 French Kiss LAchi 17 4 6 CLP-shot 2 G.Labarga 14 5 7 kingdom of the grasshoppe simon wainwright 12 43 8 Hiperblast G.Labarga 11 53 9 Purpurea 2nd Miz 6 10 10 NSos13 Nenad Tomasev 5 3 11 careful calculations John Metcalf 0 0 From: Koth Subject: KOTH.ORG: Status - Standard 05/23/05 Date: 23 May 2005 09:33:32 -0400 Message-ID: <200505230400.j4N400iT010331@gevjon.ttsg.com> Weekly Status on 05/23/05 -=- 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 : Sun Apr 24 05:17:38 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 39/ 28/ 33 The Next Step '88 David Houston 149 34 2 34/ 24/ 42 The Hurricaner G.Labarga 144 5 3 41/ 41/ 18 Scan the Can Christian Schmidt 141 14 4 40/ 39/ 21 Tangle Trap 3 David Moore 140 47 5 32/ 25/ 43 Test Alexander (Sasha) Wa 139 158 6 35/ 32/ 32 The Seed Roy van Rijn 138 36 7 32/ 26/ 42 Freight Train David Moore 138 219 8 39/ 40/ 21 My 1st try Christian Schmidt 138 50 9 32/ 27/ 40 A.I.P. Christian Schmidt 137 26 10 37/ 38/ 25 PacMan David Moore 136 248 11 31/ 26/ 42 Guardian Ian Oversby 136 218 12 24/ 11/ 65 IMParable G.Labarga 136 6 13 30/ 26/ 44 test G.Labarga 135 1 14 24/ 15/ 62 Utterer '88 Christian Schmidt 133 2 15 38/ 43/ 20 Stasis David Moore 132 326 16 37/ 43/ 20 Moonwipe Christian Schmidt 132 15 17 40/ 49/ 10 Scan Test C 6 Steve Gunnell 131 57 18 40/ 49/ 10 Speeed 88mph Christian Schmidt 131 18 19 37/ 48/ 15 Cold as November Rain... John Metcalf 127 32 20 34/ 42/ 24 '88 test IV John Metcalf 126 112 21 25/ 50/ 26 Twill Andy Pierce 100 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 05/23/05 Date: 23 May 2005 09:33:30 -0400 Message-ID: <200505230406.j4N460bt010485@gevjon.ttsg.com> Weekly Status on 05/23/05 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Thu May 12 10:11:47 EDT 2005 # %W/ %L/ %T Name Author Score Age 1 43/ 36/ 21 Fatamorgana X Zul Nadzri 150 4 2 40/ 38/ 22 The X Machine Zul Nadzri 142 28 3 28/ 19/ 53 xd100 test David Houston 138 14 4 23/ 8/ 69 Evol Cap 4 X John Wilkinson 137 286 5 38/ 41/ 21 Eliminator X Zul Nadzri 136 29 6 41/ 46/ 13 Fire and Ice II David Moore 135 117 7 38/ 42/ 19 Giant Hazy Test 13 Steve Gunnell 134 44 8 22/ 11/ 67 Denial David Moore 133 158 9 29/ 26/ 45 KAT v5 Dave Hillis 132 149 10 29/ 27/ 44 Olivia X Ben Ford 132 98 11 34/ 37/ 29 Trefoil F 13 Steve Gunnell 131 100 12 36/ 41/ 23 Ogre Christian Schmidt 131 165 13 34/ 38/ 28 Trefoil Test F 14 Steve Gunnell 131 1 14 28/ 26/ 46 Venom v0.2b Christian Schmidt 131 239 15 36/ 42/ 22 Black Moods Ian Oversby 130 213 16 27/ 24/ 49 Glenstorm John Metcalf 130 79 17 34/ 39/ 27 Controlled Aggression Ian Oversby 129 217 18 17/ 7/ 76 Evolve X v4.0 John Wilkinson 128 234 19 34/ 41/ 24 Simply Intelligent Zul Nadzri 127 10 20 22/ 20/ 58 Kin John Metcalf 125 125 21 28/ 45/ 27 Bugtown Rap 18 Steve Gunnell 111 0 From: Tuc Subject: KOTH is moving Date: Tue, 24 May 2005 15:43:51 -0400 (EDT) Message-ID: <200505241928.j4OJSfwV017058@himinbjorg.tucs-beachin-obx-house.com> Hi, Koth will be moving in the next 1/2 hour..... Due to DNS some sites might not see it for 4 hours, AOL much longer. I will try to set something up if it ends up the wrong place to forward to the right one. Here goes. Let me know............. Tuc From: Tuc Subject: Hills fixed Date: Wed, 25 May 2005 13:40:32 -0400 (EDT) Message-ID: <200505250018.j4P0Ifet024419@himinbjorg.tucs-beachin-obx-house.com> Hi, There was a problem with the names of the warrior/author/email not printing right for a little while. I'll say it again. SED SUX! I wrote a perl that did the SAME THING the sed did and it works fine. GO FIGURE! ANYWAY, if you see any other problems after Tue May 24 20:03:46 EDT 2005 just let me know at koth@t-b-o-h.net . I'll try to stay current on email, though I am going to the other datacenter soon. Tuc From: Sascha Zapf Subject: Frenzy Question Date: Sun, 29 May 2005 14:03:52 +0000 Message-ID: Hi maniacs, i always think about new ideas for frenzy rounds, and now i have a nice idea, but first i will check something. Each Entry will fight more times against each other entry, including selffight. P-Space is not used...But ...the clue of the round is that the main entry is not a warrior, ( you can have 20 or more ) the entry would be a script or executable written in another language. ( Perl, Python, C/C++, Scheme, Basic etc. ( only portable languages and sources. )) That script becomes very detailed information of the fights. And with that information you can switch between warriors or modify warrior, step or what you want. Even you can try to fool the enemy in the next round so that the last rounds is your. More details will follow. But i think 3*1000 rounds or 5*500 will make interresting manipulations possible. So this script or binary will act as a meta-switcher. But my question to the community is how many differnet languages i should allow? And in general what do you think about a frenzy round with another language then redcode? I don't know how many players don't speak another language, if too much this idea is senseless. So please gimme a comment on this idea.... Sascha -- Parlez vous Redcode ? From: =?ISO-8859-2?Q?=A3ukasz_Adamowski?= Subject: Odp: KOTH with original corewars language Date: Sun, 29 May 2005 16:55:47 -0400 (EDT) Message-ID: <429a1e021c934@wp.pl> Dnia 29-05-2005 o godz. 21:05 Chris Dykes napisal: > Are there still King of the Hill Contests that support the Corewars > language > as opposed to redcode, because I've only started playing about a week > ago, > and would really like to get more involved. I believe you mean the standard we call '88. I think it's the same that Dewdney has originally thought up. If so: yes, there are two hills on www.koth.org that are only for warriors written under '88 rules. Greetings Lukasz Adamowski -= "War is a problem, never a solution" =- -= "Wojna jest problemem, a nie rozwiazaniem" =- ---------------------------------------------------- Viva! - nowy serwis dla kobiet. Wywiady z gwiazdami, najnowsze plotki i relacje z imprez towarzyskich. Wejd� koniecznie! http://klik.wp.pl/?adr=http%3A%2F%2Fviva.wp.pl&sid=390 From: =?ISO-8859-2?Q?=A3ukasz_Adamowski?= Subject: Odp: Frenzy Question Date: Sun, 29 May 2005 16:57:48 -0400 (EDT) Message-ID: <429a1cd4e1371@wp.pl> Dnia 29-05-2005 o godz. 15:04 Sascha Zapf napisal: > Hi maniacs, > [...] > But my question to the community is how many differnet languages i > should allow? And in general what do you think about a frenzy round > with another language then redcode? I don't know how many players > don't speak another language, if too much this idea is senseless. > [...] I've written an evolver as a bash script, you know... ;] To be honest I don't like this idea. I think there will be many (too many) unexpected problems and misunderstandings. And there is no difference between this meta-switcher and P-switcher, except that brain-wash will be impossible (?). Anything that can be done in external script or binary can also be done in Redcode, so what's the use? Greetings Lukasz Adamowski -= It is bad to have enemies, but it's good to have opponents. =- -= Zle jest miec wrogow, ale dobrze jest miec przeciwnikow. =- ---------------------------------------------------- Viva! - nowy serwis dla kobiet. Wywiady z gwiazdami, najnowsze plotki i relacje z imprez towarzyskich. Wejd� koniecznie! http://klik.wp.pl/?adr=http%3A%2F%2Fviva.wp.pl&sid=390 From: "Chris Dykes" Subject: KOTH with original corewars language Date: Sun, 29 May 2005 18:43:03 +0000 (UTC) Message-ID: Are there still King of the Hill Contests that support the Corewars language as opposed to redcode, because I've only started playing about a week ago, and would really like to get more involved. From: "Chris Dykes" Subject: Re: KOTH with original corewars language Date: Mon, 30 May 2005 08:25:09 +0000 (UTC) Message-ID: "Lukasz Adamowski" wrote in message news:429a1e021c934@wp.pl... > I believe you mean the standard we call '88. I think it's the same that > Dewdney has originally thought up. If so: yes, there are two hills on > www.koth.org that are only for warriors written under '88 rules. Thanks for telling me. From: "Chip" Subject: RF23 Date: 30 May 2005 19:57:34 -0700 Message-ID: <1117508254.109155.17070@z14g2000cwz.googlegroups.com> Hi all, So far, I have received only two entries for the RF23 round. Would everyone like a bit more time to prepare warriors? Speaking personally, I could use a few more days! - Chip From: "Nenad Tomasev" Subject: Re: RF23 Date: 30 May 2005 23:44:44 -0700 Message-ID: <1117521884.114494.120310@o13g2000cwo.googlegroups.com> Chip wrote: > Hi all, > > So far, I have received only two entries for the RF23 round. Would > everyone like a bit more time to prepare warriors? Speaking personally, > I could use a few more days! > > - Chip I think that it would be good to extend the deadline for two-three days (or a week). I'm really busy at the moment... I've got some warriors that I could submit for rf23, but I would still appreciate some additional time to make the final versions. Nenad From: "Nenad Tomasev" Subject: Re: Frenzy Question Date: 31 May 2005 01:02:19 -0700 Message-ID: <1117523396.104491.263280@f14g2000cwb.googlegroups.com> Sascha Zapf wrote: > Hi maniacs, > > i always think about new ideas for frenzy rounds, and now i have a nice > idea, but first i will check something. > > Each Entry will fight more times against each other entry, including > selffight. > P-Space is not used...But > > ...the clue of the round is that the main entry is not a warrior, ( you can > have 20 or more ) the entry would be a script or executable written in > another language. ( Perl, Python, C/C++, Scheme, Basic etc. ( only portable > languages and sources. )) > > That script becomes very detailed information of the fights. And with that > information you can switch between warriors or modify warrior, step or what > you want. Even you can try to fool the enemy in the next round so that the > last rounds is your. More details will follow. But i think 3*1000 rounds or > 5*500 will make interresting manipulations possible. So this script or > binary will act as a meta-switcher. > > But my question to the community is how many differnet languages i should > allow? And in general what do you think about a frenzy round with another > language then redcode? I don't know how many players don't speak another > language, if too much this idea is senseless. > > So please gimme a comment on this idea.... > > > Sascha > > -- > Parlez vous Redcode ? Hi. I like the idea of using some other language in rf rounds. It could be interesting. Lukasz said that pspace is more than enough to make a switching strategy and that anything that can be done in external script can also be written in redcode... Well, for switching between strategies, it might be true, although there are some differences there, too: this way you don't have to have your entire code in one file, so pspacing doesn't make warriors more vulnerable to qscans. In addition to that, I think that this can be used for more than switching between existing warriors prepared for this round. It can be used to generate the code and make new files, test different steps, design switch strategies while fighting the enemy (unlike pspacers which have a predefined switch strategy (well, most of them, anyway)), and even evolve the fighters during the tournament. I feel that the use of external script is in a way more powerful than the usual pspace option, and that it can be used to make warriors that are able to solve certain predefined problems and perform certain tasks in the core. (I haven't given much thought to the idea yet, so I'm not sure if it can be done in normal redcode, but it seems easier the other way). So, like I've said, it sounds interesting and we shouldn't miss the opportunity to try it out before we cast our final judgement. I think that we should organize one of the next rf rounds this way, and see what happens. About the proposed languages: I'm familiar with C, Java, Pascal, Modula2 and Scheme (although I'm not quite sure how can Scheme be used for this...), and I'm planning to learn Perl soon. I give my vote to C or Perl. Nenad Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 31 May 2005 04:47:34 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: neogryzormail@mixmail.com Subject: Re: Frenzy Question Date: 31 May 2005 05:58:15 -0700 Message-ID: <1117544295.640854.245210@o13g2000cwo.googlegroups.com> Sascha Zapf ha escrito: > Hi maniacs, > > i always think about new ideas for frenzy rounds, and now i have a nice > idea, but first i will check something. > > Each Entry will fight more times against each other entry, including > selffight. > P-Space is not used...But > > ...the clue of the round is that the main entry is not a warrior, ( you can > have 20 or more ) the entry would be a script or executable written in > another language. ( Perl, Python, C/C++, Scheme, Basic etc. ( only portable > languages and sources. )) > > That script becomes very detailed information of the fights. And with that > information you can switch between warriors or modify warrior, step or what > you want. Even you can try to fool the enemy in the next round so that the > last rounds is your. More details will follow. But i think 3*1000 rounds or > 5*500 will make interresting manipulations possible. So this script or > binary will act as a meta-switcher. So we would have to write the warrior and the script?. It would be a kind of warrior with P-script? Modifying the code would be too crazy maybe. The idea sounds nice but it would be better if it does not require too much time to code/tweak. Also it would be hard to test warriors/scripts. C language is okay for me. From: neogryzormail@mixmail.com Subject: Re: RF23 Date: 31 May 2005 06:00:13 -0700 Message-ID: <1117544413.187831.280870@g49g2000cwa.googlegroups.com> Same here. From: "Enrico Kochon" Subject: Re: Frenzy Question Date: Tue, 31 May 2005 09:39:12 -0400 (EDT) Message-ID: <1013898023@web.de> corewar-l@listproc.t-b-o-h.net schrieb am 29.05.05 15:10:54: > > Hi maniacs, > > i always think about new ideas for frenzy rounds, and now i have a nice > idea, but first i will check something. > > Each Entry will fight more times against each other entry, including > selffight. > P-Space is not used...But > > ..the clue of the round is that the main entry is not a warrior, ( you can > have 20 or more ) the entry would be a script or executable written in > another language. ( Perl, Python, C/C++, Scheme, Basic etc. ( only portable > languages and sources. )) > > That script becomes very detailed information of the fights. And with that > information you can switch between warriors or modify warrior, step or what > you want. Even you can try to fool the enemy in the next round so that the > last rounds is your. More details will follow. But i think 3*1000 rounds or > 5*500 will make interresting manipulations possible. So this script or > binary will act as a meta-switcher. > > But my question to the community is how many differnet languages i should > allow? And in general what do you think about a frenzy round with another > language then redcode? I don't know how many players don't speak another > language, if too much this idea is senseless. > > So please gimme a comment on this idea.... Hi, your idea sounds intresting. However, it complicates everything. Is it possible to implement the META-switcher in redcode? Is redcode Turingcomplete? greetz, Enrico ______________________________________________________________ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt bei WEB.DE FreeMail: http://f.web.de/?mc=021193 From: Sascha Zapf Subject: Re: Frenzy Question Date: Tue, 31 May 2005 16:19:01 -0400 (EDT) Message-ID: <200505312202.29767.nc-zapfsa@netcologne.de> Am Dienstag, 31. Mai 2005 13:47 schrieb neogryzormail@mixmail.com: > > So we would have to write the warrior and the script?. It would be a > kind of warrior with P-script? > Modifying the code would be too crazy maybe. The entry is a script/source with a bunch of redcodes or some snippets. You can use the information to calculate which enemy you are surfacing. I think the enemy will be 10 out 94nop K�nigstuhl. Modifying the code can be a powerful tool. If you have enough try left you can test differnet imps or scan step. I don't know the rules yet i will only ask for a feedback > > The idea sounds nice but it would be better if it does not require too > much time to code/tweak. Also it would be hard to test > warriors/scripts. > C language is okay for me. I think when you have to write a script that get a 1000 lines statistical table you can extract win/loss/tie and change the warrior in the the 20 lines in c and 10 lines in perl. Then you might to switch the warrior. If you can see that your first warrior, a coreclear paper loses badly you can try to kill a scanner next round with a stone. Same as a p-switcher. But with such a meta switcher you can see if your enemy has a qscan, because some of his wins will be in the first 20 cycles. Which is most result of qscanner-component. If scanner you can turn on decoy-maker or change your boot... just some ideas...Under the real rules i hope some more tricks are needed to be successful. I'm not sure for the max- number of redcode lines the script is allowed to come with. And i'm not sure how many trial the script has to analyze and conquer the opponents. But when enough people say. Hey, we do, we do in Perl, C/C++, Python and Java then i will go online get the needed compilers/interpreters for that round a think about tricky and proper rules. Sascha -- Parlez vous Recode ? From: "Chip" Subject: Redcoder's Frenzy 23: The Powers of Ten Round - *** Deadline Update *** Date: 31 May 2005 18:06:26 -0700 Message-ID: <1117587986.774617.157650@g43g2000cwa.googlegroups.com> Hi all, It seems that a few people need some more time to prepare entries, so I am extending the deadline for submission. New deadline: June 8, 2005, 23:59 GMT. Anyone who has already sent me entries may send me new ones if they like. So, who's going to win: a smart, complex warrior, or a small dumb one? - Chip From: Sascha Zapf Subject: Re: Frenzy Question Date: Tue, 31 May 2005 22:14:28 +0000 Message-ID: Enrico Kochon wrote: > > Hi, > > your idea sounds intresting. However, it complicates everything. Is it > possible to implement the META-switcher in redcode? In general it is possible to do such a metaswitching, based on result of hundreds of fight in redocde. But that wouldn't be competative. Combatra does a lot in before the fight. More seems impossible for me. > Is redcode Turingcomplete? Hmm, that sounds like a question for our Profs. I don't know - Redcode it self provides anything you need for Turingcompleteness. But in core, where all numbers are MOD(CORESIZE) i think there is no Completeness. But that should have no matter on this round, eh ? > > greetz, > Enrico > Sascha -- Parlez vous Redcode ?