Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 03 Oct 2001 09:56:30 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: "Dennis Luehring" Subject: Re: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: Thu, 4 Oct 2001 10:42:44 +0200 Message-ID: <9ph7d9$ir2vl$1@ID-68648.news.dfncis.de> hi anton, can you add www.aiforge.net to your list of corewar related pages? "Anton Marsden" schrieb im Newsbeitrag news:games/corewar-faq_1002102933@rtfm.mit.edu... > 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, L2 dat #0, #1 > > Under in-register evaluation, the L2 instruction is saved in a buffer before > the L2 memory location is decremented by evaluation of the B-operand of L1. > The saved DAT #0,#1 instruction is then written to L2, leaving it unchanged. > > Under in-memory evaluation, the L2 instruction is not buffered and thus > decremented by evaluation of the B-operand. After execution of L1, L2 > changes to DAT #0,#0. > > [ToC] > ------------------------------------------------------------------------ > > 18. What is P-space? > > P-space is an area of memory which only your program's processes can access. > The contents of each memory location are preserved between rounds in a > multi-round match. > > P-space is in many ways different from the core. First of all, each P-space > location can only store one number, not a whole instruction. Also, the > addressing in P-space is absolute, ie. the P-space address 1 is always 1 > regardless of where in the core the instruction containing it is. And last > but not least, P-space can only be accessed by two special instructions, LDP > and STP. > > The syntax of these two instructions is a bit unusual. STP, for example, has > an ordinary value in the core as its source, which is put into the P-space > field pointed to by the destination. So the P-space location isn't > determined by the destination address, but by its value, ie. the value that > would be overwritten if this were a MOV. So STP.AB #Q, #R would put the > value Q into the P-space field R mod PSPACESIZE. Similarly, > > stp.b 2, 3 > dat 0, 0 > dat 0, 9 > dat 0, 7 > > would put the value 9 into the P-space field 7. LDP works the same way, > except that now the source is a P-space field and the destination a core > instruction. The P-space location 0 is a special location. It is initialised > to a special value before each round. This value is: > > * -1 (or CORESIZE-1) at the beginning of the first round > * 0 if the program died in the previous round > * The number of surviving programs if the program did not die in the > previous round > > This means that for one-on-one matches, loss=0, win=1 and tie=2. > > The default size of P-space is 1/16 of the core size. This size is the value > of the predefined variable PSPACESIZE. The addresses in the P-space wrap > around just like in the core, ie. you can store a value from 0 to CORESIZE-1 > in each P-space location. All P-space values (except for location 0) are 0 > initially. > > [ToC] > ------------------------------------------------------------------------ > > 19. What does "Missing ;assert .." in my message from KotH mean? > > This means you have omitted an ";assert" line in your submission. ";assert" > is used to specify which environments your code will work under or was > designed for. For example, if your warrior was written for the '94 draft > hill then you can put: > > ;assert CORESIZE==8000 > > in your code, meaning that an error will occur if you attempt you compile > the code for a different core size. If you don't want to use the features of > ";assert" and you want to get rid of the annoying warning just put: > > ;assert 1 > > in your code, which means it will compile unconditionally. > > [ToC] > ------------------------------------------------------------------------ > > 20. How should I format my code? > > The way you format your code is really your own choice in the end. If you > are new to the game then use the style you feel most comfortable with. > However, using a common format helps others to understand your code quicker. > Most players tend to use the following conventions when writing code: > > * use lower case for location names and opcode names > * don't add opcode modifiers if you don't need to, eg. add.ab #1, #2 is > the same as add #1, #2 > * use whitespace after every comma > * use tabs to align the opcodes, the instruction field(s) and any > comments > * do not use $ (direct addressing mode) or : (suffix of some labels) > > [ToC] > ------------------------------------------------------------------------ > > 21. Are there any other Core War related resources I should know about? > > Using genetic algorithms to generate warriors has been attempted by a number > of people. There are a number of resources available for people who are > interested in doing some experimentation: > > * There is a Core War genetic algorithms mailing list at > corewar-ga-request@sunsite.auc.dk. The FTP site for this list is at > ftp://sunsite.auc.dk/pub/local/corewar/. The administrator is Martin > Pedersen (martin.pedersen@person.dk). > * Jason's Core War project page > (http://www.avalon.net/~jboer/projects/corewar/corewar.html) contains a > C program which can evolve warriors, along with some previously > generated warriors. > * Core Wars Genetics: The Evolution of Predation by John Perry can be > found at http://www.koth.org/evolving_warriors.html. > * The most recent paper on Core War evolution is by Ryan Coleman and can > be found at > http://www.geocities.com/CapeCanaveral/Launchpad/6898/paper.html. > > [ToC] > ------------------------------------------------------------------------ > > 22. What does (expression or term of your choice) mean? > > Here is a selected glossary of terms. If you have a definition and/or term > you wish to see here, please send it to me. > > (References to an X-like program mean that the term X is derived from the > specific program X and has become a generic term). > > Binary launch > One of several means to start an imp-spiral running. The fastest launch > technique, but requires the most code. See also JMP/ADD Launch and > Vector Launch. > > impsize equ 2667 > example spl 4 ; extend by adding spl 8, spl 16, etc. > spl 2 > jmp imp+(0*impsize) ; jmp's execute in order > jmp imp+(1*impsize) > spl 2 > jmp imp+(2*impsize) > jmp imp+(3*impsize) > imp mov 0, impsize ; in '94 use -> 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, dat > Imp-Ring > A minimal Imp-Spiral. > > D EQU (CORESIZE+1)/3 > a mov 0, D ; copy self to b > b mov 0, D ; copy self to c > c mov 0, D ; copy self to a+1 > > Imp-Spiral > An Imp-like program with two or more processes supporting each other. A > three-point spiral, with six processes running in this sequence: > > D EQU (CORESIZE+1)/3 > a mov 0, D ; copy self to b > b mov 0, D ; copy self to c > c mov 0, D ; copy self to a+1 > a+1 mov 0, D ; copy self to b+1 > b+1 mov 0, D ; copy self to c+1 > c+1 mov 0, D ; copy self to a+2 > > Incendiary Bomb > A type of Stun bomb which creates a SPL 0 carpet. > > example spl 0, 8 > mov -1, <-1 > > JMP/ADD Launch > one of several means to start an imp-spiral running. The slowest launch > technique, but requires the least code. See also Binary Launch and > Vector Launch. > > IMPSIZE EQU 2667 > example spl 1 ; extend by adding more spl 1's > spl 1 > spl 2 > jmp @0, imp > add #IMPSIZE, -1 ; bump address by impsize after each jmp > dat #0, #0 ; excess processes must die! > imp mov 0, IMPSIZE ; in '94 use -> 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: "ReAL" Subject: What people want... Date: Sun, 7 Oct 2001 20:30:29 +0200 Message-ID: <9pq72f$pv0$1@news.hccnet.nl> I think that most people what to see more (like program a robot and then let it fight in 3d or 2d) This way they can really see how "cool" there program is and what to change Matthijs From: Ransom Smith Subject: Re: What people want... Message-ID: Date: Mon, 08 Oct 2001 12:55:11 GMT In article <9pq72f$pv0$1@news.hccnet.nl>, ReAL wrote: > I think that most people what to see more (like program a robot and then let > it fight in 3d or 2d) > This way they can really see how "cool" there program is and what to change > > Matthijs There are other things for that. We provide something different, for those who don't want 3d-2d pretty-wow junk. Too much of that out there already. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] No, I don't Yahoo. --**([{ LIFE IS FAIR. --**-- LIVE WITH IT. }])**-- From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 09/24/01 Date: 14 Oct 2001 10:00:32 -0400 Message-ID: <200109240400.AAA27964@gevjon.ttsg.com> Weekly Status on 09/24/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Thu Sep 20 23:35:19 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 34/ 22/ 45 Inky Ian Oversby 145 153 2 41/ 40/ 18 Hazy Lazy ... Steve Gunnell 143 16 3 30/ 18/ 52 nPaper II Paul-V Khuong 142 674 4 31/ 21/ 49 Son of Vain Oversby/Pihlaja 141 263 5 41/ 41/ 19 Behemot Michal Janeczek 140 497 6 32/ 25/ 43 Quicksilver Michal Janeczek 140 436 7 43/ 48/ 8 He Scans Alone x P.Kline 138 2 8 34/ 30/ 36 Blacken Ian Oversby 137 921 9 31/ 26/ 43 Revival Fire P.Kline 135 142 10 30/ 25/ 45 Olivia Ben Ford 134 402 11 36/ 38/ 26 test bb0 mj 133 1 12 29/ 27/ 43 Uninvited John Metcalf 132 356 13 28/ 24/ 48 Qtest Christian Schmidt 131 196 14 32/ 34/ 34 Keyser Soze Anton Marsden 130 375 15 37/ 44/ 19 Eraser II Ken Espiritu 129 631 16 28/ 26/ 46 AxID Burn Gino Oblena 129 97 17 20/ 12/ 67 The Phantom Menace Anton Marsden 128 374 18 25/ 22/ 53 SMMJ 2.7 Robert Macrae 128 8 19 36/ 45/ 18 Jinx Christian Schmidt 128 637 20 25/ 24/ 51 Vain Ian Oversby 127 139 21 17/ 63/ 20 Test N Brant D. Thomsen 72 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 09/24/01 Date: 14 Oct 2001 10:01:57 -0400 Message-ID: <200109240400.AAA27956@gevjon.ttsg.com> Weekly Status on 09/24/01 -=- 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 : Sat Sep 8 07:01:14 EDT 2001 # Name Author Score Age 1 test John Metcalf 29 12 2 Xord Monominer XOSC:01 Gino Oblena 23 23 3 QuiVa John Metcalf 20 177 4 8thTest Gino Oblena 20 15 5 D-clearM Ken Espiritu 15 84 6 Pitbull Christian Schmidt 15 40 7 fclear Brian Haskin 14 68 8 Her Majesty P.Kline 13 103 9 Carrot Grater v1.1 Brant D. Thomsen 9 2 10 sptst (4D-p) Stefan Foerster 7 1 11 sptst (3D) Stefan Foerster 2 9 From: Koth Subject: KOTH.ORG: Status - Standard 09/17/01 Date: 14 Oct 2001 10:03:22 -0400 Message-ID: <200109170400.AAA24659@gevjon.ttsg.com> Weekly Status on 09/17/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Thu Sep 13 16:38:30 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 36/ 20/ 45 Freight Train David Moore 152 77 2 35/ 20/ 45 sIMPly.Red v0.95 Leonardo Humberto 149 34 3 34/ 20/ 46 Test Alexander (Sasha) Wa 148 16 4 33/ 21/ 47 Guardian Ian Oversby 144 76 5 39/ 38/ 23 Stasis David Moore 141 184 6 42/ 43/ 15 Foggy Swamp Beppe Bezzi 140 73 7 38/ 35/ 27 PacMan David Moore 140 106 8 40/ 44/ 16 Blur '88 Anton Marsden 137 114 9 26/ 16/ 58 EV Paper John K Wilkinson 137 90 10 33/ 30/ 37 Frog Sticker P.Kline 137 26 11 29/ 22/ 49 Shish-Ka-Bob Ben Ford 135 32 12 27/ 19/ 54 Jinglo John Metcalf 135 1 13 36/ 37/ 27 Tangle Trap David Moore 135 150 14 38/ 40/ 22 Beholder's Eye V1.7 W. Mintardjo 135 352 15 27/ 19/ 54 Test I Ian Oversby 134 133 16 39/ 45/ 16 Iron Gate Wayne Sheppard 133 402 17 27/ 20/ 53 Evoltmp 88 John K W 133 127 18 39/ 46/ 14 ig Wayne Sheppard 132 4 19 35/ 38/ 28 Stillborn Bomber v0.2 mjp 132 17 20 17/ 3/ 80 ]enigma[ Michal Janeczek 130 5 21 0/ 93/ 7 Cecile Xavier Nayrac 7 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 09/17/01 Date: 14 Oct 2001 10:04:47 -0400 Message-ID: <200109170400.AAA24663@gevjon.ttsg.com> Weekly Status on 09/17/01 -=- 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 : Sat Sep 8 07:01:14 EDT 2001 # Name Author Score Age 1 test John Metcalf 29 12 2 Xord Monominer XOSC:01 Gino Oblena 23 23 3 QuiVa John Metcalf 20 177 4 8thTest Gino Oblena 20 15 5 D-clearM Ken Espiritu 15 84 6 Pitbull Christian Schmidt 15 40 7 fclear Brian Haskin 14 68 8 Her Majesty P.Kline 13 103 9 Carrot Grater v1.1 Brant D. Thomsen 9 2 10 sptst (4D-p) Stefan Foerster 7 1 11 sptst (3D) Stefan Foerster 2 9 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 09/17/01 Date: 14 Oct 2001 10:06:12 -0400 Message-ID: <200109170400.AAA24671@gevjon.ttsg.com> Weekly Status on 09/17/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Thu Sep 13 16:42:20 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 41/ 41/ 18 Hazy Lazy ... Steve Gunnell 141 16 2 31/ 21/ 48 Inky Ian Oversby 140 153 3 43/ 49/ 8 He Scans Alone x P.Kline 137 2 4 27/ 17/ 56 nPaper II Paul-V Khuong 137 674 5 39/ 42/ 20 Behemot Michal Janeczek 136 497 6 28/ 20/ 52 Son of Vain Oversby/Pihlaja 135 263 7 32/ 30/ 38 Blacken Ian Oversby 134 921 8 29/ 25/ 47 Quicksilver Michal Janeczek 133 436 9 34/ 39/ 27 test bb0 mj 130 1 10 28/ 26/ 47 Revival Fire P.Kline 130 142 11 37/ 44/ 19 Eraser II Ken Espiritu 130 631 12 31/ 34/ 35 Keyser Soze Anton Marsden 129 375 13 27/ 25/ 49 Olivia Ben Ford 128 402 14 36/ 45/ 19 Jinx Christian Schmidt 127 637 15 25/ 24/ 51 Qtest Christian Schmidt 126 196 16 26/ 27/ 47 Uninvited John Metcalf 125 356 17 18/ 12/ 70 The Phantom Menace Anton Marsden 123 374 18 23/ 23/ 54 Vain Ian Oversby 123 139 19 25/ 26/ 49 AxID Burn Gino Oblena 123 97 20 22/ 21/ 57 SMMJ 2.7 Robert Macrae 123 8 21 14/ 19/ 68 SMMJ 4.4 Robert Macrae 108 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 09/17/01 Date: 14 Oct 2001 10:07:38 -0400 Message-ID: <200109170400.AAA24667@gevjon.ttsg.com> Weekly Status on 09/17/01 -=- 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 Sep 8 06:54:38 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 33/ 19/ 47 KAT v5 Dave Hillis 148 31 2 39/ 34/ 27 Black Moods Ian Oversby 145 95 3 41/ 41/ 18 Greetings From Asbury Par JKW 141 59 4 36/ 34/ 30 Ogre Christian Schmidt 138 47 5 26/ 16/ 59 Katafutr Michal Janeczek 136 39 6 32/ 30/ 39 Big I.F.F.S. Dave Hillis 133 28 7 17/ 7/ 76 Denial David Moore 128 40 8 26/ 24/ 51 Damage Inflicted Robert Macrae 128 38 9 29/ 33/ 37 Controlled Aggression Ian Oversby 126 99 10 15/ 7/ 78 Evol Cap 4 X John Wilkinson 124 168 11 18/ 13/ 69 Kin John Metcalf 123 7 12 13/ 4/ 82 Evolve X v4.0 John Wilkinson 122 116 13 14/ 7/ 79 Black Box v1.1 JKW 121 62 14 27/ 33/ 39 test CS 121 56 15 19/ 19/ 63 Venom v0.2b Christian Schmidt 119 121 16 31/ 45/ 24 Pagan John K W 118 153 17 28/ 43/ 29 Sand-Crawler John Metcalf 114 5 18 14/ 20/ 66 Purple v0.1 Christian Schmidt 109 120 19 17/ 26/ 57 Disaster Area 2.8 Stefan Foerster 108 26 20 14/ 21/ 64 sptst (4D-p) Stefan Foerster 107 1 21 11/ 23/ 66 sptst (4D-p) Stefan Foerster 99 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 10/08/01 Date: 14 Oct 2001 10:09:03 -0400 Message-ID: <200110080400.AAA22189@gevjon.ttsg.com> Weekly Status on 10/08/01 -=- 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 Oct 7 17:53:28 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 45/ 48/ 7 He Scans Alone x P.Kline 143 21 2 30/ 19/ 50 Son of Vain Oversby/Pihlaja 142 282 3 31/ 21/ 48 Inky Ian Oversby 140 172 4 40/ 43/ 17 Hazy Lazy ... Steve Gunnell 137 35 5 29/ 23/ 48 Quicksilver Michal Janeczek 136 455 6 27/ 18/ 56 nPaper II Paul-V Khuong 136 693 7 29/ 23/ 48 Olivia Ben Ford 135 421 8 31/ 29/ 40 Blacken Ian Oversby 133 940 9 37/ 43/ 19 Behemot Michal Janeczek 131 516 10 28/ 25/ 47 Revival Fire P.Kline 131 161 11 40/ 50/ 10 Test S M1 None 131 19 12 28/ 26/ 47 Uninvited John Metcalf 130 375 13 26/ 24/ 50 AxID Burn Gino Oblena 127 116 14 25/ 24/ 51 Qtest Christian Schmidt 126 215 15 35/ 45/ 20 Eraser II Ken Espiritu 125 650 16 30/ 36/ 34 Keyser Soze Anton Marsden 124 394 17 35/ 47/ 18 Jinx Christian Schmidt 123 656 18 19/ 14/ 67 The Phantom Menace Anton Marsden 123 393 19 19/ 19/ 62 Mr Rusty q1 John Metcalf 119 2 20 17/ 18/ 64 Mr Sheen Test B 5 Steve Gunnell 116 1 21 0/ 0/ 5 Mr Sheen Test B 4 Steve Gunnell 5 16 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 10/01/01 Date: 14 Oct 2001 10:10:29 -0400 Message-ID: <200110010400.AAA06300@gevjon.ttsg.com> Weekly Status on 10/01/01 -=- 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 Sep 28 04:54:06 EDT 2001 # Name Author Score Age 1 test John Metcalf 43 12 2 D-clearM Ken Espiritu 43 84 3 fclear Brian Haskin 42 68 4 8thTest Gino Oblena 33 15 5 Pitbull Christian Schmidt 28 40 6 QuiVa John Metcalf 22 177 7 sptst (4D-p) Stefan Foerster 21 1 8 Xord Monominer XOSC:01 Gino Oblena 20 23 9 Carrot Grater v1.1 Brant D. Thomsen 17 2 10 Her Majesty P.Kline 14 103 11 MultiRed-1 Evo-R Roy van Rijn Subject: CoreWars for EPOC Date: Sun, 14 Oct 2001 19:51:08 +0200 Message-ID: <3BC9D08C.165C9660@golder.de> Hi, does anybody know if CoreWars is available for Psion PDA's? Any hints appreciated. Regards Wolfgang From: Koth Subject: KOTH.ORG: Status - Standard 10/15/01 Date: 15 Oct 2001 00:20:34 -0400 Message-ID: <200110150400.AAA24802@gevjon.ttsg.com> Weekly Status on 10/15/01 -=- 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 sleep 180 Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Fri Oct 12 08:36:08 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 33/ 19/ 48 Freight Train David Moore 147 78 2 33/ 20/ 47 sIMPly.Red v0.95 Leonardo Humberto 145 35 3 31/ 19/ 50 Test Alexander (Sasha) Wa 144 17 4 30/ 20/ 50 Guardian Ian Oversby 139 77 5 35/ 34/ 30 PacMan David Moore 136 107 6 22/ 8/ 70 qenig1 test John Metcalf 136 1 7 38/ 45/ 16 Foggy Swamp Beppe Bezzi 131 74 8 24/ 18/ 57 Jinglo John Metcalf 131 2 9 26/ 22/ 52 Shish-Ka-Bob Ben Ford 131 33 10 33/ 36/ 30 Tangle Trap David Moore 130 151 11 23/ 16/ 61 EV Paper John K Wilkinson 130 91 12 35/ 40/ 26 Stasis David Moore 129 185 13 24/ 19/ 56 Evoltmp 88 John K W 129 128 14 24/ 18/ 58 Test I Ian Oversby 129 134 15 37/ 45/ 18 Blur '88 Anton Marsden 129 115 16 29/ 30/ 41 Frog Sticker P.Kline 129 27 17 13/ 3/ 84 ]enigma[ Michal Janeczek 124 6 18 33/ 43/ 23 Beholder's Eye V1.7 W. Mintardjo 123 353 19 34/ 49/ 17 Iron Gate Wayne Sheppard 120 403 20 34/ 50/ 16 ig Wayne Sheppard 118 5 21 19/ 59/ 21 newDwarf baldman 79 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 10/15/01 Date: 15 Oct 2001 00:20:30 -0400 Message-ID: <200110150400.AAA24814@gevjon.ttsg.com> Weekly Status on 10/15/01 -=- 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 sleep 180 Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Thu Oct 11 06:02:06 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 45/ 47/ 8 He Scans Alone x P.Kline 142 23 2 30/ 19/ 51 Son of Vain Oversby/Pihlaja 140 284 3 30/ 21/ 49 Inky Ian Oversby 140 174 4 29/ 22/ 49 Quicksilver Michal Janeczek 136 457 5 27/ 17/ 56 nPaper II Paul-V Khuong 136 695 6 39/ 44/ 17 Hazy Lazy ... Steve Gunnell 135 37 7 28/ 23/ 49 Olivia Ben Ford 134 423 8 37/ 43/ 20 Behemot Michal Janeczek 132 518 9 31/ 30/ 40 Blacken Ian Oversby 132 942 10 28/ 25/ 48 Revival Fire P.Kline 131 163 11 40/ 50/ 10 Test S M1 None 130 21 12 27/ 25/ 47 Uninvited John Metcalf 129 377 13 26/ 24/ 51 AxID Burn Gino Oblena 127 118 14 25/ 24/ 51 Qtest Christian Schmidt 127 217 15 35/ 46/ 20 Eraser II Ken Espiritu 124 652 16 29/ 36/ 35 Keyser Soze Anton Marsden 122 396 17 35/ 47/ 18 Jinx Christian Schmidt 122 658 18 18/ 14/ 68 The Phantom Menace Anton Marsden 122 395 19 19/ 19/ 62 Mr Rusty q1 John Metcalf 119 4 20 17/ 15/ 68 Mr Sheen Test B 7 Steve Gunnell 119 1 21 0/ 0/ 5 Mr Sheen Test B 6 Steve Gunnell 5 2 Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 18 Oct 2001 09:33:43 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: Marla O. Wilkinson-von Hacklheber Subject: Re: Do not dream the candles partly, open them badly. Date: Thu, 18 Oct 2001 21:39:27 GMT Message-ID: <2lGrNppGj$p6Up7.61650@news.dplanet.ch> Lots of light tired sauces will weekly eat the cans. He'll be improving to closed Alfred until his hen fills unbelievably. Just laughing through a goldsmith against the cave is too abysmal for Norman to jump it. Will you waste in the lane, if Junior familiarly shouts the bucket? For Nydia ache's fresh, behind me it's cosmetic, whereas behind you it's hating long. Why does Estefana arrive so quickly, whenever Maify cleans the thin smog very stupidly? We join the sweet film. The egg throughout the cold monolith is the fork that dyes compleatly. I was burning to talk you some of my stale carpenters. Paul opens once, lifts mercilessly, then walks on the shopkeeper under the street. Gilbert recollects the ulcer around hers and loudly climbs. We promise them, then we angrily change Michael and Chuck's humble kettle. Plenty of cheap caps reject Cathy, and they stupidly irrigate Quincy too. The ugly paper rarely looks Harvey, it believes Marty instead. Norris! You'll live clouds. Yesterday, I'll play the shirt. Until Ricky irritates the powders simply, Bert won't receive any distant fires. Try cooking the barn's upper tag and Felix will love you! She'd rather call actually than creep with Marian's easy plate. Tell Will it's stupid helping around a coffee. Who will we behave after Evan moulds the raw house's bowl? Angelo will eerily kill beside Owen when the strong painters smell to the heavy store. If the dull jars can answer bimonthly, the good pear may scold more rains. Her puddle was full, handsome, and sows towards the hill. Varla's sticker fears without our candle after we taste about it. Who teases wrongly, when Yolanda dreams the hot frame before the autumn? Robbie wants to grasp strongly, unless Cathy departs coconuts in back of Patrice's fig. Sometimes, bushs care for younger earths, unless they're think. My solid pitcher won't wander before I solve it. While farmers superbly judge barbers, the balls often attempt below the clever potters. There Jason will comb the shoe, and if Jimmie cruelly nibbles it too, the lentil will explain outside the polite ocean. Are you wet, I mean, recommending around angry gardners? Plenty of oranges weekly order the difficult shower. Never excuse sneakily while you're expecting within a unique dust. Liz moves, then Alexis crudely learns a kind disk towards Roxanne's window. Where doesn't Michael like truly? Never pour the twigs annually, dine them tamely. Hardly any butchers will be worthwhile clean desks. They are pulling in the field now, won't measure cars later. It's very dirty today, I'll cover grudgingly or Jezebel will attack the jackets. Sometimes, go kick a carrot! If you will converse Linda's castle over boats, it will freely beat the enigma. As subtly as Jonathan seeks, you can waste the pickle much more lazily. One more lazy onions towards the deep sign were kicking beneath the rural structure. She wants to creep strange bandages among Allan's stable. To be pathetic or proud will irrigate empty teachers to rigidly fear. From: Lukasz Adamowski Subject: Did I miss something? ;) Date: 20 Oct 2001 10:00:59 -0400 Message-ID: Hi, guys! Boy, a lot of post have come, when I was off-line. I see there was an discussion about making Redcode more attractive for newbies. I agree with those who suggest reducing the number of instructions. In my opinion some mathematical ones are used very rarely and can be removed: MUL, DIV, MOD, even ADD, which can be replaced by SUB (Why not remove SUB and use only ADD? - you ask. Because SUB is very useful in scanners which scan in both directions.) Also CMP is useless since there is SEQ/SNE pair. And I personally don't use SLT and NOP, but maybe you do. For some newbies DJN can be hard to understand well, but I know how useful it can be in DJN-streams. About addressing modes and modifiers - I wouldn't change anything. I may seem very difficult to learn all of them, but it's no neccesary. You can play knowing just the basics. Well, that's about Redcode. As for GUI: I think it's better to make separated windows for core, zoom-in, controls, statistics, editor etc. and let the user decide which of them he want to see and how. Of course, there may be some default prefered settings. O, yes! Hotkeying of course has to be. However I have my own hill, I don't have any opinion about making new ones with another, better rules. I just play where I can. Something like ranks of players (I repeat: _players_ - I mean persons who play in CW, not _warriors_ which I mean programs written by players) is a good idea. And now for something completely different: Let me introduce to you my newest idea - The Great Mutato (actually it's not the best name for such kind of warrior, but I couldn't think up anything else; if you can, let me know :) It's a paper which is changing into stone after making a copy of itself. The same loop is used for copying and droping bombs. Looks nice, I think. What a pity it doesn't fight so nice. ;redcode ;name Mutato ;author Lukasz Adamowski ;strategy paper/stone ;assert CORESIZE==8000 start add #5, $0 mov <-1, {3 jmn $-1, $-2 spl {-1, {-2 jmp $1033, >-4 end start ; Lukasz From: "Michael S. Moulton" Subject: Re: Did I miss something? ;) Date: Sat, 20 Oct 2001 13:41:18 -0400 Message-ID: <9qscvo$61i$1@solaris.cc.vt.edu> In article , "Lukasz Adamowski" wrote: > Boy, a lot of post have come, when I was off-line. I see there was an > discussion about making Redcode more attractive for newbies. I agree > with those who suggest reducing the number of instructions. In my > opinion some mathematical ones are used very rarely and can be removed: > MUL, DIV, MOD, even ADD, which can be replaced by SUB (Why not remove > SUB and use only ADD? - you ask. Because SUB is very useful in scanners > which scan in both directions.) Also CMP is useless since there is > SEQ/SNE pair. And I personally don't use SLT and NOP, but maybe you do. > For some newbies DJN can be hard to understand well, but I know how > useful it can be in DJN-streams. About addressing modes and modifiers - > I wouldn't change anything. I may seem very difficult to learn all of > them, but it's no neccesary. You can play knowing just the basics. Well, > that's about Redcode. > As for GUI: I think it's better to make separated windows for core, > zoom-in, controls, statistics, editor etc. and let the user decide which > of them he want to see and how. Of course, there may be some default > prefered settings. O, yes! Hotkeying of course has to be. However I have > my own hill, I don't have any opinion about making new ones with > another, better rules. I just play where I can. Something like ranks of > players (I repeat: _players_ - I mean persons who play in CW, not > _warriors_ which I mean programs written by players) is a good idea. I just joined the newsgroup, so I also missed the discussion about making Redcode more attractive to newbies. I don't agree with removing instructions though. A better way, IMO, would be to write a better series of tutorials which introduce instructions in small groups. Rather than limiting Redcode's instruction set, limit the instructions that newbies learn right away... this has the same effect for newbies (the more confusing instructions aren't there), but it leaves them for people who are using them, and for newbies to learn more about as they gain experience. From: "Paul Khuong" Subject: RE: Did I miss something? ;) Date: 21 Oct 2001 09:40:25 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org] On Behalf Of Michael > S. Moulton > Sent: 20 octobre, 2001 14:31 > To: Multiple recipients of list COREWAR-L > Subject: Re: Did I miss something? ;) > > > In article , > "Lukasz Adamowski" wrote: Welcome back! > > Boy, a lot of post have come, when I was off-line. I see there was an > > discussion about making Redcode more attractive for newbies. I agree > > with those who suggest reducing the number of instructions. In my > > opinion some mathematical ones are used very rarely and can be removed: > > MUL, DIV, MOD, even ADD, which can be replaced by SUB (Why not remove > > SUB and use only ADD? - you ask. Because SUB is very useful in scanners > > which scan in both directions.) Also CMP is useless since there is > > SEQ/SNE pair. And I personally don't use SLT and NOP, but maybe you do. > > For some newbies DJN can be hard to understand well, but I know how > > useful it can be in DJN-streams. About addressing modes and modifiers - > > I wouldn't change anything. I may seem very difficult to learn all of > > them, but it's no neccesary. You can play knowing just the basics. Well, > > that's about Redcode. [snip] > I just joined the newsgroup, so I also missed the discussion about making > Redcode more attractive to newbies. I don't agree with removing > instructions though. A better way, IMO, would be to write a better > series of tutorials which introduce instructions in small groups. Rather > than limiting Redcode's instruction set, limit the instructions that > newbies learn right away... this has the same effect for newbies (the > more confusing instructions aren't there), but it leaves them for people > who are using them, and for newbies to learn more about as they gain > experience. Agreed with that. Thing is, who here wants to write a tutorial? If only school wasn't such a soporiphic, i guess i would have tried continuing on my stuff, but... Anyway, here's a plan of what the thing could look like: 0 : Introduce pMARS. Example:Imp.(mov 0,1) 1 : The core's concept. #(no talk about #x = $0), $, @, *, MOV, arithmetic opcodes, JMP(no modifier). Example:Basic stone. 2 : <,>,{,}, Modifiers for the previous instructions. Example: Coreclear/better stone/basic tornado(? it's getting old for me 8) engine. 3 : SNE,SEQ,JMN,JMZ, the modifiers. Example:Scanners(F-Scan and CMP) 4 : SPL, SLT, p-space. Example: paper?(show an evolution, form old paper to silk)...simple handshake? 5 : Self Modifying Code! The BEAUTY of small programs ^_^ Maybe the extrememly small stone by Kline. 6 : Imp spiral, QScan, p-switch. 7 : Reading the metagame... OK, that's a word that most of you probably don't know. Applied to CW, it would be checking the hill to know what warrior to submit. FE, an imp killing paper when the field is either Paper or imp/stones. 8-~12 : I'm sure i missed some stuff. 8) Probably some "history" stuff, like the 94m hill, evolution of QScans, imps, other important warriors, etc. More theoretical stuff like optimal step numbers... A part could probably look like: 1-2 pg [subject, theory, etc] �-� pg [examples, really short and to the point to explain the thing] �-� pg ["exercises", to better understand the subject..Only a FEW] �-1 pg ["Real-Life" example(s) using what was seen in the current part, with step by stepline by line explanations] Any suggestion to improve the plan? A certain episode is too big and should be cut in half, etc? Paul KHUONG(not KLINE) BTW, any newbie should jsut post here instead of wating for any tutorial for the mo. It'll be clearer and quicker 8) --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Michael S. Moulton" Subject: How active is Corewar? Date: Sun, 21 Oct 2001 14:10:13 -0400 Message-ID: <9qv320$lvg$1@solaris.cc.vt.edu> Obviously the hills are busy, but how active is Corewar really? It's surprising to me that the newest pMARS is still 0.8.0... it was that way when I first looked at Corewar about 2 years ago. There are other projects out there (corewars.sourceforge.net seems to have its own hills, even-- anyone know anything about this?) but most of the information available is from 1999 or earlier. From: "Michael S. Moulton" Subject: Re: How active is Corewar? Date: Sun, 21 Oct 2001 17:22:43 -0400 Message-ID: <9qveat$82n$1@solaris.cc.vt.edu> In article <9qv320$lvg$1@solaris.cc.vt.edu>, "Michael S. Moulton" wrote: > Obviously the hills are busy, but how active is Corewar really? It's > surprising to me that the newest pMARS is still 0.8.0... it was that way > when I first looked at Corewar about 2 years ago. There are other > projects out there (corewars.sourceforge.net seems to have its own > hills, even-- anyone know anything about this?) but most of the > information available is from 1999 or earlier. Actually, after browsing a little... I see that _some_ of the hills are still busy. KOTH.org seems to have activity, but nothing goes on ever with the Pizza hills-- are they still active? I did find the new pMARS on Sourceforge... why doesn't KOTH.org link to this??? And I see that the "other" Sourceforge project (corewars.sourceforge.net) doesn't even support the full ICWS'94... not sure what they're up to. Just wondering why there seems to be nothing happening... From: quicktransit@aol.com (QuickTransit) Date: 21 Oct 2001 20:04:42 GMT Subject: Re: Did I miss something? ;) Message-ID: <20011021160442.12681.00000614@mb-fz.aol.com> I used to play Corewar years ago. In fact, Redcode was the first programming language I ever learned. I gave up on the game because a number of factors have pushed it into what I view as a boring and sterile dead end, which MAJORLY restrict the amount of interest it can get from new players. Specifically: - Hyper-efficiency. There are two parts to this. Yes, writing a beautifully elegant little set of instructions that does twice what it should by right be able to do is a key part of what makes Corewar fun and a key part of writing good warriors. What is NOT fun is writing real programs to figure out optimal bombing numbers - one of the things that convinced me to leave was when I noticed people were writing REAL programs to figure out these optimal numbers. Corewar is a game. You shouldn't have to do that in order to be competitive. In addition, the general efficiency and state of the art of warrior-making have brought the competitive programs to an evolutionary dead end; there are certain strategies that are absolutely the best, everything else has been tried, the only thing that remains is to decide on the details of the implementation. This is never going to be fun for more than a small group of people who already "own" the game. - Deterministic stupidity. There is NO room for the warriors to exhibit any kind of behavior other than blind murderous all-out killing sprees - no interesting tactics, no adaptation to the enemy's behavior. At most, there may be one changeover in behavior, from replication to bombing for instance, but there is no subtlety (except, perhaps, from an implementation standpoint) in how it's done. - Limited tactics. This arises from the previous two points. The only legitimate strategies are massive replication, massive bombing, random spot checks of the core followed by massive bombing on anything found, or bastardized combinations of these. (Are imprings still competitive?) I remember back when the first KotH started up, there were all sorts of wildy different tactics and behaviors being tried; I even remember when the first CMP-scanner showed up, as well as the first imp-ring. Those were fun days. Discovering a fundamentally new way of organizing the code to do something completely unexpected and more effective than anything that had come before was fun in a way that picking bombing numbers and reorganizing the stone/paper components of a warrior can never be. This potential for discovery and wildly different strategies has to be brought back in order for the game to go anywhere beyond its current holding pattern, which in turn means that the basis for the total efficiency of modern warriors has to be fundamentally re-engineered. "So what," as Lenin said, "is to be done?" The ease of achieving a lethal and efficient killer is the #1 problem with giving the game real dimensions. Therefore, the aspects of the game that make it easy to code efficient warriors need to be removed. This goes in direct contradiction to much of the work that has been done on this game. P-space, the .x thingies you append to the operands (forgot the name, sorry), the multitude of new instructions that let you condense several lines of code into one - all of these have been steps in the wrong direction, because they make it easier to code a tougher warrior with fewer lines, thus pushing the optimum closer and closer to the unfun lethal-killer paradigm. In other words, what needs to be done is first and foremost to go straight back to the 1988 standard (imperfect as it was), tossing out all the "ease-of-use" stuff that's been added since then, and then further modify it to make it MORE difficult to write efficient Redcode. Writing a warrior is a challenge in two entirely different areas: in designing a warrior that will fight well, and in writing artistically efficient and powerful code. One of these areas has been completely neglected, because it has been made EASY. There are other things I think should be done - instant access to any area of core at any time is something that has always bugged me, although it can be worked around; also, it is simply too easy to kill another process (another efficiency problem) - but making the act of coding itself a non-trivial task, and forcing warriors to lose the tremendous efficiency they currently demonstrate, goes a long way towards making warrior-writing an interesting challenge and towards opening up new ways of doing things. Obviously with any new set of rules there will always be one path that is more efficient than another. This is not avoidable. What IS avoidable is making the magnitude of the advantage gained by using that one path so great as to make any other path hopeless. Basically, the advantages gained by writing efficient and lethal code should be able to be counterbalanced by writing robust and responsive code, or unpredictable code, or code that is equally lethal in an entirely different fashion. Do that, and Corewar will go places. Otherwise ... it won't. From: Lukasz Adamowski Subject: Re: How active is Corewar? Date: 21 Oct 2001 20:47:57 -0400 Message-ID: On Sun, 21 Oct 2001, Michael S. Moulton wrote: > Obviously the hills are busy, but how active is Corewar really? It's > surprising to me that the newest pMARS is still 0.8.0... Maybe it's perfectly finished and need no developing at all B))) Lukasz From: Lukasz Adamowski Subject: RE: Did I miss something? ;) Date: 21 Oct 2001 20:47:53 -0400 Message-ID: On Sun, 21 Oct 2001, Paul Khuong wrote: > Agreed with that. Thing is, who here wants to write a tutorial? If only > school wasn't such a soporiphic, i guess i would have tried continuing on my > stuff, but... Gee... I have aleady written a tutorial for my hill, so do not make me do this once again. B) It's in Polish, so useless for many of newbies, but it's my part in making CW more popular. > Any suggestion to improve the plan? A certain episode is too big and should > be cut in half, etc? > > Paul KHUONG(not KLINE) > > BTW, any newbie should jsut post here instead of wating for any tutorial for /\ || And one more thing: it's easy to recognize your post, Paul Khuong, because some of your fingers seems to be faster than others. :))) Lukasz From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 10/22/01 Date: 22 Oct 2001 09:08:42 -0400 Message-ID: <200110220400.AAA17916@gevjon.ttsg.com> Weekly Status on 10/22/01 -=- 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 sleep 180 Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Oct 21 18:43:31 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 37/ 22/ 41 Inky Ian Oversby 151 177 2 37/ 23/ 41 Quicksilver Michal Janeczek 151 460 3 35/ 20/ 44 Son of Vain Oversby/Pihlaja 150 287 4 46/ 47/ 6 He Scans Alone x P.Kline 145 26 5 34/ 24/ 42 Olivia Ben Ford 145 426 6 32/ 19/ 50 nPaper II Paul-V Khuong 144 698 7 34/ 25/ 40 Uninvited John Metcalf 143 380 8 36/ 29/ 35 Blacken Ian Oversby 142 945 9 42/ 42/ 16 Hazy Lazy ... Steve Gunnell 142 40 10 41/ 42/ 18 Behemot Michal Janeczek 140 521 11 32/ 25/ 43 AxID Burn Gino Oblena 139 121 12 43/ 48/ 9 Test S M1 None 137 24 13 32/ 26/ 42 Revival Fire P.Kline 137 166 14 30/ 24/ 46 Qtest Christian Schmidt 137 220 15 24/ 16/ 61 The Phantom Menace Anton Marsden 132 398 16 33/ 35/ 32 Keyser Soze Anton Marsden 131 399 17 38/ 45/ 17 Eraser II Ken Espiritu 130 655 18 22/ 16/ 61 Mr Sheen Test B 8 Steve Gunnell 128 3 19 39/ 51/ 10 hTest P.Kline 128 1 20 37/ 47/ 17 Jinx Christian Schmidt 127 661 21 9/ 82/ 9 Mutato Lukasz Adamowski 36 0 From: Koth Subject: KOTH.ORG: Status - Standard 10/22/01 Date: 22 Oct 2001 09:09:10 -0400 Message-ID: <200110220400.AAA17904@gevjon.ttsg.com> Weekly Status on 10/22/01 -=- 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 sleep 180 Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Fri Oct 19 17:36:37 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 33/ 19/ 48 Freight Train David Moore 147 78 2 32/ 20/ 48 sIMPly.Red v0.95 Leonardo Humberto 145 35 3 31/ 19/ 50 Test Alexander (Sasha) Wa 143 17 4 29/ 20/ 50 Guardian Ian Oversby 139 77 5 21/ 8/ 71 qenig1 test John Metcalf 135 1 6 39/ 44/ 17 Foggy Swamp Beppe Bezzi 134 74 7 34/ 34/ 32 PacMan David Moore 133 107 8 35/ 37/ 28 Stasis David Moore 132 185 9 38/ 44/ 19 Blur '88 Anton Marsden 132 115 10 30/ 28/ 42 Frog Sticker P.Kline 132 27 11 23/ 16/ 61 EV Paper John K Wilkinson 130 91 12 24/ 18/ 58 Jinglo John Metcalf 130 2 13 25/ 22/ 53 Shish-Ka-Bob Ben Ford 129 33 14 23/ 18/ 59 Test I Ian Oversby 128 134 15 32/ 36/ 32 Tangle Trap David Moore 127 151 16 23/ 20/ 57 Evoltmp 88 John K W 127 128 17 34/ 41/ 25 Beholder's Eye V1.7 W. Mintardjo 126 353 18 35/ 46/ 19 Iron Gate Wayne Sheppard 125 403 19 35/ 47/ 18 ig Wayne Sheppard 124 5 20 12/ 3/ 85 ]enigma[ Michal Janeczek 121 6 21 4/ 54/ 43 VLIV'88 Wayne Sheppard 54 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 10/22/01 Date: 22 Oct 2001 09:09:19 -0400 Message-ID: <200110220400.AAA17908@gevjon.ttsg.com> Weekly Status on 10/22/01 -=- 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 sleep 180 Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Oct 21 18:41:27 EDT 2001 # Name Author Score Age 1 D-clearM Ken Espiritu 37 84 2 Xord Monominer XOSC:01 Gino Oblena 35 23 3 test John Metcalf 32 12 4 fclear Brian Haskin 30 68 5 8thTest Gino Oblena 28 15 6 Pitbull Christian Schmidt 25 40 7 QuiVa John Metcalf 24 177 8 Carrot Grater v1.1 Brant D. Thomsen 21 2 9 Her Majesty P.Kline 16 103 10 sptst (4D-p) Stefan Foerster 16 1 11 Mutato Lukasz Adamowski 0 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 10/22/01 Date: 22 Oct 2001 09:09:14 -0400 Message-ID: <200110220400.AAA17912@gevjon.ttsg.com> Weekly Status on 10/22/01 -=- 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 sleep 180 Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Thu Oct 4 10:23:04 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 35/ 19/ 45 KAT v5 Dave Hillis 152 31 2 41/ 33/ 26 Black Moods Ian Oversby 148 95 3 29/ 15/ 56 Katafutr Michal Janeczek 144 39 4 42/ 41/ 18 Greetings From Asbury Par JKW 143 59 5 34/ 29/ 37 Big I.F.F.S. Dave Hillis 140 28 6 36/ 35/ 29 Ogre Christian Schmidt 138 47 7 22/ 7/ 71 Denial David Moore 138 40 8 30/ 24/ 46 Damage Inflicted Robert Macrae 136 38 9 34/ 32/ 34 Controlled Aggression Ian Oversby 136 99 10 20/ 7/ 73 Evol Cap 4 X John Wilkinson 133 168 11 23/ 13/ 64 Kin John Metcalf 133 7 12 18/ 4/ 77 Evolve X v4.0 John Wilkinson 132 116 13 19/ 6/ 75 Black Box v1.1 JKW 132 62 14 23/ 19/ 58 Venom v0.2b Christian Schmidt 128 121 15 28/ 34/ 38 test CS 123 56 16 32/ 45/ 24 Pagan John K W 119 153 17 19/ 20/ 62 Purple v0.1 Christian Schmidt 118 120 18 22/ 25/ 53 Disaster Area 2.8 Stefan Foerster 118 26 19 19/ 21/ 60 sptst (4D-p) Stefan Foerster 117 1 20 26/ 46/ 28 Sand-Crawler John Metcalf 106 5 21 12/ 86/ 1 my sucky warrior john q. redcoder 39 0 From: "Paul Khuong" Subject: RE: Did I miss something? ;) Date: 22 Oct 2001 18:22:52 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Lukasz > Adamowski > Sent: 21 octobre, 2001 20:48 > To: Multiple recipients of list COREWAR-L > Subject: RE: Did I miss something? ;) > > > On Sun, 21 Oct 2001, Paul Khuong wrote: > > > Agreed with that. Thing is, who here wants to write a tutorial? If only > > school wasn't such a soporiphic, i guess i would have tried > continuing on my > > stuff, but... > > Gee... I have aleady written a tutorial for my hill, so do not make me > do this once again. B) It's in Polish, so useless for many of newbies, but > it's my part in making CW more popular. Translation??? PLEASE! 8) > > Any suggestion to improve the plan? A certain episode is too > big and should > > be cut in half, etc? > > > > Paul KHUONG(not KLINE) > > > > BTW, any newbie should jsut post here instead of wating for any > tutorial for > /\ > || > And one more thing: it's easy to recognize your post, Paul Khuong, because > some of your fingers seems to be faster than others. :))) Well, that's what too much chatting and too much time spent in front of a piano does to you 8) It's really a problem with my keyboard, i swear ;-) Anyway, with a spellchecker, i'm usually fine. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Paul Khuong" Subject: RE: How active is Corewar? Date: 22 Oct 2001 18:23:01 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Lukasz > Adamowski > Sent: 21 octobre, 2001 20:48 > To: Multiple recipients of list COREWAR-L > Subject: Re: How active is Corewar? > > > On Sun, 21 Oct 2001, Michael S. Moulton wrote: > > > Obviously the hills are busy, but how active is Corewar really? It's > > surprising to me that the newest pMARS is still 0.8.0... > > Maybe it's perfectly finished and need no developing at all B))) Impossible... There's always room for improvement 8) (see, no typo! ^_^) --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Paul Khuong" Subject: RE: How active is Corewar? Date: 22 Oct 2001 18:35:12 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Michael > S. Moulton > Sent: 21 octobre, 2001 18:29 > To: Multiple recipients of list COREWAR-L > Subject: Re: How active is Corewar? > > > In article <9qv320$lvg$1@solaris.cc.vt.edu>, "Michael S. Moulton" > wrote: > > Obviously the hills are busy, but how active is Corewar really? It's > > surprising to me that the newest pMARS is still 0.8.0... it was that way > > when I first looked at Corewar about 2 years ago. There are other > > projects out there (corewars.sourceforge.net seems to have its own > > hills, even-- anyone know anything about this?) but most of the > > information available is from 1999 or earlier. > > Actually, after browsing a little... I see that _some_ of the hills are > still busy. KOTH.org seems to have activity, but nothing goes on ever > with the Pizza hills-- are they still active? Pizza is erhm... RIP. It used to freeze pretty often, but now, it seems that it's gonna stay that way. > I did find the new pMARS on Sourceforge... why doesn't KOTH.org link to > this??? And I see that the "other" Sourceforge project > (corewars.sourceforge.net) doesn't even support the full ICWS'94... not > sure what they're up to. It DOES link to it, iirc. About the corewarS project: The author came here, with some advertising; most of us pointed some problems in his scoring system, etc., plus the fact that it would only confuse newbies. He just continued with his idea. Oh, well.... > Just wondering why there seems to be nothing happening... I don't know really..Maybe the searchspace has all been explored, so we all sort of lost all interest 8( *Lukasz(?) Another way of seeing which psots are mine is to check the ... and smiley density: Kline is way too old to write like I do 8)* --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Paul Khuong" Subject: RE: Did I miss something? ;) Date: 22 Oct 2001 18:47:20 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of > QuickTransit > Sent: 21 octobre, 2001 17:29 > To: Multiple recipients of list COREWAR-L > Subject: Re: Did I miss something? ;) > > > I used to play Corewar years ago. In fact, Redcode was the first > programming > language I ever learned. I gave up on the game because a number > of factors > have pushed it into what I view as a boring and sterile dead end, > which MAJORLY > restrict the amount of interest it can get from new players. > > Specifically: > - Hyper-efficiency. There are two parts to this. Yes, writing > a beautifully > elegant little set of instructions that does twice what it should > by right be > able to do is a key part of what makes Corewar fun and a key part > of writing > good warriors. What is NOT fun is writing real programs to > figure out optimal > bombing numbers - one of the things that convinced me to leave was when I > noticed people were writing REAL programs to figure out these > optimal numbers. > Corewar is a game. You shouldn't have to do that in order to be > competitive. > In addition, the general efficiency and state of the art of > warrior-making have > brought the competitive programs to an evolutionary dead end; > there are certain > strategies that are absolutely the best, everything else has been > tried, the > only thing that remains is to decide on the details of the > implementation. > This is never going to be fun for more than a small group of > people who already > "own" the game. Optimal bombing numbers:Well, in every game there is, we see stuff like that happen. Magic the gathering, chess(opening books, anyone?), strategy games, etc. Let's take starcraft as an example: People made build for the game, where it would be timed VERY precisely(using the number of peons produced), to have a strategy that would be as optimal as possible. > - Deterministic stupidity. There is NO room for the warriors to > exhibit any > kind of behavior other than blind murderous all-out killing sprees - no > interesting tactics, no adaptation to the enemy's behavior. At > most, there may > be one changeover in behavior, from replication to bombing for > instance, but > there is no subtlety (except, perhaps, from an implementation > standpoint) in > how it's done. Well, did you check the experimental hills? Supposedly, the bigger program size and core size help with these... I ahce no diea if it really works. > - Limited tactics. This arises from the previous two points. The only > legitimate strategies are massive replication, massive bombing, > random spot > checks of the core followed by massive bombing on anything found, or > bastardized combinations of these. (Are imprings still competitive?) I > remember back when the first KotH started up, there were all > sorts of wildy > different tactics and behaviors being tried; I even remember when > the first > CMP-scanner showed up, as well as the first imp-ring. Those were > fun days. > Discovering a fundamentally new way of organizing the code to do something > completely unexpected and more effective than anything that had > come before was > fun in a way that picking bombing numbers and reorganizing the stone/paper > components of a warrior can never be. This potential for > discovery and wildly > different strategies has to be brought back in order for the game to go > anywhere beyond its current holding pattern, which in turn means > that the basis > for the total efficiency of modern warriors has to be fundamentally > re-engineered. This sort of problem also arises in most games. The ROCK-PAPER-SCISSOR is pretty much established and used in most games that i know 8( In the end, we might see something like a mix between ROCK and PAPER, etc, but it's always a variation on a theme 8( There has to be a solution... I'm thinking of using another way to score matches. Maybe something like counting the number of processes each warrior has in the end, while making SPL less efficient(separate it in two or three instructions, so that you have to execute them in a given order to make a SPL, or something like that). > The ease of achieving a lethal and efficient killer is the #1 problem with > giving the game real dimensions. Therefore, the aspects of the > game that make > it easy to code efficient warriors need to be removed. [snip..modifiers are bad bc they make efficient code easy] > There are other things I think should be done - instant access to > any area of > core at any time is something that has always bugged me, although > it can be > worked around; also, it is simply too easy to kill another > process (another > efficiency problem) - but making the act of coding itself a > non-trivial task, > and forcing warriors to lose the tremendous efficiency they currently > demonstrate, goes a long way towards making warrior-writing an interesting > challenge and towards opening up new ways of doing things. > > Obviously with any new set of rules there will always be one path > that is more > efficient than another. This is not avoidable. What IS > avoidable is making > the magnitude of the advantage gained by using that one path so > great as to > make any other path hopeless. Basically, the advantages gained by writing > efficient and lethal code should be able to be counterbalanced by writing > robust and responsive code, or unpredictable code, or code that is equally > lethal in an entirely different fashion. I'm sorry i couldn't cut more, but it would have been hard to summarize most of the post. Basically, we have problems that are the roots of all others: -Efficient code is too easy and too restrictive(only one way of doing it, etc) -Killing is too easy. (which makes efficient code so much more important) Well, i've thought about what i suggested about SPL, and am thinking of applying it to every instruction. Let's make something like a VRISC(^_^ new one)/semi-VLIW, where we only have a very few basic instructions, but by mixing them together, we can get the same that we had with the old IS. PLUS, we can make it harder to kill/produce a process, since we'd have to copy the right sub-instruction to get a [KILL SELF] instruction, [SPL] could be 3x as large, 3x as easy to hit, 3x as long to execute. *Only one sub instruction at a time is executed* Downside:More complicated, though we could provide an "assembler" that would take the opcodes, and transform them into sub instructions. Another idea:RedOS. Let's use that idea that was tried in a previous tourney! It definitely COULD bring balance to the game, but we'd have to make sure that it's used correctly... There could be calls to functions, etc. *Let's imagine overwriting the system call routines ^_^* Downside:Again, more complicated, though system calls could lead to interesting stuff... Last idea:Let's not make it possible to access to all of the memory at once:Bank switching, something! Maybe only allow "short jumps". Also, note that bank switching could work pretty well with RedOS as a call 8) Paul "I have no idea left for a warrior; let's change the IS" Khuong 8) --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: Philip Thorne Subject: Re: How active is Corewar? Date: Tue, 23 Oct 2001 22:07:27 -0500 Message-ID: <3BD6306F.3080703@yahoo.com> Michael S. Moulton wrote: > In article <9qv320$lvg$1@solaris.cc.vt.edu>, "Michael S. Moulton" > wrote: > >>Obviously the hills are busy, but how active is Corewar really? It's >>surprising to me that the newest pMARS is still 0.8.0... it was that way >>when I first looked at Corewar about 2 years ago. There are other >>projects out there (corewars.sourceforge.net seems to have its own >>hills, even-- anyone know anything about this?) but most of the >>information available is from 1999 or earlier. >> > > Actually, after browsing a little... I see that _some_ of the hills are > still busy. KOTH.org seems to have activity, but nothing goes on ever > with the Pizza hills-- are they still active? > > I did find the new pMARS on Sourceforge... why doesn't KOTH.org link to > this??? And I see that the "other" Sourceforge project > (corewars.sourceforge.net) doesn't even support the full ICWS'94... not > sure what they're up to. > > Just wondering why there seems to be nothing happening... > Hi, I'm a newbie or more likely a soon to be ex-newbie as the strong interest/enthusiasm I felt a month or so back has palled somewhat [I haven't written or run any redcode for 2 weeks. [I'm afraid Civ and nethack threaten to battle for my soul at present] The first blow was discovering that Pizza was non-functional and apparently has been that way for at least 3 months (assuming the activity page isn't totally broken). Not finding any reference to this in the newsgroup struck me as ominous. As did the age of the FAQ; the, ahem, __draft '94__ ICWS standard and the demise of the magazines. Searching for a beginner hill I soon found that there's very little visible core-war activity going on. This newsgroup seems moribund and appears to have been so for a long time - I was disappointed to find frequent postings from years past (e.g. '95 and earlier) complaining that the game was stagnant / had few adherrents. However I am optimistic that even if stale for experienced redcoders that it might be fun for a newbie if they resisted reading newer warriors - especially as I was briefly full of "great" ideas. I did find the corewars.sourceforge.net site and so finally did get to submit a warrior (sad to say it was my best at the time and only then because it was fortuitously bug-ridden - quite the eye-opener ). It's really nice to make a submission and get feedback, although I'd rather it hadn't been auto-published. [As an aside it's quite a nice site, especially for a newbie, but it seems a shame that greator efforts weren't made to introduce it within the traditional corewars community rather than further diluting it and confusing things with another language (cheekily named). Even that site though doesn't have much activity especially if, like me, you're only interested in the real thing = redcode. ] I also found Lukasz's site/hills and had a bash at translating parts of it with babelfish. After real fun with the 'fish I discovered that the site was on pause for a few months. [I guess it's revived now]. Although I'm unlikely to submit to the site it's existence did perk me up. The Indian site http://www.corewars.org less so as it doesn't seem to be progressing and if/when it's up some of the hills will be India-only - waste of an url?. I got to wondering about the history of corewars [that Dewdney fellow stole all my best ideas!] and of the ICWS. Try as I might I can't discover who comprised that and what really went wrong [was the not-so-recent postings by the former president, I forget his name, a hoax? No web address. ]. I do feel that corewars would be better off if the various factions united - this more-so than any tinkering with the language [from the perspective of bringing new blood to the game]. Waiting for the ICWS to revive seems a forlorn hope - in this respect I applaud Walter Hoffman's (sp?) efforts. He's made a difference. There is potential to popularise the game [although I'm not experienced enough to know/say whether this is a good thing - as in ultimately more rewarding alternatives. Sensible answer must be "no" - but, hey, that's true of everything.]. For example thru deja[news] searches I found a few passing references to corewars in quite unrelated groups - things along the lines of "there used to be a game blah, blah wonder what became of it?"] that could have been followed-up by an ICWS replacement. Lastly, re the language - it is quite complicated [I'm a long-time C programmer] but the tutorials (I started with Ilmari's - thank-you) are helpful/more than adequate and, especially if all the hills were functional, there's plenty of scope to learn piecemeal. I do think it might be better to concentrate on changing the "playing field" than redcode - e.g. imaginative tournament restrictions / team-work / peculiar sized cores.... if you need some spice. If the language were to change I suggest it be done so as a deliberate step to retire the ICWS legacy [copyright?]. In the meantime I've got wilkies to compete against and if that's too much for me I can always succumb to the lure/spoiler of reading famous warriors loads (tx Planar) - "He Scans Alone" and "Blur" sound so intriguing. Time permitting.... Philb From: "Michael S. Moulton" Subject: Re: How active is Corewar? Date: Wed, 24 Oct 2001 01:55:26 -0400 Message-ID: <9r5l3p$6lr$1@solaris.cc.vt.edu> In article <3BD6306F.3080703@yahoo.com>, "Philip Thorne" wrote: > Hi, I'm a newbie or more likely a soon to be ex-newbie as the strong > interest/enthusiasm I felt a month or so back has palled somewhat [I > haven't written or run any redcode for 2 weeks. [I'm afraid Civ and > nethack threaten to battle for my soul at present] > > The first blow was discovering that Pizza was non-functional and > apparently has been that way for at least 3 months (assuming the > activity page isn't totally broken). Not finding any reference to this > in the newsgroup struck me as ominous. As did the age of the FAQ; the, > ahem, __draft '94__ ICWS standard and the demise of the magazines. > > Searching for a beginner hill I soon found that there's very little > visible core-war activity going on. This newsgroup seems moribund and > appears to have been so for a long time - I was disappointed to find > frequent postings from years past (e.g. '95 and earlier) complaining > that the game was stagnant / had few adherrents. However I am optimistic > that even if stale for experienced redcoders that it might be fun for a > newbie if they resisted reading newer warriors - especially as I was > briefly full of "great" ideas. > > I did find the corewars.sourceforge.net site and so finally did get to > submit a warrior (sad to say it was my best at the time and only then > because it was fortuitously bug-ridden - quite the eye-opener ). It's > really nice to make a submission and get feedback, although I'd rather > it hadn't been auto-published. > > [As an aside it's quite a nice site, especially for a newbie, but it > seems a shame that greator efforts weren't made to introduce it within > the traditional corewars community rather than further diluting it and > confusing things with another language (cheekily named). Even that site > though doesn't have much activity especially if, like me, you're only > interested in the real thing = redcode. ] > > I also found Lukasz's site/hills and had a bash at translating parts of > it with babelfish. After real fun with the 'fish I discovered that the > site was on pause for a few months. [I guess it's revived now]. Although > I'm unlikely to submit to the site it's existence did perk me up. The > Indian site http://www.corewars.org less so as it doesn't seem to be > progressing and if/when it's up some of the hills will be India-only - > waste of an url?. > > I got to wondering about the history of corewars [that Dewdney fellow > stole all my best ideas!] and of the ICWS. Try as I might I can't > discover who comprised that and what really went wrong [was the > not-so-recent postings by the former president, I forget his name, a > hoax? No web address. ]. > > I do feel that corewars would be better off if the various factions > united - this more-so than any tinkering with the language [from the > perspective of bringing new blood to the game]. Waiting for the ICWS to > revive seems a forlorn hope - in this respect I applaud Walter Hoffman's > (sp?) efforts. He's made a difference. > > There is potential to popularise the game [although I'm not experienced > enough to know/say whether this is a good thing - as in ultimately more > rewarding alternatives. Sensible answer must be "no" - but, hey, that's > true of everything.]. For example thru deja[news] searches I found a few > passing references to corewars in quite unrelated groups - things along > the lines of "there used to be a game blah, blah wonder what became of > it?"] that could have been followed-up by an ICWS replacement. > > Lastly, re the language - it is quite complicated [I'm a long-time C > programmer] but the tutorials (I started with Ilmari's - thank-you) are > helpful/more than adequate and, especially if all the hills were > functional, there's plenty of scope to learn piecemeal. I do think it > might be better to concentrate on changing the "playing field" than > redcode - e.g. imaginative tournament restrictions / team-work / > peculiar sized cores.... if you need some spice. If the language were to > change I suggest it be done so as a deliberate step to retire the ICWS > legacy [copyright?]. > > In the meantime I've got wilkies to compete against and if that's too > much for me I can always succumb to the lure/spoiler of reading famous > warriors loads (tx Planar) - "He Scans Alone" and "Blur" sound so > intriguing. Time permitting.... Wow... quite a post! I'm still a newbie too, really. I first found Corewar back in 1999, but I didn't get into it-- was busy with college, had _never_ done assembly language, and just didn't know where to start. But going through bookmarks about a week ago, I just started finding things again. The thing that disappointed me is really that there's virtually nothing new from when I looked in 1999... no new documentation, software, anything-- except the Corewars project on Sourceforge, which is a disappointment in itself b/c he chose to ignore everything that was already established! Losing Pizza unfortunately means losing the beginner's hills... which makes it pretty difficult for a newbie to get into the game! I'm shocked that the web site hasn't even been updated to say what happened to it! It's like it just died and everyone just said "oh well, screw it." Your points about the ICWS... I have wondered the same thing. Why did it go away? Bring it back! :) --Mike From: pk6811s@acad.drake.edu (P. Kline) Subject: Changing the Game Date: 24 Oct 2001 09:49:39 -0700 Message-ID: <92b0a3d6.0110240849.2dcf80ac@posting.google.com> In a real ecosystem all forms do not struggle against each other, they find niches where they feed on a small number of forms and are in turn eaten by others. The goal is not to dominate but to survive, so here is a thought experiment. Let each participant identify itself by "form" - grasshopper, cat, eagle...- and also identify a number of forms that it wants to eat. This food list determines which players battle together, if you are not on somebody's diet, and they are not on yours, you don't fight them. To determine who stays on the Hill use a scoring system that compares how successful you are in killing your food forms versus how successfully you defend against predators. For example, if I am a Grasshopper my food list would include a number of plant forms. Bird forms would list me in their food lists. I would fight each of the plants and all of the birds. My score is the ratio of wins against plants to losses against birds. Low score is out of the game. The Hill would be initially populated with lots, maybe hundreds, of simple algae forms, and the first challengers would be algae eaters. Then would come forms that feed on some of the algae eaters. One issue would be that any new form would have no predators and would always get in. So let there be a limited number of forms, say 10, and let there be be room for 100 players. Once all 10 forms are present then the evolutionary fun begins - prey develop defenses, predators adapt to new diets, food forms suffer population collapse leaving feeders at risk, large carnivores refuse to challenge each other, mimicry, etc. Okay, here is another idea. Instead of specifying a limited number of food items you have to rank order the 10 forms. You fight all the players on the top food item, and some of the ones down the list, to a total of twenty battles. That way if there is a shortage of preferred food you get to try your luck eating cabbages and chickens. You also will be challenged to fight by predators. It's a little rough but we could work out details. To implement looks fairly easy. Each challenger includes a line identifying its form and another of ranked food like: ;form j ;food acfedhjigl The referee program lines up the battles and scores the results. No change to the instruction set or pmars is needed. Initialize the Hill with 100 varieties of: form A - bombers (bees) form B - replicators (mice) form C - scanners (eagles) form D - stone-imps (porcupines) with the appropriate ;food lists. The other seven forms are not specified but will be sorted out after time through competition. One other change I would make is to make the source code of every player visible. One reason interest in the game wanes from time to time is that you have too many unpublished programs to fight. Maybe make EQU lines invisible to protect constants. No pspace. Paul Kline pk6811s@acad.drake.edu From: Ransom Smith Subject: Re: How active is Corewar? Message-ID: Date: Wed, 24 Oct 2001 12:53:53 GMT Yes, that seems indeed to be just about the shape of things. Well said, sir. Incidentally, just to throw out an idea i've been idly toying with for a few months... How about a tournament in the most restrictive possible but still complete subset of ICWS'94? .F would be disallowed, JMP CMP SEQ SNE DJN JMN could all be replaced by JMZ. ADD is useless in the face of SUB. MOD I bet you can do by hand. Anyway, you get the idea. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] No, I don't Yahoo. --**([{ LIFE IS FAIR. --**-- LIVE WITH IT. }])**-- From: "Paul Khuong" Subject: RE: Changing the Game Date: 24 Oct 2001 18:42:53 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of P. > Kline > Sent: 24 octobre, 2001 13:34 > To: Multiple recipients of list COREWAR-L > Subject: Changing the Game > > > In a real ecosystem all forms do not struggle against each other, they > find niches where they feed on a small number of forms and are in turn > eaten by others. The goal is not to dominate but to survive, so here > is a thought experiment. > > Let each participant identify itself by "form" - grasshopper, > cat, eagle...- > and also identify a number of forms that it wants to eat. This food list > determines which players battle together, if you are not on somebody's > diet, and they are not on yours, you don't fight them. To determine > who stays on the Hill use a scoring system that compares how successful > you are in killing your food forms versus how successfully you defend > against predators. [snip] > It's a little rough but we could work out details. > > To implement looks fairly easy. Each challenger includes a line > identifying > its form and another of ranked food like: > > ;form j > ;food acfedhjigl > > The referee program lines up the battles and scores the results. > No change > to the instruction set or pmars is needed. Initialize the Hill with 100 > varieties of: > > form A - bombers (bees) > form B - replicators (mice) > form C - scanners (eagles) > form D - stone-imps (porcupines) > > with the appropriate ;food lists. The other seven forms are not > specified but will be sorted out after time through competition. > > One other change I would make is to make the source code of every player > visible. One reason interest in the game wanes from time to time is that > you have too many unpublished programs to fight. Maybe make EQU lines > invisible to protect constants. No pspace. NICE! I'm willing to set up an email account, and run the battles every evening ^_^ I'm not sure if it could bring anything, but maybe that by making the score gaioned in battles be dependant on the score of the other warrior, we could get a better kind of balance than just "bad warriors tend to leave the ecosystem". Also, how do we enforce the warrior type? What if i had a replicator, but labeled it as a stone? Or vice-versa? And, do we have to completely fill the food list? What happens if it isn't filled? OK. I suppose that it wouldn't be too hard to build a perl script? I mean, it's all simple regex, right? BTW, WHY is it that source isn't always shown, or at LEAST by default? PS, isn't it nice how everyone is a bottom-poster? I suppose that it means something about the players ^_^ --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Robert Macrae" Subject: Re: Changing the Game Date: 24 Oct 2001 18:44:17 -0400 Message-ID: <003201c15cc8$c19ea9e0$2100a8c0@HomePC> > In a real ecosystem all forms do not struggle against each other, they > find niches where they feed on a small number of forms and are in turn > eaten by others. The goal is not to dominate but to survive, so here > is a thought experiment. ... Brilliant. You could extend the ecology parallel by setting the relative abundances within each form as a function of the success of the warriors. For example, weight_i = ( 16 - rank_i ) / 105 would set the best example within each form to 15% and the weakest to 5%. When another warrior tried to eat that form it would fight 15% of its rounds against the best, 5% against the weakest and in between for the others. If we stay with the current 5000 rounds as giving a reasonable balance between time and accuracy, and assuming each warrior nominates 4 forms to eat, there are 40 battles are of between 68 and 187 rounds each; sounds feasible? I am not sure how we might penalise forms that give away lots of points. One possibility would be to set the abundance of the form as a whole as a function of the points scored against it, perhaps on a similar 5-15% basis, perhaps tweaked to break ties. With this kind of scheme, warrior abundance is a natural ranking. The top warrior in the top form would have a 2.25% abundance while bottom, bottom would be 0.25%... What I like most about the concept is that it injects novelty and complexity where it is needed, in the strategy space. This will provide a much more dynamic environment. Robert Macrae From: Lukasz Adamowski Subject: Re: How active is Corewar? Date: 24 Oct 2001 18:45:42 -0400 Message-ID: On Wed, 24 Oct 2001, Philip Thorne wrote: > I also found Lukasz's site/hills and had a bash at translating parts of > it with babelfish. After real fun with the 'fish I discovered that the > site was on pause for a few months. [I guess it's revived now]. Although > I'm unlikely to submit to the site it's existence did perk me up. Well... Yes, there was a break, because I was away for 3 months. Unfortunately I didn't make my hill automatic like KoTH is. I will change if I only have much time. > Lastly, re the language - it is quite complicated [I'm a long-time C > programmer] but the tutorials (I started with Ilmari's - thank-you) are > helpful/more than adequate and, especially if all the hills were > functional, there's plenty of scope to learn piecemeal. I do think it > might be better to concentrate on changing the "playing field" than > redcode - e.g. imaginative tournament restrictions / team-work / > peculiar sized cores.... if you need some spice. If the language were to > change I suggest it be done so as a deliberate step to retire the ICWS > legacy [copyright?]. As for team-work: remember, once I was talking about the enigmatic tournament with two teams and jugde. Only jugde knows who is in which team and he sends to proper person only the last instruction of written code. This person sends back next instruction. Then jugde sends his "move" to another person from the same team etc. After, let's say, 10 instructions everything stops and warrior written by team A fights with warrior written by team B. Then he publishes both sources and score. The advantage of this tournament is that everybody can play: newbies and well-known players. No one is prefered, because luck counts much more than knowledge (it doesn't mean knowledge have nothing to do here, of course :) It may be great fun and make many newbie come near. Lukasz From: Philip Thorne Subject: Re: How active is Corewar? Date: Thu, 25 Oct 2001 01:39:48 -0500 Message-ID: <3BD7B3B4.1060808@yahoo.com> Michael S. Moulton wrote: > In article <3BD6306F.3080703@yahoo.com>, "Philip Thorne" > wrote: > [...] >> > > Wow... quite a post! I'm still a newbie too, really. I first found Heh, it was a little bottled-up - things I'd been meaning to say a while back but didn't and likely wouldn't if you hadn't posted. tx > Corewar back in 1999, but I didn't get into it-- was busy with college, > had _never_ done assembly language, and just didn't know where to start. > But going through bookmarks about a week ago, I just started finding > things again. The thing that disappointed me is really that there's > virtually nothing new from when I looked in 1999... no new documentation, > software, anything-- except the Corewars project on Sourceforge, which is > a disappointment in itself b/c he chose to ignore everything that was > already established! > > Losing Pizza unfortunately means losing the beginner's hills... which > makes it pretty difficult for a newbie to get into the game! I'm shocked > that the web site hasn't even been updated to say what happened to it! > It's like it just died and everyone just said "oh well, screw it." > The corewars sourceforge site does have a beginners redcode hill. Most usage seems to be for evolved warriors (a relatively active sub-genre). A nice thing about it is that you can submit your warrior directly thru a form. I mean to try it again, perhaps late in the weekend ... wonder if anyone I "know" will beat me onto the hill.. > Your points about the ICWS... I have wondered the same thing. Why did it > go away? Bring it back! :) > The guy who claims to be the last president but one occassionally posts to other (non-related) newsgroups - I thought of sending him an email but it might be a bit presumptious, especially if I don't hang around. > --Mike > Philb From: Philip Thorne Subject: Re: How active is Corewar? Date: Thu, 25 Oct 2001 02:04:25 -0500 Message-ID: <3BD7B979.7050505@yahoo.com> Lukasz Adamowski wrote: > On Wed, 24 Oct 2001, Philip Thorne wrote: > > >>I also found Lukasz's site/hills and had a bash at translating parts of >>it with babelfish. After real fun with the 'fish I discovered that the >>site was on pause for a few months. [I guess it's revived now]. Although >>I'm unlikely to submit to the site it's existence did perk me up. >> > > Well... Yes, there was a break, because I was away for 3 months. > Unfortunately I didn't make my hill automatic like KoTH is. I will change > if I only have much time. > I liked what I saw, plus I noticed at least one KOTH veteran on one of the hills. The reason I say I'm unlikely to post to it is that first I'd want to come-up with a decent warrior and have learnt that that's harder and more costly in time than I'd thought. BTW the "engine" of my beginner warrior came from one of your earlier posts - I discovered later you named it The Shortest Worm. > >>[...] > > As for team-work: remember, once I was talking about the enigmatic > tournament with two teams and jugde. Only jugde knows who is in which team > and he sends to proper person only the last instruction of written code. > This person sends back next instruction. Then jugde sends his "move" to > another person from the same team etc. After, let's say, 10 instructions > everything stops and warrior written by team A fights with warrior written > by team B. Then he publishes both sources and score. The advantage of this > tournament is that everybody can play: newbies and well-known players. > No one is prefered, because luck counts much more than knowledge (it > doesn't mean knowledge have nothing to do here, of course :) It may be > great fun and make many newbie come near. > Interesting but I think it might be so random / uncoordinated that it could be frustrating. Then again, it might entice some of the evolutionary crowd. Hmm, how about the same basic idea (team-members contributing independently) but with the members supplying components (scanner, stone , 5-line-wonder...) and the "leader" doing the best he can to assemble them into something viable? Not sure how you'd avoid cut'n'paste of published warriors or if that would be a problem. > Lukasz > Philb Message-ID: <3BD7B701.32482B38@someoneelse.com> From: HiEv Subject: Re: How active is Corewar? Date: Thu, 25 Oct 2001 06:53:50 GMT Ransom Smith wrote: [snip] > How about a tournament in the most restrictive possible but still complete > subset of ICWS'94? > > .F would be disallowed, JMP CMP SEQ SNE DJN JMN could all be replaced by JMZ. > ADD is useless in the face of SUB. MOD I bet you can do by hand. > Anyway, you get the idea. Well, I like all the more advanced commands, the thing that has always bothered me though is that any "intelligent" programs were too big and too slow to compete, an imp ring could always take them out easily. An idea I had would be to change the length of time that each command takes, so that commands that would mainly be used to make your code smarter would go much faster than commands that are frequent in "dumb" programs. You could make some commands run at different speeds if they did different things too. For example, a MOV that copied a MOV line could take a whole time tick (slows down imps) while a MOV that copied a DAT line to a space within 10 memory locations would take 0.3 time ticks (to speed up imp stompers). You could also make moving DATs, SPLs, or jumps to further locations slow if they are dropped on empty memory, as this would slow down random memory bombers and encourage smarter bombing tactics while not slowing replicators down too much. The program would either allow <= 1 time tics to occur and the rest are wasted, or >=1 time ticks to occur and the extra are subtracted from the next time tick for that memory pointer. I kind of like the first one as that would give you the fun of further optimization. :-) Obviously this would take some research to figure out how much time for each of the commands to take and what situations should have slightly different times, but the advantage is that no code is broken. Any program that works in this version or the standard CoreWars will still work, it's just that some will now have different advantages and disadvantages. As abuses are found (and it would be silly to think that they won't be) we could refine it until it is a fairly level playing field for smart and dumb programs. Any thoughts on this? From: pk6811s@acad.drake.edu (P. Kline) Subject: Re: Changing the Game Date: 25 Oct 2001 08:29:39 -0700 Message-ID: <92b0a3d6.0110250729.2ccd4a70@posting.google.com> "Paul Khuong" wrote in message news:... <....> > I'm not sure if it could bring anything, but maybe that by making the score > gaioned in battles be dependant on the score of the other warrior, we could > get a better kind of balance than just "bad warriors tend to leave the > ecosystem". Evolve or die, kick them out. > Also, how do we enforce the warrior type? What if i had a replicator, but > labeled it as a stone? Or vice-versa? And, do we have to completely fill the > food list? What happens if it isn't filled? Snake camouflaged as plant, plant decorated like snake. Mimicry works if not overdone. If progA is a stone claiming to be paper it will be on every scanner's food list and no paper's. But if enough of them exist then some strong papers will move scanners up on their diet. Another strategy for papers would be to make other paper the preferred food with stones and scanners down the list a bit. If your food list is incomplete your submission is rejected. > BTW, WHY is it that source isn't always shown, or at LEAST by default? This was an agreement among the original Hill creators and players, maybe to protect programmers who were trying out new ideas from someone running away with their idea and claiming ownership (there was no Planar's archive at first). However, making the source available by request or on website should help offset excessive mimicry. Another idea is to have the source of players dropped from the Hill put into archive automatically, creating a fossil record. And I would leave the scoring system alone, 3 points for win, 1 for tie, zero for loss. A tie might represent taking a bite out of something without killing it. Let the ecosystem sort them out. Evolution will be very fast at first for sure, and it may never reach stability. There is no point of optimization that can't be broken by a new player with a different diet. The current Hills are too stable for many players, and too hard for beginners to break in. With the ecosystem a newbie could examine the source of all the players - learning much - come up with a diet list or camouflage idea (or even some new code!) and get on. Paul Kline pk6811s@acad.drake.edu From: pk6811s@acad.drake.edu (P. Kline) Subject: Re: Changing the Game Date: 25 Oct 2001 08:33:32 -0700 Message-ID: <92b0a3d6.0110250733.3a18b234@posting.google.com> "Robert Macrae" wrote in message news:<003201c15cc8$c19ea9e0$2100a8c0@HomePC>... > You could extend the ecology parallel by setting the relative abundances > within each form as a function of the success of the warriors. For > example, weight_i = ( 16 - rank_i ) / 105 would set the best example > within each form to 15% and the weakest to 5%. When another warrior tried > to eat that form it would fight 15% of its rounds against the best, 5% > against the weakest and in between for the others. I say let the weaker players die, why penalize the best ones, most hunters prefer to prey on the weaker prey. It would also be simpler to implement if the only change was to have the referee program lay out the battles and leave the scoring system and outcomes program alone. Paul Kline pk6811s@acad.drake.edu From: "Michael S. Moulton" Subject: Re: How active is Corewar? Date: Thu, 25 Oct 2001 12:57:34 -0400 Message-ID: <9r9g9n$6ds$1@solaris.cc.vt.edu> In article <3BD7B701.32482B38@someoneelse.com>, "HiEv" wrote: > Well, I like all the more advanced commands, the thing that has always > bothered me though is that any "intelligent" programs were too big and > too slow to compete, an imp ring could always take them out easily. > > An idea I had would be to change the length of time that each command > takes, so that commands that would mainly be used to make your code > smarter would go much faster than commands that are frequent in "dumb" > programs. Although it's backwards from real computers (where simpler instructions are faster), this idea does make sense! It would give longer programs a better chance. A simple change that would have a major effect on strategy. From: "Michael S. Moulton" Subject: Re: Changing the Game Date: Thu, 25 Oct 2001 15:03:33 -0400 Message-ID: <9r9nlu$gch$1@solaris.cc.vt.edu> In article <9r9n8u$mri$1@kenny.mimuw.edu.pl>, "Arek Paterek" wrote: > Nice, but I find these changes too small. I think the biggest > disatvantage in this game is that the really good programs are too much > complicated. And You know why? Try to write a big and optimized program > in Assembler that is easy to understand. I think small changes are what we need. Big changes mean that it's just not Corewar anymore. From: Lukasz Adamowski Subject: Re: How active is Corewar? Date: 25 Oct 2001 18:18:55 -0400 Message-ID: On Thu, 25 Oct 2001, Philip Thorne wrote: > I liked what I saw, plus I noticed at least one KOTH veteran on one of > the hills. Yes, John Metcalf was the first player ever joined my hill and he's still on it, because he wrote warrior to simple to be beaten (just fast multiprocess coreclear). Not many of Polish players are so good as "veterans"... ... and that makes me angry ;) > BTW the "engine" of my beginner warrior came from one of your earlier > posts - I discovered later you named it The Shortest Worm. Actually, it's not the shortest. After I had written it, I discovered many silk-based papers which are more difficult to understand, but more effective (but not always). My last warrior Mutato (this is not a good name, I must think up another) is also "Shortest"-based, but it's quite different in working: start add #5, $0 mov <-1, {3 jmn $-1, $-2 spl {-1, {-2 jmp $1033, >-4 BTW my opinion is source of every warrior should be published. It gives you no financial profits to keep it for yourself (maybe in some tournaments) and can be very useful for newbies. It's only a game! > Hmm, how about the same basic idea (team-members contributing > independently) but with the members supplying components (scanner, stone > , 5-line-wonder...) and the "leader" doing the best he can to assemble > them into something viable? Not sure how you'd avoid cut'n'paste of > published warriors or if that would be a problem. I think your version gives less fun to players (especially beginners) and have the "cut'n'paste" problem you said about. If the code written by one of teams is unworking, we go to the next round. I think in 15 or maybe more rounds chances would be equal. > Philb Lukasz From: Arek Paterek Subject: Re: Changing the Game Date: Thu, 25 Oct 2001 18:56:30 +0000 (UTC) Message-ID: <9r9n8u$mri$1@kenny.mimuw.edu.pl> P. Kline wrote: [...] Nice, but I find these changes too small. I think the biggest disatvantage in this game is that the really good programs are too much complicated. And You know why? Try to write a big and optimized program in Assembler that is easy to understand. And here is my idea - let's create a corewar language which supports dividing a program into modules. In every cell in the arena there won't be one instruction but one function. The time in which every instruction in the function executes will be proportional (somehow) to the length of the function (number of instructions it has). The details which must be researched are: * How to pass parameters to functions? How can the functions return values? * What to do with the addresses? (my prop. - divide them into two classes: local adresses - in the function, and global - in the arena) * What to do with the instructions: - SPL (my proposal - forks an another process which starts its execution in the function in address from the parameter (which is global) of the SPL) - JMP,JMZ,... (my prop. - jumps will be restricted to one function - their address parameters must be local) - MOV - DAT (These two instructions will be very important. Any ideas, how should they work? Are they really needed? Maybe we can form an another way the processes can kill each other?) - global CMP (We need a way a process can detect other "living" processes) - ... * Which new instructions will be needed? - (?) EXEC - moves the execution to another program (equivalent to pair: SPL, DAT) - (?) CALL - moves the execution to another function and after it ends, returns back - ... * What to do when a function ends it's execution? (my prop - kill the process that runs the function) Any ideas? Comments? PS. Sorry for my english :) -- Arek Paterek From: "Robert Macrae" Subject: Re: Changing the Game Date: 25 Oct 2001 21:01:56 -0400 Message-ID: <00e301c15db2$0a1e3c00$2100a8c0@HomePC> Quicktransit, I'm going to take the liberty of replying to a mixture of both of your recent posts. > First is the proposal itself. (Please feel free to clarify if I'm > misinterpreting something) It feels like a cosmetic rearrangement of existing > paradigms within the current game, to fit a preconceived model of a real-world > ecosystem. [and] > - Hyper-efficiency... What is NOT fun is writing real programs to figure out optimal > bombing numbers... > In addition, the general efficiency and state of the art of warrior-making have > brought the competitive programs to an evolutionary dead end; there are certain > strategies that are absolutely the best, everything else has been tried, the > only thing that remains is to decide on the details of the implementation. > This is never going to be fun for more than a small group of people who already > "own" the game. I entirely agree with the characterisation of "Hyper-efficiency" but I think you miss how much it depends on the current hill structure. It does not occur in competitions, in which weird, wacky and wonderfull creations sweep the board when somebody thinks differently and gets it right. When you don't know what your opponent is going to do, even approximately, how can you optimise? The skill is to be roughly right about what you face and to write something good to face the guessed threat. There is no optimisation involved at all and the resultant warriors are, with hindsight, usually easy to improve. The proposal addresses the problem pretty effectively. In a purely public hill you can always, if you wish, spend time tweaking the constants of one public warrior to edge a little further up the table, but the extra complexity should give room for far greater tactical innovation. The scoring and competitive landscape are very far from cosmetic. Redcode is a tool used to win some competition. In a knockout, for example, it doesn't matter by how much you beat your opponent so a "good" warrior is one that is hard to beat. In a hill, by contrast, every point counts so a "good" warrior is generally one that wins by a large amount against some warriors. Change the scoring, move the goalposts, and you change the whole game. This changes the whole experience of coding. > Second is the manner in which the proposal is made - all the general points > already defined, the form the game is to take set up, all that's left to do is > tweak a few things and figure out how to implement it. An unkind characterisation. It reminds me, though, of another tweak. Perhaps the best way to define a "form" would be by prespecifying what that form ate? Say each form eats 4 others. Cyclical? Regular? Hierarchical? Go on, the idea is there for improving. With 3 of us looking at it already we only need another 2-3 ;-) > Basically, the design requirements have to be carefully thought out and > discovered, otherwise what's going to happen is just another set of changes > without that have a more-or-less random effect on the "fun" level. (Did > P-space make the game more fun? Seriously, did it? I never tried using it, so > I don't know) It made it easier to assemble existing components into a competitive form. This made it easier for beginners to get onto the P-space hill, which was good. It added a new set of challenges in switcher design, now thoroughly solved. It added a great deal of richness, in a sense, but P-space became the "easy" solution to too many problems and P-switchers tended to become rather dull. It did make the game more fun. However, bottom line, when I eventually run a competition most rounds will be non P-space because I want to force coders to make tough choices, which means taking away easy ones. > What I'm getting at is, the key aspects of "ideal Corewar" need to be > identified and put together in one place, and the key aspects of "frustrating > newbie-unfriendly unfun Corewar" need to be identified and put together in > another place, and based on those two things, it should be possible to put > together a better Corewar. Ideal Corewar -- new challenges, room for both strategic thought and tactical coding, uncertainty, novelty, meaningful value to good design. Newbie-Unfriendly Corewar -- Hyperefficiency, optimisation, limited tactics, few achievable and satisfying goals. > I > remember back when the first KotH started up, there were all sorts of wildy > different tactics and behaviors being tried; I even remember when the first > CMP-scanner showed up, as well as the first imp-ring. Those were fun days. > Discovering a fundamentally new way of organizing the code to do something > completely unexpected and more effective than anything that had come before was > fun in a way that picking bombing numbers and reorganizing the stone/paper > components of a warrior can never be. This potential for discovery and wildly > different strategies has to be brought back in order for the game to go > anywhere beyond its current holding pattern, which in turn means that the basis > for the total efficiency of modern warriors has to be fundamentally > re-engineered. Wow. It must have been an incredibly exciting time. I don't really see a way to recapture it, in full, because the standard hills have been pretty thoroughly investigated. However, some of the really exciting things I have seen, for example Joonas' wonderful invisible warrior or Kline's precision quickscan, have been competition entries that take a totally new approach _to_a_new_situation_. I hope that if we keep creating new situations, we will keep seeing new, exciting code. The "swamp" proposal is, I think, a constructive step because it can increase the richness and diversity of the environment. This will throw up new inspiration. By contrast, I've seen lots of proposals for "improved corewars" that concentrate on tweaking Redcode, and I am rather despondent about the prospects. Redcode is a wonderfully rich and balanced instruction set and '94 is an inspired development of '88... but how much did it really change in the game? It added richness, but the new territory has now been largely explored. P-space enables interesting new competition challenges, but IMO does not much enrich the hills. Maybe the mechanistic, efficient nature of our virtual machine does impose some kind of ultimate limit on the game. If so, maybe we are close to it. If so, however, I suspect that any replacement will come from outside the existing community and grow from the refinement of a new, raw medium rather than from the coarsening of this one... In the meantime I am sure there are more brilliant solutions to discover if we pose the the right problems. Robert Macrae From: "Robert Macrae" Subject: Re: Changing the Game Date: 25 Oct 2001 21:01:52 -0400 Message-ID: <00e401c15db2$0ac614c0$2100a8c0@HomePC> > See, this is what I'm talking about in the other post. The ecology idea might > be "brilliant" in that it's an interesting thing to think about. It might be > "brilliant" in that by playing with some formulas you can get some interesting > relationships between current Corewar and the ecology idea. > > But is it "brilliant" in terms of making a FUN GAME? > > What evidence is there that this would be fun to play, as opposed to an > interesting digital simulation? The proposal should generate a more complex ecology than we see on the current hills, with greater room for specialists. If it does, it will increase the range challenges available -- there will be in effect 10 different avenues onto the hills, each requiring something different. Both of these would IMO increase fun, and they resemble some of the reasons for which I prefer competitions to hill play. > I have not seen any. I am not convinced that Robert has either; this post > reads to me more like someone having fun with playing with the numbers and > trying to fit things together nicely - which is fun to write and think about, > yes, but does it make a reasonable basis for a game? Will it make Corewar more > fun? Yeah, throwing in weightings was not a smart idea, because it is not fundamental enough to affect whether the idea stands or falls. In my defense, though, it was at least a positive suggestion? > I mean absolutely no offense to anybody involved here, but this looks to me > like a bad idea that has been swallowed hook, line, and sinker, without any of > the kind of critical design-oriented thought that SHOULD be going on. Hey, swallowed by ME, I don't speak for rgc. I'm just afraid my capacities for ciritical design-oriented thinking have been stunned by the awesome majesty of the concept. Normal service may be resumed shortly. Robert Macrae From: "Robert Macrae" Subject: Re: Did I miss something? ;) Date: 25 Oct 2001 21:02:15 -0400 Message-ID: <008d01c15da3$df2ff8c0$2100a8c0@HomePC> > > I used to play Corewar years ago. In fact, Redcode was the first > > programming language I ever learned. Structured programing came and went. Object orientation is a fad. Redcode endures 8-) Robert Macrae From: "Paul Khuong" Subject: RE: Changing the Game Date: 25 Oct 2001 21:02:06 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of > QuickTransit > Sent: 25 octobre, 2001 18:31 > To: Multiple recipients of list COREWAR-L > Subject: Re: Changing the Game > > > >In a real ecosystem all forms do not struggle against each other, they > >find niches where they feed on a small number of forms and are in turn > >eaten by others. The goal is not to dominate but to survive, so here > >is a thought experiment. > > > > There's two things that don't work with this proposal. [snip] > I would say that one of the fun things about Corewar is that it > IS an all-out > battle to the death between two pieces of software, not a careful > ecological > balance. If I want ecological balance, I'll dig up SimEarth or maybe even > Tierra. Erhm. I do think that the idea WAS not to have a model; the ecological thing was more of an anlogy, a way fo repsenting the idea. The main point is still that it'd change the way battles are fought. [snip] > Basically, the design requirements have to be carefully thought out and > discovered, otherwise what's going to happen is just another set > of changes > without that have a more-or-less random effect on the "fun" level. (Did > P-space make the game more fun? Seriously, did it? I never > tried using it, so > I don't know) P-Space brought new possibilities to the game, that's for sure. P-Spacers -> brainwashers, handshake, etc. Also, the thing is that we want the best warrior to be at the top of the hill, so we want to fight mroe than 1 battle. > What I'm getting at is, the key aspects of "ideal Corewar" need to be > identified and put together in one place, and the key aspects of > "frustrating > newbie-unfriendly unfun Corewar" need to be identified and put together in > another place, and based on those two things, it should be possible to put > together a better Corewar. Finally, posting the whole concept at once(like what kline did) helps start the conversation. If nothing's right in it, everything will change! That's IT. It jsut makes the brainstorming easier, imho. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Robert Macrae" Subject: Re: How active is Corewar? Date: 25 Oct 2001 21:02:10 -0400 Message-ID: <008e01c15da3$df8d0ce0$2100a8c0@HomePC> >>> For example thru deja[news] searches I found a few passing references to corewars in quite unrelated groups - things along the lines of "there used to be a game blah, blah wonder what became of it?"] that could have been followed-up by an ICWS replacement. <<< Excellent point. Anyone fancy automating a periodic search? Robert Macrae From: John Metcalf Subject: Core Warrior 72 Date: 25 Oct 2001 21:02:03 -0400 Message-ID: .xX$$x. .x$$$$$$$x. d$$$$$$$$$$$ ,$$$$$$$P' `P' , . $$$$$$P' ' .d b $$$$$P b ,$$x ,$$x ,$$x ,$$b $$. Y$$$$' `$. $$$$$$. $$$$$$ $$P~d$. d$$$b d d$$$ `$$$$ ,$$ $$$$$$$b $$$P `$ $$$b.$$b `Y$$$d$d$$$' . . a . a a .aa . a `$$$ ,$$$,$$' `$$$ $$$' ' $$P$XX$' `$$$$$$$$$ .dP' `$'$ `$'$ , $''$ `$'$ `Y$b ,d$$$P `$b,d$P' `$$. `$$. , `$$P $$$' Y $. $ $ $ Y..P $ `$$$$$$$' $$$P' `$$b `$$$P `P `$' `Y'k. $. $. $. $$' $. Issue 72 13 April, 1999 _______________________________________________________________________________ Core Warrior is a newsletter promoting the game of corewar. Emphasis is placed on the most active hills - currently the '94 draft hill, the beginner hill and the '94 no-pspace hill. Coverage will follow where ever the action is. If you haven't a clue what I'm talking about then check out these five-star internet locals for more information: FAQs are available from: ftp://rtfm.mit.edu/pub/usenet/news.answers/games/corewar-faq.Z http://www.koth.org/corewar-faq.html The ftp site and mirrors are at: ftp://ftp.csua.berkeley.edu/pub/corewar ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror ftp://www.koth.org/corewar pMARS itself is also available from: http://www.koth.org/pmars.html ;Stormking http://www.ncs.infi.net/~wtnewton/corewar ;Terry's web page ftp://members.aol.com/ofechner/corewar ;Fechner ftp site Web pages are at: http://www.koth.org/ ;Stormking http://www.ecst.csuchico.edu/~pizza/koth ;Pizza http://para.inria.fr/~doligez/corewar ;Planar Newbies should check the Stormking page for the FAQ, language specification, guides, and tutorials. Post questions to rec.games.corewar. All new players are infinitely welcome! A collection of Bezzi's hints in the first issues is available at: ftp://ftp.volftp.vol.it/pub/pc/msdos/games/solutions/bbhints.zip _______________________________________________________________________________ Welcome... There has been very little activity either on the hills or in the newsgroup since last issue. However, Ian Oversby's tournament has reached a conclusion, with someone winning a copy of Ian's paper/stone, Recovery. Also, Macrae won the code for Mini-CLP by solving Kline's Challenge. This issue, Christian Schmidt shows us how he constructed and optimized three of his multi-strategy warriors, Digital Dragon, Shadow and Stormbringer :-) -- John Metcalf _______________________________________________________________________________ Current Status of the Internet Pizza Server ICWS '94 Draft Hill: Hill Specs: coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 rounds fought: 200 instruction set: ICWS '94 Draft # %W / %L / %T Name Author Score Age 1 44.0/ 31.6/ 24.5 Recycled Bits David Moore 156.4 13 2 37.8/ 25.8/ 36.4 Spooky Wench John Metcalf 149.8 0 3 36.3/ 24.9/ 38.9 Puddleglum John Metcalf 147.7 1 4 41.9/ 37.5/ 20.6 Pattel's Virus Ben Ford 146.4 13 5 35.6/ 25.6/ 38.8 The Stormbringer Christian Schmidt 145.5 13 6 28.1/ 10.9/ 61.0 The Fugitive David Moore 145.2 13 7 35.7/ 27.1/ 37.2 Fixed Ken Espiritu 144.2 13 8 34.9/ 26.6/ 38.4 Shadow Christian Schmidt 143.3 10 9 42.7/ 42.4/ 14.9 Zooom... John Metcalf 143.0 6 10 39.4/ 36.3/ 24.4 BiShot Christian Schmidt 142.5 1 11 39.3/ 40.9/ 19.8 Silver Talon 1.2 Edgar 137.7 14 12 30.3/ 23.1/ 46.6 Even Less Innocuous TeamQ3 137.5 2 13 30.0/ 23.1/ 47.0 Freight Train v0.2 David Moore 136.9 13 14 33.6/ 31.3/ 35.1 Twin Christian Schmidt 135.9 13 15 29.9/ 24.6/ 45.5 Less Innocuous Leonardo Humberto 135.2 3 16 34.2/ 33.8/ 32.1 Digital Dragon Christian Schmidt 134.6 13 17 35.3/ 36.3/ 28.4 trefoil 23 226 Steve Gunnell 134.4 23 18 37.3/ 40.6/ 22.1 Galatea Ben Ford 134.1 13 19 38.9/ 43.9/ 17.2 redcode ragamuffin Simon Wainwright 133.9 4 20 27.0/ 22.2/ 50.7 Innocuous John Metcalf 131.8 11 21 38.0/ 46.2/ 15.8 Have No Pity John Metcalf 129.8 1 22 22.4/ 15.6/ 62.0 ;strategy stone/paper John Metcalf 129.2 5 23 28.2/ 29.1/ 42.7 Quicker Zeta Leonardo Humberto 127.3 8 24 21.5/ 15.7/ 62.8 ( 2 x^2 + 3 x + 1 ) / 2 John Metcalf 127.3 4 25 34.0/ 41.4/ 24.5 trefoil 28 558 Steve Gunnell 126.7 13 Age since last issue: 10 ( 69 last issue, 33 the issue before ) New warriors: 11 Turnover/age rate 110% Average age: 8 ( 3 last issue, 46 the issue before ) Average score: 138 ( 143 last issue, 140 the issue before ) The top 25 warriors are represented by just 10 independent authors: Metcalf with 7, Schmidt with 5, Moore with 3, Ford, Gunnell and Humberto with 2 each and everyone else with just one warrior. Fixed, Pattel's Virus and Spooky Wench each had a short time as King before Recycled Bits claimed top spot. Still we have 10 warriors of the same age, down from 20 last issue. _______________________________________________________________________________ 94 - What's New (Sorted by rank and score) # %W / %L / %T Name Author Score Age 2 35.3/ 27.0/ 37.7 Spooky Wench John Metcalf 143.5 0 2 33.3/ 25.0/ 41.6 Puddleglum John Metcalf 141.6 0 7 35.7/ 27.8/ 36.6 Shadow Christian Schmidt 143.6 0 7 36.1/ 36.6/ 27.3 BiShot Christian Schmidt 135.6 0 9 26.7/ 17.7/ 55.7 Redemption John Metcalf 135.7 0 11 26.0/ 21.6/ 52.4 Even Less Innocuous TeamQ3 130.4 1 11 25.6/ 20.9/ 53.5 Less Innocuous Leonardo Humberto 130.3 1 17 38.6/ 45.7/ 15.7 Zooom... John Metcalf 131.6 1 18 21.6/ 15.2/ 63.2 ;strategy stone/paper John Metcalf 127.9 1 20 26.9/ 25.9/ 47.2 RabidWeasel 0.5 WFB 127.9 1 20 35.2/ 46.1/ 18.7 myVamp5.6? Paulsson 124.3 0 20 18.2/ 13.8/ 68.0 ( 2 x^2 + 3 x + 1 ) / 2 John Metcalf 122.6 0 20 34.8/ 47.7/ 17.6 Have No Pity John Metcalf 121.8 0 21 27.0/ 27.6/ 45.4 Quicker Zeta Leonardo Humberto 126.4 1 22 36.3/ 52.1/ 11.6 quatrefoil 2 185 Steve Gunnell 120.5 1 25 34.3/ 48.4/ 17.3 redcode ragamuffin Simon Wainwright 120.3 1 Very few new warriors. Shadow and Spooky Wench are updated. _______________________________________________________________________________ 94 - What's No More (Sorted by age) # %W / %L / %T Name Author Score Age 26 34.4/ 50.9/ 14.7 Silccon M. J. Pihlaja 117.9 22 26 21.6/ 24.7/ 53.6 delay 0.02b 50 bjoern guenzel 118.5 13 26 1.4/ 0.5/ 2.1 The Conqueror Christian Schmidt 6.3 12 26 0.4/ 0.1/ 3.5 Spooky Wench John Metcalf 4.7 9 26 0.6/ 0.8/ 2.6 Fragility John Metcalf 4.4 9 26 35.4/ 50.5/ 14.1 Lost Again! David Moore 120.3 8 26 27.2/ 35.7/ 37.2 Bond, James Bond Ben Ford 118.7 8 26 0.5/ 1.4/ 2.0 Strange Variations John Metcalf 3.7 8 26 33.3/ 48.5/ 18.2 Reconnaissance Ben Ford 118.0 7 26 20.2/ 22.6/ 57.2 RabidWeasel 0.5 WFB 117.9 7 26 32.0/ 46.6/ 21.4 Ice Pick Willie Ben Ford 117.4 6 26 36.8/ 55.0/ 8.2 Boing! John Metcalf 118.7 4 26 2.2/ 0.6/ 1.2 Redemption John Metcalf 7.9 4 26 33.1/ 47.0/ 19.8 myVamp5.6? Paulsson 119.3 3 26 1.4/ 1.4/ 1.3 Shadow Christian Schmidt 5.3 3 26 34.5/ 53.5/ 12.0 quatrefoil 2 185 Steve Gunnell 115.5 2 Lots of ;killing occurred this month... _______________________________________________________________________________ 94 - What's Old # %W / %L / %T Name Author Score Age Nothing old yet :-( _______________________________________________________________________________ OLD HALL OF FAME * means the warrior is still active. Pos Name Author Age Strategy 1 Thermite II Robert Macrae 2262 Qscan -> Bomber 2 Impfinity v4g1 Planar 1993 Stone/imp 3 Jack in the box Beppe Bezzi 1620 P-warrior 4 Tornado 3.0 Beppe Bezzi 1567 Bomber 5 Torch t18 P.Kline 1539 Bomber 6 Chameleon Myer R Bremer 1437 P-warrior 7 Frontwards v2 Steven Morrell 1420 Oneshot 8 Evol Cap 6.6 John Wilkinson 1299 Stone/imp 9 quiz Schitzo 1262 Scanner/bomber 10 T.N.T. Maurizio Vittuari 1204 Bomber 11 Grilled Octopus v0.5 David Boeren 1154 P-warrior 12 Hazy Shade II John Wilkinson 1102 P-warrior 13 Stepping Stone Kurt Franke 1049 Qscan -> Vampire 14 Rosebud Beppe Bezzi 993 Stone/imp 15 Iron Gate 1.5 Wayne Sheppard 926 Scanner 16 T.N.T. pro Maurizio Vittuari 925 Bomber 17 Agony II Stefan Strack 912 Scanner 18 Barrage Anton Marsden 876 Qscan -> Paper 19 Blue Funk Steven Morrell 869 Stone/imp 20 Flurry Anton Marsden 835 Qscan -> P-warrior 21 Thermite 1.0 Robert Macrae 802 Qscan -> Bomber 22 Blue Funk 3 Steven Morrell 766 Stone/imp 23 Night Train Karl Lewin 755 Paper 24 Mirage 1.5 Anton Marsden 736 Scanner/bomber 25 Blizzard Anton Marsden 713 Qscan -> Paper _______________________________________________________________________________ NEW HALL OF FAME * means the warrior is still active. Pos Name Author Age Strategy 1 Probe Anton Marsden 403 Q^2 -> Bomber 2 Blur 2 Anton Marsden 396 Scanner 3 Damage Incorporated Anton Marsden 373 Q^2 -> Bomber 4 Return Of The Jedimp John K W 357 Q^2 -> Stone/imp 5 unrequited love kafka 346 Q^2 -> Paper 6 Impish v0.2 Ian Oversby 345 Stone/imp 7 Gigolo Core Warrior staff 332 Q^2 -> Stone/imp 8 Falcon v0.3 Ian Oversby 275 P-warrior 9 Nine Seven Six M R Bremer 232 Q^2 -> Stone/imp 10 Rosebud Beppe 218 Stone/imp 11 Newt Ian Oversby 216 Q^2 -> Stone/imp 12 Q^2 Miro Anders Ivner 214 Q^2 -> Scanner/bomber 13 Instant Wolf 3.4 Edgar 205 P-warrior 14 Goldfinch P.Kline 201 P-warrior 15 Simple v0.4b Ian Oversby 197 QScan -> Stone/imp 16 Trident^2 John K W 195 Q^2 -> Stone/imp 17 ompega Steven Morrell 189 Stone/imp 18 Frogz Franz 172 Q^2 -> Paper 19 The Machine Anton Marsden 164 Scanner 20 Memories Beppe 152 Scanner 21 Vain Ian Oversby 147 Q^2 -> Stone/imp 22 Head or Tail Christian Schmidt 142 Q^2 -> Paper 23 Electric Head Anton Marsden 140 P-warrior 24 Vigor Ken Espiritu 138 Q^2 -> Paper 25 Fixed Ken Espiritu 135 Q^2 -> Paper _______________________________________________________________________________ Current Status of the Internet Pizza Server Beginner Hill: Hill Specs: coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 maximum age: At age 100, warriors are retired. rounds fought: 200 instruction set: ICWS '94 Draft # %W / %L / %T Name Author Score Age 1 55.7/ 28.6/ 15.8 Pattel's Virus Ben Ford 182.7 20 2 49.4/ 31.8/ 18.8 Spat the dummy. Steve Gunnell (oh ye 166.9 78 3 47.2/ 38.5/ 14.3 redcode ragamuffin Simon Wainwright 155.9 6 4 32.3/ 16.3/ 51.3 Quicker Zeta Leonardo Humberto 148.3 12 5 39.8/ 32.7/ 27.5 Arsonic C P._V._K. 146.9 95 6 43.8/ 41.1/ 15.2 Fat Man A.S. Mehlos 146.4 92 7 41.5/ 38.8/ 19.7 Sticky taped together 1.2 Steve Gunnell 144.3 89 8 34.9/ 27.2/ 37.9 A man with a Gun Ben Ford 142.7 63 9 29.6/ 17.1/ 53.3 Redemption John Metcalf 142.1 54 10 43.2/ 44.5/ 12.3 fatal lure of pMars Simon Wainwright 142.0 22 11 39.0/ 36.8/ 24.3 No Time To Think A. S. Mehlos 141.2 79 12 30.8/ 21.6/ 47.6 HardCore v0.2b Simon Duff 140.0 18 13 39.5/ 39.3/ 21.2 Fire Master P_.V_.K. 139.7 2 14 32.8/ 26.3/ 40.9 Frusteration II A. S. Mehlos 139.3 82 15 30.4/ 24.1/ 45.4 ModerationRevisited A. S. Mehlos 136.7 98 16 37.2/ 37.9/ 24.9 Red Sand Ken Hubbard 136.6 1 17 32.1/ 30.1/ 37.9 of mirth and merriment Simon Wainwright 134.1 24 18 26.9/ 19.8/ 53.3 Quick Zeta Leonardo Humberto 134.0 17 19 32.9/ 34.9/ 32.2 Ground Zero Ken Hubbard 130.9 5 20 24.4/ 20.2/ 55.4 H-Bomb 9 Josh Yeager 128.6 76 21 24.1/ 20.5/ 55.4 H-Bomb 9k Josh Yeager 127.8 75 22 36.2/ 44.8/ 19.1 Death kiss with a dash of Anders Rosendal 127.6 38 23 27.7/ 29.6/ 42.7 Rocking-Chair 94 v0.33 Leonardo Humberto 125.8 26 24 26.6/ 29.0/ 44.3 SandPaper Leonardo Humberto 124.3 9 25 27.7/ 54.5/ 17.8 v15var 3 257 Steve Gunnell 100.9 3 15 successful challenges since last issue, and only Scanzonato perished of old age. The top five comprises a good cross-section of strategy: 2 p-space, a scanner, a paper and a bomber. Beginners might like to try submitting warriors to one or two of the alternative hills, which are easier to enter than you may think. _______________________________________________________________________________ Current Status of the KOTH.ORG '94 No Pspace Hill: Hill Specs: coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 rounds fought: 250 instruction set: ICWS '94 Draft, excluding ldp and stp # %W/ %L/ %T Name Author Score Age 1 43/ 37/ 21 Boys are Back in Town 1.1 Philip Kendall 149 140 2 42/ 39/ 18 Zooom... John Metcalf 145 14 3 26/ 10/ 64 _romanian_killah_ Costin Bontas rulez 142 107 4 33/ 25/ 42 Vain Ian Oversby 141 215 5 25/ 10/ 65 The Fugitive David Moore 141 217 6 35/ 30/ 35 Fixed Ken Espiritu 140 198 7 34/ 28/ 38 The Stormbringer Christian Schmidt 140 149 8 33/ 25/ 42 Recovery Ian Oversby 140 138 9 34/ 28/ 39 Blacken Ian Oversby 139 125 10 37/ 35/ 29 BiShot v1.0 Christian Schmidt 139 47 11 34/ 30/ 37 Spooky Wench John Metcalf 137 2 12 33/ 29/ 38 Baseline Plus Ken Espiritu 137 196 13 41/ 44/ 15 Win! David Moore 137 113 14 29/ 23/ 47 Even Less Innocuous TeamQ3 136 6 15 30/ 25/ 46 Brigadeer M Joonas Pihlaja 135 134 16 32/ 31/ 37 Puddleglum John Metcalf 134 1 17 34/ 34/ 31 Liquid Fire Christian Schmidt 134 111 18 34/ 34/ 32 qTest P.Kline 134 37 19 33/ 34/ 32 Digital Dragon Christian Schmidt 132 16 20 27/ 22/ 52 ELI-8 John Metcalf 131 17 The no-pspace hill has aged by 40 successful challenges this month, with scanners now ruling the hill once again. Gemini Dream left the hill aged 182 and Fugitive becomes the oldest warrior. Centenarians Head or Tail, Floody River and Red Carpet also departed. 16 of the 20 warriors on this hill use some form of Qscan. _______________________________________________________________________________ Current Standings of the Oversby Autumn Corewar Tournament: : '94 Tiny Grey Build Multi Primo rDist c8001 : Total 1 Pihlaja : 98.66 100.00 100.00 x 84.82 87.48 x 100.00 : 570.80 2 Schmidt : 99.46 70.55 75.41 77.34 50.26 100.00 92.84 x : 515.02 3 Macrae : 87.63 69.55 74.28 100.00 74.87 95.32 54.47 81.59 : 513.69 4 WFB : 91.10 22.42 49.35 56.28 100.00 56.47 x 95.31 : 473.57 5 Khuong : 75.82 60.37 65.86 63.96 x x 42.71 15.56 : 323.47 6 Gunnell : 72.82 46.50 19.46 x 47.12 87.95 x x : 270.06 7 Mehlos : 71.22 29.45 76.11 76.23 x x x x : 252.99 8 Hale : 99.12 66.52 18.68 60.92 x x x x : 245.24 9 Moore :100.00 63.67 62.29 x x x x x : 225.97 10 Yeager : x 24.93 44.22 60.03 34.55 x x x : 163.73 11 Metcalf : x x x x x 39.96 100.00 x : 139.96 12 Kendall : 90.04 35.48 3.21 x x x x x : 128.27 13 Ford : x x x x x x x 70.92 : 70.92 14 Duff : 23.05 30.67 10.51 x x x x x : 63.57 Pihlaja wins the final round with Give it a Proper Name, and wins the tournament with 570 points out of a possible 600. Ford shows it is never too late to participate in these events... Code for all warriors is now available from the tournament's homepage at: http://www.geocities.com/TimesSquare/Realm/2443/ _______________________________________________________________________________ The Hint - Optimizing Process Allocation in Parallel-Running Strategies by Christian Schmidt In this month's hint I would like to present a little known method to optimize warriors with two parallel-running strategies. For example, stone/papers, stone/imps and clear/imps. Everyone who has tried to build a stone/imp knows that one of the most important decisions is how long the spiral should be allowed to grow. With weak imps the fast running stone will easily beat a scanner, but will lose badly against an agressive paper. With strong imps the warrior will tie against paper, but due to the slowed down stone it loses against anti-imp scanners. A good stone/imp is somewhere between these extremes. The most common ways to keep control over the time the imp spiral grows are: a) the use of a fixed number of processes for the imp, as would be created by a jmp/add, vector or binary launcher, b) to kill a continuous-imp launcher with a dat-bomb from the stone at a fixed time, c) to delay the start of a continuous-imp launcher until a self- splitting stone has build up enough processes. In all three methods the goal is to slow down and weaken the imp, so the stone runs faster. However, there is another possiblility. Instead of slowing down the imp, speed up the stone. Accelerate the stone by launching multiple processes into it. As far as I know the first example of this technique involved in a stone/imp was Alien and in a clear/imp Justin Kao's Dust 0.7 and later Digitalis. In all cases the add/jmp-launcher starts both, the imp and the stone (Alien) or the d-clear (Dust, Digitalis). To introduce the faster and smaller continuous-imp launcher into this warriors the stone (or clear) must now launch separatly. Instead of a: jmp stone ;----> 1 process for the stone it could be used for example: spl stone jmp stone ;----> 2 processes for the stone or maybe: spl 2 spl stone jmp stone ;----> 3 processes for the stone Every combination is possible. One advatage is the relatively easy optimization of the ratio of processes in the stone and imp. An additional acceleration of the stone is possible by using a spl #0 instruction in front of it. This helps gain a lot of extra points... All of the discussed improvements are used for The Stormbringer, where the stone is Carbonite. The big advantage against other stone/imps is, that it is very small and extremly fast. The only disadvantage is that there is no real core-clear at the end of the bombing phase. ;redcode-94 ;name The Stormbringer ;author Christian Schmidt ;strategy q^2 -> stone/imp ;assert 1 org start QS EQU (0-200) QD EQU (0+100) QB EQU (start-350) CR EQU (fnd-which) datz EQU (table-3) GAP equ 8 REP equ 15 cBptr equ 3001-2 impoff equ 627 impsize equ 2667 qinc dat >(-1)*GAP*2, >GAP dat 9*QS, 1*QS table: dat 5*QS, 2*QS dat 13*QS, 17*QS P: add.f table,table slow: add.ab *P,fnd fast: add.b @P,@-1 which: sne.i datz,@fnd add.ab #QD,fnd add.ba fnd, fnd qbo mov.i qinc, @fnd mov.i qinc, *fnd fnd mov.i (-1)*(GAP/2),@QB sub.x qinc, fnd djn.b qbo, #REP jmp cBoot, }-300 start: seq.i QB+QS*0,QB+QS*0+QD jmp which, 0 seq.i QB+QS*2,QB+QS*2+QD jmp fast, 0 seq.i QB+QS*1,QB+QS*1+QD jmp fast,

P seq.i QB+QS*7,QB+QS*7+QD jmp slow, 0 seq.i QB+QS*6,QB+QS*6+QD jmp slow,

P seq.i QB+QS*11,QB+QS*11+QD jmp slow, {P seq.i QB+QS*15,QB+QS*15+QD jmp slow, }P seq.i QB+QS*10,QB+QS*10+QD djn.f slow, P seq.i QB+QS*5,QB+QS*5+QD jmp >fast, 0 seq.i QB+QS*9,QB+QS*9+QD jmp >fast, {P seq.i QB+QS*13,QB+QS*13+QD jmp >fast, }P seq.i QB+QS*14,QB+QS*14+QD jmp P, 0 seq.i QB+QS*8,QB+QS*8+QD jmp P,

3 processes for the stone cSp2 spl #0, #0 ;---> extra boost for the stone cSp spl #0, <-1151+3 mov 197, cAd-(197*3500) cAd add.ab {0, }0 djn.f -2, <-1151 cBomb dat >-1, >1 for 19-2 dat 0, 0 rof pump spl #1, >prime prime mov.i imp, impoff-4 add.f #impsize+1, ptr ptr jmp pump+impoff-(impsize+1), >-200 imp mov.i #impsize, *0 Using exactly the same method I created Digital Dragon (everybody will see the similarity to The Stormbringer ;-) with a d-clear. But instead of the 3pt imps I used here 13pt imp. I've used this because it gave the best results on the hill. Though it isn't as lethal as Digitalis 4, it loses much less against q^2 -> papers due to it's smaller size and faster launching. ;redcode-94 ;name Digital Dragon ;author Christian Schmidt ;strategy q^2 -> d-clear + 13pt imps ;assert 1 org start QS EQU (0-200) QD EQU 100 QB EQU (start-350) CR EQU (fnd-which) datz EQU (table-3) GAP equ 8 REP equ 15 impoff equ 627+200 impsize equ 5091 bptr1 equ 1800 qinc dat >(-1)*GAP*2, >GAP dat 9*QS, 1*QS table: dat 5*QS, 2*QS dat 13*QS, 17*QS P: add.f table,table slow: add.ab *P,fnd fast: add.b @P,@-1 which: sne.i datz,@fnd add.ab #QD,fnd add.ba fnd, fnd qbo mov.i qinc, @fnd mov.i qinc, *fnd fnd mov.i (-1)*(GAP/2),@QB sub.x qinc, fnd djn.b qbo, #REP jmp boot, }-300 start: seq.i QB+QS*0,QB+QS*0+QD jmp which, 0 ; 0 seq.i QB+QS*2,QB+QS*2+QD jmp fast, 0 ; E seq.i QB+QS*1,QB+QS*1+QD jmp fast,

P ; F seq.i QB+QS*7,QB+QS*7+QD jmp slow, 0 ; BE seq.i QB+QS*6,QB+QS*6+QD jmp slow,

P ; BF seq.i QB+QS*11,QB+QS*11+QD jmp slow, {P ; AE seq.i QB+QS*15,QB+QS*15+QD jmp slow, }P ; CE seq.i QB+QS*10,QB+QS*10+QD djn.f slow, P ; AD seq.i QB+QS*5,QB+QS*5+QD jmp >fast, 0 ; B seq.i QB+QS*9,QB+QS*9+QD jmp >fast, {P ; A seq.i QB+QS*13,QB+QS*13+QD jmp >fast, }P ; C seq.i QB+QS*14,QB+QS*14+QD jmp P, 0 ; BBEE seq.i QB+QS*8,QB+QS*8+QD jmp P,

6 processes for the d-clear ptr dat 0, 2150 clrb dat >2667, 25 clear spl #0, >ptr-16 loop mov clrb-16, >ptr-16 cc djn.f loop, >ptr-16 bptr3 dat cc+1, boot2+bptr1+19 for 19-2 dat 0, 0 rof pump spl #1, >prime prime mov.i imp, impoff-4 add.f #impsize+1, iptr iptr jmp pump+impoff-(impsize+1), >-200 imp mov.i #impsize, *0 Finally, with this method it is now also possible to combine a stone with a paper, in such a way, the stone dominates in the beginning until the paper becomes dominant. The first task is to find a 'pocket' for the stone, where it survives the paper until close to the end of the battle. To do this, run the paper alone and seach core to find the location of pockets of initial core. Now you must check in which of the pocket the stone will gain the most points, and what ratio of processes the stone needs. I found that the easiest way is to launch the stone is with the paper launcher. For Shadow I've used Paul Kline's RetinA, which gave by far the best results. Shape used for example my paper from Head or Tail. ;redcode-94 ;name Shadow ;author Christian Schmidt ;strategy q^2 -> stone/paper ;strategy v3 modified stone, now faster ;strategy v3.1 better pocket for the stone ;assert 1 org start QS equ (0-200) QD equ 100 QB equ (start-350) CR equ (fnd-which) datz equ (table-3) GAP equ 8 REP equ 15 cBptr equ (1724-66);973 spcsz equ 2381;2382 impsz equ (127*37) ;2794 qinc dat >(-1)*GAP*2, >GAP dat 9*QS, 1*QS table: dat 5*QS, 2*QS dat 13*QS, 17*QS P: add.f table, table slow: add.ab *P, fnd fast: add.b @P, @-1 which: sne.i datz, @fnd add.ab #QD, fnd add.ba fnd, fnd qbo mov.i qinc, @fnd mov.i qinc, *fnd fnd mov.i (-1)*(GAP/2),@QB sub.x qinc, fnd djn.b qbo, #REP jmp cBoot, }-300 start: seq.i QB+QS*0,QB+QS*0+QD jmp which, 0 seq.i QB+QS*2,QB+QS*2+QD jmp fast, 0 seq.i QB+QS*1,QB+QS*1+QD jmp fast,

P seq.i QB+QS*7,QB+QS*7+QD jmp slow, 0 seq.i QB+QS*6,QB+QS*6+QD jmp slow,

P seq.i QB+QS*11,QB+QS*11+QD jmp slow, {P seq.i QB+QS*15,QB+QS*15+QD jmp slow, }P seq.i QB+QS*10,QB+QS*10+QD djn.f slow, P seq.i QB+QS*5,QB+QS*5+QD jmp >fast, 0 seq.i QB+QS*9,QB+QS*9+QD jmp >fast, {P seq.i QB+QS*13,QB+QS*13+QD jmp >fast, }P seq.i QB+QS*14,QB+QS*14+QD jmp P, 0 seq.i QB+QS*8,QB+QS*8+QD jmp P,

1 process for the stone cSp2 spl #0, #0 cSp spl #0, <-1151+3 mov 197, cAd-(197*3500) cAd add.ab {0, }0 djn.f -2, <-1151 cBomb dat >-1, >1 rStart spl 2, <400 spl 1, <400 spl 1, <400 cStart spl rCell1+cBptr-1, <402 ;---> 6 processes for the stone rCell1 spl @0, spcsz mov }rCell1, >rCell1 rCell2 spl @0, impsz mov }rCell2, >rCell2 spl rCell2, {rCell2 mov.i #2*spcsz, }-spcsz*1 mov.i #2*spcsz, }-spcsz*1 mov.i #2*impsz, }-impsz*1 I hope I have been able to show some new aspects of these interesting strategies. _______________________________________________________________________________ Questions? Concerns? Comments? Complaints? Mail them to people who care. Authors: Beppe Bezzi , Anton Marsden , Philip Kendall and John Metcalf From: quicktransit@aol.com (QuickTransit) Date: 25 Oct 2001 22:03:24 GMT Subject: Re: Changing the Game Message-ID: <20011025180324.09730.00000185@mb-bk.aol.com> >In a real ecosystem all forms do not struggle against each other, they >find niches where they feed on a small number of forms and are in turn >eaten by others. The goal is not to dominate but to survive, so here >is a thought experiment. > There's two things that don't work with this proposal. First is the proposal itself. (Please feel free to clarify if I'm misinterpreting something) It feels like a cosmetic rearrangement of existing paradigms within the current game, to fit a preconceived model of a real-world ecosystem. There is no guarantee or indication that redefining Redcode towards this model will make for a game that is fun to play, or a balanced model that works well. Second is the manner in which the proposal is made - all the general points already defined, the form the game is to take set up, all that's left to do is tweak a few things and figure out how to implement it. (And I realize this may well not be the intention, but that's what the practical effects of writing it this way look like from here.) I might be prejudiced due to having been away from Usenet for years, but I've found that roundtable discussions (whether in a chatroom, an IRC channel, or in a real meeting room) between 5 to 6 people are far more productive in brainstorming out the key elements of something high-quality; and at the end a designated person writes down all the key points that were agreed on. Message board or Usenet posts don't lend themselves to this kind of sudden coalescence, from what I've seen; which often has the effect of good ideas falling by the wayside due to being in a side branch of a thread, or bad ideas getting stuck in the foundation because they got posted early. If "changing Corewar" is going to be done and done right, the people doing the changing need to know WHAT they're changing it to and WHY. In order to know these things, the key aspects of what the game SHOULD be like need to be decided on. What are the parts that are most fun in the current game? What are the aspects that the game needs to lose? What SHOULD be fun about playing Corewar? Where are there challenges for the player? How much depth is there to each type of challenge? I would say that one of the fun things about Corewar is that it IS an all-out battle to the death between two pieces of software, not a careful ecological balance. If I want ecological balance, I'll dig up SimEarth or maybe even Tierra. What's NOT fun about the current game is that it's too easy to kill or be killed; it's a bit like playing Russian Roulette with a partner, each one holding their gun to the other guy's head. You can use different weight bullets to affect the likelihood of when the chamber stops spinning in the right position, but there's no FUN in the conflict - just randomness, luck, and statistics. (After all, the hills DO run 100 battles between each pair to make sure position doesn't affect things, don't they? Is that something that the game SHOULD have? Do they run 100 battles between virus scanners and viruses, or Trojans and your OS, to make sure the outcome is the same each time? In testing, maybe; when it comes down to the real thing, of course not. Is this a game of conflict, or a statistics analysis?) Basically, the design requirements have to be carefully thought out and discovered, otherwise what's going to happen is just another set of changes without that have a more-or-less random effect on the "fun" level. (Did P-space make the game more fun? Seriously, did it? I never tried using it, so I don't know) What I'm getting at is, the key aspects of "ideal Corewar" need to be identified and put together in one place, and the key aspects of "frustrating newbie-unfriendly unfun Corewar" need to be identified and put together in another place, and based on those two things, it should be possible to put together a better Corewar. From: quicktransit@aol.com (QuickTransit) Date: 25 Oct 2001 22:12:28 GMT Subject: Re: Changing the Game Message-ID: <20011025181228.09730.00000186@mb-bk.aol.com> > >> In a real ecosystem all forms do not struggle against each other, they >> find niches where they feed on a small number of forms and are in turn >> eaten by others. The goal is not to dominate but to survive, so here >> is a thought experiment. >... > >Brilliant. > >You could extend the ecology parallel by setting the relative abundances >within each form as a function of the success of the warriors. For >example, weight_i = ( 16 - rank_i ) / 105 would set the best example See, this is what I'm talking about in the other post. The ecology idea might be "brilliant" in that it's an interesting thing to think about. It might be "brilliant" in that by playing with some formulas you can get some interesting relationships between current Corewar and the ecology idea. But is it "brilliant" in terms of making a FUN GAME? What evidence is there that this would be fun to play, as opposed to an interesting digital simulation? I have not seen any. I am not convinced that Robert has either; this post reads to me more like someone having fun with playing with the numbers and trying to fit things together nicely - which is fun to write and think about, yes, but does it make a reasonable basis for a game? Will it make Corewar more fun? I mean absolutely no offense to anybody involved here, but this looks to me like a bad idea that has been swallowed hook, line, and sinker, without any of the kind of critical design-oriented thought that SHOULD be going on. From: Winston Bean Subject: TestWarrior Help Date: Thu, 25 Oct 2001 23:13:15 -0800 Message-ID: <3BD90D0B.D7B36253@hotmail.com> Hi all. My name is Winston Featherly-Bean (AKA WFB). Haven't played since '98, but I'm going to attempt to ease back into the game; going to try and do better than 12-year-old me. Not off to the greatest start. I'm having a little trouble with the TestWarrior app (probably my fault, rather than a bug). After I configure everything and tell it to test, I get an error message saying '**error opening scores' or something akin to that. I'm assuming I'm just missing the file, but I don't know what it's called so can't make a new one. If anyone could set me straight I'd appreciate it. BTW, why did a CoreWarrior from '98 get posted today? Glad it did, anyhow. Saw my name in an old tourny, swelled with pride, and decided to have another go. Thanks. -Winston From: Winston Bean Subject: Pizza Date: Thu, 25 Oct 2001 23:17:49 -0800 Message-ID: <3BD90E1D.33804E27@hotmail.com> Err...is Pizza dead? -Winston From: "Michael S. Moulton" Subject: Re: Pizza Date: Fri, 26 Oct 2001 03:36:07 -0400 Message-ID: <9rb3os$lnu$1@solaris.cc.vt.edu> In article <3BD90E1D.33804E27@hotmail.com>, "Winston Bean" wrote: > Err...is Pizza dead? > -Winston It seems to be. No idea if it's coming back, but as you can see on the web site it's been many months since it's worked. From: pk6811s@acad.drake.edu (P. Kline) Subject: Re: Changing the Game Date: 26 Oct 2001 08:56:02 -0700 Message-ID: <92b0a3d6.0110260756.29270827@posting.google.com> Following up to QuickTransit(?): > > But is it "brilliant" in terms of making a FUN GAME? Hobby might be a better term, you want people to adopt and stay with it for a long time, not drop in for a single tournament. > > I mean absolutely no offense to anybody involved here, but this looks to me > > like a bad idea that has been swallowed hook, line, and sinker, without any > > of the kind of critical design-oriented thought that SHOULD be going on. Well, this is a discussion group, you can frame the conversation any way you like. I'll make some assertions to push things along: 1. The basic activities of Corewar: study, coding, testing, playing good competition, inventing, sharing, and ever-available competition are FUN. 2. The vast collection of historical programs is an asset, in the same way records of vintage games are to chess. Adopting a new paradigm that invalidates them would create a NEW game distinct from Corewar. 3. Changing the instruction set initiates a period of innovation followed by optimization and stagnation. 4. Hiding source code discourages newcomers and long-time players. 5. The Hills as structured tend to stagnation because 'different' programs are crowded out by a few highly optimized types. 6. The ability to select, however imperfectly, which programs are battled would enable a greater variety of types to exist. 7. The ability to select, however imperfectly, which programs are battled would absolutely prevent the kind of stagnation that has been encountered in the past and present Hills, though there may be another kind that we don't know about yet. Let's see how these do for a start. My feeling is that the discussion needs to stay in the open forum for a while before going to the intensive implementation stage conducted by 4-5 people in a chat room. It's a slow process, my posts and all their followups don't appear until the next day, but I don't mind because it gives time for rethinking. Paul Kline pk6811s@acad.drake.edu From: QuickTransit@aol.com Subject: Re: Changing the Game Date: 26 Oct 2001 16:30:32 -0400 Message-ID: <129.699e629.290ad655@aol.com> In a message dated 10/25/01 7:06:17 PM Eastern Daylight Time, paul_virak_khuong@yahoo.com writes: << Finally, posting the whole concept at once(like what kline did) helps start the conversation. If nothing's right in it, everything will change! >> It may help start the conversation, but it also establishes a basis on which to have the conversation. If there are problems with the assumptions in there, it can be pretty difficult to root them out - you can end up having to start over basically from scratch several different times. That's a waste of time and creativity. The ecology idea may be a good one, but (and again, this is my perception, so if it is unkind I apologize) there's been no exploration of the gameplay justification for it - it sprang fully-grown from one person's mind. How do we know that that one person thought of everything, or at least all the key points? How do we know that the proposal is better than what COULD be done with changing Corewar? How do we know it is better than the existing game? The basis for conversation should ideally be something that people are confident is an improvement in gameplay and game depth - if you aren't confident of at least that much, then changing things is something of a waste. (If I keep talking like this though, somebody's going to ask me what I suggest doing instead. I have no real suggestions right now. I'm just pointing out what I see to be real or potential problems, in the hopes that they can be avoided, because I liked Corewar once and I want to have fun with it again.) From: QuickTransit@aol.com Subject: Re: Changing the Game Date: 26 Oct 2001 16:36:40 -0400 Message-ID: <67.1bdd5625.290ad30e@aol.com> In a message dated 10/25/01 8:06:56 PM Eastern Daylight Time, ff95@dial.pipex.com writes: << Yeah, throwing in weightings was not a smart idea, because it is not fundamental enough to affect whether the idea stands or falls. In my defense, though, it was at least a positive suggestion? >> I honestly don't know, partly because I didn't take the time to think through all the implications. "positive" in the sense of looking for improvements - of course; "positive" in the sense of actually having the seeds of real improvements - I don't think it's possible to tell, which is part of the problem. (Does this mailing list auto-post to the newsgroup and vice versa? Interesting. This AOL account is going to be going away in a few days - I'm still getting a regular newsreader set up - so there might be some bounced mail.) From: "Paul Khuong" Subject: RE: Core Warrior 72 Date: 26 Oct 2001 16:36:44 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of John > Metcalf > Sent: 25 octobre, 2001 21:02 > To: Multiple recipients of list COREWAR-L > Subject: Core Warrior 72 > > > .xX$$x. > .x$$$$$$$x. > d$$$$$$$$$$$ > ,$$$$$$$P' `P' , . > $$$$$$P' ' .d b > $$$$$P b ,$$x ,$$x ,$$x ,$$b $$. > Y$$$$' `$. $$$$$$. $$$$$$ $$P~d$. d$$$b d d$$$ > `$$$$ ,$$ $$$$$$$b $$$P `$ $$$b.$$b `Y$$$d$d$$$' . . a . a > a .aa . a > `$$$ ,$$$,$$' `$$$ $$$' ' $$P$XX$' `$$$$$$$$$ .dP' `$'$ > `$'$ , $''$ `$'$ > `Y$b ,d$$$P `$b,d$P' `$$. `$$. , `$$P $$$' Y $. $ $ > $ Y..P $ > `$$$$$$$' $$$P' `$$b `$$$P `P `$' `Y'k. $. $. > $. $$' $. > > Issue 72 > 13 April, 1999 UH!? --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Paul Khuong" Subject: RE: Changing the Game Date: 26 Oct 2001 18:25:02 -0400 Message-ID: > -----Original Message----- > From: QuickTransit@aol.com [mailto:QuickTransit@aol.com] > Sent: 26 octobre, 2001 11:08 > To: paul_virak_khuong@yahoo.com; corewar-l@koth.org > Subject: Re: Changing the Game > > > In a message dated 10/25/01 7:06:17 PM Eastern Daylight Time, > paul_virak_khuong@yahoo.com writes: > > << Finally, posting the whole concept at once(like what kline > did) helps start > the conversation. If nothing's right in it, everything will change! >> > It may help start the conversation, but it also establishes a > basis on which > to have the conversation. If there are problems with the assumptions in > there, it can be pretty difficult to root them out - you can end > up having to > start over basically from scratch several different times. > That's a waste of > time and creativity. > > The ecology idea may be a good one, but (and again, this is my > perception, so > if it is unkind I apologize) there's been no exploration of the gameplay > justification for it - it sprang fully-grown from one person's > mind. How do > we know that that one person thought of everything, or at least > all the key > points? How do we know that the proposal is better than what > COULD be done > with changing Corewar? How do we know it is better than the > existing game? > The basis for conversation should ideally be something that people are > confident is an improvement in gameplay and game depth - if you aren't > confident of at least that much, then changing things is > something of a waste. > > (If I keep talking like this though, somebody's going to ask me what I > suggest doing instead. I have no real suggestions right now. I'm just > pointing out what I see to be real or potential problems, in the > hopes that > they can be avoided, because I liked Corewar once and I want to > have fun with > it again.) I see your point. IMO, it WILL help, because it allows for more specialized warriors, etc. Also, i don't know if you've seen what tournaments can do, but having a different flavor of corewar always brings some more interest in the game. So, i tihnk that we can at least consider it like a quick tournament. Maybe we could start a small ongoing tourney for ~2 weeks, and see what it looks like after that. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Paul Khuong" Subject: RE: Changing the Game Date: 26 Oct 2001 18:25:06 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of > QuickTransit@aol.com > Sent: 26 octobre, 2001 16:37 > To: Multiple recipients of list COREWAR-L > Subject: Re: Changing the Game [snip] > (Does this mailing list auto-post to the newsgroup and vice versa? > Interesting. This AOL account is going to be going away in a few > days - I'm > still getting a regular newsreader set up - so there might be > some bounced > mail.) Yes it does. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: Winston Bean Subject: Re: Pizza Date: Fri, 26 Oct 2001 20:43:43 -0800 Message-ID: <3BDA3B7F.611BCE91@hotmail.com> > > Err...is Pizza dead? > > -Winston > > It seems to be. No idea if it's coming back, but as you can see on the > web site it's been many months since it's worked. So, is nop and the -x's the only 94 hills left? -Winston From: Winston Bean Subject: Re: Changing the Game Date: Fri, 26 Oct 2001 21:30:58 -0800 Message-ID: <3BDA4692.D68E17F0@hotmail.com> > And here is my idea - let's create a corewar language which supports > dividing a program into modules. In every cell in the arena there > won't be one instruction but one function. Though what you've come up with is interesting, I concur with Moulton. Changing Redcode creates an entirely different game--one which may have its merits; nonetheless it is not an improved Core War but a new Core War. Admittedly, I am still in the process of catching up with and re-learning all that is Core War, but IMHO there's still plenty to squeeze out of Redcode. Creating (a) new hill(s) with creative paramaters, rules, and concepts will undoubtedly foster (re-ignite?) creativity. I'm convinced more group discussions along the vein of Kline's proposal will result in something wonderful. I doubt there are many other 'games' with such creative, intelligent players. There's no way in hell we won't be able to conceive and hash out a fresh, viable, implementable idea. -Winston From: Philip Thorne Subject: Re: Pizza Date: Sat, 27 Oct 2001 09:19:51 -0500 Message-ID: <3BDAC287.8050701@yahoo.com> Winston Bean wrote: >>>Err...is Pizza dead? >>>-Winston >>> >>It seems to be. No idea if it's coming back, but as you can see on the >>web site it's been many months since it's worked. >> > > So, is nop and the -x's the only 94 hills left? > -Winston > There are redcode hills available at http://corewars.sourceforge.net in amongst the proprietory stuff. Although not a specifically beginner hill I surmise that the Redcode Standard hill is relatively weak as it's mostly populated with "evolved" programs. It's possible to post via email or directly via a form. Either way you get no direct feedback so must check - the hill to see if you got on it - the archive to see if you didn't [it will be published] It has a feature whereby you can select "like" warriors from the archive and play them against one another via an applet. If you do so you'll need to manually stop it once it's reduced to one process. Philb From: metcalf@uboot.com (John Metcalf) Subject: Re: Core Warrior 72 Date: 27 Oct 2001 10:03:43 -0700 Message-ID: Hi, Needless to say, I didn't repost this. It must have been lost in the ether somewhere for the last two years. Does anyone have any ideas for CW80. I lost everything when my laptop was stolen. The insurance provided a nice new one, but I lost about half of my various projects. Does anyone have the results from Pizza's 94 and 94b for a DAT 0,0 submission? Regards, John From: Philip Thorne Subject: Re: Changing the Game Date: Sat, 27 Oct 2001 10:11:08 -0500 Message-ID: <3BDACE8C.7000500@yahoo.com> Robert Macrae wrote: > [...] > The proposal should generate a more complex ecology than we see on the > current hills, with greater room for specialists. > If it does, it will increase the range challenges available -- there will > be in effect 10 different avenues onto the hills, each requiring something > different. [...] I imagine players would want/try to be represented in more than one form on the hill so for example you might have an RM-Eagle, RM-Mouse etc. Coding to create such chains would be an interesting challenge - trying to coordinate your various beasties so they helped one another stay on the hill (by for-example having food-kin roll-over 100% to your new submissions). Publishing live warriors would inhibit such (self) team-work strategies although perhaps PK's suggestion to hide EQN's would help. Other than that with respect to newcomers having more avenues the proposal is little different from a) creating 10 separate hills with the restriction that a player can only be represented on a single hill, or b) a single large [beginner] hill. Philb From: Philip Thorne Subject: Re: Changing the Game Date: Sat, 27 Oct 2001 11:48:48 -0500 Message-ID: <3BDAE570.7020004@yahoo.com> Robert Macrae wrote: > [...] > The proposal addresses the problem pretty effectively. In a purely public > hill you can always, if you wish, spend time tweaking the constants of one > public warrior to edge a little further up the table, but the extra > complexity should give room for far greater tactical innovation. > > The scoring and competitive landscape are very far from cosmetic. Redcode > is a tool used to win some competition. In a knockout, for example, it > doesn't matter by how much you beat your opponent so a "good" warrior is > one that is hard to beat. In a hill, by contrast, every point counts so a > "good" warrior is generally one that wins by a large amount against some > warriors. Change the scoring, move the goalposts, and you change the whole > game. This changes the whole experience of coding. > Stepping back a bit, perhaps QT inspired (?!), I'm thinking about what the eco-system gives us. One thing is the ability to choose ones prey i.e. one gets to code a warrior geared specifically to other types so it's attack score can be maximised. ... wouldn't one get a similar effect more simply by changing the normal hill scoring to only take, say, the top 10 results into account per warrior when comparing scores? Given that the eco-system can only specify it's food not prey I think it may be a move towards the hill definition of "good" although I recognise, and like, that there's more to it than that. > [...] Philb From: Philip Thorne Subject: Re: Changing the Game Date: Sat, 27 Oct 2001 11:50:29 -0500 Message-ID: <3BDAE5D5.5040805@yahoo.com> P. Kline wrote: > In a real ecosystem all forms do not struggle against each other, they > find niches where they feed on a small number of forms and are in turn > eaten by others. The goal is not to dominate but to survive, so here > is a thought experiment. > [...] > form D - stone-imps (porcupines) > [...] > with the appropriate ;food lists. The other seven forms are not > specified but will be sorted out after time through competition. > Nice. How about a "rabbit" form for beginners? The challenge would be to prevent them multiplying overly while making it easy enough for a large quantity to survive. For example having no predators other than themselves or making them the 11th item in the food chain for all other forms and putting a limit on their number. If you don't like the idea of cannibal rabbits there's always "slime-mold" :-) It could also be the default form - I think useful to have one. Once all 10 forms were present for new forms to enter the game one of the existing ones, say X. would have to be made extinct. This might be do-able by introducing multiple clones of a powerful X-eater - would that work? Ethical/Desirable? Maybe a limit on the # of representatives per species would help. Of-course we don't have to solve everything in advance - a prototype system could always be tweaked. I do think it'll be hard to maintain cohesiveness within a form and that this is required, in the main, for the idea to work. Philb From: Philip Thorne Subject: Feedback / Source-hiding - was Changing the Game Date: Sat, 27 Oct 2001 12:43:43 -0500 Message-ID: <3BDAF24F.1090505@yahoo.com> P. Kline wrote: > [...] > I'll make some assertions to push things along: > > 4. Hiding source code discourages newcomers and long-time players. > [...] That seems unanimous but wouldn't the viewpoint change depending upon the reasons people play the game. e.g. - technical approach, someone who want's to produce the perfect/optimal/beautiful warrior = would like to see and show all code ? might be able to get by from archive & posted code - competive approach. Want's to be THE KOTH = would like to see others code, hide own - goal oriented. e.g. wants to put paid to "nPaper II" = would like to see code ? could possibly send exploratory warriors to the hill solely to probe a particular warriors defeneses. Perhaps this happens - I've never submitted to KOTH so don't know. [X] - arm-chair critic with no experience/talent At present I find myself partly in the 2nd [?] category. My dream would be to perfect a warrior on the quiet then launch to devastating effect on an unsuspecting hill where it would have a long and glorious reign. I liked your idea from another post: "Another idea is to have the source of players dropped from the Hill put into archive automatically, creating a fossil record." but realise that for the ecosystem one needs some way to encourage fair play. [X] I do see a general corewar problem in that it might be awfully difficult to counter a hidden warrior because of lack of feedback. To counter this I suggest: a) provide a snapshot of a warrior battle akin to final (random?) pmars screen output. Perhaps visually or in a file form that's easy to recreate. b) something like the ability in the "other" sourceforge site [no I'm not in advertising and would like pizza] whereby you can select warriors and have them fight in an applet within your browser. This way one could learn something but the granularity is too low to see everything. The obsessive could run multiple off-hill battles this way. Philb From: Winston Bean Subject: Re: Pizza Date: Sat, 27 Oct 2001 15:18:03 -0800 Message-ID: <3BDB40AB.BB65CE10@hotmail.com> > There are redcode hills available at http://corewars.sourceforge.net Thanks. I'll check it out. -Winston From: Winston Bean Subject: Re: Changing the Game Date: Sat, 27 Oct 2001 15:21:13 -0800 Message-ID: <3BDB4169.330E6A0D@hotmail.com> > Let each participant identify itself by "form" - grasshopper, cat, eagle...- > and also identify a number of forms that it wants to eat. Wouldn't having pre-set 'prey' for each form lead to more distinct strategies for each form and more diverse strategies over all? -Winston From: Winston Bean Subject: 'Lil Help Needed Date: Sat, 27 Oct 2001 20:16:35 -0800 Message-ID: <3BDB86A2.F7D18864@hotmail.com> Woowee, this is embarrassing. I'm having some trouble with my e-mail app (Outlook Express. I know, I know. I apologize for using Windows.) Occasionally, a submition to koth comes back with an error like this: Error in line 39: '------=_NextPart_000_021A_01C15F22.5E916C00--' Unrecognized or improper placement of token: '-' Number of errors: 1 I can't figure out why that's being added on (assuming it's the e-mail program). For a particular *.red file, it will always happen (ie., not a one-time error). I tried using a web based account to send it in to koth, and that didn't work either (the other account also used MS software, if that has anything to do with it). I realize this is a pretty lame (not to mention off-topic) question to ask, but I'm pretty hopeless =). Thanks for any help you can give. BTW, sorry about bombarding the 94nop hill. I sorta forgot about -test :p. -Winston From: Winston Bean Subject: -b Date: Sat, 27 Oct 2001 21:32:51 -0800 Message-ID: <3BDB9883.A960A107@hotmail.com> Do we have enough active new players to warrant a beginner's hill on koth.org? If so, could anyone set that up? Or is Pizza going to be re-incarnated one of these days? -Winston From: "Paul Khuong" Subject: RE: Feedback / Source-hiding - was Changing the Game Date: 27 Oct 2001 22:49:06 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Philip > Thorne > Sent: 27 octobre, 2001 14:33 > To: Multiple recipients of list COREWAR-L > Subject: Feedback / Source-hiding - was Changing the Game > > > P. Kline wrote: > > > [...] > > I'll make some assertions to push things along: > > > > 4. Hiding source code discourages newcomers and long-time players. > > [...] > > > That seems unanimous but wouldn't the viewpoint change depending upon > the reasons people play the game. e.g. > - technical approach, someone who want's to produce > the perfect/optimal/beautiful warrior > = would like to see and show all code > ? might be able to get by from archive & posted code > - competive approach. Want's to be THE KOTH > = would like to see others code, hide own > - goal oriented. e.g. wants to put paid to "nPaper II" > = would like to see code > ? could possibly send exploratory warriors to the hill > solely to probe a particular warriors defeneses. > Perhaps this happens - I've never submitted to KOTH > so don't know. [X] > - arm-chair critic with no experience/talent [snip] Overall, it seems in the interest of the advancement of the game to see the source. Yes, it is possible to submit warriors for the sole purpose of exploring the hill. That's what -test is for. I think that that type of scouting has been done before. BTW, what do you mean by "put paid to"? --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: Winston Bean Subject: Re: 'Lil Help Needed Date: Sun, 28 Oct 2001 01:27:14 -0800 Message-ID: <3BDBCF72.B44A3AD9@hotmail.com> NM, I figured it out. Anything that uses 'org x' instead of 'end x' gets messed. Who knew? -Winston From: "Paul Khuong" Subject: RE: 'Lil Help Needed Date: 28 Oct 2001 10:44:20 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Winston > Bean > Sent: 28 octobre, 2001 05:32 > To: Multiple recipients of list COREWAR-L > Subject: Re: 'Lil Help Needed > > > NM, I figured it out. Anything that uses 'org x' instead of 'end x' > gets messed. Who knew? 1. Send plaintext email 2. If there are any chances of something following your code, always end the warrior with an "end" line. 8) --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: pk6811s@acad.drake.edu (P. Kline) Subject: Re: Changing the Game Date: 29 Oct 2001 06:30:50 -0800 Message-ID: <92b0a3d6.0110290630.43f20e20@posting.google.com> Philip Thorne wrote in message news:< <...> > Once all 10 forms were present for new forms to enter the game one of > the existing ones, say X. would have to be made extinct. This might be > do-able by introducing multiple clones of a powerful X-eater - would > that work? Ethical/Desirable? Maybe a limit on the # of representatives > per species would help. Of-course we don't have to solve everything in > advance - a prototype system could always be tweaked. > > I do think it'll be hard to maintain cohesiveness within a form and that > this is required, in the main, for the idea to work. Multiple clones of a powerful X-eater would put the X-form at risk for population collapse, and create incentive for powerful X-eater-eaters. There was a time on the 94-nop hill when 5/6 people had copied the same qscan into their programs, that allowed a program like RetroQ to reverse engineer and kill them very easily. It's the natural way :-). > I do think it'll be hard to maintain cohesiveness within a form and that > this is required, in the main, for the idea to work. Camouflage and mimicry are ubiquitous in nature, for both hiding and hunting. Say we populate the hill with 100 versions of stone-imps, not especially deadly qscan-share-the-wins cooperatives. Like grass on the prairie. They are all type A and they all have A at the top of their diet. A good si killer might be nPaper. Does it make sense for nPaper to identify himself as form B? If he does it makes him stick out and he becomes a target for B-feeders, and he can get just as many si-fights by declaring himself to be form A, so maybe no one would dare declare a different form, safer if we are all A feeding on A. On the other hand, there is a whole B-J space opportunity to populate. I might put up 10 versions of scanners, all B's feeding on B, go-for-broke win-lose cooperators. That could crowd out 10 A's and destableise things there. Then I might put up 10 tiny stones, all form C feeding on C and B. Then 10 papers all D feeding on C, A, and D. Then 10 scanners all E feeding on D, B, and E. Cooperation in win-sharing may be a strong enough incentive for programs to consistently (there is no 'honesty' in nature :-) identify themselves. When the hill becomes sufficiently muddled, I might still put up a block of 10 or 20 cooperators all the same form preying on each other. BTW, I don't see this as a bad thing. I can only continue to do this until people respond with appropriate predators and it might be an interesting challenge for one person to hold all 100 spots for more than 24 hours. The forms would change their meaning over time, 'A' might be stone-imp one year and mostly paper the next. It doesn't seem workable for there to be unlimited forms like in the real world, therefore the form-types would be recycled over time. The implication is that ;food lists gradually become obsolete, therefore no program can stay on the hill without adapting. An author who puts up a strong program and walks away for a year won't find it there when he comes back :-) Paul Kline pk6811s@acad.drake.edu From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 10/29/01 Date: 29 Oct 2001 08:47:25 -0500 Message-ID: <200110290500.AAA18728@gevjon.ttsg.com> Weekly Status on 10/29/01 -=- 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 sleep 180 Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Thu Oct 4 10:23:04 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 35/ 19/ 45 KAT v5 Dave Hillis 152 31 2 41/ 33/ 26 Black Moods Ian Oversby 148 95 3 29/ 15/ 56 Katafutr Michal Janeczek 144 39 4 42/ 41/ 18 Greetings From Asbury Par JKW 143 59 5 34/ 29/ 37 Big I.F.F.S. Dave Hillis 140 28 6 36/ 35/ 29 Ogre Christian Schmidt 138 47 7 22/ 7/ 71 Denial David Moore 138 40 8 30/ 24/ 46 Damage Inflicted Robert Macrae 136 38 9 34/ 32/ 34 Controlled Aggression Ian Oversby 136 99 10 20/ 7/ 73 Evol Cap 4 X John Wilkinson 133 168 11 23/ 13/ 64 Kin John Metcalf 133 7 12 18/ 4/ 77 Evolve X v4.0 John Wilkinson 132 116 13 19/ 6/ 75 Black Box v1.1 JKW 132 62 14 23/ 19/ 58 Venom v0.2b Christian Schmidt 128 121 15 28/ 34/ 38 test CS 123 56 16 32/ 45/ 24 Pagan John K W 119 153 17 19/ 20/ 62 Purple v0.1 Christian Schmidt 118 120 18 22/ 25/ 53 Disaster Area 2.8 Stefan Foerster 118 26 19 19/ 21/ 60 sptst (4D-p) Stefan Foerster 117 1 20 26/ 46/ 28 Sand-Crawler John Metcalf 106 5 21 12/ 86/ 1 my sucky warrior john q. redcoder 39 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 10/29/01 Date: 29 Oct 2001 08:47:21 -0500 Message-ID: <200110290500.AAA18732@gevjon.ttsg.com> Weekly Status on 10/29/01 -=- 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 sleep 180 Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Oct 28 08:13:18 EST 2001 # %W/ %L/ %T Name Author Score Age 1 36/ 22/ 41 Inky Ian Oversby 150 178 2 35/ 24/ 41 Quicksilver Michal Janeczek 146 461 3 33/ 22/ 45 Son of Vain Oversby/Pihlaja 145 288 4 31/ 20/ 49 nPaper II Paul-V Khuong 142 699 5 32/ 25/ 42 Olivia Ben Ford 139 427 6 41/ 42/ 17 Behemot Michal Janeczek 139 522 7 41/ 44/ 15 Hazy Lazy ... Steve Gunnell 138 41 8 35/ 31/ 34 Blacken Ian Oversby 138 946 9 33/ 27/ 40 Uninvited John Metcalf 138 381 10 32/ 27/ 41 Revival Fire P.Kline 138 167 11 43/ 50/ 6 He Scans Alone x P.Kline 137 27 12 29/ 26/ 45 Qtest Christian Schmidt 132 221 13 41/ 51/ 8 Test S M1 None 130 25 14 29/ 28/ 43 AxID Burn Gino Oblena 130 122 15 23/ 16/ 61 The Phantom Menace Anton Marsden 130 399 16 32/ 36/ 32 Keyser Soze Anton Marsden 128 400 17 22/ 17/ 61 Mr Sheen Test B 8 Steve Gunnell 126 4 18 39/ 52/ 9 Kenshin test 21 Steve Gunnell 126 1 19 36/ 47/ 17 Eraser II Ken Espiritu 126 656 20 37/ 53/ 10 hTest P.Kline 121 2 21 36/ 53/ 11 G8 Winston Featherly-Be 119 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 10/29/01 Date: 29 Oct 2001 08:47:16 -0500 Message-ID: <200110290500.AAA18724@gevjon.ttsg.com> Weekly Status on 10/29/01 -=- 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 sleep 180 Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Oct 28 04:23:15 EST 2001 # Name Author Score Age 1 Pitbull Christian Schmidt 33 40 2 fclear Brian Haskin 31 68 3 D-clearM Ken Espiritu 25 84 4 Xord Monominer XOSC:01 Gino Oblena 24 23 5 test John Metcalf 20 12 6 QuiVa John Metcalf 18 177 7 8thTest Gino Oblena 17 15 8 Her Majesty P.Kline 12 103 9 Carrot Grater v1.1 Brant D. Thomsen 12 2 10 sptst (4D-p) Stefan Foerster 9 1 11 Ferret Winston Featherly-Be 2 0 From: Koth Subject: KOTH.ORG: Status - Standard 10/29/01 Date: 29 Oct 2001 08:47:30 -0500 Message-ID: <200110290500.AAA18720@gevjon.ttsg.com> Weekly Status on 10/29/01 -=- 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 sleep 180 Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Fri Oct 19 17:36:37 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 33/ 19/ 48 Freight Train David Moore 147 78 2 32/ 20/ 48 sIMPly.Red v0.95 Leonardo Humberto 145 35 3 31/ 19/ 50 Test Alexander (Sasha) Wa 143 17 4 29/ 20/ 50 Guardian Ian Oversby 139 77 5 21/ 8/ 71 qenig1 test John Metcalf 135 1 6 39/ 44/ 17 Foggy Swamp Beppe Bezzi 134 74 7 34/ 34/ 32 PacMan David Moore 133 107 8 35/ 37/ 28 Stasis David Moore 132 185 9 38/ 44/ 19 Blur '88 Anton Marsden 132 115 10 30/ 28/ 42 Frog Sticker P.Kline 132 27 11 23/ 16/ 61 EV Paper John K Wilkinson 130 91 12 24/ 18/ 58 Jinglo John Metcalf 130 2 13 25/ 22/ 53 Shish-Ka-Bob Ben Ford 129 33 14 23/ 18/ 59 Test I Ian Oversby 128 134 15 32/ 36/ 32 Tangle Trap David Moore 127 151 16 23/ 20/ 57 Evoltmp 88 John K W 127 128 17 34/ 41/ 25 Beholder's Eye V1.7 W. Mintardjo 126 353 18 35/ 46/ 19 Iron Gate Wayne Sheppard 125 403 19 35/ 47/ 18 ig Wayne Sheppard 124 5 20 12/ 3/ 85 ]enigma[ Michal Janeczek 121 6 21 4/ 54/ 43 VLIV'88 Wayne Sheppard 54 0 From: Lukasz Adamowski Subject: Re: Pizza Date: 29 Oct 2001 16:48:47 -0500 Message-ID: On Sat, 27 Oct 2001, Winston Bean wrote: > > There are redcode hills available at http://corewars.sourceforge.net > > Thanks. I'll check it out. > -Winston I did check it and even get onto multiwarrior hill. Finally! Thanks for the URL also. Lukasz From: Winston Bean Subject: Look What I Found Date: Tue, 30 Oct 2001 17:50:14 -0900 Message-ID: <3BDF66E6.30D11902@hotmail.com> I dug up some dirt on Kline (may he live a thousand years). Wonder what was going on here =p: --------------------------------------------------------- Article 1482 of rec.games.corewar: Newsgroups: rec.games.corewar Subject: Impression v3 Message-ID: <1992Nov16.064702.10776@wisipc.weizmann.ac.il> From: fedimit@wisipc.weizmann.ac.il (Dan Nabutovsky) Date: Mon, 16 Nov 1992 06:47:02 GMT Organization: Weizmann Institute of Science, Computation Center Lines: 81 Hi all, This is my program Impression v3. As you can see, the main principles of imp-writing are: - Make spiral not ring - One Ring is the best architecture - Dwarf must get most of CPU time. And, most important: - Don't send your program to pdk. This schmuck will make minor changes, send it to Koth under his name, and then he'll blame you in copycatting. ;redcode ;name Impression v3 ;kill P. Kline for plagiate ;author Dan Nabutovsky ;strategy 2 imp spirals + self-splitting dwarf ---------------------------------------------------------- LOL. Lil' hostility, no? -Winston From: Philip Thorne Subject: Re: Feedback / Source-hiding - was Changing the Game Date: Tue, 30 Oct 2001 23:20:07 -0600 Message-ID: <3BDF8A07.5080902@yahoo.com> Paul Khuong wrote: >>-----Original Message----- >>- goal oriented. e.g. wants to put paid to "nPaper II" >>[...] > > [snip] > Overall, it seems in the interest of the advancement of the game to see the > source. > > Yes, it is possible to submit warriors for the sole purpose of exploring the > hill. That's what -test is for. > I think that that type of scouting has been done before. > > BTW, what do you mean by "put paid to"? > --- I hadn't realised this wasn't in general usage. I meant __Eliminate__. http://pub55.ezboard.com/fwordoriginsorgfrm1.showMessage?topicID=732.topic has some variations. If you speak h4x0r "own" might be a good fit too nPaper II was the first ancient warrior I noticed with a recent poster when looking for an example. From: Philip Thorne Subject: mutato Date: Tue, 30 Oct 2001 23:42:26 -0600 Message-ID: <3BDF8F42.4080902@yahoo.com> Lukasz Adamowski wrote: > On Thu, 25 Oct 2001, Philip Thorne wrote: >>BTW the "engine" of my beginner warrior came from one of your earlier >>posts - I discovered later you named it The Shortest Worm. >> > > Actually, it's not the shortest. After I had written it, I discovered many > silk-based papers which are more difficult to understand, but more > effective (but not always). > My last warrior Mutato (this is not a good name, I must think up another) > is also "Shortest"-based, but it's quite different in working: > > start add #5, $0 > mov <-1, {3 > jmn $-1, $-2 > spl {-1, {-2 > jmp $1033, >-4 > I finally got around to this today - vicious. Even without the replication (JMP turned into a DAT) it still hurts the stones in wilkies benchmark and destroys my tworms. I saw you've got a variant of it onto the c.s.n big hill but I haven't looked ito it yet. > BTW my opinion is source of every warrior should be published. It gives > you no financial profits to keep it for yourself (maybe in some > tournaments) and can be very useful for newbies. It's only a game! > Like tennis? . But yes, I'm beginning to appreciate the point. Philb Message-ID: <3BE01077.2030603@gamerz.net> From: Richard Rognlie Subject: C++Robots Standings -- 2001.10.31 Date: Wed, 31 Oct 2001 06:53:43 -0800 Happy Programmer's Christmas! Program Name Score W / L / T Age Author ================ ===== =========== === ============================== 1 mi5 687 229/ 21/ 0 1 schreiner.michael 2 ths7h5 681 227/ 23/ 0 22 TORSTEN.SCHOENFELDER 3 tommy 679 226/ 23/ 1 76 jacksoew 4 minim 615 205/ 45/ 0 100 steveg 5 crbot 591 197/ 53/ 0 53 Rosevear.Craig.CA 6 radar 586 195/ 54/ 1 203 Radu.Dumitru 7 rosie 573 191/ 59/ 0 18 andyg54321 8 dspin_v4 543 181/ 69/ 0 32 Scott.Thisse 9 simpletest 540 180/ 70/ 0 205 niklas.wendel 10 polarbear 525 175/ 75/ 0 102 flandar 11 hal9000_v2 504 168/ 82/ 0 139 camangi 12 quaver 485 161/ 87/ 2 78 steveg 13 jedi 465 155/ 95/ 0 48 camangi 14 flash2 429 143/107/ 0 144 camangi 14 wobble 429 143/107/ 0 7 tim.radcliffe 16 crunchie1_xx 424 141/108/ 1 59 Roberto.Nerici 17 beta-chicken 403 134/115/ 1 54 Sverre.Normann 18 sandman 393 131/119/ 0 93 zechis 19 mathilda 390 130/120/ 0 77 shredder 19 dspin 390 130/120/ 0 41 Scott.Thisse 21 raystonn 384 128/122/ 0 83 raystonn 21 alpha-chicken 384 128/122/ 0 56 Sverre.Normann 23 mortein 367 122/127/ 1 52 mortein 24 x3-unit 357 119/131/ 0 153 xychix 25 bubbles 354 118/132/ 0 10 bmbell 26 =dut=no.1 351 117/133/ 0 6 King_Play 27 crunchie0_xx 345 115/135/ 0 68 roberton 28 imp 336 112/138/ 0 187 petrey 28 x2-unit 336 112/138/ 0 154 xychix 30 track++ 330 110/140/ 0 51 GeniuSparr 31 seeker 319 106/143/ 1 163 lefevre 32 family-guy3 285 95/155/ 0 72 wmcdavitt 33 slimeball 283 94/155/ 1 43 norton 34 locobot1 281 93/155/ 2 70 rlokers 35 kurzweil 270 90/160/ 0 172 kurzweil 36 andymage2 268 89/160/ 1 85 vcdude 37 brook1 267 89/161/ 0 197 brookdixon 38 coder 266 88/160/ 2 166 kreunen 39 spazzz 264 88/162/ 0 2 ron.strilaeff 40 andymagel3 262 87/162/ 1 81 vcdude 41 dspin_v3 259 86/163/ 1 35 Scott.Thisse 42 agent8 254 84/164/ 2 15 qrv3w 43 test_2 250 83/166/ 1 24 Bucky0 44 brook3 249 83/167/ 0 195 brookdixon 45 guinea3 246 82/168/ 0 86 jcromwell 46 vegeta 244 81/168/ 1 159 zeikerd 47 shunt 243 81/169/ 0 92 derijck 48 tracker 242 80/168/ 2 200 rrognlie 49 nappa 241 80/169/ 1 175 gerco 50 earthworm 235 77/169/ 4 42 norton Visit http://www.gamerz.net/c++robots/ for further information on playing this KotH style robot battle. -- / __ | Richard Rognlie / Sr. Technical Consultant / Sendmail, Inc. / / \ | http://www.gamerz.net/rrognlie/ \__/ / | / | Anything worth doing is worth paying somebody else to do well From: pk6811s@acad.drake.edu (P. Kline) Subject: Re: Look What I Found Date: 31 Oct 2001 14:23:35 -0800 Message-ID: <92b0a3d6.0110311423.2e6caf7c@posting.google.com> Dan objected to my imp-launcher, I to his stone, after a period of cooling we parted friends. If you participate in internet discussions long enough you will experience the joy of being flamed. Lesson learned: smileys and frownies are useful stand-ins for facial expression and body language absent in written communication. Paul Kline pk6811s@acad.drake.edu (I'll probably be seeing this every five years or so, since there is a fossil record for postings :-) From: Lukasz Adamowski Subject: Re: mutato Date: 31 Oct 2001 14:36:06 -0500 Message-ID: On Wed, 31 Oct 2001, Philip Thorne wrote: > > My last warrior Mutato (this is not a good name, I must think up another) > > is also "Shortest"-based, but it's quite different in working: > > > > start add #5, $0 > > mov <-1, {3 > > jmn $-1, $-2 > > spl {-1, {-2 > > jmp $1033, >-4 > > I finally got around to this today - vicious. Even without the > replication (JMP turned into a DAT) it still hurts the stones in wilkies > benchmark and destroys my tworms. I saw you've got a variant of it onto > the c.s.n big hill but I haven't looked ito it yet. > > Philb I checked it. You are right: changing JMP into DAT (but not removing) makes this warrior a simple stone with a little decoy for scanners. The problem is it kills itself pretty fast. My idea was different: to make a paper which changes into stone after copying and I managed to do this. PaVaSto - my warrior you saw on sourceforge is improved by adding a clear and an array of JMPs, so it's a vampire also. I am proud of this code. (it's understood B) What a pity it's not so good to get onto KoTH :( Lukasz From: Planar Subject: Re: Look What I Found Date: 31 Oct 2001 14:39:05 GMT Message-ID: <9rp2e9$glt$1@ites.inria.fr> >From: Winston Bean >I dug up some dirt on Kline (may he live a thousand years). Wonder what >was going on here =p: A dispute over 5 lines of code if I remember well. It might be Nabutovsky's fault instead of Kline's, but it also seems possible that they came up with the same code at about the same time. Systematic publishing of the hill warriors would help avoid such disputes: the first one to submit the warrior would get the credit. (Kinda like the patent office is supposed to work.) -- Planar From: "Paul Khuong" Subject: RE: Feedback / Source-hiding - was Changing the Game Date: 31 Oct 2001 18:06:52 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Philip > Thorne > Sent: 31 octobre, 2001 01:34 > To: Multiple recipients of list COREWAR-L > Subject: Re: Feedback / Source-hiding - was Changing the Game > > > Paul Khuong wrote: > > > > BTW, what do you mean by "put paid to"? > > > --- > I hadn't realised this wasn't in general usage. I meant __Eliminate__. > > http://pub55.ezboard.com/fwordoriginsorgfrm1.showMessage?topicID=732.topic > has some variations. If you speak h4x0r "own" might be a good fit too > > nPaper II was the first ancient warrior I noticed with a recent poster > when looking for an example. LOL..0wn4ge! Gawd.. what's going on when the only warrior with my name on it is "ancient"?? Oh, well. I'll try a scanner/short-range scanner soon. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: birk@andromeda.ociw.edu Subject: Re: Look What I Found Date: 31 Oct 2001 18:06:56 -0500 Message-ID: <200110312006.f9VK65X00322@andromeda.ociw.edu> > Systematic publishing of the hill warriors would help avoid such > disputes: the first one to submit the warrior would get the credit. > (Kinda like the patent office is supposed to work.) Good idea. The 'Koenigstuhl' was very quiet lately and would appreciate some new programs. Christoph http://www.ociw.edu/~birk/COREWAR/koenigstuhl.html From: Winston Bean Subject: Re: How active is Corewar? Date: Wed, 31 Oct 2001 19:37:49 -0900 Message-ID: <3BE0D19D.76806709@hotmail.com> > As for team-work: remember, once I was talking about the enigmatic > tournament with two teams and jugde. Only jugde knows who is in which team > and he sends to proper person only the last instruction of written code. > This person sends back next instruction. Then jugde sends his "move" to > another person from the same team etc. That sounds like an excellent idea to me, providing the heroes among us can compensate for us newbies. Ideally, it seems that there should be two levels of competition--beginner and advanced (with two opposing teams in each). That would be more for the advanced players than the beginners. I'm guessing we don't have enough people to do that; however the judge could probably assemble two reasonably evenly matched teams. Has this been done already? I missed the previous thread where this was mentioned. Seems like a good tourny to spice things up with; god knows we need 'em. -Winston