From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: Olympic report 1998-08-31 Date: 1998/09/01 Message-ID: #1/1 P> These are almost all the warriors that were published since P> the end of the Redcode Maniacs Tournament. This represents P> more than 15000 battles (at 1000 rounds each). Are PINs allowed on Mount Olympus? ;-) >>> 444 *Incisor+ 38/ 43/ 19 181 131.94 Hmmm... thats a bit disappointing, perhaps I'll have to publish some others. From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: Idea... Date: 1998/09/01 Message-ID: #1/1 IK> Robert Macrae (kingpin@dial.pipex.com) wrote: : Paul-V Khuong IK> wrote: : > spl #3044, >-3044 ;not sure what's better, spl/nop... : > add.f -1, 1;Can be whatever stone u like : > mov.i <0, <1 : > jmp -2, -100;djn -2,<-xx ? I used a bomber like this on the end of paper, where processes is the number of processes in the paper. (Used to align the first bomb correctly.) step equ 2365 add #step-1, #processes-1 spl -1 mov bomb, >-2 jmp -2 bomb dat >5535, 6 I believe this gives a normal bomb spread and becomes a coreclear when all processes are used. (Not tested!) It didn't do particularly well. My Paper -> Clear does better. From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: multiwarrior Date: 1998/09/01 Message-ID: #1/1 > Heh. Well the S==1 scoring is in place on the Multiwarrior hill. Man... :) > Dunno about this... I have my doubts it's gonna be better than the old way... > but it can't really be worse, can it? C> Heh heh. 0's all around.... -WFB I imagine it may still be difficult to break out of the current deadlock though :-( From: jwilkinson@mail.utexas.edu Subject: Re: multiwarrior Date: 1998/09/01 Message-ID: <199809011522.LAA09421@valhalla.stormking.com>#1/1 >jwilkinson@mail.utexas.edu wrote: >> >> Heh. Well the S==1 scoring is in place on the Multiwarrior hill. Man... :) >> Dunno about this... I have my doubts it's gonna be better than the old way... >> but it can't really be worse, can it? > >Heh heh. 0's all around.... > -WFB Well yeah. What'd you expect? Heh. From: David Matthew Moore Subject: Re: Alladin's Cave Date: 1998/09/01 Message-ID: <6sht18$n9d$1@msunews.cl.msu.edu>#1/1 John Metcalf wrote: : What happened to Alladin's Cave? Pushed off around age 30. Pspacers were falling like dominos at that time. Electric Head and Nomolos bit the dust shortly thereafter. From: amarsden@mcs.vuw.ac.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 1998/09/01 Message-ID: Archive-name: games/corewar-faq Last-Modified: August 5, 1998 =20 Version: 4.0 URL: http://www.mcs.vuw.ac.nz/~amarsden/corewars/corewar-faq.html Copyright: (c) 1998 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. The latest hypertext version is available at http://www.mcs.vuw.ac.nz/~amarsden/corewars/corewar-faq.html and the latest plain text version is available at=20 http://www.mcs.vuw.ac.nz/~amarsden/corewars/corewar-faq.txt. This document was last modified on August 5, 1998. It is currently being maintained by Anton Marsden (amarsden@mcs.vuw.ac.nz). ------------------------------------------------------------------------ To Do * Make question 17 easier to understand. Add a state diagram? * Upgrade to HTML 4.0, make FAQ easier to maintain in future (hopefully) * 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 the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr * Made some changes/additions/fixes based on a good FAQ review by Joonas Pihlaja. Not all of the suggestions have been dealt with yet, but the FAQ is now less ambiguous in some areas. Thanks Joonas! * Added stuff about pMARS under Win95 (question 9), and the location of = a HTML version of the ICWS'94 draft (question 5). * New definition: decrement resistant * Modified the answer to question 1 * Changed error in P-space question (location 0 can be written to). * Added links to genetic algorithm resources. * Added a link to Kendall's page. * Added new Q&A (code formatting). ------------------------------------------------------------------------ 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 o= f 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 virtua= l computer called MARS (for Memory Array Redcode Simulator). The object of th= e game is to cause all processes of the opposing program to terminate, leavin= g 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= =2E 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 =3D (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 i= s 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 th= e 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= =2E 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 =A90-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 =A90-7167-2144-9 .D5173 199= 0 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. 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 and ftp://www.koth.org/corewar/documents/tutorial.2. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This an= d 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'9= 4 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/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 onl= y 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 9= 4 Warrior, Core Warrior is a newsletter about strategies and current standing= s 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.geocities.com/SiliconValley/Park/5427/warrior.htm 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.answer= s (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 (Stormking 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 bod= y 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 Stormking.Com list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@stormking.com. You can send mail to corewar-l@stormking.com to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (tuc@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 Stormking. [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 point= s 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 ha= s 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, KotH= s 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 overlappin= g 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 divide= d up among the sites. The way you submit warriors to both KotHs is pretty muc= h 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 tha= t 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 I= nstr. Size Size Processes Distance Fought = Set Tie Length Pizza's ICWS '94 Draft Hill Ex= tended (Accessed with 25 8000 8000 80000 100 100 200 IC= WS '94 ";redcode-94") Dr= aft Pizza's Beginner's Hill Ex= tended (Accessed with 25 8000 8000 80000 100 100 200 IC= WS '94 ";redcode-b") Dr= aft Pizza's Experimental Ex= tended (Small) Hill 25 800 800 8000 20 20 200 IC= WS '94 (Accessed with Dr= aft ";redcode-x") Pizza's Limited Process (LP) Ex= tended Hill (Accessed 25 8000 8 80000 200 200 200 IC= WS '94 with Dr= aft ";redcode-lp") Stormking's ICWS '88 Standard Hill 20 8000 8000 80000 100 100 250 IC= WS '88 (Accessed with ";redcode") Stormking's ICWS '94 Experimental Ex= tended (Big) Hill 20 55440 55440 500000 200 200 250 IC= WS '94 (Accessed with Dr= aft ";redcode-94x") Stormking's ICWS '94 Draft Multi-Warrior Ex= tended Hill (Accessed 10 8000 8000 80000 100 100 200 IC= WS '94 with Dr= aft ";redcode-94m") Notes: * 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 assemble= d 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 Cor= e 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 o= r 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, fo= r 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 tha= n 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 memor= y 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 o= f 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 p= ointer 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 nothin= g 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 locatio= ns seq start+400*s1+200, start+400*s1+300 ;check two locatio= ns 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 nothin= g 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 cop= y 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= =2E 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: IMPSIZE EQU 2667 example spl 1 ; extend by adding more spl = 1's spl 1 djn.a @imp, #0 ; jmp @ a series of pointers dat #0, imp+(3*IMPSIZE) dat #0, imp+(2*IMPSIZE) dat #0, imp+(1*IMPSIZE) dat #0, imp+(0*IMPSIZE) imp mov.i #0, IMPSIZE [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) The rec.games.corewar FAQ is Copyright =A9 1998 and maintained by Anton Marsden (amarsden@mcs.vuw.ac.nz). ------------------------------------------------------------------------ From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: Alladin's Cave Date: 1998/09/01 Message-ID: #1/1 Greetings... What happened to Alladin's Cave? It was still on the hill as listed in Core Warrior 66, but not 67, and its not listed as being pushed off. What was its age on leaving the hill? Cheers, John From: Richard Rognlie Subject: Re: Alternatives Date: 1998/09/01 Message-ID: <35EC0916.36972F93@gamerz.net>#1/1 Ross Ryles wrote: > > Does anyone know the address's of any games similar to C++ Robots and > Robot Battle? > I know this isn't stirctly relevant to this group but it's the closest > that I could find. http://www.gamerz.net/c++robots/ or c++robots@gamerz.net with 'help' (sans quotes) as the subject -- / \__ | Richard Rognlie / Webmaster Pro Tem Ad Nauseum \__/ \ | E-Mail: rrognlie@gamerz.net | Erols Internet / \__/ | URL: http://www.gamerz.net/rrognlie/ | an RCN company \__/ | Join the fight against SPAM! http://www.cauce.org From: Ross Ryles Subject: Alternatives Date: 1998/09/01 Message-ID: <35EBFBA8.EB441A99@csi.com>#1/1 Does anyone know the address's of any games similar to C++ Robots and Robot Battle? I know this isn't stirctly relevant to this group but it's the closest that I could find. Thanx in advance, Ross From: cgbean@alaska.net Subject: Re: multiwarrior Date: 1998/09/01 Message-ID: <35EB27D0.DB2@alaska.net>#1/1 jwilkinson@mail.utexas.edu wrote: > > Heh. Well the S==1 scoring is in place on the Multiwarrior hill. Man... :) > Dunno about this... I have my doubts it's gonna be better than the old way... > but it can't really be worse, can it? Heh heh. 0's all around.... -WFB From: cgbean@alaska.net Subject: Re: frustrated newbie needs very simplified help Date: 1998/09/01 Message-ID: <35EB2736.6410@alaska.net>#1/1 > i've tried the two guides at koth.org, and I still don't get it. > > where did everyone else get their start? i'm interested in becoming a > proficient warrior-writer, but I need some serious help first. > > Someone please help! > > Locations of easy-to-understand FAQ's would be appreciated. Well, I hate to tell ya, but the guides at KotH ARE the easiest to understand. Now, of course it's going to be a little difficult, more so if you don't work with advanced programming concepts, Assembly, etc., (like me), but it is still possible. How long have you been studying? It takes awhile. Bit by bit, some things will start to make sense. Don't be frustarated if warriors don't work as well as you would want them to, my first was something like- add #4,4 mov 3,@3 mov 0,1 jmp -3 dat #0,#0 which didn't work to well (don't worry if that doesn't make sense...it didn't to me either. I just pasted together two warriors). I don't know about the rest, but I started by reading everything I could get my hands on, printing some of it out, and taking it with me everywhere. I started to get the general idea after a weekend, but still couldn't write anything that would work (does anyone remember loserdude?). Then, I asked lots of annoying questions and posted more attachements then people usually would in a year...=). My best advice would to just stick with it. It'll make sense eventually, and when it does, you'll defenitely find out that it was worth it. Hope I didn't make things worse....ciao. -WFB From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: Neverland Date: 1998/09/02 Message-ID: #1/1 Here's a cute little warrior, which unfortunately scores badly :-( It is a b-scanner with a Blur-like attack, and it mutates after two self-scans from a spl carpet into a dat carpet. I can't see how to improve it without making it longer, so I'll publish it as is... ;redcode-b quiet ;name Neverland ;author John Metcalf ;strategy Carpet-bombing mini-scanner (6 instructions) ;strategy 128.0 Wilkies ;assert CORESIZE==8000 step equ 4956 r: mov.b @loop, r-1 loop:add #step, p mov @bomb-1, >r-1 p: jmz loop, }step-1 jmp r, }1 bomb:spl #1, <0 end r From: Kroom Subject: Re: Alternatives Date: 1998/09/02 Message-ID: <19980902081739.18745.rocketmail@web1.rocketmail.com>#1/1 ---Ross Ryles wrote: > > Does anyone know the address's of any games similar to C++ Robots and > Robot Battle? > I know this isn't stirctly relevant to this group but it's the closest > that I could find. > Thanx in advance, > > Ross Try PC-Robots. This is THE game of robots. Your program in whatever language you prefer, battle with up to 19 others, various maps, including labyriths powerups and traps. multiple robot configurations. Here's an URL to a place where you can get it ( And a load of similar games, including C++ Robots ): http://zeus.informatik.uni-frankfurt.de/~hbecker/pcroth.html Have fun == - Kroom Webhome: http://kroom.home.ml.org 'With a rubber duck, one's never alone.' -- Douglas Adams _________________________________________________________ DO YOU YAHOO!? Get your free @yahoo.com address at http://mail.yahoo.com From: M Joonas Pihlaja Subject: Fwd: "Pizzas Future" Date: 1998/09/02 Message-ID: #1/1 Earlier this year there was some discussion and wonderment about why Pizza's hills were down once in a while. No one seemed to know exactly what has been going on there, but I think that this message from the past will clear that up. Many thanks to Pizza and Stormking for providing a great constructive outlet for our aggressions. :) As a side note, I really wish I hadn't been so cheap in back in 95, refusing to get an internet connection... I wouldn't have missed such an active year of Corewar. Joonas > From: sd@ecst.csuchico.edu (Gubznf U. Qnivrf) > Newsgroups: rec.games.corewar > Subject: The Future of Pizza > Date: 27 Nov 1995 23:32:07 GMT > Organization: California State University, Chico > > As most of you know, I am the maintainer for the Pizza Hills. I've > been gone recently (Thanksgiving et. al.), and I have finally returned. > Reading the recent messages posted here, I see there are a few people > who want to move one of my hills to StormKing. Let me start by explaining > why Pizza is sometimes so slow. Currently the Pizza Hills are running > on the same machine used for all of CSU Chico's WWW traffic. Generally > the web doesn't require much CPU time, but CSU Chico also allows students > to put up their own web pages, including cgi scripts. Now and then a > student's script will have a bug and get hung, and start taking a lot of > CPU time, so the hills slow down. Sometimes it takes a day or more to > realize what is happening, and by then there could be 20 or more warriors > waiting to run. Currently I have made the hill scripts "less nice" to > compensate for the runaway scripts, so we shouldn't be quite so slow any > more. [snip] > > Thos From: qute@fido.dk (Anders Rosendal) Subject: Re: multiwarrior Date: 1998/09/03 Message-ID: #1/1 Ello there mate! Thursday September 03 1998 11:57, Tuc wrote to Anders Rosendal: JM>>> I imagine it may still be difficult to break out of the current JM>>> deadlock though :-( AR>> Of course. You can't beat 20 imping, papering monsters :-) AR>> No way. T> So should the hill be cleared and started again, My thought: Lets wait and see if it can be broken, otherwise restart it. Nobody likes the deadlock. (Am I right?) T> or would everyone just submit the same warriors? Why should they? Besides, a tieing warrior cannot get ON the hill if there isn't one or more tieing warrior(s). Danger: If there's a warrior on the hill that scores zero, a tieing warrior can get on. Solution? Put 20 dwarfs on the hill. T> Is there something to do to solve this, or is the hill pretty much T> dead? I think it can live, maybe I should try my luck on the hill, I once did allright on the beginner-hill, but soon I couldn't stay on the top unless I used code from the "pro"'s. Hmmmm, it seems a have a serious problem with loosing. Greetings from lovely Denmark Anders Rosendal. From: Philip Kendall Subject: Re: multiwarrior Date: 1998/09/03 Message-ID: #1/1 In article <35EEBC5C.7B24268@ttsg.com>, Tuc wrote [Multiwarrior hill now running using -= 'S==1'] >So should the hill be cleared and started again, or would everyone >just submit the same warriors? > >Is there something to do to solve this, or is the hill pretty much >dead? If the hill were to be cleared, then loaded with 10 copies of (say) He Scans Alone, would that give a good point to re-start the Hill? Some very quick tests around show that this gives a lot of 1 warrior only wins, which is what we want. A problem might occur if we get a defensive warrior which HSA can't kill: then we'll end up with everything on the Hill scoring 0 again. However, if the scripts are set up so that in this situation, the warrior which has just challenged the Hill doesn't get on, we're still OK. Phil -- / Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) \ \ http://www.geocities.com/SiliconValley/Park/5427/corewar.htm / From: David Matthew Moore Subject: Re: multiwarrior Date: 1998/09/03 Message-ID: <6sn2f4$ri1$1@msunews.cl.msu.edu>#1/1 John K. Lewis wrote: : I think a limited process hill should be instituted in this hills : place. Do you mean a multi-warrior limited process hill? Would there be any different strategies that are not on the regular LP hill? : It's pretty clear we've gotten to the end of the road as : far as this hill is concerned. Perhaps not. Let's think about it. How can we break the deadlock of Die Hards? Someone has to submit a scissors program that could defeat all 10 papers at least 1 time. If you can get just ONE victory, then hill domination is easy (do you see why?). Scissors would live again. Now here's the amusing part. A good imp/stone can dominate if the rest of the hill is scissors. However, two imp/stones are unviable, since they don't usually kill each other. Even if they strike with q^2, they are very vulnerable during the quick-bombing phase. So which of the normal warrior types could exist on such a hill? That requires some statistical analysis and/or simulation which I simply don't have time for right now. Volunteers? By the way, that hill must not use PIN (do you see why)? David. From: M Joonas Pihlaja Subject: IMT1 warriors Date: 1998/09/03 Message-ID: #1/1 Ilmari, I can't reach you via mail [1], so I hope you get this: Could you please post/put up on your page the sources to the entries of your mini tournament? I seem to have lost my those sources in the rush switching back to my (new and improved) Amiga. And thanks for the tournament, I really enjoyed it. I later realised that I was too strict in my punishing moods (didn't budge when the opponent tried to console me), so top spot evaded me. Or was it I who evaded top spot? ;) Congratulations to Philip Kendall for the win, and Robert Macrae for 2nd. Sorry for the late posting, I have no excuse. Joonas [1] Something about "service unavailable", and later on "invalid character 39 in map lookup...". I have no idea what the mail system is trying to tell me, so it may be a local problem. I tried mailing iltzu@sci.fi.if it makes a difference. From: "John K. Lewis" Subject: Re: multiwarrior Date: 1998/09/03 Message-ID: #1/1 I think a limited process hill should be instituted in this hills place. It's pretty clear we've gotten to the end of the road as far as this hill is concerned. John Lewis Tuc wrote: : So should the hill be cleared and started again, or would everyone : just submit the same warriors? : Is there something to do to solve this, or is the hill pretty much : dead? : Thanks, Tuc : Anders Rosendal wrote: :> :> Ello there mate! :> :> Tuesday September 01 1998 23:12, John Metcalf wrote to All: :> :> C>> Heh heh. 0's all around.... -WFB :> JM> I imagine it may still be difficult to break out of the current :> JM> deadlock though :-( :> :> Of course. You can't beat 20 imping, papering monsters :-) :> No way. :> :> Greetings from lovely Denmark :> Anders Rosendal. < john k. lewis > < jklewis@umich.edu > < web services > < phone pending > From: Tuc Subject: Re: multiwarrior Date: 1998/09/03 Message-ID: <35EEBC5C.7B24268@ttsg.com>#1/1 So should the hill be cleared and started again, or would everyone just submit the same warriors? Is there something to do to solve this, or is the hill pretty much dead? Thanks, Tuc Anders Rosendal wrote: > > Ello there mate! > > Tuesday September 01 1998 23:12, John Metcalf wrote to All: > > C>> Heh heh. 0's all around.... -WFB > JM> I imagine it may still be difficult to break out of the current > JM> deadlock though :-( > > Of course. You can't beat 20 imping, papering monsters :-) > No way. > > Greetings from lovely Denmark > Anders Rosendal. From: qute@fido.dk (Anders Rosendal) Subject: Re: multiwarrior Date: 1998/09/03 Message-ID: #1/1 Ello there mate! Tuesday September 01 1998 23:12, John Metcalf wrote to All: C>> Heh heh. 0's all around.... -WFB JM> I imagine it may still be difficult to break out of the current JM> deadlock though :-( Of course. You can't beat 20 imping, papering monsters :-) No way. Greetings from lovely Denmark Anders Rosendal. From: Planar Subject: Re: Olympic report 1998-08-31 Date: 1998/09/03 Message-ID: <6slogb$j7c@news-rocq.inria.fr>#1/1 >From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) >Are PINs allowed on Mount Olympus? ;-) Do PINs still exist ? We need a pmars option to ignore them. -- Planar Remove ".gov" from my address. From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: multiwarrior Date: 1998/09/03 Message-ID: #1/1 Greetings... JKL> I think a limited process hill should be instituted in this JKL> hills place. It's pretty clear we've gotten to the end JKL> of the road as far as this hill is concerned. Hmmm... If as Tuc suggested the hill was cleared and we started over, the papers wouldn't stand a chance. One couldn't kill, or even draw against everything. Bomb-dodgers wouldn't be much use either, since there is more than one enemy. Vampires _might_ be the best strategy ;-) Lets clear this hill and give it a chance. See what evolves and if its a waste of time, we can always try limited process. Cheers, John From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: Pmars option needed Date: 1998/09/03 Message-ID: #1/1 JM> Are PINs allowed on Mount Olympus? ;-) P> Do PINs still exist ? We need a pmars option to ignore them. I've always wanted the option in pMars to have a progress indicator for players who have slower computers. E.g. a 200 round paper vs. paper battle can take 5 minutes on my machine. A nice little bar showing percentage completed would be helpful. Regards, John From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: multiwarrior Date: 1998/09/04 Message-ID: #1/1 Anders Rosendal wrote: AR> My thought: Lets wait and see if it can be broken, otherwise AR> restart it. Nobody likes the deadlock. (Am I right?) Sounds a good idea... I've sent a few warriors already, just a scanner, incendiary and vamp. Doubt they'll get on though. I've got a couple of average ideas which I'll try writing on Sunday... Cheers, John From: Paul-V Khuong Subject: Re: Multiwarrior Hill : Challenge Date: 1998/09/04 Message-ID: <19980904223008.23436.rocketmail@send1d.yahoomail.com>#1/1 > Before restarting or whatever, why don't we challenge the hill: > > 1. Flush all current programs/warriors with new programs. No, let's do it like a challenge: Who's the one(one person or group) who'll score some points??? > 2. One submission per participants (attn: Kline :) ) > > Why do you think? Then if success to flush all, we can proceed with the > reengineering proposals to break the deadlock and to make it fun. How about: if you score no points, get outta here!! Or, no SPL. xx, yy MOV.I -1, -1 You'll have no silk, which means: no paper, except if: You go to the old way, or try something else to do papers. Personally, i prefer to have the no SPL-MOV combination rule. == Vive le Qu�bec libre... d� souverainistes!!! _________________________________________________________ DO YOU YAHOO!? Get your free @yahoo.com address at http://mail.yahoo.com From: "John K. Lewis" Subject: Re: multiwarrior Date: 1998/09/04 Message-ID: #1/1 > ./pmars.server harmony diehard impfinity impfinity impfinity impish impfinity impfinity impfinity impfinity -r 1000 -b Harmony by P.Kline scores 1705 Results: 0 8 0 3 5 6 7 22 38 30 881 Die Hard by P.Kline scores 11949 Results: 0 6 8 27 45 95 194 245 222 30 128 Impfinity v4g1 by Planar scores 10925 Results: 0 2 3 15 34 91 190 243 220 30 172 Impfinity v4g1 by Planar scores 9964 Results: 0 0 2 10 34 82 164 228 218 30 232 Impfinity v4g1 by Planar scores 10262 Results: 0 0 1 19 23 80 175 243 220 30 209 Impish v0.2 by Ian Oversby scores 8960 Results: 0 4 5 6 18 61 138 216 213 30 309 Impfinity v4g1 by Planar scores 10957 Results: 0 3 4 15 32 88 185 250 222 30 171 Impfinity v4g1 by Planar scores 10634 Results: 0 0 3 11 25 88 186 256 222 30 179 Impfinity v4g1 by Planar scores 10656 Results: 0 0 2 18 30 82 183 252 220 30 183 Impfinity v4g1 by Planar scores 10941 Results: 0 3 5 16 34 89 181 245 221 30 176 Not conclusive, but very telling. < john k. lewis > < jklewis@umich.edu > < web services > < phone pending > From: I'm Gambit Subject: Multiwarrior Hill : Challenge Date: 1998/09/04 Message-ID: <35EF98BC.51E63258@tm.net.my>#1/1 Before restarting or whatever, why don't we challenge the hill: 1. Flush all current programs/warriors with new programs. 2. One submission per participants (attn: Kline :) ) Why do you think? Then if success to flush all, we can proceed with the reengineering proposals to break the deadlock and to make it fun. Personally, I found it is relatively easy to get on the CURRENT multiwarrior hill because of its 'no brain' warriors. All you have to do is stay alive (eat, sleep, eat, sleep) and don't bother other warriors. Zul Nadzri From: M Joonas Pihlaja Subject: What to call Joonas (was Re: multiwarrior) Date: 1998/09/04 Message-ID: #1/1 Heh, I'm still getting used to public forums... please have patience. I'll just nip this in the bud, before it gets out of hand. On Fri, 4 Sep 1998, M Joonas Pihlaja wrote: > Has Paul (may I call you Paul?) tried his multiwarrior tuned HSA? A Actually, that was supposed to read "(Mr. Kline, may I call you Paul?)", but you don't have to answer that. After reading five years worth of r.g.c. archives, I feel like I know all the the old timers personally... Hi there! Besides, unless anyone objects, I'll take the familiar approach. :) Joonas From: M Joonas Pihlaja Subject: Re: multiwarrior Date: 1998/09/04 Message-ID: #1/1 Has Paul (may I call you Paul?) tried his multiwarrior tuned HSA? A few wins could unlock the current state making it easier to nudge in some other warriors. What rather appeals to me is the idea of a "community effort" to break the deadlock. Something along the lines of cooperation a la NSFCWT cooperation round and IMT1. A public handshake and split wins procedure sort of thing, where the splitting of wins would be decided after all the paper has been mopped up. On the other hand, this may prove to be too difficult in the crowded core, so clearing the hill is simply much easier. Joonas P.S. If you ever find the need to refer to me, call me Joonas, or Martti. :) On Thu, 3 Sep 1998, Tuc wrote: > So should the hill be cleared and started again, or would everyone > just submit the same warriors? > > Is there something to do to solve this, or is the hill pretty much > dead? > > Thanks, Tuc From: Robert Macrae Subject: Re: multiwarrior Date: 1998/09/05 Message-ID: <35F15E3F.3759@dial.pipex.com>#1/1 John K. Lewis wrote: > It's pretty clear we've gotten to the end of the road as > far as this hill is concerned. No, we're just at the start. Unfortunately teh car needs a jump-start! -- Regards, Robert Macrae From: Robert Macrae Subject: Re: multiwarrior Date: 1998/09/05 Message-ID: <35F15DEC.1593@dial.pipex.com>#1/1 John K. Lewis wrote: > ./pmars.server harmony diehard impfinity impfinity impfinity > impish impfinity impfinity impfinity impfinity -r 1000 -b > Harmony by P.Kline scores 1705 > Results: 0 8 0 3 5 6 7 22 38 30 881 ... > Not conclusive, but very telling. Remarkable performance for Harmony; a further-tuned warrior must be capable of making it to sole #1 if a stock version can manage 0.8% dual wins. In fact I rather suspect this result illustrates a bug in PMARS. I have not managed to produce *any* sole winners in a multiwarrior contests, even with only aggressive warriors. If you run in debug mode, the rounds seem to end as soon as the third from last warrior dies, leaving two apparent winners not one? I am using the 286 executable under W95, but it may be general. Anyone else care to check? -- Regards, Robert Macrae From: iltzu@sci.fi (Ilmari Karonen) Subject: Re: Pmars option needed Date: 1998/09/05 Message-ID: <6sqtic$fjq$1@tron.sci.fi>#1/1 John Metcalf (John.Metcalf@p18.f94.chaos.camelot.co.uk) wrote: : P> Do PINs still exist ? We need a pmars option to ignore them. : I've always wanted the option in pMars to have a progress indicator : for players who have slower computers. E.g. a 200 round paper vs. : paper battle can take 5 minutes on my machine. A nice little bar : showing percentage completed would be helpful. If we're listing features for the next pmars version, I'd love an option -w to terminate a round when warriors are left. (Default being 0 if there's only one warrior to start with, otherwise 1.) Shouldn't be too hard to add, I suppose I might bother going through the source code and trying it myself. -- Ilmari Karonen (iltzu@sci.fi) http://www.sci.fi/~iltzu/ From: iltzu@sci.fi (Ilmari Karonen) Subject: IMT1 results and entries *finally* on the WWW! Date: 1998/09/06 Message-ID: <6stq8v$h5q$1@tron.sci.fi>#1/1 Ok, I finally got around to publishing the warriors, along with the results and some comments I had lying around. The URL is http://www.sci.fi/~iltzu/corewar/imt1/ And yes, I know there are broken links - the rest of the site is still unfinished. -- Ilmari Karonen (iltzu@sci.fi) http://www.sci.fi/~iltzu/ From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: multiwarrior Date: 1998/09/07 Message-ID: #1/1 The best I've done on the multi-warrior hill is to get down to 5 warriors in one round :-( I'll keep trying though... John From: Robert Macrae Subject: Multiwarrior Blues Date: 1998/09/07 Message-ID: <35F463F8.2AB8@dial.pipex.com> Getting onto the new multiwarrior hill was not meant to be easy... but it is going to be even harder than I thought. When I was investigating the idea of (S==1) scoring for the multiwarrior hill, I did some quick tests which suggested that against 5 defensive warriors it was quite easy to score a win. However I think I may have underestimated how much harder the problem becomes with 10. This is my train of thought so far. Any suggestions? ------------------------------------------------------------------ How do you get a win against 10 ultra-defensive warriors? -- Lets assume they are all DieHard-ish Silks because these are the toughest warriors to beat individually. (Of course a *mixture* of specialist Silks and specialist imps may be even worse:) => First thought is a HSA-like scanner to handle the replicator and the imp. But... HSA is only going to survive beyond 5000 cycles if it has stunned most of its opponents. Silks split very fast, so this is not easy... Just how hard is it for HSA to stun lots of opponents? -- If DH is left alone, after 1000 cycles it will have about 500 processes and after 5000 cycles, 2000 processes. To half-stun it within 5000 cycles you need to have over-written more than 50 processes inside 1000 cycles. The stunned processes grow roughly as follows: stunned unstunned 1000 50 450 1500 100 700 2300 200 1000 3500 400 1500 5400 800 2200 (so the replicator is only reduced to 60% speed -- limping, but hardly stunned!) This is very approximate, and ignores the effect of further carpets, but it explains why HSA does not kill even a single DH every time; DH will continue bombing and spreading even after several replicators have been carpetted. Each replicator starts with 8 processes, so to hit 50 processes means hitting between 1 and 6 times, depending on how quickly the hit is made. I will use a figure of 4 times because most hits come when there are most targets, late on. [Dangerous assumption?] => We have to hit most of our ten opponents at least 4 times within 1000 cycles to stand a reasonable chance. Is this practicable? -- In 1000 cycles a 0.8c scanner can scan 800 times. However, we also have to lay about 40 carpets at 0.66c, which takes maybe 600 cycles if we lay 10 SPLs to achieve 1 stun. This reduces the available scans to 320. For 40 hits, on average 40/320 = 1/8 of core must contain replicators *and* HSA must still be alive. => Very doubtfull. The HSA approach sounds pretty tough; a single HSA will not work unless one of my assumptions is way off. How about dual HSA? -- Many kills involve HSA being stunned first. With duals, the increase in stuns tends to outweigh the cases in which a quick kill is avoided. This made single HSAs more effective in the tournament anti-paper round. => Probably not. Ummm.... Coreclear? -- Well, it has to catch those imps somehow, *and* stun. It could have greater resistance to bombing than HSA (as smaller) but against linear overwrites this does not help very much... The real gain is that clears can be self-splitting giving some stun-resistance, so multiple clears offer a potential advantage, but probably offset by a longer wait till the first stun is made. => Multiple clears might work, but still sound implausible. Oneshot? => Same problems as the clears. It finds its *first* replicator as fast as HSA, but against the other 9 opponents there is little or no gain over a clear. Vampire? -- With 0.8c scanner launching fangs, we have much the same situation as for HSA. On the positive side, fangs can be thrown faster -- no time is taken to carpet the replicator. However, the stun is less effective. It is hard to make a pit which splits fast enough; something like SPL/SPL/SPL/JMP can have an _average_ split-rate nearly as good as a carpet, but the initial JMP of the fang (and the fact that the HSA carpet stretches backwards into the replicator) means that the stun starts only after a delay. There are few/no vampires on the '94 hill, which does not augur well. => Dubious. Vampiric Pit? Say we can construct a vampiric pit which splits fast enough to stun *and* attacks itself; how much does this help? -- In those first 1000 cycles we aim to capture 10% of the enemy processes. With 10 enemies, and using half the cycles for splitting, this would add 50% to our biting rate. This analysis is pessimistic, however, because a few very quick bites could have a large impact. Biting the launch code could capture 100% of the processes from 1 or even 2 warriors, doubling or trebling our attack rate. => Sounds constructive. ----------------------------------------------------------------- These arguments suggest that the problem is not easy to solve. However, I would love to be proved wrong, and there are lots of holes in this analysis. -- I have guessed at typical cases, where in fact we just need a 1/100 event to come through (or 1/1000 if you submit 10 times;-) -- Several warriors are probably pure-ish imps, which do not have to be stunned so fast. -- My estimates for the required hit rates may be pessimistic. Anyone care to improve on any of these areas? If you prefer to go for gold direct, I think the magic formula -- if such exists -- looks something like this. 1) Run a fast, short scan (probably a QS, possibly a short 0.8c scan like Bloodhound's) to find one or more enemies. 2) Bite them with several fangs, all pointing into a slow-splitting pit which itself lays a SPL carpet. This pit will be useless at stunning Silks; it is just aimed at exploiting quick hits against launch code, which is why it is not worth extending stage 1) for very long. 3) Run HSA and hope. You only have to hit lucky once... -- Regards, Robert Macrae From: qute@fido.dk (Anders Rosendal) Subject: Hello Date: 1998/09/07 Message-ID: #1/1 Ello there mate! There's a problem that's eluded for some time now. If I want to have 30 process's doing doing something like this: line 1: 1 4 7 line 2: 2 5 8 line 3: 3 6 9 The numbers on the right are the process's, numbered so a process with a lower number executes first. If there is a formula like convert to binary and substract one, please write it :-) Greetings from lovely Denmark Anders Rosendal. From: guenzel.p1@usa.net (Bjoern Guenzel) Subject: Re: multiwarrior Date: 1998/09/07 Message-ID: <35f3ebad.11301560@news.lrz-muenchen.de>#1/1 On 3 Sep 1998 21:41:56 GMT, David Matthew Moore wrote: >John K. Lewis wrote: >: I think a limited process hill should be instituted in this hills >: place. > >Do you mean a multi-warrior limited process hill? >Would there be any different strategies >that are not on the regular LP hill? > [...] I have always been waiting for a multi-warrior process hill (as I started playing on a 1process multi-warrior hill :-) I think there would be new strategies. Not sure about 8 process-hills, but eg on 1-process multiwarrior hills, vamping could become fun again :-) Bjoern From: Richard Rognlie Subject: C++Robots Status: 1998/09/07 07:45 Date: 1998/09/07 Message-ID: <35F3C7C3.27973ADA@gamerz.net>#1/1 Program Name Score W / L / T Age Author ================ ===== =========== === ===================================== 1 katty 273 91/ 9/ 0 25 cfrim@ac.tuiasi.ro (catalin ifrim) 2 ttr3 255 85/ 15/ 0 24 traber@cosinet.de (Thomas Traber) 3 tommy 246 82/ 18/ 0 49 zcewj@cnfd.pgh.wec.com (Elliot W. Jac 4 trex 189 63/ 37/ 0 8 jerome.dumonteil@capway.com (Jerome D 5 ssm4 183 61/ 39/ 0 207 enpch@bath.ac.uk (C Harrison) 6 bedtime 174 58/ 42/ 0 2 btb@micron.net (TheRooster) 7 shooter 168 56/ 44/ 0 239 itdcjr@mail1.hants.gov.uk (Justin Row 8 kiilbot1 166 55/ 44/ 1 178 bob2@goplay.com (bob2) 9 mariner 165 55/ 45/ 0 270 zcpjm@cnfd.pgh.wec.com (Paul J. Melko 10 chaos 162 54/ 46/ 0 175 agondare@hotmail.com (alex gondarenko 11 knownaim00 150 50/ 50/ 0 92 c.d.wright@solipsys.compulink.co.uk ( 12 krom 144 48/ 52/ 0 147 tdavis@gate.net (Thomas E. Davis) 13 prio.2 135 45/ 55/ 0 135 oliver@jowett.manawatu.planet.co.nz ( 14 doubleshooter 110 34/ 58/ 8 159 mario.deweerd@ibm.net (Mario De Weerd 15 rumbler 105 35/ 65/ 0 30 smith.paul.pn@bhp.com.au (Smith, Paul 16 raystonn 105 33/ 61/ 6 114 svincent@a.crl.com (Samuel Vincent) 17 sniper6 104 33/ 62/ 5 7 therooster@bigfoot.com (TheRooster) 18 fodder0 99 33/ 67/ 0 69 christopher.meehan@reuters.com (C_MEE 18 troll 99 33/ 67/ 0 58 nxcholer@bechtel.com (Cholerton, Nik) 18 rosie 99 33/ 67/ 0 1 andyg54321@aol.com (AndyG54321@aol.co For information on C++Robots, visit http://www.gamerz.net/c++robots/ or send a mail message to c++robots@gamerz.net with 'help' (minus the quotes) as the SUBJECT line. -- / \__ | Richard Rognlie / Webmaster Pro Tem Ad Nauseum \__/ \ | E-Mail: rrognlie@gamerz.net | Erols Internet / \__/ | URL: http://www.gamerz.net/rrognlie/ | an RCN company \__/ | Join the fight against SPAM! http://www.cauce.org From: KOTH Subject: KOTH.ORG: Status - ICWS Experimental 94 09/07/98 Date: 1998/09/07 Message-ID: <199809070400.AAA12833@midgaard.ttsg.com>#1/1 Weekly Status on 09/07/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Thu Sep 3 14:36:44 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 39/ 12/ 50 Venom v0.2b Christian Schmidt 165 16 2 32/ 5/ 63 Evol Cap 4 X John Wilkinson 160 63 3 34/ 14/ 52 Rosebud Beppe 154 42 4 26/ 2/ 72 Evolve X v4.0 John Wilkinson 149 11 5 41/ 35/ 24 Dr. Gate X Franz 148 34 6 37/ 34/ 29 BigBoy Robert Macrae 141 88 7 39/ 38/ 23 Stepping Stone 94x Kurt Franke 139 49 8 42/ 46/ 12 S.E.T.I. 4-X JKW 139 64 9 38/ 37/ 25 13 Christian Schmidt 138 1 10 36/ 37/ 28 Dr. Recover Franz 135 33 11 34/ 33/ 33 Lithium X 8 John K Wilkinson 135 54 12 38/ 42/ 20 Pagan John K W 134 48 13 38/ 43/ 20 Tsunami v0.1 Ian Oversby 132 41 14 25/ 19/ 56 Purple v0.1 Christian Schmidt 132 15 15 38/ 44/ 19 Memories Beppe Bezzi 132 70 16 23/ 14/ 63 Sphere v0.2 Christian Schmidt 131 5 17 39/ 46/ 15 BiShot Christian Schmidt 131 2 18 31/ 31/ 38 Falcon v0.3 X Ian Oversby 130 36 19 41/ 51/ 8 HSA Copy 55440 Robert Macrae 130 31 20 32/ 44/ 24 Bob the ImpStoneer Sean McDonald 120 9 21 2/ 68/ 30 AzzoPazzo Franco Solerio 36 0 From: KOTH Subject: KOTH.ORG: Status - MultiWarrior 94 09/07/98 Date: 1998/09/07 Message-ID: <199809070400.AAA12829@midgaard.ttsg.com>#1/1 Weekly Status on 09/07/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Sep 6 23:48:27 EDT 1998 # Name Author Score Age 1 Failure John Metcalf 0 9 2 mTest P. Kline 0 10 3 Aulder Man Ian Oversby 0 49 4 U-lat v3.8 Zul Nadzri 0 27 5 paper test Ken Espiritu 0 1 6 CyberBunny Compudemon 0 14 7 aTest 4 P. Kline 0 4 8 Time to send in the imps Robert Hale 0 20 9 aTest 4 P. Kline 0 5 10 Fleas 2 Mike M. 0 2 11 SSD Clear David Moore 0 0 From: KOTH Subject: KOTH.ORG: Status - Standard 09/07/98 Date: 1998/09/07 Message-ID: <199809070400.AAA12824@midgaard.ttsg.com>#1/1 Weekly Status on 09/07/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Wed Sep 2 03:48:56 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 36/ 19/ 44 Freight Train David Moore 153 17 2 34/ 20/ 45 Guardian Ian Oversby 148 16 3 44/ 40/ 16 Foggy Swamp Beppe Bezzi 147 13 4 43/ 41/ 16 Blur '88 Anton Marsden 144 54 5 41/ 40/ 19 Stasis David Moore 142 124 6 39/ 37/ 24 Tangle Trap David Moore 141 90 7 40/ 40/ 19 Beholder's Eye V1.7 W. Mintardjo 140 292 8 42/ 43/ 15 Iron Gate Wayne Sheppard 140 342 9 38/ 37/ 24 PacMan David Moore 140 46 10 37/ 37/ 26 Kitchen Sink Robert Macrae 138 15 11 36/ 35/ 29 Leapfrog David Moore 137 45 12 41/ 46/ 13 Blurstone '88 M. J. Pihlaja 136 11 13 29/ 21/ 50 Evoltmp 88 John K W 136 67 14 22/ 9/ 68 Trident^2 '88 John K W 135 40 15 27/ 20/ 53 Test I Ian Oversby 134 73 16 38/ 43/ 19 Gisela 8623 Andrzej Maciejczak 134 10 17 29/ 25/ 46 CAPS KEY IS STUCK AGAIN Steven Morrell 133 214 18 25/ 17/ 58 EV Paper John K Wilkinson 133 30 19 28/ 24/ 48 Simple '88 Ian Oversby 132 103 20 31/ 33/ 36 two pass demo dm 130 1 21 1/ 75/ 24 Hunter Pieter Audenaert 26 0 From: KOTH Subject: KOTH.ORG: Status - 94 No Pspace 09/07/98 Date: 1998/09/07 Message-ID: <199809070400.AAA12839@midgaard.ttsg.com>#1/1 Weekly Status on 09/07/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *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 : Fri Sep 4 14:27:25 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 41/ 40/ 19 The Machine Anton Marsden 142 59 2 43/ 45/ 12 Red Carpet David Moore 140 11 3 34/ 29/ 38 Fixed Ken Espiritu 139 53 4 33/ 28/ 39 The Stormbringer Christian Schmidt 137 4 5 32/ 28/ 40 Baseline Plus Ken Espiritu 136 51 6 31/ 27/ 42 Vain Ian Oversby 135 70 7 23/ 12/ 65 The Fugitive David Moore 134 72 8 31/ 29/ 40 Newt Ian Oversby 133 71 9 33/ 34/ 33 Digital Dragon Christian Schmidt 132 1 10 28/ 24/ 47 Pulp v0.4 Ian Oversby 132 69 11 31/ 31/ 38 Head or Tail Christian Schmidt 132 41 12 24/ 18/ 59 Three Men in a Boat M Joonas Pihlaja 130 3 13 38/ 46/ 17 Blurstone M. J. Pihlaja 130 15 14 33/ 38/ 29 Sphere Christian Schmidt 129 20 15 28/ 28/ 44 Faces 0.1 Csaba Biro 129 21 16 30/ 32/ 37 Shadow Christian Schmidt 128 7 17 34/ 41/ 25 Floody River P.Kline 128 19 18 27/ 27/ 45 Freight Train v0.2 David Moore 128 34 19 40/ 52/ 8 HeScans P.Kline 127 18 20 27/ 28/ 45 Gemini Dream John K Wilkinson 127 76 21 29/ 34/ 37 torch P.Kline 124 2 From: qute@fido.dk (Anders Rosendal) Subject: Re: Hello Date: 1998/09/08 Message-ID: #1/1 Ello there mate! Tuesday September 08 1998 13:04, Ilmari Karonen wrote to Anders Rosendal: IK> : There's a problem that's eluded for some time now. If I want to have 30 IK> : process's doing doing something like this: IK> : line 1: 1 4 7 IK> : line 2: 2 5 8 IK> : line 3: 3 6 9 IK> First build ten parallel processes, then split each of them into three IK> consecutive ones: IK> SPL 1 IK> MOV.I -1, 0 IK> MOV.I -1, 0 IK> SPL 1 IK> SPL 4 IK> SPL 1 IK> JMP line2 IK> JMP line3 IK> JMP line1 Doesn't that do something like this? line 1: 1 2 3 line 2: 4 5 6 line 3: 7 8 9 I want this: line 1: 1 4 7 line 2: 2 5 8 line 3: 3 6 9 My problem is to "split" the process's so that the execute on line 1-2-3 and not 1-1-1-1-1-1-1-1-1 and then 2-2-2-2-2-2-2-2-2. Greetings from lovely Denmark Anders Rosendal. From: Philip Kendall Subject: Re: multiwarrior Date: 1998/09/08 Message-ID: #1/1 In article <35F15DEC.1593@dial.pipex.com>, Robert Macrae wrote >John K. Lewis wrote: > >In fact I rather suspect this result illustrates a bug in PMARS. I have >not managed to produce *any* sole winners in a multiwarrior contests, >even with only aggressive warriors. If you run in debug mode, the rounds >seem to end as soon as the third from last warrior dies, leaving two >apparent winners not one? I am using the 286 executable under W95, but >it may be general. pmars -b -r 10 -= 'S==1' lib/hsa.red lib/hsa.red lib/hsa.red lib/hsa.red lib/hsa.red lib/hsa.red lib/hsa.red lib/hsa.red lib/hsa.red lib/hsa.red He Scans Alone by P.Kline scores 0 Results: 0 0 0 0 0 0 0 0 0 0 10 He Scans Alone by P.Kline scores 3 Results: 3 0 0 0 0 0 0 0 0 0 7 He Scans Alone by P.Kline scores 1 Results: 1 0 0 0 0 0 0 0 0 0 9 He Scans Alone by P.Kline scores 0 Results: 0 0 0 0 0 0 0 0 0 0 10 He Scans Alone by P.Kline scores 1 Results: 1 0 0 0 0 0 0 0 0 0 9 He Scans Alone by P.Kline scores 1 Results: 1 0 0 0 0 0 0 0 0 0 9 He Scans Alone by P.Kline scores 1 Results: 1 0 0 0 0 0 0 0 0 0 9 He Scans Alone by P.Kline scores 0 Results: 0 0 0 0 0 0 0 0 0 0 10 He Scans Alone by P.Kline scores 2 Results: 2 0 0 0 0 0 0 0 0 0 8 He Scans Alone by P.Kline scores 1 Results: 1 0 0 0 0 0 0 0 0 0 9 That's the standard (386) pMARS executable. Phil -- / Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) \ \ http://www.geocities.com/SiliconValley/Park/5427/corewar.htm / From: Philip Kendall Subject: Re: Hello Date: 1998/09/08 Message-ID: #1/1 In article , Anders Rosendal wrote > >There's a problem that's eluded for some time now. If I want to have 30 >process's doing doing something like this: > >line 1: 1 4 7 >line 2: 2 5 8 >line 3: 3 6 9 > >The numbers on the right are the process's, numbered so a process with a lower >number executes first. Two strategies immediately spring to mind: firstly, a tree (very similar to that for a binary-launched imp). However, for 30 processes, this needs 30 jmps+15 spls+7 spls and a nop+4 spls+2 spls+1 spl=60 instructions. Probably too big for what you want! (*) A table-based tactic is better: start spl.a 1 ; There's probably a better way of spl.a 1 ; getting 15 processes in parallel spl.a 1 ; (see CW 69) mov.i -1,0 spl.a 2 jmp.a *table,}0 jmp.a @table,}0 table dummy for 5 dat.f line1,line2 dat.f line3,line1 dat.f line2,line3 rof line1 jmp 0 line2 jmp 0 line3 jmp 0 (*) No: that's not true: because some bits of the tree look like other bits of the tree, you can get it a lot smaller. Without slowing it down, I can get it down to 25 lines, but a 20-line version is possible, albeit a taking 65 cycles rather than 59: o01 spl n02 n01 spl m02 m01 spl l02 l01 spl k02 k01 spl j02 j01 djn.b line1,#11 dat.f 0,0 ; *** j02 djn.b line2,#6 dat.f 0,0 ; *** k02 spl j01 j03 jmp line3 l02 spl k01 k03 spl j03 j05 jmp line2 m02 spl l01 l03 spl k03 k05 spl j01 j09 jmp line3 n02 spl m01 m03 spl l03 l05 spl k01 k09 spl j03 j17 jmp line2 line1 jmp 0 line2 jmp 0 line3 jmp 0 The two lines marked *** are needed to kill off excess processes which are lying around, but in a real warrior you would probably do something more useful with the processes, so I haven't counted them in the length of 20. (Note that j02 and the instruction following it can be anywhere in your program). Phil -- / Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) \ \ http://www.geocities.com/SiliconValley/Park/5427/corewar.htm / From: M Joonas Pihlaja Subject: Re: VENUS Date: 1998/09/08 Message-ID: #1/1 On Tue, 8 Sep 1998, Bjoern Guenzel wrote: > I have just read in an artificial life book that a norwegian called > Rasmussen did some alife experiments based on Core War, called VENUS. > Probably a long time ago, but does anybody have better information on > that? Every once in a while this comes up. At least the comp.ai.genetic FAQ has something on it. Let me see... here we go. From the comp.ai.genetic FAQ: ######## begin excerpt VENUS Steen Rasmussen's (et al.) VENUS I+II "coreworlds" as described in [ALIFEII] and [LEVY92], are inspired by A.K. Dewdney's well-known article (Dewdney 1984). Dewdney proposed a game called "Core Wars", in which hackers create computer programs that battle for control of a computer's "core" memory (Strack 93). Since computer programs are just patterns of information, a successful program in core wars is one that replicates its pattern within the memory, so that eventually most of the memory contains its pattern rather than that of the competing program. VENUS is a modification of Core Wars in which the Computer programs can mutate, thus the pseudo assembler code creatures of VENUS evolve steadily. Furthermore each memory location is endowed with "resources" which, like sunshine are added at a steady state. A program must have sufficient resources in the regions of memory it occupies in order to execute. The input of resources determines whether the VENUS ecosystem is a "jungle" or a "desert." In jungle ENVIRONMENTs, Rasmussen et al. observe the spontaneous emergence of primitive "copy/split" organisms starting from (structured) random initial conditions. --- [ALIFEII], p.821 Dewdney, A.K. (1984) "Computer Recreations: In the Game called Core War Hostile Programs Engage in a Battle of Bits", Sci. Amer. 250(5), 14-22. Farmer & Belin (1992) "Artificial Life: The Coming Evolution", [ALIFEII], 815-840. Rasmussen, et al. (1990) "The Coreworld: Emergence and Evolution of Cooperative Structures in a Computational Chemistry", [FORREST90], 111-134. Rasmussen, et al. (1992) "Dynamics of Programmable Matter", [ALIFEII], 211-254. Strack (1993) "Core War Frequently Asked Questions ( rec.games.corewar FAQ)" Avail. by anon. FTP from rtfm.mit.edu/pub/usenet/news.answers/games/corewar-faq.Z ######## end of excerpt > Bjoern Joonas From: "John K. Lewis" Subject: Re: multiwarrior Date: 1998/09/08 Message-ID: #1/1 ;redcode ;name nothing ;author John K. Lewis ;strategy test the multiwarrior hill problem. ;assert 1 org start for 10 dat 22,22 rof start jmp 1 jmp -1 for 10 dat 22,22 rof > ./pmars.server nothing nothing harmony -r 10 -b -= S==1 nothing by John K. Lewis scores 0 Results: 0 4 0 6 nothing by John K. Lewis scores 0 Results: 0 6 0 4 Harmony by P.Kline scores 0 Results: 0 10 0 0 > ./pmars.server nothing nothing harmony -r 10 -b -= S==2 nothing by John K. Lewis scores 6 Results: 0 6 0 4 nothing by John K. Lewis scores 4 Results: 0 4 0 6 Harmony by P.Kline scores 10 Results: 0 10 0 0 RESULT: use S==2 until the bug is fixed. < john k. lewis > < jklewis@umich.edu > < web services > < phone pending > From: "John K. Lewis" Subject: Re: multiwarrior Date: 1998/09/08 Message-ID: #1/1 I was thinking that the simpliest way to get you oppenents to help you is by dropping the code you want them to run on top of them. What if you bombed with: spl #0,#2 mov -1,>-1 This would create a carpet bomb with self increasing processes. After bombing for a period, then a core clear would start and spl/spl/dat. Just winning once would be enough. John K. Lewis < john k. lewis > < jklewis@umich.edu > < web services > < phone pending > From: iltzu@sci.fi (Ilmari Karonen) Subject: Re: Hello Date: 1998/09/08 Message-ID: <6t3a1k$kob$1@tron.sci.fi>#1/1 Anders Rosendal (qute@fido.dk) wrote: : Ello there mate! : There's a problem that's eluded for some time now. If I want to have 30 : process's doing doing something like this: : line 1: 1 4 7 : line 2: 2 5 8 : line 3: 3 6 9 First build ten parallel processes, then split each of them into three consecutive ones: SPL 1 MOV.I -1, 0 MOV.I -1, 0 SPL 1 SPL 4 SPL 1 JMP line2 JMP line3 JMP line1 For more lines than three, use something similar to a binary imp launch. (And no, MOD doesn't work very well here.) -- Ilmari Karonen (iltzu@sci.fi) http://www.sci.fi/~iltzu/ From: guenzel.p1@usa.net (Bjoern Guenzel) Subject: VENUS Date: 1998/09/08 Message-ID: <35f519d9.888217@news.lrz-muenchen.de>#1/1 I have just read in an artificial life book that a norwegian called Rasmussen did some alife experiments based on Core War, called VENUS. Probably a long time ago, but does anybody have better information on that? Thanks! Bjoern From: guenzel.p1@usa.net (Bjoern Guenzel) Subject: Re: Hello Date: 1998/09/08 Message-ID: <35f4f995.1877249@news.lrz-muenchen.de>#1/1 On 07 Sep 1998 17:23:01, qute@fido.dk (Anders Rosendal) wrote: >Ello there mate! > >There's a problem that's eluded for some time now. If I want to have 30 process's doing doing something like this: > >line 1: 1 4 7 >line 2: 2 5 8 >line 3: 3 6 9 > >The numbers on the right are the process's, numbered so a process with a lower number executes first. If there is a formula like convert to binary and substract one, please write it :-) PErhaps something like ... build 30 processes spl 2,0 jmp line1,}0 mod.a #3, -1 could do the trick? I am not sure how the mod instruction works, perhaps the arguments have to be swapped. > >Greetings from lovely Denmark > Anders Rosendal. Bjoern From: "Brian Haskin" Subject: Number of warriors in multiwarrior fights? Date: 1998/09/09 Message-ID: <6t7h7t$115$1@supernews.com>#1/1 I just realized isn't there actually 11 warriors fighting in core on the multiwarrior hill? I had been thinking only 10. Hmm, just a little more difficult 10 Diehards instead of 9. Brian Haskin haskin@ptway.com From: jwilkinson@mail.utexas.edu Subject: Re: VENUS Date: 1998/09/09 Message-ID: <199809091640.MAA21203@valhalla.stormking.com>#1/1 > Rasmussen, et al. (1990) "The Coreworld: Emergence and Evolution of > Cooperative Structures in a Computational Chemistry", [FORREST90], > 111-134. > > Rasmussen, et al. (1992) "Dynamics of Programmable Matter", > [ALIFEII], 211-254. Ok so who's taking a trip to the library to find this guy's email address? :) From: jwilkinson@mail.utexas.edu Subject: Re: multiwarrior Date: 1998/09/09 Message-ID: <199809091654.MAA19340@valhalla.stormking.com>#1/1 >RESULT: >use S==2 until the bug is fixed. Uhm. What operating system and pc are you using? This is probably a compiler bug or something. I doubt the koth hill has it. :/ Here's the results using pmarsv.exe compiled by Nandor for the win95 environment with -=S==1: Harmony by P.Kline scores 1600 Results: 200 0 0 0 nothing by John K. Lewis scores 0 Results: 0 0 0 200 nothing by John K. Lewis scores 0 Results: 0 0 0 200 And here's the results with the pmars.exe compiled for a 386: pmars.exe-b -r 100 -d 100 -c 80000 -= S==1 -@ warriors.txt nothing by John K. Lewis scores 0 Results: 0 0 0 100 nothing by John K. Lewis scores 0 Results: 0 0 0 100 Harmony by P.Kline scores 100 Results: 100 0 0 0 Here's some results with Stefan Strack's compile of pmarsv... I cut it short cause it's painfully obvious there's no bug here. Harmony by P.Kline scores 44 Results: 44 0 0 0 nothing by John K. Lewis scores 0 Results: 0 0 0 44 nothing by John K. Lewis scores 0 Results: 0 0 0 45 All tests run on a pentium without the FDIV flaw. ;-) -jkw From: jwilkinson@mail.utexas.edu Subject: Re: multiwarrior Date: 1998/09/09 Message-ID: <199809082208.SAA25377@valhalla.stormking.com>#1/1 >In fact I rather suspect this result illustrates a bug in PMARS. I have >not managed to produce *any* sole winners in a multiwarrior contests, >even with only aggressive warriors. If you run in debug mode, the rounds >seem to end as soon as the third from last warrior dies, leaving two >apparent winners not one? I am using the 286 executable under W95, but >it may be general. > >Anyone else care to check? Bzzt. Wrong. Hehe. :) pmarsv.exe -bo -r 200 -s 8000 -c 80000 -p 8000 -l 100 -d 100 -v 903 -@ warriors. txt odanroT 1.6 by John K Wilkinson scores 2574 Results: 26 0 0 0 0 0 0 0 0 0 174 odanroT 1.6 by John K Wilkinson scores 2376 Results: 24 0 0 0 0 0 0 0 0 0 176 odanroT 1.6 by John K Wilkinson scores 2277 Results: 23 0 0 0 0 0 0 0 0 0 177 odanroT 1.6 by John K Wilkinson scores 1980 Results: 20 0 0 0 0 0 0 0 0 0 180 odanroT 1.6 by John K Wilkinson scores 1980 Results: 20 0 0 0 0 0 0 0 0 0 180 odanroT 1.6 by John K Wilkinson scores 1980 Results: 20 0 0 0 0 0 0 0 0 0 180 odanroT 1.6 by John K Wilkinson scores 1782 Results: 18 0 0 0 0 0 0 0 0 0 182 odanroT 1.6 by John K Wilkinson scores 1782 Results: 18 0 0 0 0 0 0 0 0 0 182 odanroT 1.6 by John K Wilkinson scores 1584 Results: 16 0 0 0 0 0 0 0 0 0 184 odanroT 1.6 by John K Wilkinson scores 1485 Results: 15 0 0 0 0 0 0 0 0 0 185 From: Sukru Cinar Subject: another newbie question Date: 1998/09/09 Message-ID: #1/1 Hello, there's something I want to be sure about. the size of the process queue must be at most the maximum cycles to play in a round as no program can split faster than 1process/cycle is there anything wrong about this? **************************************************************************** Sukru Cinar scinar@ug.bcc.bilkent.edu.tr Undergraduate Computer Science Student in Bilkent/Turkey **************************************************************************** From: Philip Kendall Subject: Re: multiwarrior Date: 1998/09/09 Message-ID: #1/1 In article , M Joonas Pihlaja wrote [pMARS not giving single-warrior wins] >Here's a stab in the dark: > >On the Amiga pmars 0.8 the bug is there, and in pmarsv from Nandor's >page it isn't. Maybe the later uses the faster sim.c updated by Stefan >Strack, supposedly available at berkeley's ftp site (but was >rumoured to be 'invisible'). No: the version I'm using is the perfectly bog standard (ie non-Win95 compatible) one, which uses the old sim.c Phil -- / Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) \ \ http://www.geocities.com/SiliconValley/Park/5427/corewar.htm / From: "John K. Lewis" Subject: Re: multiwarrior Date: 1998/09/09 Message-ID: #1/1 Robert Macrae wrote: :> > ./pmars.server nothing nothing harmony -r 10 -b -= S==1 :> nothing by John K. Lewis scores 0 :> Results: 0 4 0 6 :> nothing by John K. Lewis scores 0 :> Results: 0 6 0 4 :> Harmony by P.Kline scores 0 :> Results: 0 10 0 0 : So you have the same result with PMARS? What version / OS is this? : Philip seemed to have it working fine with the 386 code... SunOS UNIX 4.1 From: M Joonas Pihlaja Subject: Re: multiwarrior Date: 1998/09/09 Message-ID: #1/1 On Wed, 9 Sep 1998, Robert Macrae wrote: > Anyone know what is causing the problem? Here's a stab in the dark: On the Amiga pmars 0.8 the bug is there, and in pmarsv from Nandor's page it isn't. Maybe the later uses the faster sim.c updated by Stefan Strack, supposedly available at berkeley's ftp site (but was rumoured to be 'invisible'). Joonas From: Paul Kline Subject: Re: Multiwarrior Hill : Challenge Date: 1998/09/09 Message-ID: <35F694F3.FC1@acad.drake.edu>#1/1 > > Before restarting or whatever, why don't we challenge the hill: > > > > 1. Flush all current programs/warriors with new programs. > No, let's do it like a challenge: Who's the one(one person or group) > who'll score some points??? > > 2. One submission per participants (attn: Kline :) ) > > ";kill" does not work on the MultiWarrior hill. Otherwise I would still be running tests. I stopped before running all you guys off the hill :-) Paul --- Call me "Paul", just don't call me .... "late for dinner" ;-) From: "Brian Haskin" Subject: Re: multiwarrior Date: 1998/09/09 Message-ID: <6t62ui$qvp$1@supernews.com>#1/1 Argh, my messages don't seem to be getting through the email list so I'll try this. Anyway, using 9 copies of Compudemons Cyberbunny and a simple coreclear I can get around 10 wins in 200 rounds. I'm using the win95 compatible version of pmars so apparently this bug was fixed, purposely or accidentally, in that one. Brian Haskin haskin@ptway.com Robert Macrae wrote in message <35F5B77E.260B@dial.pipex.com>... >John K. Lewis wrote: > [snip] > >> > ./pmars.server nothing nothing harmony -r 10 -b -= S==1 >> nothing by John K. Lewis scores 0 >> Results: 0 4 0 6 >> nothing by John K. Lewis scores 0 >> Results: 0 6 0 4 >> Harmony by P.Kline scores 0 >> Results: 0 10 0 0 > >So you have the same result with PMARS? What version / OS is this? >Philip seemed to have it working fine with the 386 code... > >... >> RESULT: >> use S==2 until the bug is fixed. > >Inelegant, but it should work. Anyone know what is causing the problem? > >-- > >Regards, > >Robert Macrae > From: Robert Macrae Subject: Re: multiwarrior Date: 1998/09/09 Message-ID: <35F5B77E.260B@dial.pipex.com>#1/1 John K. Lewis wrote: > ;redcode > ;name nothing ... > for 10 > dat 22,22 > rof Many people prefer a dat 1,1 decoy because it can damage DJN.f trails. > start jmp 1 > jmp -1 Though a reasonably small target, this stone has a rather low attack rate and incorporting a SPL would both improve robustness and help against imps. Booting would probably help? > for 10 > dat 22,22 > rof For this large a decoy, might a decoy-generator be more efficient? ;-) > > ./pmars.server nothing nothing harmony -r 10 -b -= S==1 > nothing by John K. Lewis scores 0 > Results: 0 4 0 6 > nothing by John K. Lewis scores 0 > Results: 0 6 0 4 > Harmony by P.Kline scores 0 > Results: 0 10 0 0 So you have the same result with PMARS? What version / OS is this? Philip seemed to have it working fine with the 386 code... ... > RESULT: > use S==2 until the bug is fixed. Inelegant, but it should work. Anyone know what is causing the problem? -- Regards, Robert Macrae From: "Brian Haskin" Subject: Re: multiwarrior Date: 1998/09/09 Message-ID: <001f01bddb35$667a90a0$0b00000a@brianjr.haskin.org>#1/1 Hmm, I'm using the win95 version that was released a while back and I'm getting sole wins so it's not a bug in the version I have at least. I'm getting those wins with 9 of Compudemon's Compubunny running and a simple booted core clear (booted because pmars layout of warriors and Compubunny's subsequent distribution seem fairly clumpy). Actually if you want to test it here's my warrior and you can get Compubunny from the warrior archive. ;redcode-94m ;name Shot in the dark ;author Brian Haskin ;strategy clear with all our might ;assert 1 org bt BDIST equ -300 bt mov lst, BDIST for 5 mov {bt, ptr mov.i *ptr, >ptr lst jmp clr, >ptr-2 end Brian Haskin haskin@ptway.com -----Original Message----- From: Robert Macrae To: Multiple recipients of list Date: Tuesday, September 08, 1998 7:02 AM Subject: Re: multiwarrior >John K. Lewis wrote: > >> ./pmars.server harmony diehard impfinity impfinity impfinity >> impish impfinity impfinity impfinity impfinity -r 1000 -b > >> Harmony by P.Kline scores 1705 >> Results: 0 8 0 3 5 6 7 22 38 30 881 >.. >> Not conclusive, but very telling. > >Remarkable performance for Harmony; a further-tuned warrior must be >capable of making it to sole #1 if a stock version can manage 0.8% dual >wins. > >In fact I rather suspect this result illustrates a bug in PMARS. I have >not managed to produce *any* sole winners in a multiwarrior contests, >even with only aggressive warriors. If you run in debug mode, the rounds >seem to end as soon as the third from last warrior dies, leaving two >apparent winners not one? I am using the 286 executable under W95, but >it may be general. > >Anyone else care to check? > >-- > >Regards, > >Robert Macrae > > From: "Brian Haskin" Subject: Re: multiwarrior Date: 1998/09/09 Message-ID: <002701bddbac$0ad60d20$0b00000a@brianjr.haskin.org>#1/1 hmm, apparently my earlier messages didn't come through. Anyway the gist of it is that I'm not seeing this bug using the win95 version of pmars. Brian Haskin haskin@ptway.com -----Original Message----- From: Robert Macrae To: Multiple recipients of list Date: Tuesday, September 08, 1998 10:24 PM Subject: Re: multiwarrior >John K. Lewis wrote: > >> ;redcode >> ;name nothing >.. > >> for 10 >> dat 22,22 >> rof > >Many people prefer a dat 1,1 decoy because it can damage DJN.f trails. > >> start jmp 1 >> jmp -1 > >Though a reasonably small target, this stone has a rather low attack >rate and incorporting a SPL would both improve robustness and help >against imps. Booting would probably help? > >> for 10 >> dat 22,22 >> rof > >For this large a decoy, might a decoy-generator be more efficient? > > > >;-) > >> > ./pmars.server nothing nothing harmony -r 10 -b -= S==1 >> nothing by John K. Lewis scores 0 >> Results: 0 4 0 6 >> nothing by John K. Lewis scores 0 >> Results: 0 6 0 4 >> Harmony by P.Kline scores 0 >> Results: 0 10 0 0 > >So you have the same result with PMARS? What version / OS is this? >Philip seemed to have it working fine with the 386 code... > >.. >> RESULT: >> use S==2 until the bug is fixed. > >Inelegant, but it should work. Anyone know what is causing the problem? > >-- > >Regards, > >Robert Macrae > From: "Brian Haskin" Subject: Re: multiwarrior Date: 1998/09/09 Message-ID: <000f01bddb41$69c4bc20$0b00000a@brianjr.haskin.org>#1/1 Oops, that's Cyberbunny not Compubunny. Brian Haskin haskin@ptway.com -----Original Message----- From: Brian Haskin To: kingpin@dial.pipex.com ; Multiple recipients of list Date: Tuesday, September 08, 1998 10:31 AM Subject: Re: multiwarrior >Hmm, I'm using the win95 version that was released a while back and I'm >getting sole wins so it's not a bug in the version I have at least. I'm >getting those wins with 9 of Compudemon's Compubunny running and a simple >booted core clear (booted because pmars layout of warriors and Compubunny's >subsequent distribution seem fairly clumpy). Actually if you want to test it >here's my warrior and you can get Compubunny from the warrior archive. > >;redcode-94m >;name Shot in the dark >;author Brian Haskin >;strategy clear with all our might >;assert 1 > > org bt > >BDIST equ -300 > >bt mov lst, BDIST >for 5 > mov {bt, rof > jmp BDIST+bt-2 > > > spl #1, #5 >ptr dat -1,-BDIST > dat 1, 5 >clr mov.i *ptr, >ptr > mov.i *ptr, >ptr >lst jmp clr, >ptr-2 > end > >Brian Haskin >haskin@ptway.com > From: M Joonas Pihlaja Subject: Re: pmars bug Date: 1998/09/10 Message-ID: #1/1 On 10 Sep 1998 sieben@imap1.asu.edu wrote: > Could someone explain what this pmars bug is all about. I missed a few > messages. > > Nandor. > > Some compilations of pmars don't handle multiwarrior battles correctly. What happens is, that after the third to last warrior is killed, pmars calls a tie between the two warriors left so no warrior can score with S==1. The PC compilations work correctly (except the 286 version) the Amiga one doesn't, and neither does one compilation on a Sun OS machine. Joonas From: "Robert Macrae" Subject: Re: multiwarrior Date: 1998/09/10 Message-ID: <01bddcdf$4d5b78e0$64010101@MARK>#1/1 > spl #1, #5 > ptr dat -1,-BDIST > dat 1, 5 > clr mov.i *ptr, >ptr > mov.i *ptr, >ptr > lst jmp clr, >ptr-2 This looks like a single SPL pass? I think it would pay to use two SPL passes before starting the clear, and maybe try using an imp-hostile stage like DAT <2667, 5 -- its nothing great, but without it I don't think you would have any success against a heavy imp launcher or a silk imp. From: Philip Kendall Subject: Re: multiwarrior Date: 1998/09/10 Message-ID: #1/1 In article , John K. Lewis wrote >Robert Macrae wrote: > >:> > ./pmars.server nothing nothing harmony -r 10 -b -= S==1 >:> nothing by John K. Lewis scores 0 >:> Results: 0 4 0 6 >:> nothing by John K. Lewis scores 0 >:> Results: 0 6 0 4 >:> Harmony by P.Kline scores 0 >:> Results: 0 10 0 0 > >: So you have the same result with PMARS? What version / OS is this? >: Philip seemed to have it working fine with the 386 code... > >SunOS UNIX 4.1 Hmmm... I've now tried the following OS/compiler combinations: MS-DOS/DJGPP v1 (the distributed pMARS executable) MS-DOS/DJGPP v2 [gcc 2.7.2.1] (my own compile from the source code) Linux 2.0.33/gcc 2.7.2.1 SunOS (*)/gcc 2.7.2.1: this was compiled under SunOS 4.1, but is now running under 5.6; However, I think it worked fine under 4.1. Could this be a compiler problem: namely, it works fine with gcc, but not with others? I'll try a recompile using SunOS's cc sometime soon. Phil -- / Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) \ \ http://www.geocities.com/SiliconValley/Park/5427/corewar.htm / From: M Joonas Pihlaja Subject: Re: VENUS Date: 1998/09/10 Message-ID: #1/1 On Wed, 9 Sep 1998 jwilkinson@mail.utexas.edu wrote: > > Rasmussen, et al. (1990) "The Coreworld: Emergence and Evolution of > > Cooperative Structures in a Computational Chemistry", [FORREST90], > > 111-134. > > > > Rasmussen, et al. (1992) "Dynamics of Programmable Matter", > > [ALIFEII], 211-254. > > Ok so who's taking a trip to the library to find this guy's email address? :) > I guess that'll be me: Rasmussen: steen@lanl.gov http://www.ees.lanl.gov/EES5/bio_ees5/steen VENUS: http://www.brunel.ac.uk:8080/depts/AI/alife/al-venus.htm ALIFEII: http://www.kiva.net/~larryy/Alife2.html Joonas From: jwilkinson@mail.utexas.edu Subject: Re: another newbie question Date: 1998/09/10 Message-ID: <199809100037.UAA36292@valhalla.stormking.com>#1/1 > > > Hello, there's something I want to be sure about. > > > the size of the process queue must be at most the > maximum cycles to play in a round as no program can > split faster than 1process/cycle That's a true statement... if you were writing a corewars simulator, you wouldn't need to allocate any more memory than CYCLES_PER_ROUND*WARRIORS... I'd assume this is the way pMARS does it... just gets one big chunk of memory to start, and the forgets about mem allocation... From: sieben@imap1.asu.edu Subject: pmars bug Date: 1998/09/10 Message-ID: <6t7cb2$fe8$1@news.asu.edu>#1/1 Could someone explain what this pmars bug is all about. I missed a few messages. Nandor. From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: multiwarrior Date: 1998/09/10 Message-ID: #1/1 BH> Brian Haskin (haskin@ptway.com) wrote: BH> Anyway, using 9 copies of Compudemons Cyberbunny and a simple BH> coreclear I can get around 10 wins in 200 rounds. I'm using BH> the win95 compatible version of pmars so apparently this BH> bug was fixed, purposely or accidentally, in that one. Where did Compudemon disappear to? :-( Here's my Failure which is on the MW hill, in case anyone can use the code somehow to help optimize their warrior. It is a very poor example of paper - though it bombs with dat 1,1 which will hinder anything with a djn stream. I'd kill it if it was possible, but even if it was, it wouldn't do much good (Killing just sets the score to zero doesn't it?) Cheers, John ;redcode-94m ;name Failure ;author John Metcalf ;strategy Paper - I can't believe I used to ;strategy write such poor warriors as this! ;assert 1 z for 9 spl p&z+9,{-(800+q*100) rof z for 10 p&z:spl 2,{-(1600+z*200) spl 1,{-(1650+z*200) spl 1,{-(1700+z*200) spl @0,>1196+z*430 mov }-1,>-1 mov 3,<-110 add #90,-3 jmp -4,{-4 dat 1,1 rof end From: Philip Kendall Subject: Re: multiwarrior Date: 1998/09/10 Message-ID: #1/1 In article , Philip Kendall wrote [Multiwarrior problems with pMARS] >Could this be a compiler problem: namely, it works fine with gcc, but >not with others? I'll try a recompile using SunOS's cc sometime soon. And it worked fine (despite giving me loads of warnings whilst compiling). Phil -- / Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) \ | http://www.geocities.com/SiliconValley/Park/5427/spectrum.htm | | New? Read the FAQ: http://www.kendalls.demon.co.uk/cssfaq/ | \ Looking for something?: http://www.void.demon.nl/archive.html / From: "John K. Lewis" Subject: Re: multiwarrior Date: 1998/09/10 Message-ID: #1/1 Philip Kendall wrote: :>: So you have the same result with PMARS? What version / OS is this? :>: Philip seemed to have it working fine with the 386 code... :> :>SunOS UNIX 4.1 : Hmmm... I've now tried the following OS/compiler combinations: : MS-DOS/DJGPP v1 (the distributed pMARS executable) : MS-DOS/DJGPP v2 [gcc 2.7.2.1] (my own compile from the source code) : Linux 2.0.33/gcc 2.7.2.1 : SunOS (*)/gcc 2.7.2.1: this was compiled under SunOS 4.1, but is now : running under 5.6; However, I think it worked fine under 4.1. : Could this be a compiler problem: namely, it works fine with gcc, but : not with others? I'll try a recompile using SunOS's cc sometime soon. Here is the head of the make file. Looks like it was gcc. # generic UNIX makefile CC = gcc # req. for linux #CC = cc # if you don't have gcc # Configuration options: # # No. Name Incompatible with Description # (1) -DSERVER 2 disables cdb debugger (koth server # version) # (2) -DGRAPHX 1 enables platform specific core # graphics # (3) -DKEYPRESS only for curses display on SysV: # enter cdb upon keypress (use if # Ctrl-C doesn't work) # (4) -DEXT94 ICWS'94 + SEQ,SNE,NOP,*,{,} # (5) -DSMALLMEM 16-bit addresses, less memory # (6) -DXWINGRAPHX 1 X-Windows graphics (UNIX) CFLAGS = -O -DEXT94 -DXWINGRAPHX LFLAGS = -x #LIB = -lcurses -ltermlib # enable this one for curses display # LIB = -lvgagl -lvga # enable this one for Linux/SVGA LIB = -lX11 -L/usr/X11R5/lib # enable this one for X11 From: "Robert Macrae" Subject: Re: pmars bug summary Date: 1998/09/10 Message-ID: <01bddce3$1849f970$64010101@MARK>#1/1 sieben@imap1.asu.edu wrote > Could someone explain what this pmars bug is all about. I missed a few > messages. Explain -- no. List the emails -- yes. When I run multiwarrior battles using the 286 binary for PMARSV.EXE under W95, I find that rounds end when there are two warriors left, often well before the 80,000 cycle limit. This looks like a bug. Running PMARS.EXE I see scorelines which match this, with no outright wins but several two-winner draws. john k. lewis posted some very similar results under SunOS UNIX 4.1 >>> > ./pmars.server harmony diehard impfinity impfinity impfinity impish impfinity impfinity impfinity impfinity -r 1000 -b Harmony by P.Kline scores 1705 Results: 0 8 0 3 5 6 7 22 38 30 881 Die Hard by P.Kline scores 11949 Results: 0 6 8 27 45 95 194 245 222 30 128 Impfinity v4g1 by Planar scores 10925 Results: 0 2 3 15 34 91 190 243 220 30 172 Impfinity v4g1 by Planar scores 9964 Results: 0 0 2 10 34 82 164 228 218 30 232 Impfinity v4g1 by Planar scores 10262 Results: 0 0 1 19 23 80 175 243 220 30 209 Impish v0.2 by Ian Oversby scores 8960 Results: 0 4 5 6 18 61 138 216 213 30 309 Impfinity v4g1 by Planar scores 10957 Results: 0 3 4 15 32 88 185 250 222 30 171 Impfinity v4g1 by Planar scores 10634 Results: 0 0 3 11 25 88 186 256 222 30 179 Impfinity v4g1 by Planar scores 10656 Results: 0 0 2 18 30 82 183 252 220 30 183 Impfinity v4g1 by Planar scores 10941 Results: 0 3 5 16 34 89 181 245 221 30 176 <<< Which could just about have been due chance, however >>> ;redcode ;name nothing ;author John K. Lewis ;strategy test the multiwarrior hill problem. ;assert 1 org start for 10 dat 22,22 rof start jmp 1 jmp -1 for 10 dat 22,22 rof > ./pmars.server nothing nothing harmony -r 10 -b -= S==1 nothing by John K. Lewis scores 0 Results: 0 4 0 6 nothing by John K. Lewis scores 0 Results: 0 6 0 4 Harmony by P.Kline scores 0 Results: 0 10 0 0 > ./pmars.server nothing nothing harmony -r 10 -b -= S==2 nothing by John K. Lewis scores 6 Results: 0 6 0 4 nothing by John K. Lewis scores 4 Results: 0 4 0 6 Harmony by P.Kline scores 10 Results: 0 10 0 0 <<< Looks conclusive -- but of course JKW got different results :-/ >>> Bzzt. Wrong. Hehe. :) pmarsv.exe -bo -r 200 -s 8000 -c 80000 -p 8000 -l 100 -d 100 -v 903 -@ warriors.txt odanroT 1.6 by John K Wilkinson scores 2574 Results: 26 0 0 0 0 0 0 0 0 0 174 odanroT 1.6 by John K Wilkinson scores 2376 Results: 24 0 0 0 0 0 0 0 0 0 176 odanroT 1.6 by John K Wilkinson scores 2277 Results: 23 0 0 0 0 0 0 0 0 0 177 odanroT 1.6 by John K Wilkinson scores 1980 Results: 20 0 0 0 0 0 0 0 0 0 180 odanroT 1.6 by John K Wilkinson scores 1980 Results: 20 0 0 0 0 0 0 0 0 0 180 odanroT 1.6 by John K Wilkinson scores 1980 Results: 20 0 0 0 0 0 0 0 0 0 180 odanroT 1.6 by John K Wilkinson scores 1782 Results: 18 0 0 0 0 0 0 0 0 0 182 odanroT 1.6 by John K Wilkinson scores 1782 Results: 18 0 0 0 0 0 0 0 0 0 182 odanroT 1.6 by John K Wilkinson scores 1584 Results: 16 0 0 0 0 0 0 0 0 0 184 odanroT 1.6 by John K Wilkinson scores 1485 Results: 15 0 0 0 0 0 0 0 0 0 185 Here's the results using pmarsv.exe compiled by Nandor for the win95 environment with -=S==1: Harmony by P.Kline scores 1600 Results: 200 0 0 0 nothing by John K. Lewis scores 0 Results: 0 0 0 200 nothing by John K. Lewis scores 0 Results: 0 0 0 200 And here's the results with the pmars.exe compiled for a 386: pmars.exe-b -r 100 -d 100 -c 80000 -= S==1 -@ warriors.txt nothing by John K. Lewis scores 0 Results: 0 0 0 100 nothing by John K. Lewis scores 0 Results: 0 0 0 100 Harmony by P.Kline scores 100 Results: 100 0 0 0 Here's some results with Stefan Strack's compile of pmarsv... I cut it short cause it's painfully obvious there's no bug here. Harmony by P.Kline scores 44 Results: 44 0 0 0 nothing by John K. Lewis scores 0 Results: 0 0 0 44 nothing by John K. Lewis scores 0 Results: 0 0 0 45 All tests run on a pentium without the FDIV flaw. ;-) >>> Brian Haskin wasn't seeing it either using the W95 version. Joonas had a suggestion: >>> On the Amiga pmars 0.8 the bug is there, and in pmarsv from Nandor's page it isn't. Maybe the later uses the faster sim.c updated by Stefan Strack, supposedly available at berkeley's ftp site (but was rumoured to be 'invisible'). <<< Philip Kendall had some more: >>> Hmmm... I've now tried the following OS/compiler combinations: MS-DOS/DJGPP v1 (the distributed pMARS executable) MS-DOS/DJGPP v2 [gcc 2.7.2.1] (my own compile from the source code) Linux 2.0.33/gcc 2.7.2.1 SunOS (*)/gcc 2.7.2.1: this was compiled under SunOS 4.1, but is now running under 5.6; However, I think it worked fine under 4.1. Could this be a compiler problem: namely, it works fine with gcc, but not with others? I'll try a recompile using SunOS's cc sometime soon. <<< I find this all pretty confusing. The bug appears to be present in only some versions. Its reassuring to see that I am not the only sufferer, but I don't think we have really pinned it down at all. From: jwilkinson@mail.utexas.edu Subject: Re: Hello Date: 1998/09/11 Message-ID: <199809110658.CAA10953@valhalla.stormking.com>#1/1 >You're making a loop with multiple processes that acts like it had only >one? > ... > >Hmmh.. maybe there's a simple way to create a continuous launcher that >will keep everything in sync Well if you want the processes to be 2667 spaces apart, use Impfinity. :) From: iltzu@sci.fi (Ilmari Karonen) Subject: Re: another newbie question Date: 1998/09/11 Message-ID: <6tc44m$ek6$2@tron.sci.fi>#1/1 jwilkinson@mail.utexas.edu wrote: : That's a true statement... if you were writing a corewars : simulator, you wouldn't need to allocate any more memory than : CYCLES_PER_ROUND*WARRIORS... : I'd assume this is the way pMARS does it... just gets one big : chunk of memory to start, and the forgets about mem allocation... That being, of course, an incredibly wasteful thing to do, when it's enough to allocate (WARRIORS) chunks of (MAXPROCESSES) bytes, plus pointers to the chunks and to the heads and the tails of the queues. (If that wasn't obvious, you probably shouldn't even try writing a simulator.) -- Ilmari Karonen (iltzu@sci.fi) http://www.sci.fi/~iltzu/ From: iltzu@sci.fi (Ilmari Karonen) Subject: Re: Hello Date: 1998/09/11 Message-ID: <6tc3e1$ek6$1@tron.sci.fi>#1/1 Anders Rosendal (qute@fido.dk) wrote: : Tuesday September 08 1998 13:04, Ilmari Karonen wrote to Anders Rosendal: : IK> First build ten parallel processes, then split each of them into three : IK> consecutive ones: : Doesn't that do something like this? : line 1: 1 2 3 : line 2: 4 5 6 : line 3: 7 8 9 : I want this: : line 1: 1 4 7 : line 2: 2 5 8 : line 3: 3 6 9 No. You'll get what you asked for: line1: 1 4 7 10 13 16 19 22 25 28 line2: 2 5 8 11 14 17 20 23 26 29 line3: 3 6 9 12 15 18 21 24 27 30 Remember that when you SPL a process, the two new processes will be adjacent in the process queue. (the one that falls through being first) And yes, there are easier ways to construct something like this if you don't mind that the pattern of execution won't be perfect at the beginning. -- Ilmari Karonen (iltzu@sci.fi) http://www.sci.fi/~iltzu/ From: Paul Kline Subject: Re: Hello Date: 1998/09/11 Message-ID: <35F92E2D.31EB@acad.drake.edu>#1/1 > On 7 Sep 1998, Anders Rosendal wrote: > > > Ello there mate! > > > > There's a problem that's eluded for some time now. If I want to have > 30 process's doing doing something like this: > > > > line 1: 1 4 7 > > line 2: 2 5 8 > > line 3: 3 6 9 > > This is exactly what an imp-spiral looks like with the lines separated by the imp-step distance. Just set up any of the usual imp-launches with a step of 1 and it should work. Paul Kline pk6811s@acad.drake.edu From: qute@fido.dk (Anders Rosendal) Subject: Re: Hello Date: 1998/09/11 Message-ID: #1/1 Ello there mate! Friday September 11 1998 04:32, M Joonas Pihlaja wrote to Anders Rosendal: MJP> lower number executes first. If there is a formula like convert to binary MJP> and substract one, please write it :-) MJP> You're making a loop with multiple processes that acts like it had only MJP> one? Yes - pure brillience from me ;-) MJP> Here's a way: Here's another :-) : MJP> go spl 1 ; \ MJP> spl 1 ; } k*N splits MJP> spl 1 ; / MJP> spl 2 ; +1 mov 2,<5000 jmp -1 This does what I want. Sometime I'll use it. My secret warrior isn't working yet :-) Greetings from lovely Denmark Anders Rosendal. From: guenzel.p1@usa.net (Bjoern Guenzel) Subject: Re: VENUS Date: 1998/09/11 Message-ID: <35f7066f.16072440@news.lrz-muenchen.de>#1/1 On Tue, 8 Sep 1998 18:21:47 +0300, M Joonas Pihlaja wrote: > > >On Tue, 8 Sep 1998, Bjoern Guenzel wrote: > >> I have just read in an artificial life book that a norwegian called >> Rasmussen did some alife experiments based on Core War, called VENUS. >> Probably a long time ago, but does anybody have better information on >> that? > >Every once in a while this comes up. At least the comp.ai.genetic FAQ has >something on it. Let me see... here we go. > >From the comp.ai.genetic FAQ: > [...] >Joonas > Thanks, I found that, too :-) I was hoping that there could be some downloadable stuff, eg an emulator or papers on VENUS (guess it happend before the avent of the internet):-( Hm, just notice that some bits seem to be in 'ALIFE II', guess I'll try to get that in the library... Bjoern From: M Joonas Pihlaja Subject: Re: Hello Date: 1998/09/11 Message-ID: #1/1 On 7 Sep 1998, Anders Rosendal wrote: > Ello there mate! > > There's a problem that's eluded for some time now. If I want to have 30 process's doing doing something like this: > > line 1: 1 4 7 > line 2: 2 5 8 > line 3: 3 6 9 > > The numbers on the right are the process's, numbered so a process with a lower number executes first. If there is a formula like convert to binary and substract one, please write it :-) > You're making a loop with multiple processes that acts like it had only one? Here's a way: go spl loop ; \ spl loop ; } k*N splits spl loop ; / jmp loop ; +1 loop nop 0 nop 1 jmp -2 Not good for 30 processes though, and the loop will be out of sync while you're feeding processes into it, so you will have to compensate for that. For a loop length of N, you need k*N+1 processes to simulate a single process. There's a simple way to launch a backward running loop as well, but I can't make it work right now. IIRC, just tweak the above with k*(N+1)-1 processes. A faster way is to vector launch the processes into the loop like so: 0 1 2 ..[blocks of 0 1 2]... 0. (numbers are offsets from loop) Hmmh.. maybe there's a simple way to create a continuous launcher that will keep everything in sync Joonas From: jwilkinson@mail.utexas.edu Subject: Re: another newbie question Date: 1998/09/12 Message-ID: <199809122151.RAA28406@valhalla.stormking.com>#1/1 >jwilkinson@mail.utexas.edu wrote: >: That's a true statement... if you were writing a corewars >: simulator, you wouldn't need to allocate any more memory than >: CYCLES_PER_ROUND*WARRIORS... > >: I'd assume this is the way pMARS does it... just gets one big >: chunk of memory to start, and the forgets about mem allocation... > >That being, of course, an incredibly wasteful thing to do, when it's >enough to allocate (WARRIORS) chunks of (MAXPROCESSES) bytes, plus >pointers to the chunks and to the heads and the tails of the queues. >(If that wasn't obvious, you probably shouldn't even try writing a >simulator.) Depends on the situation. If MAXPROCESSES is 80000 and CYCLES_PER_ROUND is 8, which is more wasteful? Heh. Besides, whether its one chunk or a few small ones is more of an OS handled sort of thing than something the simulator needs to be concerned with. -jkw From: belsar@freewwweb.com Subject: Spiderman Date: 1998/09/13 Message-ID: <35FBBC75.1ECDD1A5@freewwweb.com>#1/1 I would like to know if anyone has the following game: Spiderman: Separation Anxiety Made by Acclaim Entertainment roughly around 1995 for the PC. If you don't, I would like to know of a reseller that does carry it. THanks Bnt From: iltzu@sci.fi (Ilmari Karonen) Subject: Re: another newbie question Date: 1998/09/13 Message-ID: <6tgo47$uq$1@tron.sci.fi>#1/1 jwilkinson@mail.utexas.edu wrote: : >That being, of course, an incredibly wasteful thing to do, when it's : >enough to allocate (WARRIORS) chunks of (MAXPROCESSES) bytes, plus : >pointers to the chunks and to the heads and the tails of the queues. : >(If that wasn't obvious, you probably shouldn't even try writing a : >simulator.) : Depends on the situation. If MAXPROCESSES is 80000 and CYCLES_PER_ROUND : is 8, which is more wasteful? Heh. You have a point there. Although why anyone would do that is beyond me.. : Besides, whether its one chunk or a few small ones is more of an OS handled : sort of thing than something the simulator needs to be concerned with. Not really - the memory might be fragmented, in which case trying to allocate one big chunk might fail. Since all the chunks are freed simultaneously, this is one of the few cases where you can't lose by keeping the chunk size as small as possible. (excepting some contrived one-in-2^16 worst case situations) -- Ilmari Karonen (iltzu@sci.fi) http://www.sci.fi/~iltzu/ From: M Joonas Pihlaja Subject: Re: More Wierdies Date: 1998/09/13 Message-ID: #1/1 Has anybody ever noticed the r command displaying a warriors processes outside of core? I've run into this once in a multiwarrior battle with eleven or twelve warriors, and one warrior supposedly had an active process somewhere in the 5000000+ range in a core of 8000. It only happened once, and I can't reproduce the effect. Joonas From: Robert Macrae Subject: More Wierdies Date: 1998/09/13 Message-ID: <35FBB55F.2D8B@dial.pipex.com>#1/1 sieben@imap1.asu.edu wrote: > Could someone explain what this pmars bug is all about. I missed a few > messages. I think there may be some allocation problem with the 286 binary when the number of processes becomes large. I was testing a coreclear against 7 other warriors in pmarsv, and processes "Jumped" from the clear (which was not overwritten or damaged in any way) to another part of core after 10,000 cycles or so. The clear code was left undamaged but vacant (Marie Celeste?) and clear processes appeared amid the soup of SPL / Silk / Imp code. With 6 largely-stunned warriors, there were probably over 30,000 processes active; could this cause the problem? [ 32k x 16b integer -- classic 8086 paging hastle? ] -- Regards, Robert Macrae From: Robert Macrae Subject: Re: multiwarrior Date: 1998/09/13 Message-ID: <35FB7ED2.432F@dial.pipex.com>#1/1 John Metcalf wrote: > The best I've done on the multi-warrior hill is to get down to > 5 warriors in one round :-( > > I'll keep trying though... koth: > Program "Q^2 Test 1.4" (length 89) by "Robert Macrae" > (contact address "ff95@dial.pipex.com"): > ;strategy Bite the juiciest targets > Number of wins with zero, one, two, .., 10 other winners and losses > 0 0 0 0 1 0 0 0 0 2 241 256 A 5-way tie with Aulder Man, U-lat v3.8, aTest 4 (twice) is better than I had managed before, though I guess I'm not getting those imps. The strategy? A quick-vamp has about a 20% chance of capturing processes from one of the longer enemies, and I suck them into a SSD-clear. It is meant to suicide, but I must get hit before this can happen... either that or some of hte other warriors must have an aggressive side, and I get a free ride? -- Regards, Robert Macrae From: Pieter Audenaert Subject: Anti-Dwarf Date: 1998/09/14 Message-ID: #1/1 Last week I was thinking about a program that has a 100 percent chance to win all battles against Dwarf... Watch this one: ;redcode ;name Anti-Dwarf ;author Pieter Audenaert ;assert CORESIZE == 8000 spl 3 mov 4,100 jmp -1,>-1 mov 2,100 jmp -1,>-1 Quite simple... Now here's the question: can anyone improve on the number of lines (4 lines??? 3 lines??????) or do you agree that this is really the bare minimum? (Do you have another 5 lines solution? Let me know...) Greetingzzz... ---------------------------------- http://studwww.rug.ac.be/~paudenae Pieter.Audenaert@rug.ac.be ---------------------------------- From: Robert Macrae Subject: Does KOTH suffer from the bug? Date: 1998/09/14 Message-ID: <35FD7DAC.4BF7@dial.pipex.com>#1/1 I recently had a partial "success" for one of my warriors, the elegantly-named Q^2 Test 1.6: ... Program "Aulder Man" (length 98) by "Ian Oversby" (contact address "ee31io@ee.surrey.ac.uk"): Number of wins with zero, one, two, .., 10 other winners and losses 0 1 0 0 1 0 0 0 8 230 260 0 Total score: 0 ... Program "Fleas 2" (length 71) by "Mike M." (contact address "michael.milligan@juno.com"): ;strategy Massively parallel paper ;strategy Very fast splitter Number of wins with zero, one, two, .., 10 other winners and losses 0 1 0 0 0 0 0 0 6 230 260 3 Total score: 0 ... OK, so the pit did not suicide quite as intended. If this is the bug in effect then I owe two kudos to one of these authors! -- Regards, Robert Macrae From: Robert Macrae Subject: Re: pmars bug Date: 1998/09/14 Message-ID: <35FD7C48.3528@dial.pipex.com>#1/1 sieben@imap1.asu.edu wrote: > Could someone explain what this pmars bug is all about. I missed a few > messages. OK, now everyone to can share in the pmars bug experience. Why not try this with your versions and publish the result? I have a 4-way draw declared at Cycle 59535, when the first dummy dies... ---- To generate the condition, I ran this command line in a W95 DOS box: dl hescan.red splitdum.red splitdum.red splitdum.red splitdum.red ---- dl.bat is a batch file running the 286 version of pmars: d:\robert\games\corewar\pmars\pmars286\pmarsv -F 1000 -b -v 724 -r 10 -c 80000 -p 8000 -e -l 100 %1 %2 %3 %4 %5 %6 %7 %8 %9 ---- Splitdum.red is a high-performance version of nothing ;-) ;redcode-94 ;name Splitting Dummy ;author Robert Macrae ;strategy Die Happy :) ;assert 1==1 loop i FOR 10 SPL loop, 1 ROF i FOR 22 DAT 0, 0 DAT 0, 0 DAT 1, 1 DAT 1, 1 ROF ---- And you've probably met Hescan :-) ;redcode-94 test ;name He Scans Alone copy 0.1 ;author Robert Macrae ;assert CORESIZE == 8000 ;strategy 80% f-scanner switches from SPL to DAT carpet tPtr dat 100 ,4100-4 ; widely-spaced pointers dat 0,0 dat 0,0 dat 0,0 dat 0,0 dat 0,0 tWipe mov tSpl ,tPtr ,>tPtr jmn.f tWipe ,>tPtr tScan sub.x #-12 ,tPtr ; increment and look sne *tPtr ,@tPtr sub.x *pScan ,@tScan ; increment and look jmn.f tSelf ,@tPtr jmz.f tScan ,*tPtr pScan mov.x @tScan ,@tScan ; swap pointers for attack tSelf slt.b @tScan ,#tEnd+4-tPtr ; self-check djn tWipe ,@tScan ; go to attack djn *pScan ,#13 ; after 13 self-scans jmp *pScan ,}tWipe ; switch to dat-wiping dat 0,0 tSpl spl #1,{1 dat 0,0 dat 0,0 tEnd dat 0,0 for 61 dat 0,0 rof tDecoy equ (tWipe+1-1196) tStart mov Subject: C++Robots: Standings 1998/09/14 Date: 1998/09/14 Message-ID: <35FD0103.6D97E1A6@gamerz.net>#1/1 Program Name Score W / L / T Age Author ================ ===== =========== === ===================================== 1 katty 273 91/ 9/ 0 25 cfrim@ac.tuiasi.ro (catalin ifrim) 2 ttr3 255 85/ 15/ 0 24 traber@cosinet.de (Thomas Traber) 3 tommy 246 82/ 18/ 0 49 zcewj@cnfd.pgh.wec.com (Elliot W. Jac 4 trex 189 63/ 37/ 0 8 jerome.dumonteil@capway.com (Jerome D 5 ssm4 183 61/ 39/ 0 207 enpch@bath.ac.uk (C Harrison) 6 bedtime 174 58/ 42/ 0 2 btb@micron.net (TheRooster) 7 shooter 168 56/ 44/ 0 239 itdcjr@mail1.hants.gov.uk (Justin Row 8 kiilbot1 166 55/ 44/ 1 178 bob2@goplay.com (bob2) 9 mariner 165 55/ 45/ 0 270 zcpjm@cnfd.pgh.wec.com (Paul J. Melko 10 chaos 162 54/ 46/ 0 175 agondare@hotmail.com (alex gondarenko 11 knownaim00 150 50/ 50/ 0 92 c.d.wright@solipsys.compulink.co.uk ( 12 krom 144 48/ 52/ 0 147 tdavis@gate.net (Thomas E. Davis) 13 prio.2 135 45/ 55/ 0 135 oliver@jowett.manawatu.planet.co.nz ( 14 doubleshooter 110 34/ 58/ 8 159 mario.deweerd@ibm.net (Mario De Weerd 15 rumbler 105 35/ 65/ 0 30 smith.paul.pn@bhp.com.au (Smith, Paul 16 raystonn 105 33/ 61/ 6 114 svincent@a.crl.com (Samuel Vincent) 17 sniper6 104 33/ 62/ 5 7 therooster@bigfoot.com (TheRooster) 18 fodder0 99 33/ 67/ 0 69 christopher.meehan@reuters.com (C_MEE 18 troll 99 33/ 67/ 0 58 nxcholer@bechtel.com (Cholerton, Nik) 18 rosie 99 33/ 67/ 0 1 andyg54321@aol.com (AndyG54321@aol.co -- / \__ | Richard Rognlie / Webmaster Pro Tem Ad Nauseum \__/ \ | E-Mail: rrognlie@gamerz.net | Erols Internet / \__/ | URL: http://www.gamerz.net/rrognlie/ | an RCN company \__/ | Join the fight against SPAM! http://www.cauce.org From: KOTH Subject: KOTH.ORG: Status - 94 No Pspace 09/14/98 Date: 1998/09/14 Message-ID: <199809140400.AAA05711@midgaard.ttsg.com>#1/1 Weekly Status on 09/14/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sat Sep 12 05:26:20 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 45/ 37/ 18 The Machine Anton Marsden 153 62 2 45/ 43/ 12 Red Carpet David Moore 146 14 3 41/ 43/ 16 Blurstone M. J. Pihlaja 140 18 4 34/ 28/ 38 Fixed Ken Espiritu 140 56 5 32/ 24/ 45 Testier Ian Oversby 140 3 6 25/ 10/ 65 The Fugitive David Moore 140 75 7 32/ 25/ 43 Vain Ian Oversby 138 73 8 39/ 41/ 20 bh-b M Joonas Pihlaja 138 1 9 32/ 28/ 39 The Stormbringer Christian Schmidt 136 7 10 37/ 39/ 24 Floody River P.Kline 136 22 11 29/ 22/ 48 Pulp v0.4 Ian Oversby 136 72 12 32/ 28/ 40 Head or Tail Christian Schmidt 136 44 13 32/ 28/ 40 Newt Ian Oversby 136 74 14 30/ 25/ 44 Gemini Dream John K Wilkinson 135 79 15 31/ 28/ 40 Baseline Plus Ken Espiritu 134 54 16 29/ 26/ 44 Faces 0.1 Csaba Biro 132 24 17 24/ 17/ 59 Three Men in a Boat M Joonas Pihlaja 132 6 18 29/ 26/ 45 Freight Train v0.2 David Moore 132 37 19 30/ 28/ 43 Shadow Christian Schmidt 132 2 20 32/ 34/ 34 Digital Dragon Christian Schmidt 131 4 21 5/ 86/ 10 Brain Drain K.M 23 0 From: KOTH Subject: KOTH.ORG: Status - ICWS Experimental 94 09/14/98 Date: 1998/09/14 Message-ID: <199809140400.AAA05707@midgaard.ttsg.com>#1/1 Weekly Status on 09/14/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *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 12 08:58:30 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 43/ 12/ 45 Venom v0.2b Christian Schmidt 174 16 2 34/ 5/ 61 Evol Cap 4 X John Wilkinson 164 63 3 30/ 2/ 67 Evolve X v4.0 John Wilkinson 158 11 4 35/ 14/ 51 Rosebud Beppe 156 42 5 41/ 35/ 24 Dr. Gate X Franz 148 34 6 37/ 34/ 29 BigBoy Robert Macrae 141 88 7 26/ 14/ 59 Sphere v0.2 Christian Schmidt 139 5 8 29/ 19/ 53 Purple v0.1 Christian Schmidt 139 15 9 38/ 37/ 25 13 Christian Schmidt 139 1 10 42/ 46/ 12 S.E.T.I. 4-X JKW 138 64 11 37/ 40/ 23 Stepping Stone 94x Kurt Franke 135 49 12 33/ 33/ 34 Lithium X 8 John K Wilkinson 134 54 13 38/ 43/ 20 Tsunami v0.1 Ian Oversby 132 41 14 35/ 37/ 29 Dr. Recover Franz 132 33 15 39/ 46/ 15 BiShot Christian Schmidt 131 2 16 37/ 43/ 20 Pagan John K W 131 48 17 37/ 44/ 19 Memories Beppe Bezzi 131 70 18 31/ 31/ 38 Falcon v0.3 X Ian Oversby 130 36 19 36/ 43/ 22 Bob the ImpStoneer Sean McDonald 129 9 20 40/ 53/ 8 HSA Copy 55440 Robert Macrae 127 31 21 7/ 87/ 6 Stupidity V1 K.M 28 0 From: KOTH Subject: KOTH.ORG: Status - MultiWarrior 94 09/14/98 Date: 1998/09/14 Message-ID: <199809140400.AAA05703@midgaard.ttsg.com>#1/1 Weekly Status on 09/14/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Sep 13 09:26:07 EDT 1998 # Name Author Score Age 1 Failure John Metcalf 0 9 2 mTest P. Kline 0 10 3 Aulder Man Ian Oversby 0 49 4 U-lat v3.8 Zul Nadzri 0 27 5 paper test Ken Espiritu 0 1 6 CyberBunny Compudemon 0 14 7 aTest 4 P. Kline 0 4 8 Time to send in the imps Robert Hale 0 20 9 aTest 4 P. Kline 0 5 10 Fleas 2 Mike M. 0 2 11 Q^2 Test 2.2 Robert Macrae 0 0 From: KOTH Subject: KOTH.ORG: Status - Standard 09/14/98 Date: 1998/09/14 Message-ID: <199809140400.AAA05698@midgaard.ttsg.com>#1/1 Weekly Status on 09/14/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Sat Sep 12 07:15:18 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 39/ 19/ 42 Freight Train David Moore 158 17 2 34/ 20/ 45 Guardian Ian Oversby 148 16 3 44/ 40/ 16 Foggy Swamp Beppe Bezzi 147 13 4 42/ 41/ 16 Blur '88 Anton Marsden 143 54 5 41/ 40/ 19 Stasis David Moore 142 124 6 39/ 37/ 24 Tangle Trap David Moore 140 90 7 40/ 40/ 19 Beholder's Eye V1.7 W. Mintardjo 140 292 8 41/ 43/ 15 Iron Gate Wayne Sheppard 139 342 9 37/ 37/ 26 Kitchen Sink Robert Macrae 138 15 10 37/ 38/ 25 PacMan David Moore 137 46 11 36/ 35/ 29 Leapfrog David Moore 136 45 12 29/ 21/ 50 Evoltmp 88 John K W 136 67 13 22/ 9/ 68 Trident^2 '88 John K W 135 40 14 41/ 46/ 14 Blurstone '88 M. J. Pihlaja 135 11 15 26/ 17/ 57 EV Paper John K Wilkinson 134 30 16 27/ 20/ 54 Test I Ian Oversby 134 73 17 38/ 43/ 19 Gisela 8623 Andrzej Maciejczak 133 10 18 28/ 24/ 48 Simple '88 Ian Oversby 133 103 19 28/ 25/ 47 CAPS KEY IS STUCK AGAIN Steven Morrell 132 214 20 30/ 34/ 36 two pass demo dm 127 1 21 2/ 73/ 25 Imp Fun K.M 31 0 From: amarsden@mcs.vuw.ac.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 1998/09/15 Message-ID: Archive-name: games/corewar-faq Last-Modified: August 5, 1998 =20 Version: 4.0 URL: http://www.mcs.vuw.ac.nz/~amarsden/corewars/corewar-faq.html Copyright: (c) 1998 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. The latest hypertext version is available at http://www.mcs.vuw.ac.nz/~amarsden/corewars/corewar-faq.html and the latest plain text version is available at=20 http://www.mcs.vuw.ac.nz/~amarsden/corewars/corewar-faq.txt. This document was last modified on August 5, 1998. It is currently being maintained by Anton Marsden (amarsden@mcs.vuw.ac.nz). ------------------------------------------------------------------------ To Do * Make question 17 easier to understand. Add a state diagram? * Upgrade to HTML 4.0, make FAQ easier to maintain in future (hopefully) * 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 the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr * Made some changes/additions/fixes based on a good FAQ review by Joonas Pihlaja. Not all of the suggestions have been dealt with yet, but the FAQ is now less ambiguous in some areas. Thanks Joonas! * Added stuff about pMARS under Win95 (question 9), and the location of = a HTML version of the ICWS'94 draft (question 5). * New definition: decrement resistant * Modified the answer to question 1 * Changed error in P-space question (location 0 can be written to). * Added links to genetic algorithm resources. * Added a link to Kendall's page. * Added new Q&A (code formatting). ------------------------------------------------------------------------ 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 o= f 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 virtua= l computer called MARS (for Memory Array Redcode Simulator). The object of th= e game is to cause all processes of the opposing program to terminate, leavin= g 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= =2E 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 =3D (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 i= s 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 th= e 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= =2E 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 =A90-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 =A90-7167-2144-9 .D5173 199= 0 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. 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 and ftp://www.koth.org/corewar/documents/tutorial.2. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This an= d 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'9= 4 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/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 onl= y 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 9= 4 Warrior, Core Warrior is a newsletter about strategies and current standing= s 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.geocities.com/SiliconValley/Park/5427/warrior.htm 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.answer= s (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 (Stormking 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 bod= y 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 Stormking.Com list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@stormking.com. You can send mail to corewar-l@stormking.com to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (tuc@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 Stormking. [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 point= s 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 ha= s 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, KotH= s 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 overlappin= g 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 divide= d up among the sites. The way you submit warriors to both KotHs is pretty muc= h 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 tha= t 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 I= nstr. Size Size Processes Distance Fought = Set Tie Length Pizza's ICWS '94 Draft Hill Ex= tended (Accessed with 25 8000 8000 80000 100 100 200 IC= WS '94 ";redcode-94") Dr= aft Pizza's Beginner's Hill Ex= tended (Accessed with 25 8000 8000 80000 100 100 200 IC= WS '94 ";redcode-b") Dr= aft Pizza's Experimental Ex= tended (Small) Hill 25 800 800 8000 20 20 200 IC= WS '94 (Accessed with Dr= aft ";redcode-x") Pizza's Limited Process (LP) Ex= tended Hill (Accessed 25 8000 8 80000 200 200 200 IC= WS '94 with Dr= aft ";redcode-lp") Stormking's ICWS '88 Standard Hill 20 8000 8000 80000 100 100 250 IC= WS '88 (Accessed with ";redcode") Stormking's ICWS '94 Experimental Ex= tended (Big) Hill 20 55440 55440 500000 200 200 250 IC= WS '94 (Accessed with Dr= aft ";redcode-94x") Stormking's ICWS '94 Draft Multi-Warrior Ex= tended Hill (Accessed 10 8000 8000 80000 100 100 200 IC= WS '94 with Dr= aft ";redcode-94m") Notes: * 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 assemble= d 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 Cor= e 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 o= r 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, fo= r 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 tha= n 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 memor= y 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 o= f 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 p= ointer 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 nothin= g 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 locatio= ns seq start+400*s1+200, start+400*s1+300 ;check two locatio= ns 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 nothin= g 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 cop= y 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= =2E 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: IMPSIZE EQU 2667 example spl 1 ; extend by adding more spl = 1's spl 1 djn.a @imp, #0 ; jmp @ a series of pointers dat #0, imp+(3*IMPSIZE) dat #0, imp+(2*IMPSIZE) dat #0, imp+(1*IMPSIZE) dat #0, imp+(0*IMPSIZE) imp mov.i #0, IMPSIZE [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) The rec.games.corewar FAQ is Copyright =A9 1998 and maintained by Anton Marsden (amarsden@mcs.vuw.ac.nz). ------------------------------------------------------------------------ From: qute@fido.dk (Anders Rosendal) Subject: Re: Anti-Dwarf Date: 1998/09/15 Message-ID: #1/1 Ello there mate! Tuesday September 15 1998 08:12, Robert Macrae wrote to Pieter Audenaert: RM> I think Dwarf is a mod-4 bomber? If so, something like RM> spl #0 RM> mov -2, <-2 RM> mov 2, >1 RM> jmp -1 Bug? Won't that look like: RM> spl #0 RM> mov -2, <-2 RM> mov 2, >1 RM> dat 0,0 Because you bomb your counter. I think it should work like this: RM> spl #0 RM> mov -2, <-2 RM> mov 2, <-3 RM> jmp -1 This should work yes? Greetings from lovely Denmark Anders Rosendal. From: Robert Macrae Subject: :-= Date: 1998/09/15 Message-ID: <35FEA941.6C2C@dial.pipex.com>#1/1 Well, I have a candidate to get onto the MW hill. It can beat 10 copies of Failure, or 1x Failure + 6x Diehard... under pmarsv. On the hill I see results like 2- or 3-way draws between other warriors which rather suggest that the bug is preventing any wins. I won't publish it till we sort this out and I can give it a fair trial, but basically it scans for Failure, vamps the processes into a pit and proceeds clears core. Of course it is a bit of a cheat to write a warrior dependent on knowing the exact code of an opponent, even 1 out of 10. Anybody have a way to do it without this kind of help? -- Regards, Robert Macrae From: Robert Macrae Subject: Re: multiwarrior Date: 1998/09/15 Message-ID: <35FEA64C.754B@dial.pipex.com>#1/1 John K. Lewis wrote: > I think it's safe to ignore the font issue. Though it suggests some wild pointers if it doesn't happen with less process-rich battles? > Note how in the graphic version HSA gets 9 wins while in the server > version he gets ten ties with one other player?!? I have tried Phil Knight's version of pmarsv under NT (on the KOTH page) and this is fine. I can't get any pmars except the 286 binary to run under NT, where it still shows the same problem. (Am I doing something wrong with the 386 version?) > So perhaps the problem lies in the server version. (I was using > the server version previously when the bug showed up.) Or its a compiler nasty? -- Regards, Robert Macrae From: Philip Kendall Subject: Re: Anti-Dwarf Date: 1998/09/15 Message-ID: #1/1 In article , Pieter Audenaert wrote >Last week I was thinking about a program that has a 100 percent chance to >win all battles against Dwarf... >Watch this one: [snip 5 line warrior] >Now here's the question: can anyone improve on the number of lines >(4 lines??? 3 lines??????) or do you agree that this is really the bare >minimum? (Do you have another 5 lines solution? Let me know...) Three lines is easy: ;redcode-94 ;name Anti-Dwarf ;author Philip Kendall ;strategy Kill Dwarf ;assert CORESIZE==8000 gate equ (foo-8) start spl 2 foo djn.f #0, Subject: Re: multiwarrior Date: 1998/09/15 Message-ID: #1/1 A new wrinkle in the bug hunt. I ran the Scans Alone and Splitting Dummy thing and got VERY odd results. The most intersted thing was that I ran one on the SERVER version of pmars and one on the GRAPHIC version and got the following results: > pmars hescan splitdum.red splitdum.red splitdum.red -b -r 10 Can't open font "-dec-terminal-bold-*-*-*-14-*-*-*-*-*-iso8859-*", trying "fixed " He Scans Alone copy 0.1 by Robert Macrae scores 135 Results: 9 0 0 0 1 Splitting Dummy by Robert Macrae scores 5 Results: 0 0 1 0 9 Splitting Dummy by Robert Macrae scores 5 Results: 0 0 1 0 9 Splitting Dummy by Robert Macrae scores 5 Results: 0 0 1 0 9 > ./pmars.server hescan splitdum.red splitdum.red splitdum.red -b -r 10 He Scans Alone copy 0.1 by Robert Macrae scores 70 Results: 0 10 0 0 0 Splitting Dummy by Robert Macrae scores 49 Results: 0 7 0 0 3 Splitting Dummy by Robert Macrae scores 7 Results: 0 1 0 0 9 Splitting Dummy by Robert Macrae scores 14 Results: 0 2 0 0 8 I think it's safe to ignore the font issue. Note how in the graphic version HSA gets 9 wins while in the server version he gets ten ties with one other player?!? So perhaps the problem lies in the server version. (I was using the server version previously when the bug showed up.) John Lewis < john k. lewis > < jklewis@umich.edu > < web services > < phone pending > From: Robert Macrae Subject: Re: Anti-Dwarf Date: 1998/09/15 Message-ID: <35FE135E.22C6@dial.pipex.com>#1/1 Pieter Audenaert wrote: > > Last week I was thinking about a program that has a 100 percent chance to > win all battles against Dwarf... > Watch this one: > > ;redcode > ;name Anti-Dwarf > ;author Pieter Audenaert > ;assert CORESIZE == 8000 > spl 3 > mov 4,100 > jmp -1,>-1 > mov 2,100 > jmp -1,>-1 I think Dwarf is a mod-4 bomber? If so, something like spl #0 mov -2, <-2 mov 2, >1 jmp -1 should work. This uses a similar trick to yours (from "The Core Clear" I think) of having two independent clears so any 1 DAT bomb will not halt it. -- Regards, Robert Macrae From: Philip Kendall Subject: Re: More Wierdies Date: 1998/09/16 Message-ID: #1/1 In article <35FBB55F.2D8B@dial.pipex.com>, Robert Macrae wrote [pmars bugs] >I think there may be some allocation problem with the 286 binary when >the number of processes becomes large. I was testing a coreclear >against 7 other warriors in pmarsv, and processes "Jumped" from the >clear (which was not overwritten or damaged in any way) to another part >of core after 10,000 cycles or so. The clear code was left undamaged but >vacant (Marie Celeste?) and clear processes appeared amid the soup of >SPL / Silk / Imp code. With 6 largely-stunned warriors, there were >probably over 30,000 processes active; could this cause the problem? To quote from the pmars source (sim.c:235) taskQueue = farmalloc(65528L); /* allocate an entire 64K segment */ and I can't see any error checking for the number of processes going over 32768(ish), so I guess you're right. I can't see any easy workaround for this bug/feature ;-( (The above line is active only for 16-bit DOS binaries, so this isn't a problem on other systems -- I don't think this explains JKL's problems with SunOS) Phil -- / Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) \ \ http://www.geocities.com/SiliconValley/Park/5427/corewar.htm / From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: Multi-warrior deadlock : Solved Date: 1998/09/16 Message-ID: #1/1 Greetings... We can solve the multi-warrior deadlock simply by going back to the old scoring method... Then we bombard it with new defensive papers/imps/whatever. However, we all add a little p-space routine to help us later - e.g. Set pin to 1234 and test to see if p-location 123 equals 5678. If so, then suicide. Then when we move back to the new scoring method, we can easily kick those papers off. Alternatively, how about the scoring method someone suggested earlier this year. I.e. no points if all warriors survive the battle, else normal points. - John. From: iltzu@sci.fi (Ilmari Karonen) Subject: Re: Anti-Dwarf Date: 1998/09/16 Message-ID: <6tp3ih$1ek$1@tron.sci.fi>#1/1 Pieter Audenaert (Pieter.Audenaert@rug.ac.be) wrote: : Now here's the question: can anyone improve on the number of lines : (4 lines??? 3 lines??????) or do you agree that this is really the bare : minimum? (Do you have another 5 lines solution? Let me know...) ;redcode ;name Anti-Dwarf 2 ;author Ilmari Karonen ;assert CORESIZE % 4 == 0 SPL 0 MOV -2, <-2 MOV -4, <-4 JMP -1 END -- Ilmari Karonen (iltzu@sci.fi) http://www.sci.fi/~iltzu/ From: sieben@imap1.asu.edu () Subject: Re: More Wierdies Date: 1998/09/17 Message-ID: <6ts0bn$qmb$1@news.asu.edu>#1/1 Philip Kendall (pak21@kendalls.demon.co.uk) wrote: This is a feature. It avoids a check. Nandor. : taskQueue = farmalloc(65528L); /* allocate an entire 64K segment */ : : and I can't see any error checking for the number of processes going : over 32768(ish), so I guess you're right. I can't see any easy : workaround for this bug/feature ;-( : : (The above line is active only for 16-bit DOS binaries, so this isn't a : problem on other systems -- I don't think this explains JKL's problems : with SunOS) : : Phil : : -- : / Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) \ : \ http://www.geocities.com/SiliconValley/Park/5427/corewar.htm / From: birk@andromeda.ociw.edu Subject: Re: More Wierdies Date: 1998/09/18 Message-ID: <199809181830.LAA00186@andromeda.ociw.edu>#1/1 : (The above line is active only for 16-bit DOS binaries, so this isn't a : problem on other systems -- I don't think this explains JKL's problems : with SunOS) I tested my compilation on Solaris 2.5 (SunOS 5.5) in server and graphics mode: both work fine for multi-warrior fights: pmars8s -@ warriors.list -br 100 Harmony by P.Kline scores 711 Results: 3 0 0 1 0 1 0 2 5 8 11 69 Harmony by P.Kline scores 988 Results: 6 0 0 0 0 1 0 1 3 7 11 71 Harmony by P.Kline scores 621 Results: 2 1 0 0 0 1 0 2 5 8 11 70 Harmony by P.Kline scores 1025 Results: 5 1 0 1 0 0 2 2 5 8 11 65 Harmony by P.Kline scores 1143 Results: 7 0 0 0 0 0 1 1 5 8 11 67 Harmony by P.Kline scores 1552 Results: 10 0 0 1 0 0 2 2 4 8 11 62 Harmony by P.Kline scores 1047 Results: 6 0 0 0 0 1 2 1 4 8 11 67 Harmony by P.Kline scores 1431 Results: 9 1 0 0 0 1 2 1 4 5 11 66 Harmony by P.Kline scores 1462 Results: 9 1 0 1 0 0 1 2 3 8 11 64 Christoph From: Robert Macrae Subject: PMARS under NT? Date: 1998/09/19 Message-ID: <3603CCB6.55A5@dial.pipex.com>#1/1 The server version gives an error "Cannot run go32.exe" when I try to run it under windows NT 4.0. Has anyone compiled a non-graphical version for NT? -- Regards, Robert Macrae From: jkapleau@openix.com (Jonathan Kapleau) Subject: Compiling for curses under Linux Date: 1998/09/19 Message-ID: <6tv56r$i2u@enews1.newsguy.com>#1/1 Can somebody help me to figure out how to compile pMARS for curses under Linux? I don't want the SVGA display but evertime I just try to compile for curses it tells me that it can't find the -termlib library. It compiles just fine when I comment out all of th display stuff, but I really would like to view the battles graphically. Thanks. -- Jonathan Kapleau jkapleau@landslide.openix.com From: birk@andromeda.ociw.edu Subject: Re: More Wierdies Date: 1998/09/21 Message-ID: <199809211712.KAA06814@andromeda.ociw.edu>#1/1 > I guess testing with these scanners should guarantee that the number of > processes gets very high, but as a check might it be worth testing with > Harmony + 9 x splitdum as well? pmars8s -b -@ warriors.txt -r 100 Harmony by P.Kline scores 9825 Results: 99 0 0 1 0 0 0 0 0 0 0 splitdum by Anonymous scores 0 Results: 0 0 0 0 0 0 0 0 0 0 100 splitdum by Anonymous scores 24 Results: 0 0 0 1 0 0 0 0 0 0 99 splitdum by Anonymous scores 0 Results: 0 0 0 0 0 0 0 0 0 0 100 splitdum by Anonymous scores 0 Results: 0 0 0 0 0 0 0 0 0 0 100 splitdum by Anonymous scores 0 Results: 0 0 0 0 0 0 0 0 0 0 100 splitdum by Anonymous scores 0 Results: 0 0 0 0 0 0 0 0 0 0 100 splitdum by Anonymous scores 0 Results: 0 0 0 0 0 0 0 0 0 0 100 splitdum by Anonymous scores 24 Results: 0 0 0 1 0 0 0 0 0 0 99 splitdum by Anonymous scores 24 Results: 0 0 0 1 0 0 0 0 0 0 99 because I don't have the "original" I used this as 'splitdum' spl 0 jmp -1 Christoph From: Richard Rognlie Subject: Gamerz.NET: C++Robots Standings 98.09.21 Date: 1998/09/21 Message-ID: <3606B98F.38D89973@gamerz.net>#1/1 Program Name Score W / L / T Age Author ================ ===== =========== === ===================================== 1 katty 273 91/ 9/ 0 25 cfrim@ac.tuiasi.ro (catalin ifrim) 2 ttr3 255 85/ 15/ 0 24 traber@cosinet.de (Thomas Traber) 3 tommy 246 82/ 18/ 0 49 zcewj@cnfd.pgh.wec.com (Elliot W. Jac 4 trex 189 63/ 37/ 0 8 jerome.dumonteil@capway.com (Jerome D 5 ssm4 183 61/ 39/ 0 207 enpch@bath.ac.uk (C Harrison) 6 bedtime 174 58/ 42/ 0 2 btb@micron.net (TheRooster) 7 shooter 168 56/ 44/ 0 239 itdcjr@mail1.hants.gov.uk (Justin Row 8 kiilbot1 166 55/ 44/ 1 178 bob2@goplay.com (bob2) 9 mariner 165 55/ 45/ 0 270 zcpjm@cnfd.pgh.wec.com (Paul J. Melko 10 chaos 162 54/ 46/ 0 175 agondare@hotmail.com (alex gondarenko 11 knownaim00 150 50/ 50/ 0 92 c.d.wright@solipsys.compulink.co.uk ( 12 krom 144 48/ 52/ 0 147 tdavis@gate.net (Thomas E. Davis) 13 prio.2 135 45/ 55/ 0 135 oliver@jowett.manawatu.planet.co.nz ( 14 doubleshooter 110 34/ 58/ 8 159 mario.deweerd@ibm.net (Mario De Weerd 15 rumbler 105 35/ 65/ 0 30 smith.paul.pn@bhp.com.au (Smith, Paul 16 raystonn 105 33/ 61/ 6 114 svincent@a.crl.com (Samuel Vincent) 17 sniper6 104 33/ 62/ 5 7 therooster@bigfoot.com (TheRooster) 18 fodder0 99 33/ 67/ 0 69 christopher.meehan@reuters.com (C_MEE 18 troll 99 33/ 67/ 0 58 nxcholer@bechtel.com (Cholerton, Nik) 18 rosie 99 33/ 67/ 0 1 andyg54321@aol.com (AndyG54321@aol.co Visit http://www.gamerz.net/c++robots/ or send a message with 'help' (no quotes) as the SUBJECT line to c++robots@gamerz.net for more info. -- / \__ | Richard Rognlie / Webmaster Pro Tem Ad Nauseum \__/ \ | E-Mail: rrognlie@gamerz.net | Erols Internet / \__/ | URL: http://www.gamerz.net/rrognlie/ | an RCN company \__/ | Join the fight against SPAM! http://www.cauce.org From: KOTH Subject: KOTH.ORG: Status - 94 No Pspace 09/21/98 Date: 1998/09/21 Message-ID: <199809210400.AAA11958@midgaard.ttsg.com>#1/1 Weekly Status on 09/21/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *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 Sep 20 13:28:22 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 43/ 38/ 20 The Machine Anton Marsden 148 64 2 32/ 22/ 46 Testier Ian Oversby 142 5 3 26/ 10/ 65 The Fugitive David Moore 141 77 4 34/ 28/ 38 Fixed Ken Espiritu 141 58 5 32/ 25/ 43 Vain Ian Oversby 140 75 6 30/ 22/ 47 Pulp v0.4 Ian Oversby 138 74 7 42/ 46/ 13 Red Carpet David Moore 138 16 8 33/ 29/ 38 Head or Tail Christian Schmidt 137 46 9 32/ 27/ 40 Baseline Plus Ken Espiritu 137 56 10 34/ 32/ 34 Digital Dragon Christian Schmidt 136 6 11 31/ 27/ 42 Newt Ian Oversby 136 76 12 37/ 38/ 25 Floody River P.Kline 135 24 13 39/ 44/ 17 Blurstone M. J. Pihlaja 135 20 14 30/ 26/ 44 Faces 0.1 Csaba Biro 135 26 15 29/ 25/ 46 Gemini Dream John K Wilkinson 134 81 16 31/ 28/ 41 The Stormbringer Christian Schmidt 134 9 17 25/ 16/ 59 Three Men in a Boat M Joonas Pihlaja 133 8 18 29/ 27/ 44 Shadow Christian Schmidt 132 4 19 28/ 24/ 48 Freight Train v0.2 David Moore 131 39 20 25/ 45/ 30 Arsonic C P._V._K. 105 1 21 10/ 75/ 15 dwarf Dewdney 45 2 From: KOTH Subject: KOTH.ORG: Status - Standard 09/21/98 Date: 1998/09/21 Message-ID: <199809210400.AAA11945@midgaard.ttsg.com>#1/1 Weekly Status on 09/21/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Sat Sep 19 20:03:34 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 40/ 19/ 40 Freight Train David Moore 161 17 2 36/ 20/ 44 Guardian Ian Oversby 151 16 3 44/ 40/ 16 Foggy Swamp Beppe Bezzi 148 13 4 43/ 41/ 16 Blur '88 Anton Marsden 144 54 5 41/ 40/ 19 Stasis David Moore 143 124 6 38/ 35/ 27 Leapfrog David Moore 142 45 7 39/ 37/ 24 Kitchen Sink Robert Macrae 141 15 8 39/ 37/ 23 Tangle Trap David Moore 141 90 9 39/ 37/ 24 PacMan David Moore 141 46 10 40/ 40/ 19 Beholder's Eye V1.7 W. Mintardjo 140 292 11 42/ 43/ 15 Iron Gate Wayne Sheppard 140 342 12 30/ 21/ 48 Evoltmp 88 John K W 139 67 13 24/ 9/ 67 Trident^2 '88 John K W 138 40 14 28/ 17/ 55 EV Paper John K Wilkinson 138 30 15 29/ 20/ 52 Test I Ian Oversby 137 73 16 41/ 46/ 13 Blurstone '88 M. J. Pihlaja 136 11 17 29/ 24/ 47 Simple '88 Ian Oversby 135 103 18 30/ 25/ 45 CAPS KEY IS STUCK AGAIN Steven Morrell 135 214 19 38/ 43/ 19 Gisela 8623 Andrzej Maciejczak 134 10 20 32/ 33/ 35 two pass demo dm 130 1 21 2/ 98/ 0 Springer Jan Torben Weinkopf 7 0 From: KOTH Subject: KOTH.ORG: Status - MultiWarrior 94 09/21/98 Date: 1998/09/21 Message-ID: <199809210400.AAA11950@midgaard.ttsg.com>#1/1 Weekly Status on 09/21/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Tue Sep 15 13:30:08 EDT 1998 # Name Author Score Age 1 Failure John Metcalf 0 9 2 mTest P. Kline 0 10 3 Aulder Man Ian Oversby 0 49 4 U-lat v3.8 Zul Nadzri 0 27 5 paper test Ken Espiritu 0 1 6 CyberBunny Compudemon 0 14 7 aTest 4 P. Kline 0 4 8 Time to send in the imps Robert Hale 0 20 9 aTest 4 P. Kline 0 5 10 Fleas 2 Mike M. 0 2 11 :-= Robert Macrae 0 0 From: KOTH Subject: KOTH.ORG: Status - ICWS Experimental 94 09/21/98 Date: 1998/09/21 Message-ID: <199809210400.AAA11954@midgaard.ttsg.com>#1/1 Weekly Status on 09/21/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *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 12 08:58:30 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 43/ 12/ 45 Venom v0.2b Christian Schmidt 174 16 2 34/ 5/ 61 Evol Cap 4 X John Wilkinson 164 63 3 30/ 2/ 67 Evolve X v4.0 John Wilkinson 158 11 4 35/ 14/ 51 Rosebud Beppe 156 42 5 41/ 35/ 24 Dr. Gate X Franz 148 34 6 37/ 34/ 29 BigBoy Robert Macrae 141 88 7 26/ 14/ 59 Sphere v0.2 Christian Schmidt 139 5 8 29/ 19/ 53 Purple v0.1 Christian Schmidt 139 15 9 38/ 37/ 25 13 Christian Schmidt 139 1 10 42/ 46/ 12 S.E.T.I. 4-X JKW 138 64 11 37/ 40/ 23 Stepping Stone 94x Kurt Franke 135 49 12 33/ 33/ 34 Lithium X 8 John K Wilkinson 134 54 13 38/ 43/ 20 Tsunami v0.1 Ian Oversby 132 41 14 35/ 37/ 29 Dr. Recover Franz 132 33 15 39/ 46/ 15 BiShot Christian Schmidt 131 2 16 37/ 43/ 20 Pagan John K W 131 48 17 37/ 44/ 19 Memories Beppe Bezzi 131 70 18 31/ 31/ 38 Falcon v0.3 X Ian Oversby 130 36 19 36/ 43/ 22 Bob the ImpStoneer Sean McDonald 129 9 20 40/ 53/ 8 HSA Copy 55440 Robert Macrae 127 31 21 7/ 87/ 6 Stupidity V1 K.M 28 0 From: william scott warfield Subject: cursors Date: 1998/09/21 Message-ID: <6u4ika$ro8@dfw-ixnews6.ix.netcom.com>#1/1 Hey there buddy wanna spice up your computer with some groovy cursors? I know you do so come to my webpage Best From: "DIX Server" Subject: OMEGA Date: 1998/09/22 Message-ID: <01bde5cc$04be2060$85c44b0c@179138929worldnet>#1/1 Is there a seperate newsgroup for Origin's Omega? I found my old copy in A Box from College, And I couldn't get it to run on my new Computer, and I don't know who or where to look for Help. Since Omega Stuff used to be posted on this Newsgroup, I thought I'd Check here. Thanx in advance. -Andy H. From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: OMEGA Date: 1998/09/23 Message-ID: #1/1 Greetings... DS> Is there a seperate newsgroup for Origin's Omega? I found DS> my old copy in A Box from College, And I couldn't get it DS> to run on my new Computer, and I don't know who or where DS> to look for Help. Since Omega Stuff used to be posted on DS> this Newsgroup, I thought I'd Check here. What is Omega? I've not investigated that one yet... Regards, John From: John.Metcalf@p18.f94.chaos.camelot.co.uk (John Metcalf) Subject: I'm a little Cloud-Man Date: 1998/09/24 Message-ID: #1/1 Greetings... My monitor looks about ready to die, :-( so if I suddenly disappear, you know why... Regards, John From: guenzel.p1@blinker.net (Bjoern Guenzel) Subject: reading warriors from STDIN? Date: 1998/09/24 Message-ID: <360a9065.6738339@news.lrz-muenchen.de>#1/1 Yep, it's genetic algorithms again - anybody who has tried his hands on them knows that it's a problem (or at least a nuisance) that you first have to write warriors to the harddisk befor you can feed them to pmars. I just wonder if there is a simple solution around this (for Linux, although if it would be universal it would be great), which I don't know, eg letting another program pretend to be a file, or various tricks with pipes, etc. If anybody has a suggestion, please let me know. I refrain from getting into the source code of pmars, as it seems a bit too advanced for me. Many thanks in advance! Bjoern From: jwilkinson@mail.utexas.edu Subject: Re: OMEGA Date: 1998/09/25 Message-ID: <199809250615.CAA28552@valhalla.stormking.com>#1/1 >Greetings... > >DS> Is there a seperate newsgroup for Origin's Omega? I found >DS> my old copy in A Box from College, And I couldn't get it >DS> to run on my new Computer, and I don't know who or where >DS> to look for Help. Since Omega Stuff used to be posted on >DS> this Newsgroup, I thought I'd Check here. > >What is Omega? I've not investigated that one yet... > >Regards, > >John It's like a tank simulation game. I ran it one time a few years ago but it was kinda funky-ass. Hehe. From: Sukru Cinar Subject: Re: reading warriors from STDIN? Date: 1998/09/25 Message-ID: #1/1 BG>on them knows that it's a problem (or at least a nuisance) that you BG>first have to write warriors to the harddisk befor you can feed them BG>to pmars. BG>I just wonder if there is a simple solution around this (for Linux, BG>although if it would be universal it would be great), which I don't BG>know, eg letting another program pretend to be a file, or various BG>tricks with pipes, etc. try using named pipes (they are also called named FIFOs). with one process, create the pipe and write to it pipe and with another process execute pmars with the argument under linux, you can use mkfifo or mknod command to create a named pipe. however no such a thing is available under silly dos or windoze. **************************************************************************** Sukru Cinar scinar@ug.bcc.bilkent.edu.tr Undergraduate Computer Science Student in Bilkent/Turkey **************************************************************************** From: geertges@rintintin.Colorado.EDU (SJG) Subject: Re: OMEGA Date: 1998/09/25 Message-ID: <6ug6et$h1s@lace.colorado.edu>#1/1 In article , John Metcalf wrote: >Greetings... > >What is Omega? I've not investigated that one yet... > >Regards, > >John Omega is an old old game I believe... probably hard to find now too. As far as I know, it used a Cobol-like language. For those looking for something in a similar vein to CoreWar and Omega, check out http://www.cyty.com/robocom. It seems well supported, is free, and has an online competition server. It is, however, Windows only. It is also a bit easier than CoreWar for beginners. SJG From: Vladimir Bychkovskiy Subject: What is q^2?! How to make a scanner? Date: 1998/09/26 Message-ID: <360CAB4D.74A1C9BB@poboxes.com>#1/1 Hi, This is my first week as a RedCode programmer. I've read almost all the tutorials I could find. But I still have two major questions: 1. What is q^2 strategy? (These guys beat my warriors especially hard) 2. Where is info on scanners? (I've found a lot of info on bombers and replicators, but nothing about scanners) Thanks in advance. Vladimir From: Gordon Marriott Subject: Newcomer Date: 1998/09/26 Message-ID: <360CE39D.C27D4BE1@hotlinks.net.au>#1/1 Hi all I have only recently found out about Core Wars and I am, well obviously, a beginner. I have written my first warrior which is a Dwarf with an Imp gate, and an Imp generator. I generally understand the basic functions in my program (I did copy a little bit from 'A beginners guide to CodeWars' and it was only a little bit - 15% - 20%), and would like to advance my knowledge of the language itself and the techniques used to create more adavanced warriors. I would also like to learn about the P-Space that is mentioned in the 'A beginners guide to CoreWars'. Being a 15 year-old this was hard to grasp at first, and I need more of a user-friendly than technical tutorial. Can ANYONE recommend a few good tutorials outlining the fundamentals for designing smarter and more efficient warriors, and how to use the more advanced side of the code to the warrior's advantage? Thanks in advance! Adam Marriott From: pmunster@mail.c2i.net Subject: Re: What is q^2?! How to make a scanner? Date: 1998/09/27 Message-ID: <1103_906909178@datatoalett--1>#1/1 >Hi, >This is my first week as a RedCode programmer. >I've read almost all the tutorials I could find. > But I still have two major questions: >1. What is q^2 strategy? (These guys beat my warriors especially hard) q^2 is (AFAIK,someone correct me if this is wrong) the same as "quickscan", that is scanning at 200% speed (2 locations per instruction) at predetermined places your warrior probably resides. This can't be used in a loop without reducing speed, so it's often used as an initial run before other stuff (slow scanning, bombing etc) is done. Some times the "quickscan location" (if it found anything) is stored for the normal scan so that it can start scanning right where you are. If you want to mess up qscanners try using a decoy (lots of bogus instructions inserted in your warrior), bomb very fast with nonzero bombs or replicate/copy your warrior away from original code (paralell scanner/bombers should work, though splitting it takes time) For more information, check http://www.KOTH.org/planar/94warrior/14.txt (search for "HINTS" in the document) >2. Where is info on scanners? (I've found a lot of info on bombers and replicators, but nothing about scanners) I don't have any urls, try browsing www.koth.org's "papers" section for hints from CoreWarrior (I think one of the issues mentions scanners). The most basic scanner I can think of works somewhat like this: Search core If nonzero value, jump to bombing If not, increment search value and try again. Most scanners do have some kind of check to see if they're scanning themselves (either that or they scan with steps bigger than the warrior itself). I think vampire/scanners sometimes overwrites itself with coreclear after scanning the entire core. >Thanks in advance. >Vladimir K.M , another new player who tried warriors on the hill From: jwilkinson@mail.utexas.edu Subject: No bug on KOTH.org's multiwarrior hill, though it's still a bugger to score any points. ;) Date: 1998/09/27 Message-ID: <199809270156.VAA26769@valhalla.stormking.com>#1/1 Heh. Ok well Ian said maybe my last test was invalid cause it didn't do lots of proc spawning... well ok this test should remove all doubt. Btw, I was trying to figure out how nothing could occasionally tie Harmony... Heh. I wrote a qbasic program to run the battle with each fixed number and I found out why Harmony sometimes doesn't win. It's not a bug in pmars. Heh. nothing by John K. Lewis scores 0 Results: 0 1 0 0 0 0 0 0 0 0 0 499 nothing by John K. Lewis scores 0 Results: 0 0 0 0 0 0 0 0 0 0 0 500 nothing by John K. Lewis scores 0 Results: 0 0 0 0 0 0 0 0 0 0 0 500 nothing by John K. Lewis scores 0 Results: 0 0 0 0 0 0 0 0 0 0 0 500 nothing by John K. Lewis scores 0 Results: 0 1 0 0 0 0 0 0 0 0 0 499 nothing by John K. Lewis scores 0 Results: 0 0 0 0 0 0 0 0 0 0 0 500 nothing by John K. Lewis scores 0 Results: 0 0 0 0 0 0 0 0 0 0 0 500 nothing by John K. Lewis scores 0 Results: 0 0 0 0 0 0 0 0 0 0 0 500 nothing by John K. Lewis scores 0 Results: 0 0 0 0 0 0 0 0 0 0 0 500 nothing by John K. Lewis scores 0 Results: 0 0 0 0 0 0 0 0 0 0 0 500 Harmony by P.Kline scores 498 Results: 498 2 0 0 0 0 0 0 0 0 0 0 midgaard# exit Script done on Sat Sep 26 12:51:59 1998 -jkw From: dweezil@earth.execpc.com (Andrew S Mehlos) Subject: Pmars/Linux-X11 Date: 1998/09/28 Message-ID: <6uovsj$2vn@newsops.execpc.com>#1/1 Greetings... I've been out of corewars for a while, but I was going to start playing again. Alas, I can't seem to get pmars to compile for Linux with X11. A while ago, though, someone was asking for it, and I sent them binaries of the no graphics and the X11 versions, but I've long since forgotten who it was.. Does anyone have their Makefile sitting around? -- - - - - - - - - - - Andrew S. Mehlos dweezil@execpc.com From: Richard Rognlie Subject: C++Robots Status 1998/09/28 Date: 1998/09/28 Message-ID: <360FED10.7DA9DC43@gamerz.net>#1/1 Program Name Score W / L / T Age Author ================ ===== =========== === ===================================== 1 katty 273 91/ 9/ 0 27 cfrim@ac.tuiasi.ro (catalin ifrim) 2 ttr3 258 86/ 14/ 0 26 traber@cosinet.de (Thomas Traber) 3 tommy 246 82/ 18/ 0 51 zcewj@cnfd.pgh.wec.com (Elliot W. Jac 4 trex 189 63/ 37/ 0 10 jerome.dumonteil@capway.com (Jerome D 5 ssm4 180 60/ 40/ 0 209 enpch@bath.ac.uk (C Harrison) 6 mariner 171 57/ 43/ 0 272 zcpjm@cnfd.pgh.wec.com (Paul J. Melko 6 bedtime 171 57/ 43/ 0 4 btb@micron.net (TheRooster) 8 kiilbot1 166 55/ 44/ 1 180 bob2@goplay.com (bob2) 9 shooter 165 55/ 45/ 0 241 itdcjr@mail1.hants.gov.uk (Justin Row 10 chaos 156 52/ 48/ 0 177 agondare@hotmail.com (alex gondarenko 11 knownaim00 147 49/ 51/ 0 94 c.d.wright@solipsys.compulink.co.uk ( 12 krom 138 46/ 54/ 0 149 tdavis@gate.net (Thomas E. Davis) 13 prio.2 135 45/ 55/ 0 137 oliver@jowett.manawatu.planet.co.nz ( 14 doubleshooter 116 36/ 56/ 8 161 mario.deweerd@ibm.net (Mario De Weerd 15 imrobot1 109 36/ 63/ 1 1 jthorpe@pfs.com (jthorpe@pfs.com) 16 fodder0 108 36/ 64/ 0 71 christopher.meehan@reuters.com (C_MEE 17 raystonn 106 33/ 60/ 7 116 svincent@a.crl.com (Samuel Vincent) 18 rumbler 102 34/ 66/ 0 32 smith.paul.pn@bhp.com.au (Smith, Paul 19 rosie 99 33/ 67/ 0 3 andyg54321@aol.com (AndyG54321@aol.co 20 sniper6 95 30/ 65/ 5 9 therooster@bigfoot.com (TheRooster) For information on C++Robots, visit http://www.gamerz.net/c++robots/ or send a message to c++robots@gamerz.net with 'help' (without the quotes) as the SUBJECT line. -- / \__ | Richard Rognlie / Webmaster Pro Tem Ad Nauseum \__/ \ | E-Mail: rrognlie@gamerz.net | Erols Internet / \__/ | URL: http://www.gamerz.net/rrognlie/ | an RCN company \__/ | Join the fight against SPAM! http://www.cauce.org From: iltzu@sci.fi (Ilmari Karonen) Subject: Re: reading warriors from STDIN? Date: 1998/09/28 Message-ID: <6uo657$l5h$1@tron.sci.fi>#1/1 Bjoern Guenzel (guenzel.p1@blinker.net) wrote: : first have to write warriors to the harddisk befor you can feed them : to pmars. [8-=] : If anybody has a suggestion, please let me know. I refrain from : getting into the source code of pmars, as it seems a bit too advanced : for me. No need to read the source code, just the documentation. Then try: cat imp.txt dwarf.txt | pmars -b - - -- Ilmari Karonen (iltzu@sci.fi) | Was at a bookstore today, [snip] and noticed http://www.sci.fi/~iltzu/ | "Microsoft Internet Explorer 4 for Dummies" Will fix broken HTML for food | . . . and thought "Yes". -- Jeff Vinocur From: Csaba Biro Subject: Re: What is q^2?! How to make a scanner? Date: 1998/09/28 Message-ID: #1/1 Hi! On Sun, 27 Sep 1998 pmunster@mail.c2i.net wrote: > >2. Where is info on scanners? (I've found a lot of info on bombers and replicators, but nothing about scanners) > I don't have any urls, try browsing www.koth.org's "papers" section for hints from CoreWarrior (I think one of the issues mentions scanners). > The most basic scanner I can think of works somewhat like this: > Search core > If nonzero value, jump to bombing > If not, increment search value and try again. > > Most scanners do have some kind of check to see if they're scanning themselves (either that or they scan with steps bigger than the warrior itself). > I think vampire/scanners sometimes overwrites itself with coreclear after scanning the entire core. If you two want to learn to write a good scanner, I advice you to read carefully all of the issues of Core Warrior of this theme. After that you should see some classic scanners, like Rave, etc. (read Wilkies Benchmark). Csaba From: KOTH Subject: KOTH.ORG: Status - ICWS Experimental 94 09/28/98 Date: 1998/09/28 Message-ID: <199809280400.AAA29467@midgaard.ttsg.com>#1/1 Weekly Status on 09/28/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *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 12 08:58:30 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 43/ 12/ 45 Venom v0.2b Christian Schmidt 174 16 2 34/ 5/ 61 Evol Cap 4 X John Wilkinson 164 63 3 30/ 2/ 67 Evolve X v4.0 John Wilkinson 158 11 4 35/ 14/ 51 Rosebud Beppe 156 42 5 41/ 35/ 24 Dr. Gate X Franz 148 34 6 37/ 34/ 29 BigBoy Robert Macrae 141 88 7 26/ 14/ 59 Sphere v0.2 Christian Schmidt 139 5 8 29/ 19/ 53 Purple v0.1 Christian Schmidt 139 15 9 38/ 37/ 25 13 Christian Schmidt 139 1 10 42/ 46/ 12 S.E.T.I. 4-X JKW 138 64 11 37/ 40/ 23 Stepping Stone 94x Kurt Franke 135 49 12 33/ 33/ 34 Lithium X 8 John K Wilkinson 134 54 13 38/ 43/ 20 Tsunami v0.1 Ian Oversby 132 41 14 35/ 37/ 29 Dr. Recover Franz 132 33 15 39/ 46/ 15 BiShot Christian Schmidt 131 2 16 37/ 43/ 20 Pagan John K W 131 48 17 37/ 44/ 19 Memories Beppe Bezzi 131 70 18 31/ 31/ 38 Falcon v0.3 X Ian Oversby 130 36 19 36/ 43/ 22 Bob the ImpStoneer Sean McDonald 129 9 20 40/ 53/ 8 HSA Copy 55440 Robert Macrae 127 31 21 7/ 87/ 6 Stupidity V1 K.M 28 0 From: KOTH Subject: KOTH.ORG: Status - 94 No Pspace 09/28/98 Date: 1998/09/28 Message-ID: <199809280400.AAA29478@midgaard.ttsg.com>#1/1 Weekly Status on 09/28/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sat Sep 26 07:57:39 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 47/ 36/ 17 Boys are Back in Town 1.1 Philip Kendall 159 7 2 44/ 37/ 19 The Machine Anton Marsden 151 71 3 43/ 43/ 14 Red Carpet David Moore 144 23 4 37/ 36/ 27 BiShot v1.0 Christian Schmidt 139 4 5 33/ 28/ 39 Recovery Ian Oversby 138 5 6 39/ 44/ 16 Blurstone M. J. Pihlaja 134 27 7 33/ 31/ 36 Fixed Ken Espiritu 134 65 8 32/ 30/ 38 The Stormbringer Christian Schmidt 134 16 9 23/ 12/ 65 The Fugitive David Moore 133 84 10 31/ 32/ 38 Head or Tail Christian Schmidt 130 53 11 30/ 29/ 41 Vain Ian Oversby 130 82 12 29/ 29/ 43 Pulp v0.4 Ian Oversby 129 81 13 27/ 26/ 47 Brigadeer M Joonas Pihlaja 128 1 14 35/ 43/ 23 clrB dm 127 3 15 28/ 29/ 43 Testier Ian Oversby 127 12 16 29/ 32/ 39 Baseline Plus Ken Espiritu 127 63 17 34/ 43/ 23 Floody River P.Kline 126 31 18 27/ 28/ 45 Gemini Dream John K Wilkinson 126 88 19 31/ 38/ 31 Digital Dragon Christian Schmidt 124 13 20 33/ 43/ 24 clrC dm 123 2 21 1/ 1/ 2 Brigadeer M Joonas Pihlaja 6 6 From: KOTH Subject: KOTH.ORG: Status - Standard 09/28/98 Date: 1998/09/28 Message-ID: <199809280400.AAA29459@midgaard.ttsg.com>#1/1 Weekly Status on 09/28/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Sat Sep 26 04:26:26 EDT 1998 # %W/ %L/ %T Name Author Score Age 1 38/ 19/ 43 Freight Train David Moore 157 17 2 34/ 20/ 45 Guardian Ian Oversby 148 16 3 42/ 41/ 17 Foggy Swamp Beppe Bezzi 143 13 4 38/ 37/ 25 PacMan David Moore 139 46 5 40/ 42/ 17 Blur '88 Anton Marsden 138 54 6 37/ 37/ 26 Kitchen Sink Robert Macrae 137 15 7 37/ 37/ 26 Tangle Trap David Moore 137 90 8 36/ 36/ 28 Leapfrog David Moore 136 45 9 28/ 21/ 50 Evoltmp 88 John K W 135 67 10 22/ 9/ 69 Trident^2 '88 John K W 135 40 11 25/ 17/ 58 EV Paper John K Wilkinson 133 30 12 26/ 20/ 54 Test I Ian Oversby 133 73 13 36/ 40/ 24 Stasis David Moore 133 124 14 39/ 46/ 15 Blurstone '88 M. J. Pihlaja 133 11 15 28/ 25/ 47 CAPS KEY IS STUCK AGAIN Steven Morrell 131 214 16 27/ 24/ 49 Simple '88 Ian Oversby 131 103 17 38/ 47/ 15 Iron Gate Wayne Sheppard 128 342 18 36/ 45/ 20 Beholder's Eye V1.7 W. Mintardjo 127 292 19 35/ 44/ 21 Gisela 8623 Andrzej Maciejczak 127 10 20 28/ 33/ 39 two pass demo dm 123 1 21 13/ 46/ 41 Anonymous Imp '88 Vladimir Bychkovskiy 81 0 From: KOTH Subject: KOTH.ORG: Status - MultiWarrior 94 09/28/98 Date: 1998/09/28 Message-ID: <199809280400.AAA29463@midgaard.ttsg.com>#1/1 Weekly Status on 09/28/98 -=- www.KOTH.org is now hosting a '94 No Pspace Hill. -=- View the stats of all the Hills at: www.KOTH.org/standings.html -=- *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 26 04:37:20 EDT 1998 # Name Author Score Age 1 Failure John Metcalf 0 9 2 mTest P. Kline 0 10 3 Aulder Man Ian Oversby 0 49 4 U-lat v3.8 Zul Nadzri 0 27 5 paper test Ken Espiritu 0 1 6 CyberBunny Compudemon 0 14 7 aTest 4 P. Kline 0 4 8 Time to send in the imps Robert Hale 0 20 9 aTest 4 P. Kline 0 5 10 Fleas 2 Mike M. 0 2 11 Anonymous Imp '94m Vladimir Bychkovskiy 0 0 From: Paul-V Khuong Subject: Re: What is q^2?! How to make a scanner? Date: 1998/09/28 Message-ID: <19980927181506.24021.rocketmail@send1d.yahoomail.com>#1/1 Vladimir Bychkovskiy asked: > > Hi, > This is my first week as a RedCode programmer. I've read almost all the > tutorials I could find. But I still have two major questions: > > 1. What is q^2 strategy? (These guys beat my warriors especially hard) It's a kinda QScan, which is acually just a scanner with hardcoded locations. The difference for Q^2s is that they have a faster response time. > > 2. Where is info on scanners? (I've found a lot of info on bombers and > replicators, but nothing about scanners) For this you can get the CoreWarrior newsletter at Planar's page. There's a link at KotH.ORG. For Q^2 too, there's info about it. == Vive le Qu�bec libre... d� souverainistes!!! _________________________________________________________ DO YOU YAHOO!? Get your free @yahoo.com address at http://mail.yahoo.com From: jwilkinson@mail.utexas.edu Subject: Re: No bug on KOTH.org's multiwarrior hill, though it's still a bugger to score any points. ;) Date: 1998/09/29 Message-ID: <199809290904.FAA30744@valhalla.stormking.com>#1/1 >In article <199809270156.VAA26769@valhalla.stormking.com> you wrote: >: Heh. Ok well Ian said maybe my last test was invalid cause it didn't do lots of >: proc spawning... well ok this test should remove all doubt. > >: Btw, I was trying to figure out how nothing could occasionally tie Harmony... >: Heh. I wrote a qbasic program to run the battle with each fixed number and >: I found >: out why Harmony sometimes doesn't win. It's not a bug in pmars. Heh. > >What, are you going to tell us? > >John - Haha... well I thought I'd give everyone I chance to think about it, and figure it out themselves. :) Since you're so impatient, I'll tell ya... it's pretty simple actually. Here's Harmony's finishing core clear: split2 spl.i #2*step,#2*step mov wipe2,>reset2-3 ; clear mov wipe2,>reset2-3 ; clear jump2 jmp -2 wipe2 dat {2667,wipe2-reset2+10 See the problemo? If one of the opponents has a ton of procs 2667 locations in front of jump2, Harmony slows way way down. Even more subtly, with the "nothing.red" I used for testing: --- ;redcode ;name nothing ;author John K. Lewis ;strategy test the multiwarrior hill problem. ;assert 1 org start for 10 dat 22,22 rof start jmp 1 jmp -1 for 10 dat 22,22 rof --- See the problem here? If a wipe2 lands 2667 ahead of the "mov wipe2,>reset2-3" instruction, it's actually possible for the pointer to 'wipe2' to get decremented a hundred or so locations, landing on a "dat 22,22" from one of the nothing.red programs. Harmony then proceeds to coreclear itself, allowing nothing.red to get the win. This doesn't happen often though... it's like a 1 in 1000 thing. I'd have to look into it much more closely to see how -both- halves sometimes would die, it looks like the top and bottom halves would have to kill EACH OTHER. They couldn't kill themselves. Heh. Bizarre. The tieing happens actually fairly frequently though... around 1 in 200 it seemed. I guess this just goes to show what a horrible redcoder P. Kline is. Man. Somebody want to help that poor loser write a decent warrior? Hehehe. :-> -jkw From: Planar Subject: Re: Pmars/Linux-X11 Date: 1998/09/29 Message-ID: <6uqht4$5sb@news-rocq.inria.fr>#1/1 >From: sieben@imap1.asu.edu () > >There are rpm's available from Planar. And I've just added an RPM for RedHat 4.x on i386. The files are in : pMars-0.8-1.alpha.rpm Alpha / RedHat 5.1 pMars-0.8-1.ppc.rpm PowerPC / LinuxPPC and MkLinux pMars-0.8-1.sparc.rpm Sparc / RedHat 4.2 pMars-0.8-2.rh4.i386.rpm i386 / RedHat 4.1 (should work on 4.2) pMars-0.8-1.rh5.i386.rpm i386 / RedHat 5.1 pMars-0.8-2.src.rpm source -- Planar Remove ".gov" from my address. From: sieben@imap1.asu.edu () Subject: Re: Pmars/Linux-X11 Date: 1998/09/29 Message-ID: <6upfm0$n8m$1@news.asu.edu>#1/1 There are rpm's available from Planar. Nandor. Andrew S Mehlos (dweezil@earth.execpc.com) wrote: : Greetings... I've been out of corewars for a while, but I : was going to start playing again. Alas, I can't seem to : get pmars to compile for Linux with X11. A while ago, : though, someone was asking for it, and I sent them binaries : of the no graphics and the X11 versions, but I've long since : forgotten who it was.. Does anyone have their Makefile sitting : around? : : -- : - - - - - - - - - - : Andrew S. Mehlos : dweezil@execpc.com : From: Philip Kendall Subject: Re: HLL for CoreWars? Date: 1998/09/30 Message-ID: #1/1 In article <3614c7c9.267960596@news1.slurp.net>, Jeff Zeitlin wrote >As we all know, the current language for writing warriors is >REDCODE, an assembler-like language. Has anyone ever written a >"compiler" for a high-level language that gets translated to >REDCODE? I doubt it -- it would have to be a pretty useless language to be able to be translated into Redcode, as Redcode has not facilities for accessing anything that is outside core. Therefore you can't get any user input/read any files/do anything useful :-) (Hmmm... I did once write a program which wrote messages on pmarsv's display by suiciding processes at the appropriate addresses, but it was a bit pointless...) Phil -- / Philip Kendall (pak21@cam.ac.uk pak21@kendalls.demon.co.uk) \ \ http://www.geocities.com/SiliconValley/Park/5427/corewar.htm / From: David Matthew Moore Subject: Re: Newcomer Date: 1998/09/30 Message-ID: <6utusl$e7d$1@msunews.cl.msu.edu>#1/1 Gordon Marriott wrote: : Hi all : I have only recently found out about Core Wars... : Can ANYONE recommend a few good tutorials...? Tutorials get written whenever some motivated person has time. Unfortunately, such people don't usually have much patience for covering the fundamentals of the game. They tend to miss stuff. However, one of the best efforts that I have seen is at http://www.sci.fi/~iltzu/corewar/ Perhaps the best possible start would be to read the original Scientific American articles by Core War founder A.K. Dewdney. Although their language is obsolete, it's very entertaining and it would be a great primer for the later tutorials. http://www.koth.org/info/sciam/ From: amarsden@mcs.vuw.ac.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 1998/09/30 Message-ID: Archive-name: games/corewar-faq Last-Modified: August 5, 1998 =20 Version: 4.0 URL: http://www.mcs.vuw.ac.nz/~amarsden/corewars/corewar-faq.html Copyright: (c) 1998 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. The latest hypertext version is available at http://www.mcs.vuw.ac.nz/~amarsden/corewars/corewar-faq.html and the latest plain text version is available at=20 http://www.mcs.vuw.ac.nz/~amarsden/corewars/corewar-faq.txt. This document was last modified on August 5, 1998. It is currently being maintained by Anton Marsden (amarsden@mcs.vuw.ac.nz). ------------------------------------------------------------------------ To Do * Make question 17 easier to understand. Add a state diagram? * Upgrade to HTML 4.0, make FAQ easier to maintain in future (hopefully) * 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 the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr * Made some changes/additions/fixes based on a good FAQ review by Joonas Pihlaja. Not all of the suggestions have been dealt with yet, but the FAQ is now less ambiguous in some areas. Thanks Joonas! * Added stuff about pMARS under Win95 (question 9), and the location of = a HTML version of the ICWS'94 draft (question 5). * New definition: decrement resistant * Modified the answer to question 1 * Changed error in P-space question (location 0 can be written to). * Added links to genetic algorithm resources. * Added a link to Kendall's page. * Added new Q&A (code formatting). ------------------------------------------------------------------------ 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 o= f 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 virtua= l computer called MARS (for Memory Array Redcode Simulator). The object of th= e game is to cause all processes of the opposing program to terminate, leavin= g 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= =2E 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 =3D (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 i= s 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 th= e 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= =2E 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 =A90-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 =A90-7167-2144-9 .D5173 199= 0 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. 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 and ftp://www.koth.org/corewar/documents/tutorial.2. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This an= d 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'9= 4 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/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 onl= y 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 9= 4 Warrior, Core Warrior is a newsletter about strategies and current standing= s 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.geocities.com/SiliconValley/Park/5427/warrior.htm 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.answer= s (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 (Stormking 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 bod= y 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 Stormking.Com list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@stormking.com. You can send mail to corewar-l@stormking.com to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (tuc@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 Stormking. [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 point= s 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 ha= s 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, KotH= s 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 overlappin= g 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 divide= d up among the sites. The way you submit warriors to both KotHs is pretty muc= h 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 tha= t 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 I= nstr. Size Size Processes Distance Fought = Set Tie Length Pizza's ICWS '94 Draft Hill Ex= tended (Accessed with 25 8000 8000 80000 100 100 200 IC= WS '94 ";redcode-94") Dr= aft Pizza's Beginner's Hill Ex= tended (Accessed with 25 8000 8000 80000 100 100 200 IC= WS '94 ";redcode-b") Dr= aft Pizza's Experimental Ex= tended (Small) Hill 25 800 800 8000 20 20 200 IC= WS '94 (Accessed with Dr= aft ";redcode-x") Pizza's Limited Process (LP) Ex= tended Hill (Accessed 25 8000 8 80000 200 200 200 IC= WS '94 with Dr= aft ";redcode-lp") Stormking's ICWS '88 Standard Hill 20 8000 8000 80000 100 100 250 IC= WS '88 (Accessed with ";redcode") Stormking's ICWS '94 Experimental Ex= tended (Big) Hill 20 55440 55440 500000 200 200 250 IC= WS '94 (Accessed with Dr= aft ";redcode-94x") Stormking's ICWS '94 Draft Multi-Warrior Ex= tended Hill (Accessed 10 8000 8000 80000 100 100 200 IC= WS '94 with Dr= aft ";redcode-94m") Notes: * 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 assemble= d 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 Cor= e 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 o= r 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, fo= r 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 tha= n 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 memor= y 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 o= f 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 p= ointer 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 nothin= g 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 locatio= ns seq start+400*s1+200, start+400*s1+300 ;check two locatio= ns 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 nothin= g 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 cop= y 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= =2E 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: IMPSIZE EQU 2667 example spl 1 ; extend by adding more spl = 1's spl 1 djn.a @imp, #0 ; jmp @ a series of pointers dat #0, imp+(3*IMPSIZE) dat #0, imp+(2*IMPSIZE) dat #0, imp+(1*IMPSIZE) dat #0, imp+(0*IMPSIZE) imp mov.i #0, IMPSIZE [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) The rec.games.corewar FAQ is Copyright =A9 1998 and maintained by Anton Marsden (amarsden@mcs.vuw.ac.nz). ------------------------------------------------------------------------ From: David Matthew Moore Subject: Re: HLL for CoreWars? Date: 1998/09/30 Message-ID: <6utl3j$evf$1@msunews.cl.msu.edu>#1/1 Jeff Zeitlin wrote: : : Has anyone ever written a "compiler" for a high-level language : that gets translated to REDCODE? No. : If so, where could I find it? If not, would it be of interest : (even if only academic interest)? Since you're the one who popped the question, then maybe you can tell us why the compiler would be interesting. What would you do if you found one? From: jeff.zeitlin@mail.execnet.com (Jeff Zeitlin) Subject: HLL for CoreWars? Date: 1998/09/30 Message-ID: <3614c7c9.267960596@news1.slurp.net>#1/1 As we all know, the current language for writing warriors is REDCODE, an assembler-like language. Has anyone ever written a "compiler" for a high-level language that gets translated to REDCODE? If so, where could I find it? If not, would it be of interest (even if only academic interest)? -- Jeff Zeitlin jeff.zeitlin@mail.execnet.com From: M Joonas Pihlaja Subject: ldp in decoy makers Date: 1998/09/30 Message-ID: #1/1 You can use ldp to get some variation in your decoy. ;redcode-94 ;name ldpdecoy ;assert 1 dc equ go-1500 go nop }dc, }dc+2 ldp.ab }dc+1, {dc+4 ; uses p.0 ldp.a