Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 01 Nov 2001 11:03:48 GMT Archive-name: games/corewar-faq Last-Modified: September 4, 1999 Version: 4.2 URL: http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html Copyright: (c) 1999 Anton Marsden Maintainer: Anton Marsden Posting-Frequency: once every 2 weeks Core War Frequently Asked Questions (rec.games.corewar FAQ) These are the Frequently Asked Questions (and answers) from the Usenet newsgroup rec.games.corewar. A plain text version of this document is posted every two weeks. The latest hypertext version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html and the latest plain text version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.txt. This document is currently being maintained by Anton Marsden (anton@paradise.net.nz). Last modified: Sat Sep 4 00:22:22 NZST 1999 ------------------------------------------------------------------------ To Do * Add the new No-PSpace '94 hill location * Add online location of Dewdney's articles * Make question 17 easier to understand. Add a state diagram? * Add info about infinite hills, related games (C-Robots, Tierra?, ...) * New question: How do I know if my warrior is any good? Refer to beginners' benchmarks, etc. * Add a Who's Who list? * Would very much like someone to compile a collection of the "revolutionary" warriors so that beginners can see how the game has developed over the years. Mail me if interested. ------------------------------------------------------------------------ What's New * Changed primary location of FAQ (again!) * Changed Philip Kendall's home page address. * Updated list server information * Changed primary location of FAQ * Vector-launching code was fixed thanks to Ting Hsu. * Changed the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr ------------------------------------------------------------------------ Table of Contents 1. What is Core War 2. Is it "Core War" or "Core Wars"? 3. Where can I find more information about Core War? 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 6. What is the ICWS? 7. What is Core Warrior? 8. Where are the Core War archives? 9. Where can I find a Core War system for ...? 10. Where can I find warrior code? 11. I do not have FTP. How do I get all this great stuff? 12. I do not have access to Usenet. How do I post and receive news? 13. Are there any Core War related WWW sites? 14. What is KotH? How do I enter? 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 16. How does SLT (Skip if Less Than) work? 17. What is the difference between in-register and in-memory evaluation? 18. What is P-space? 19. What does "Missing ;assert .." in my message from KotH mean? 20. How should I format my code? 21. Are there any other Core War related resources I should know about? 22. What does (expression or term of your choice) mean? 23. Other questions? ------------------------------------------------------------------------ 1. What is Core War? Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all processes of the opposing program to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardised by the ICWS, and is therefore transportable between all standard Core War systems. The system in which the programs run is quite simple. The core (the memory of the simulated computer) is a continuous array of instructions, empty except for the competing programs. The core wraps around, so that after the last instruction comes the first one again. There are no absolute addresses in Core War. That is, the address 0 doesn't mean the first instruction in the memory, but the instruction that contains the address 0. The next instruction is 1, and the previous one obviously -1. However, all numbers are treated as positive, and are in the range 0 to CORESIZE-1 where CORESIZE is the amount of memory locations in the core - this means that -1 would be treated as CORESIZE-1 in any arithmetic operations, eg. 3218 + 7856 = (3218 + 7856) mod CORESIZE. Many people get confused by this, and it is particularly important when using the SLT instruction. Note that the source code of a program can still contain negative numbers, but if you start using instructions like DIV #-2, #5 it is important to know what effect they will have when executed. The basic unit of memory in Core War is one instruction. Each Redcode instruction contains three parts: * the opcode * the source address (a.k.a. the A-field) * the destination address (a.k.a. the B-field) The execution of the programs is equally simple. The MARS executes one instruction at a time, and then proceeds to the next one in the memory, unless the instruction explicitly tells it to jump to another address. If there is more than one program running, (as is usual) the programs execute alternately, one instruction at a time. The execution of each instruction takes the same time, one cycle, whether it is MOV, DIV or even DAT (which kills the process). Each program may have several processes running. These processes are stored in a task queue. When it is the program's turn to execute an instruction it dequeues a process and executes the corresponding instruction. Processes that are not killed during the execution of the instruction are put back into the task queue. Processes created by a SPL instruction are added to the task queue after the creating process is put back into the task queue. [ToC] ------------------------------------------------------------------------ 2. Is it "Core War" or "Core Wars"? Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. [ToC] ------------------------------------------------------------------------ 3. Where can I find more information about Core War? Core War was first described in the Core War Guidelines of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in Scientific American which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Library of Author Title Published ISBN Congress Call Number The Armchair Dewdney, Universe: An New York: W. QA76.6 .D517 A. K. Exploration of H. Freeman �0-7167-1939-8 1988 Computer Worlds 1988 The Magic 0-7167-2125-2 Dewdney, Machine: A New York: W.(Hardcover), QA76.6 A. K. Handbook of H. Freeman �0-7167-2144-9 .D5173 1990 Computer Sorcery 1990 (Paperback) A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current. For those who are interested, Dewdney has a home page at http://www.csd.uwo.ca/faculty/akd/. [ToC] ------------------------------------------------------------------------ 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A draft of the official standard (ICWS'88) is available as ftp://www.koth.org/corewar/documents/standards/redcode-icws-88.Z. This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at Mark Durham's tutorials, ftp://www.koth.org/corewar/documents/tutorial.1.Z and ftp://www.koth.org/corewar/documents/tutorial.2.Z. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This and various other tutorials can be found at http://www.koth.org/papers.html. Even though ICWS'88 is still the "official" standard, you will find that most people are playing by ICWS'94 draft rules and extensions. [ToC] ------------------------------------------------------------------------ 5. What is ICWS'94? Which simulators support ICWS'94? There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a new addressing modes and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft at ftp://www.koth.org/corewar/documents/icws94.0202.Z for more information. There is a HTML version of this document available at http://www.koth.org/info/icws94.html. You can try out the new standard by submitting warriors to the '94 hills of the KotH servers. Two corewar systems currently support ICWS'94, pMARS (many platforms) and Redcoder (Mac), both available at ftp://www.koth.org/corewar. Note that Redcoder only supports a subset of ICWS'94. [ToC] ------------------------------------------------------------------------ 6. What is the ICWS? About one year after Core War first appeared in Scientific American, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). The ICWS is no longer active. [ToC] ------------------------------------------------------------------------ 7. What is Core Warrior? Following in the tradition of the Core War News Letter, Push Off, and The 94 Warrior, Core Warrior is a newsletter about strategies and current standings in Core War. Started in October 1995, back issues of Core Warrior (and the other newsletters) are available at http://para.inria.fr/~doligez/corewar/. There is also a Core Warrior index page at http://www.kendalls.demon.co.uk/pak21/corewar/warrior.html which has a summary of the contents of each issue of Core Warrior. Many of the earlier issues contain useful information for beginners. [ToC] ------------------------------------------------------------------------ 8. Where are the Core War archives? Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp://ftp.csua.berkeley.edu/pub/corewar. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. This site is mirrored at: * http://www.koth.org/corewar/ * ftp://www.koth.org/corewar/ * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror The plain text version of this FAQ is automatically archived by news.answers (but this version is probably out-of-date). [ToC] ------------------------------------------------------------------------ 9. Where can I find a Core War system for . . . ? Core War systems are available via anonymous FTP from www.koth.org in the corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check ftp://www.koth.org/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than www.koth.org. Generally, the older the program - the less likely it will be ICWS compatible. If you are looking for an ICWS'94 simulator, get pMARS, which is available for many platforms and can be downloaded from: * ftp://ftp.csua.berkeley.edu/pub/corewar (original site) * ftp://www.koth.org/corewar (koth.org mirror) * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror (Planar mirror) * http://www.nc5.infi.net/~wtnewton/corewar/ (Terry Newton) * ftp://members.aol.com/ofechner/corewar (Fechter) Notes: * If you have trouble running pMARS with a graphical display under Win95 then check out http://www.koth.org/pmars.html which should have a pointer to the latest compilation of pMARS for this environment. * RPMs for the Alpha, PowerPC, Sparc and i386 can be found at ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars-rpm/ Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at www.koth.org: MADgic41.lzh corewar for the Amiga, v4.1 MAD4041.lzh older version? MAD50B.lha corewar for the Amiga, beta version 5.0 Redcoder-21.hqx corewar for the Mac, supports ICWS'88 and '94 (without extensions) core-11.hqx corewar for the Mac core-wars-simulator.hqx same as core-11.hqx? corewar_unix_x11.tar.Z corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z older version kothpc.zip port of older version of KotH to the PC deluxe20c.tar.Z corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z corewar for UNIX, likely not ICWS'88 compatible icons.zip corewar icons for MS-Windows macrored.zip a redcode macro-preprocessor (PC) c88v49.zip PC corewar, textmode display mars88.zip PC corewar, graphics mode display corwp302.zip PC corewar, textmode display, slowish mercury2.zip PC corewar written in assembly, fast! mtourn11.zip tournament scheduler for mercury (req. 4DOS) pmars08s.zip portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars08s.tar.Z same as above pmars08.zip PC executables with graphics display, req 386+ macpmars02.sit.hqx pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS1.99a.cpt.hqx port of v0.8 for the Mac, with display and debugger MacpMARS1.0s.cpt.hqx C source (MPW, ThinkC) for Mac frontend pvms08.zip pMARS v0.8 for VMS build files/help (req. pmars08s.zip) ApMARS03.lha pMARS executable for Amiga (port of version 0.3.1) wincor11.zip MS-Windows system, shareware ($15) [ToC] ------------------------------------------------------------------------ 10. Where can I find warrior code? To learn the game, it is a good idea to study previously posted warrior code. The FTP archives have code in the ftp://www.koth.org/corewar/redcode directory. A clearly organized on-line warrior collection is available at the Core War web sites (see below). [ToC] ------------------------------------------------------------------------ 11. I do not have FTP. How do I get all this great stuff? There is an FTP email server at bitftp@pucc.princeton.edu. This address may no longer exist. I haven't tested it yet. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. Note that many FTP email gateways are shutting down due to abuse. To get a current list of FTP email servers, look at the Accessing the Internet by E-mail FAQ posted to news.answers. If you don't have access to Usenet, you can retrieve this FAQ one of the following ways: * Send mail to mail-server@rtfm.mit.edu with the body containing "send usenet/news.answers/internet-services/access-via-email". * Send mail to mailbase@mailbase.ac.uk with the body containing "send lis-iis e-access-inet.txt". [ToC] ------------------------------------------------------------------------ 12. I do not have access to Usenet. How do I post and receive news? To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Koth.Org list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@koth.org. You can send mail to corewar-l@koth.org to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (ttsg@ttsg.com). Servers that allow you to post (but not receive) articles are available. Refer to the Accessing the Internet by E-Mail FAQ for more information. [ToC] ------------------------------------------------------------------------ 13. Are there any Core War related WWW sites? You bet. Each of the two KotH sites sport a world-wide web server. Stormking's Core War page is http://www.koth.org; pizza's is http://www.ecst.csuchico.edu/~pizza/koth . Damien Doligez (a.k.a. Planar) has a web page that features convenient access to regular newsletters (Push Off, The '94 Warrior, Core Warrior) and a well organized library of warriors: http://para.inria.fr/~doligez/corewar/. Convenient for U.S. users, this site is also mirrored at koth.org. [ToC] ------------------------------------------------------------------------ 14. What is KotH? How do I enter? King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program (warrior) with special comment lines. You will receive a reply indicating how well your program did against the current top programs "on the hill". There are two styles of KotH tournaments, "classical" and "multi-warrior". The "classical" KotH is a one-on-one tournament, that is your warrior will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. In "multi-warrior" KotH, all warriors on the hill fight each other at the same time. Score calculation is a bit more complex than for the one-on-one tournament. Briefly, points are awarded based on how many warriors survive until the end of a round. A warrior that survives by itself gets more points than a warrior that survives together with other warriors. Points are calculated from the formula (W*W-1)/S, where W is the total number of warriors and S the number of surviving warriors. The pMARS documentation has more information on multi-warrior scoring. The idea for an email-based Core War server came from David Lee. The original KotH was developed and run by William Shubert at Intel starting in 1991, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: koth@koth.org is maintained by Scott J. Ellentuch (tuc@ttsg.com) and pizza@ecst.csuchico.edu by Thomas H. Davies (sd@ecst.csuchico.edu). Up until May '95, the two sites provided overlapping services, i.e. the some of the hill types were offered by both "pizza" and "stormking". To conserve resources, the different hill types are now divided up among the sites. The way you submit warriors to both KotHs is pretty much the same. Therefore, the entry rules described below apply to both "pizza" and "stormking" unless otherwise noted. Entry Rules for King of the Hill Corewar * Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. * Put a line starting with ";redcode" (or ";redcode-94", etc., see below) at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. Using ";name" is mandatory on the Pizza hills. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently seven separate hills you can select by starting your program with ;redcode-94, ;redcode-b, ;redcode-lp, ;redcode-x, ;redcode, ;redcode-94x or ;redcode-94m. The former four run at "pizza", the latter three at "stormking". More information on these hills is listed below. * Mail this file to koth@koth.org or pizza@ecst.csuchico.edu. "Pizza" requires a subject of "koth" (use the -s flag on most mailers). * Within a few minutes you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. * In an hour or so you should get more mail telling you how your program performed against the current top 20 (or 10) programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode[-??] quiet" when you first mail in your program; then you will only get mail when you make it on the top 25 list or when you are knocked off. Using ";redcode[-??] verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 25 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. Sample Entry ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Duration Max. Hill Name Hill Core Max. Before Entry Min. Rounds Instr. Size Size Processes Distance Fought Set Tie Length Pizza's ICWS '94 Draft Hill Extended (Accessed with 25 8000 8000 80000 100 100 200 ICWS '94 ";redcode-94") Draft Pizza's Beginner's Extended Hill (Accessed 25 8000 8000 80000 100 100 200 ICWS '94 with ";redcode-b") Draft Pizza's Experimental Extended (Small) Hill 25 800 800 8000 20 20 200 ICWS '94 (Accessed with Draft ";redcode-x") Pizza's Limited Process (LP) Hill Extended (Accessed with 25 8000 8 80000 200 200 200 ICWS '94 ";redcode-lp") Draft Stormking's ICWS '88 Standard Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '88 ";redcode") Stormking's ICWS '94 No Pspace Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '94 ";redcode-94nop") Stormking's ICWS '94 Experimental Extended (Big) Hill 20 55440 55440 500000 200 200 250 ICWS '94 (Accessed with Draft ";redcode-94x") Stormking's ICWS '94 Multi-Warrior Extended Hill (Accessed 10 8000 8000 80000 100 100 200 ICWS '94 with Draft ";redcode-94m") Note: Warriors on the beginner's hill are retired at age 100. If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. At "stormking", a message body with ";help" will return brief instructions. If you submit code containing a ";test" line, your warrior will be assembled but not actually pitted against the warriors on the hill. At "pizza", you can use ";redcode[-??] test" to do a test challenge of the Hill without affecting the status of the Hill. These challenges can be used to see how well your warrior does against the current Hill warriors. All hills run portable MARS (pMARS) version 0.8, a platform-independent Core War system available at www.koth.org. The '94 and '94x hills allow five experimental opcodes and three experimental addressing modes currently not covered in the ICWS'94 draft document: * LDP - Load P-Space * STP - Store P-Space * SEQ - Skip if EQual (synonym for CMP) * SNE - Skip if Not Equal * NOP - (No OPeration) * * - indirect using A-field as pointer * { - predecrement indirect using A-field * } - postincrement indirect using A-field [ToC] ------------------------------------------------------------------------ 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? Core is initialized to DAT 0, 0. This is an illegal instruction (in source code) under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you have a DAT 0, 0 instruction in your source code - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. [ToC] ------------------------------------------------------------------------ 16. How does SLT (Skip if Less Than) work? SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: -1 becomes M-1 where M is the memory size (core size). Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. [ToC] ------------------------------------------------------------------------ 17. What is the difference between in-register and in-memory evaluation? These terms refer to the way instruction operands are evaluated. The '88 Redcode standard ICWS'88 is unclear about whether a simulator should "buffer" the result of A-operand evaluation before the B-operand is evaluated. Simulators that do buffer are said to use in-register evaluation, those that don't, in-memory evaluation. ICWS'94 clears this confusion by mandating in-register evaluation. Instructions that execute differently under these two forms of evaluation are MOV, ADD, SUB, MUL, DIV and MOD where the effective address of the A-operand is modified by evaluation of the B-operand. This is best illustrated by an example: L1 mov L2, mov.i #0, impsize Bootstrapping Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners Scanners which only recognize non-zero B-fields. example add #10, scan scan jmz example, 10 c Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner A Scanner which uses a CMP instruction to look for opponents. example add step, scan scan cmp 10, 30 jmp attack jmp example step dat #20, #20 Colour Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear Code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys Bogus or unused instructions meant to slow down scanners. Typically, DATs with non-zero B-fields. Decrement Resistant Property of warriors making them functional (or at least partially functional) when overrun by a DJN-stream. DJN-Stream (also DJN-Train) Using a DJN command to rapidly decrement core locations. example ... ... djn example, <4000 Dwarf The prototypical small bomber. Gate-busting (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp Program which only uses the MOV instruction. example mov 0, 1 or example mov 0, 2 mov 0, 2 Imp-Gate A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... spl 0, mov.i #0,IMPSIZE Mirror see reflection. On-axis/off-axis On-axis scanners compare two locations M/2 apart, where M is the memory size. Off-axis scanners use some other separation. Optimal Constants (also optima-type constants) Bomb or scan increments chosen to cover core most effectively, i.e. leaving gaps of uniform size. Programs to calculate optimal constants and lists of optimal numbers are available at www.koth.org. Paper A Paper-like program is one which replicates itself many times. Part of the Scissors (beats) Paper (beats) Stone (beats Scissors) analogy. P-Warrior A warrior which uses the results of previous round(s) in order to determine which strategy it will use. Pit-Trapper (also Slaver, Vampire). A program which enslaves another. Usually accomplished by bombing with JMPs to a SPL 0 pit with an optional core-clear routine. Q^2 Scan A modern version of the Quick Scan where anything found is attacked almost immediately. Quick Scan 2c scan of a set group of core locations with bombing if anything is found. Both of the following codes snips scan 16 locations and check for a find. If anything is found, it is attacked, otherwise 16 more locations are scanned. Example: start s1 for 8 ;'88 scan cmp start+100*s1, start+100*s1+4000 ;check two locations mov #start+100*s1-found, found ;they differ so set pointer rof jmn attack, found ;if we have something, get it s2 for 8 cmp start+100*(s2+6), start+100*(s2+6)+4000 mov #start+100*(s2+6)-found, found rof found jmz moveme, #0 ;skip attack if qscan found nothing attack cmp @found, start-1 ;does found points to empty space? add #4000, found ;no, so point to correct location mov start-1, @found ;move a bomb moveme jmp 0, 0 In ICWS'94, the quick scan code is more compact because of the SNE opcode: start ;'94 scan s1 for 4 sne start+400*s1, start+400*s1+100 ;check two locations seq start+400*s1+200, start+400*s1+300 ;check two locations mov #start+400*s1-found, found ;they differ so set pointer rof jmn which, found ;if we have something, get it s2 for 4 sne start+400*(s2+4), start+400*(s2+4)+100 seq start+400*(s2+4)+200, start+400*(s2+4)+300 mov #start+400*(s2+4)-found-100, found rof found jmz moveme, #0 ;skip attack if qscan found nothing add #100, -1 ;increment pointer till we get the which jmn -1, @found ;right place mov start-1, @found ;move a bomb moveme jmp 0, 0 Reflection Copy of a program or program part, positioned to make the active program invisible to a CMP-scanner. Replicator Generic for Paper. A program which makes many copies of itself, each copy also making copies. Self-Splitting Strategy of amplifying the number of processes executing a piece of code. example spl 0 loop add #10, example mov example, @example jmp loop Scanner A program which searches through core for an opponent rather than bombing blindly. Scissors A program designed to beat replicators, usually a (B-field scanning) vampire. Part of the Paper-Scissors-Stone analogy. Self-Repair Ability of a program to fix it's own code after attack. Silk A replicator which splits off a process to each new copy before actually copying the code. This allows it to replicate extremely quickly. This technique is only possible under the '94 draft, because it requires post-increment indirect addressing. Example: spl 1 mov -1, 0 spl 1 ;generate 6 consecutive processes silk spl 3620, #0 ;split to new copy mov >-1, }-1 ;copy self to new location mov bomb, >2000 ;linear bombing mov bomb, }2042 ;A-indirect bombing for anti-vamp jmp silk, {silk ;reset source pointer, make new copy bomb dat >2667, >5334 ;anti-imp bomb Slaver see Pit-Trapper. Stealth Property of programs, or program parts, which are invisible to scanners, accomplished by using zero B-fields and reflections. Stone A Stone-like program designed to be a small bomber. Part of the Paper-Scissors-Stone analogy. Stun A type of bomb which makes the opponent multiply useless processes, thus slowing it down. Example is referred to as a SPL-JMP bomb. example spl 0 jmp -1 Two-Pass Core-Clear (also SPL/DAT Core-Clear) core clear that fills core first with SPL instructions, then with DATs. This is very effective in killing paper and certain imp-spiral variations. Vampire see Pit-Trapper. Vector Launch one of several means to start an imp-spiral running. As fast as Binary Launch, but requiring much less code. See also JMP/ADD Launch and Binary Launch. This example is one form of a Vector Launch: sz EQU 2667 spl 1 spl 1 jmp @vt, }0 vt dat #0, imp+0*sz ; start of vector table dat #0, imp+1*sz dat #0, imp+2*sz dat #0, imp+3*sz ; end of vector table imp mov.i #0, sz [ToC] ------------------------------------------------------------------------ 23. Other questions? Just ask in the rec.games.corewar newsgroup or contact me. If you are shy, check out the Core War archives first to see if your question has been answered before. [ToC] ------------------------------------------------------------------------ Credits Additions, corrections, etc. to this document are solicited. Thanks in particular to the following people who have contributed major portions of this document: * Mark Durham (wrote the original version of the FAQ) * Paul Kline * Randy Graham * Stefan Strack (maintained a recent version of the FAQ) ------------------------------------------------------------------------ Copyright � 1999 Anton Marsden. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ------------------------------------------------------------------------ From: "Arcus Investment" Subject: Swamp Homogeneity, a design-oriented critique 8-) Date: 1 Nov 2001 18:29:13 -0500 Message-ID: <006801c16329$8546c060$2100a8c0@HomePC> I have been thinking about the implication of the swamp model. As I understand the current proposal: 1) There are 10 distinct forms, each of which is a hill of 10 warriors. 2) Each new warrior nominates 1 form within which it will compete for a place. 3) Each warrior nominates a number of forms against which it will score points. Say I write a warrior. I will test it against all 10 forms and, presumably, tend to nominate as lunch those that I score highest against. I will then choose a hill to live on, presumably the one I would rank highest on. Imagine we replicated the current 25 warriors 4x each and scattered them through the swamp. It is easier to get into the swamp than onto the hill because warriors age (or optimisation wears off) much faster. Not only do the specific warriors you are eating change, but the content of each form changes. A new challenger can pick its four best results to eat but established warriors are at the mercy of what has moved into each form since they were written. With this proposal The swamp *will* make it easier for beginners to get in and turnover *will* increase. I'm not so sure, however, about diversity. This scoring method rewards killing, never defence. You score highly if you kill other warriors in some nominated forms and you receive little or no credit for being tough to kill yourself. The other warriors in your form have scores based on how well they kill other forms, not how well they kill you or you kill them! It might well be a reduced ecology with lots of scanners, oneshots and stones, and maybe the odd vampire or leprechaun. I think Imps and Silks would be out, and so would those that prey on them. "Reduced" does not necessarily mean "dull", but I am a bit worried... Should I get time, one day, I will try simulating what would happen if people submitted the top of Koenigstuhl under these rules. Zooom city? I'm also not sure about inhomogeneity. My first guess was that like forms might tend to cluster, creating some "paperlike" forms and a "stonelike" forms that would eat each other, but I can't see any mechanism for this. I think every form will tend to contain a rather similar mix of warriors, because warriors will be allocated "at random" depending on what form is weakest at the time of submission. Any warrior that is optimised to exploit a temporary deviation from this will die as soon as the deviation ends. All long-lived warriors will have to be good against any random sample of the population as a whole, rather defeating some of the objectives. Sooo... 1) The swamp would have a very different ecology from the hills unless we create some reward for being tough to eat. This is not fatal to the concept but it might well reduce richness -- the old multiwarrior hill showed the other extreme to be very dull. I think it is desirable to reward defence as well as attack. Any ideas for a mechanism? 2) The idea could, I guess, be extended to encourage inhomogeneity, and I think this would add richness. Any ideas? Different, and pre-specified, food for each form? A "voting" system by which forms eat the "consensus" target chosen by its members? Different, prespecified, scoring algorithms for different forms? 3) Proposals can be tested by simulation. If we get something that looks workable I will do it. Honest. Robert Macrae From: pk6811s@acad.drake.edu (P. Kline) Subject: Re: Swamp Homogeneity, a design-oriented critique 8-) Date: 2 Nov 2001 11:35:41 -0800 Message-ID: <92b0a3d6.0111021135.74e360bd@posting.google.com> R. Macrae wrote: ... > 1) There are 10 distinct forms, each of which is a hill of 10 warriors. > 2) Each new warrior nominates 1 form within which it will compete for a place. > 3) Each warrior nominates a number of forms against which it will score > points. This differs from my proposal in having a ten-member constraint on each form. Say each member of A fights all the members of two selected food types plus all A-consuming programs. Twenty-something battles. > Say I write a warrior. I will test it against all 10 forms and, > presumably, tend to nominate as lunch those that I score highest against. > I will then choose a hill to live on, presumably the one I would rank > highest on. Or a hill that has few predators you are afraid of. There should be a test option to run against all 100 players so I don't have to submit the same program multiple times. Maybe fewer battles per engagement to reduce run-time, we can always download them to run more battles. > ...established warriors are at the mercy of what has moved into each form > since they were written. Adapt or die, change or get a new disguise. > With this proposal The swamp *will* make it easier for beginners to get in > and turnover *will* increase. > > I'm not so sure, however, about diversity. > > ...The other warriors in your > form have scores based on how well they kill other forms, not how well > they kill you or you kill them! A program could choose to eat its own kind. > 1) The swamp would have a very different ecology from the hills unless we > create some reward for being tough to eat. ... This isn't "PeaceCore" :-) If winning is not encouraged over tieing then the trend would be toward tie-sharing cooperators. Everybody is an imp and gets a high score - the same high score. A single loss means taking a lower score. However, there may be an answer - symbiosis. Remove the ten-member constraint such that a new member of one form can crowd out a member of another form. Then add the average score of the form to the score of each of its members. We can now think about each form as a body having offensive and defensive members. A form could grow larger until its average score drops and puts the weaker members at risk. The added dimension is combination-space, and we explore varieties of combinations as well as single programs. So a form could have eight silks and two 3-line stones to discourage scanners. A nice balance between just enough silks to attract scanners and just enough stones killing them for a good group score. Not too many stones or the scanners will go away. Or a block of scanners with a couple of silks. Or a block of generalists, each feeding on a different diet. Now a specialist can get on as a member of a strong group, does that encourage diversity? The form does not belong to an individual, and people could work together to build a co-op. A managed form could react to a new predator by switching out a member. A strong form could become infected with parasites, weak members pulling down its score (now THERE is flame bait), but only so many as can manage to get on the hill. You could temporarily target another form's food supply to bring it down, but if that food item diminishes your score will decrease also. However, temporary advantages are boring in the long run. Paul Kline pk6811s@acad.drake.edu I'm staring at a soda can thinking this should be called "DietCore". From: Winston Bean Subject: Re: Swamp Homogeneity, a design-oriented critique 8-) Date: Fri, 02 Nov 2001 15:11:36 -0900 Message-ID: <3BE33638.16C69542@hotmail.com> > A strong form could become infected with parasites, weak members > pulling down its score (now THERE is flame bait), but only so many > as can manage to get on the hill. > Why not make teams? That sort of concept (clans, tribes, etc.) seems to be very attractive in other games (though Core War obviously isn't similiar to any widely played games). There could be 10 teams set from the beginning and the number kept at that, or teams could be formed independently and given a 'form' (if I'm understanding the current proposal correctly) upon obtaining enough players. This could simplify communication between authors sharing a form, and breed some healthy competitive spirit. I could even see some espionage and infiltration occuring; of course, that's flame city. IMHO, teams recruiting members, helping each other, and working together would be an exciting development, and would go perfectly with the general concept being hashed out now. -Winston From: Winston Bean Subject: New Hills Date: Fri, 02 Nov 2001 17:22:04 -0900 Message-ID: <3BE354CC.1DD3F8BD@hotmail.com> I was looking over the old 'How popular is Corewars' thread; the suggestion of a progressive series of hills for newbies seems like a fantastic idea. Why was it abandoned? It seems like everything on r.g.c. is a purely theoretical exercise in futile typing. Obviously it's hard for someone to find the time (I'm sure not contributing anything), but something has got to be implemented sometime. IMHO, we are in dire need of: 1. A beginner's hill. FOR GAWD'S SAKE, WE NEED A BEGINNER'S HILL. 2. A -94 hill (though I'm kinda enjoying the absence of p-spacers) BTW, I know Pizza has a -b and -94, but it seems to be 6 feet under. 3. Something to encourage new participants In regards to numero tres, those suggestions of a simpler simulator (though it seems that if someone can't figure out how to type a line @ a DOS prompt, they won't get too far with RC) with a GUI, a new tutorial, and progressive hills (especially Moore's suggestion of hills progressing through the strategies of yore) all sound great. Any chance of getting any of these accomplished? I don't think simplifying RC is necessary; like p.v.k I started in 6th grade with only a little experience in BASIC. However, unlike p.v.k, I'm still a beginner =p. I know this message is rash, audacious, and presumptuous as I really am not in a position to be lecturing people (not to mention my calling for people to take up a project while not really doing anything myself). Nonetheless, we need something to shake things up. At the very least, I hope this post can get people discussing the needs and possibilities again. -Winston 'Ahhhh shit, here comes the flames' FB From: "Paul Khuong" Subject: RE: Swamp Homogeneity, a design-oriented critique 8-) Date: 2 Nov 2001 21:33:37 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of P. > Kline > Sent: 2 novembre, 2001 15:30 > To: Multiple recipients of list COREWAR-L > Subject: Re: Swamp Homogeneity, a design-oriented critique 8-) [nice analysis of the challenges, (ab)uses, etc] OK. How about that? Describe the algorithm, in any way, to pair warriors and to compute the scores, for forms and for warriors. Then, we can try this baby into the "real" world 8) Paul Khuong (Look ma! No typo! 8) --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Robert Macrae" Subject: Swamp Design Date: 2 Nov 2001 21:33:33 -0500 Message-ID: <002601c163fe$e04a6720$2100a8c0@HomePC> OK, time for a proposal and some wild ideas. Proposal -- The Wheel Take 10 forms (range 8-15 if you want) and name them f0..f9. Each form eats the following 3 forms in a cyclical manner (so f8 eats f9,f0,f1). Within each form, ranking is determined by (Score you get against your prey) - 0.5 x (Scores by things that prey on you) As on the present hill, if you want to get into any form you have to displace the weakest incumbent. Rationale? Well... 10 forms allows "enough space" for 3 or 4 predators and prey. Eating 3 forms rather than all allows scope for specialisation. Eating 3 forms rather than one reduces sensitivity to changes in any one form, and (I hope) allows space for compromise warriors. Subtracting 0.5x scores against you gives some reward for defence. If the weight was 1.0 I think the result would be homogeneity, if 0.0 I think the result would be the loss of defensive warriors. 0.5 is a guess at a compromise. It is always dangerous to predict what a complex system will do without simulating it but my best guess is that this would generate an inhomogeneous and complex ecology. Imagine that we have a swamp shared by papers, scissors and stones. If you write a stone, where would it do best? Well, probably where it can feed on scissors, with the other stones, even though it is eaten by papers. If it is very vulnerable to papers, move it closer to the scissors so some of its predators are stones. If robust to papers (Incendiary?) you can live closer to the papers. Problems? Well, I am afraid the wheel may tend to rotate, because if I write a paper I probably always put it on the front edge of the papers, closest to those juicy stones, and the wheel will move on... If the wheel rolls too fast, no real ecology can evolve. Ask moss. Wild Idea #1 -- Democracy Take 10 forms. Every warrior fights every warrior and all results are stored. Each form eats the 3 forms that it scores, in aggregate, highest against. Each form is eaten by the 3 forms that, in aggregate, score lowest against it. Fitness within form is calculated (as above) by (Score you get against your prey) - 0.5 x (Scores by things that prey on you) Rationale? Well, err... It usually pays to do what the form already does well so the ecosystem will be very inhomogeneous. However, changes in a form's list of prey forms will result in sharp changes in ranking within the form so the nature of the inhomogeneity may not be set in stone and overspecialisation might be penalised. Frankly, however, this system is so complex I have no idea how it would work out. Wild Idea #2-- Aggression Spectrum Take 2-5 forms, all fight all. Scoring is different for each form; at one end, scores are 4-0-0, At the other end they are 2-0-2, with something like 3-0-1 in the middle. Ranking is within each form as before. Rationale? Well, it would give us some new kinds of warrior to write. OTOH it would not have the potential richness of a "free" ecosystem like the swamp or wheel ideas. Conclusion I don't think any of the above work as given, but perhaps YOU can improve them? Hmmm. Now I'll have to read Paul's post and work out why we aren't talking about the same thing... Regards, Robert Macrae From: Bartek Dedersen Subject: Re: New Hills Date: 3 Nov 2001 09:36:25 GMT Message-ID: <9s0h20.17g.1@dedersen-15757.user.cis.dfn.de> Winston Bean wrote: > 3. Something to encourage new participants Yeah! What is about RISCW? Has it died? I know many people, who wants to play CW with me, but they are not Assambler-Geeks so the language is to complicated for them. And the developing IDE? I can help out with coding and want to see a _new_ Corewar! Bartek -- 2.4.5 in kernel/acct.c(25): XTerms and EMACS are manifestations of pure evil. From: "Paul Khuong" Subject: RE: New Hills Date: 3 Nov 2001 17:17:18 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Winston > Bean > Sent: 2 novembre, 2001 22:34 > To: Multiple recipients of list COREWAR-L > Subject: New Hills > > > I was looking over the old 'How popular is Corewars' thread; the > suggestion of a progressive series of hills for newbies seems like a > fantastic idea. Why was it abandoned? It seems like everything on > r.g.c. is a purely theoretical exercise in futile typing. Obviously > it's hard for someone to find the time (I'm sure not contributing > anything), but something has got to be implemented sometime. IMHO, we > are in dire need of: > > 1. A beginner's hill. FOR GAWD'S SAKE, WE NEED A BEGINNER'S HILL. > 2. A -94 hill (though I'm kinda enjoying the absence of p-spacers) > BTW, I know Pizza has a -b and -94, but it seems to be 6 feet under. > 3. Something to encourage new participants > > In regards to numero tres, those suggestions of a simpler simulator > (though it seems that if someone can't figure out how to type a line @ a > DOS prompt, they won't get too far with RC) with a GUI, a new tutorial, > and progressive hills (especially Moore's suggestion of hills > progressing through the strategies of yore) all sound great. Any chance > of getting any of these accomplished? I don't think simplifying RC is > necessary; like p.v.k I started in 6th grade with only a little > experience in BASIC. However, unlike p.v.k, I'm still a beginner =p. OK... You know what? While we try to find a proper host, i'm ready to lend what little computer power i have to the cause(~2 GHz*Comp). I'll set up an email account on yahoo, and will try to host -b, challenge hill, and the ecological system. ALso, all the sources for the warriors will be available to the public; I'm thinking about automatically posting every submission here. Now, all i need is a good free host that lets me FTP my site 8) Does tripod still fit that? --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Paul Khuong" Subject: RE: New Hills Date: 3 Nov 2001 22:05:39 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Paul > Khuong > Sent: 3 novembre, 2001 17:17 > To: Multiple recipients of list COREWAR-L > Subject: RE: New Hills [snip] > You know what? While we try to find a proper host, i'm ready to lend what > little computer power i have to the cause(~2 GHz*Comp). I'll set > up an email > account on yahoo, and will try to host -b, challenge hill, and the > ecological system. ALso, all the sources for the warriors will be > available > to the public; I'm thinking about automatically posting every submission > here. WOO! Compiled pMARS(finally). Now i really don't wanna make the scripts for KotH myself bc i got other stuff to do...SO, can anyone send some to me, that would output the scores, etc? The more that is automated, the better. 8) --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Robert Macrae" Subject: Re: Swamp Homogeneity, a design-oriented critique 8-) Date: Sat, 3 Nov 2001 22:41:55 -0000 Message-ID: <3be46bb2$0$8509$cc9e4d1f@news.dial.pipex.com> > > 1) There are 10 distinct forms, each of which is a hill of 10 warriors. > > 2) Each new warrior nominates 1 form within which it will compete for a place. > > 3) Each warrior nominates a number of forms against which it will score > > points. > > This differs from my proposal in having a ten-member constraint on each > form. Say each member of A fights all the members of two selected food > types plus all A-consuming programs. Twenty-something battles. With the constraint, there are 10 potential warriors that can be displaced to get onto the hill -- the weakest in each form. Without it, there is a single weakest warrior. I don't know if it make any real difference, but fixed-size forms will make some things simpler. For example, with variable-sized forms, do you average scores within a form or does a warrior that feeds on a large form simply score more? > > Say I write a warrior. I will test it against all 10 forms and, > > presumably, tend to nominate as lunch those that I score highest against. > > I will then choose a hill to live on, presumably the one I would rank > > highest on. > > Or a hill that has few predators you are afraid of. I had not understood a basic assumption. You have in mind both parties counting the results of all battles, which eliminates my concern that only aggressive warriors would be competitive. I had assumed only the predator scored, not the prey. My wheel proposal makes a distinction between fights against prey and against predators, by having different scoring. Against predators in the wheel you are rewarded for survival (by scoring 0 -1.5 -0.5 against predators, 3 0 1 against prey). This should be enough to guarantee that any equilibrium is inhomogenous, but it may not be needed... Perhaps standard scoring does enough. > There should be a > test option to run against all 100 players so I don't have to submit > the same program multiple times. Maybe fewer battles per engagement > to reduce run-time, we can always download them to run more battles. Agreed. > > ...The other warriors in your > > form have scores based on how well they kill other forms, not how well > > they kill you or you kill them! > > A program could choose to eat its own kind. If they eat 2 forms (themselves and one other) and are eaten on average by 2, then in-form battles are only 25% of the total. Not negligible, but far less effect than in the current hill where a SilkImp can drag down every competitor's score and profit accordingly. > If winning is not encouraged over tieing then the trend would be > toward tie-sharing cooperators. Everybody is an imp and gets > a high score - the same high score. Hey, I remember that from somewhere 8-) > However, there may be an answer - symbiosis. Remove the ten-member > constraint such that a new member of one form can crowd out a member > of another form. Then add the average score of the form to the > score of each of its members. We can now think about each form as > a body having offensive and defensive members. A form could grow > larger until its average score drops and puts the weaker > members at risk. ... so long as we can design an incentive structure encourages this interesting kind of behaviour. Err....? > The added dimension is combination-space, and we explore varieties > of combinations as well as single programs. ... > Now a specialist can get on as a member of a strong group, > does that encourage diversity? It would, if the scoring is right. However, it is not easy to balance the individual element against the co-operative so that neither dominates. If a warrior can score more highly simply by taking form X, what prevents every warrior from taking that form? How can the warriors that are in X set a threshold for entry and / or discipline freeriders? > The form does not belong to an individual, and people could > work together to build a co-op. A managed form could react > to a new predator by switching out a member. > > A strong form could become infected with parasites, weak members > pulling down its score (now THERE is flame bait), but only so many > as can manage to get on the hill. I once designed a competition round that may be relevant. I wanted teams to write standard warriors that would be scored as a team, taking the _strongest_ team result against each opponent and dropping the others. This would reward specialisation and diversity. We could also measure the contribution of each warrior to the team effort, with the noncontributing warriors at the bottom of the form, vulnerable to replacement? Robert Macrae From: Philip Thorne Subject: Re: New Hills Date: Sun, 04 Nov 2001 03:12:03 -0600 Message-ID: <3BE50663.5000601@yahoo.com> Winston Bean wrote: > [...] IMHO, we > are in dire need of: > > 1. A beginner's hill. FOR GAWD'S SAKE, WE NEED A BEGINNER'S HILL. > 2. A -94 hill (though I'm kinda enjoying the absence of p-spacers) > BTW, I know Pizza has a -b and -94, but it seems to be 6 feet under. > 3. Something to encourage new participants > [...] There are several possible projects e.g. - beginner hill - experimental (Kline/swamp etc.) hills - FAQ update [Includes a History of Key warriors] - Automated search for corewar references outside of rgc [e.g. French, Finish & Russian usenet postings lastmonth] - etc. I've been considering the idea of putting-up a beginner hill a little later in the year [vacation] - partly because there seems to be a need for such a hill (and perhaps others) but mostly because I'd like to code one. [I have an ftp-able web-space for static output (no user cgi) and a (separate) DSL account running linux on which the actual work could be done.] I'm assuming here that Lukasz's hills http://www.if.pw.edu.pl/~adamow/corewar/is are too strong for beginners but haven't tried them. [If you're interested you might find http://www.poltran.com useful for translations.]. If not then creating new hills might dilute the pool of players and one has to wonder what happens if pizza returns [a good thing]. Re code to manage a KOTH - there's something from the Intel days at ftp://www.koth.org/pub/corewars/systems/88 but one (pvk) can probably find something newer/better. [Diversion] While trying to do so myself I found this parallel corewar project from '94. Mentions ICWS & EBS. http://www.cosc.brocku.ca/Project/info/corewar.htm Philb From: holish@web.de (Peter Michely) Subject: Deutsche Nutzer/Newsgroup? [GER] Date: 4 Nov 2001 09:23:21 -0800 Message-ID: <16704d62.0111040923.6e836068@posting.google.com> Hi, ahhmm... also ich kann zwar schon Englisch, aber nat�rlich w�re es einfacher deutsche Nachrichten/Turoials zu lesen *g*. Vielleicht hat jemand was deutsches oder kommt aus Deutschland (von den Namen her scheinen das einige zu sein)... Also bitte mal melden! Vielen danl! From: "Paul Khuong" Subject: RE: Deutsche Nutzer/Newsgroup? [GER] Date: 4 Nov 2001 19:49:30 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Peter > Michely > Sent: 4 novembre, 2001 13:30 > To: Multiple recipients of list COREWAR-L > Subject: Deutsche Nutzer/Newsgroup? [GER] > > > Hi, > > ahhmm... also ich kann zwar schon Englisch, aber nat�rlich w�re es > einfacher deutsche Nachrichten/Turoials zu lesen *g*. Vielleicht hat > jemand was deutsches oder kommt aus Deutschland (von den Namen her > scheinen das einige zu sein)... > Also bitte mal melden! Vielen danl! Sorry, i can't write in deutch, however, i think that i udnerstood your psot quite well 8) There are no german NG for corewar that i know of, and i haven't seen any german tutorial either. However, if english is really a problem, i think that there is a tutorial in pole and there are a few fench speaking players here. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: M Joonas Pihlaja Subject: Re: Swamp Homogeneity, a design-oriented critique 8-) Date: 4 Nov 2001 19:49:34 -0500 Message-ID: First a point that might have gone unmentioned: I think a form-like environment would cause players to feel attached to the forms their warriors are on, causing them parental anxieties over those forms. It may happen that players more or less unconsciously adopt certain forms into their care. Should players be allowed to own sections of the swamp, and how ruthlessly should they be allowed to manage it? If managing a form is made too easy then the 10 forms might be quickly divided up between experienced players who try to purge any beginner or hostile warriors that are sent to their form. On Fri, 2 Nov 2001, P. Kline wrote: > However, there may be an answer - symbiosis. Remove the > ten-member constraint such that a new member of one form can > crowd out a member of another form. How exactly does a new warrior crowd out a member of an other form? If my warrior X is crowded out by your warrior Y, then does my warrior drop off the swamp (i.e. the hill that is X's form)? Oh, and since X was crowded out, I assume the size of your form increases by one (Y is allowed to get on it). How is the crowded out warrior chosen? The lowest scoring warriors in the entire swamp, or can I choose which form to kick a member from? > Then add the average score of the form to the score of each > of its members. [snip] > A form could grow larger until its average score drops and > puts the weaker members at risk. [snip] So, if my adopted form gets too big I should ;kill off my weakest warriors there. Or, if some bastid has dared to send weaklings to my form, then I could try to leverage another form to kick them off my form? > The form does not belong to an individual, and people could > work together to build a co-op. A managed form could react > to a new predator by switching out a member. > A strong form could become infected with parasites, weak members > pulling down its score (now THERE is flame bait), but only so many > as can manage to get on the hill. Says the man who has made an art form of covertly probing -94nop with warriors that just escape the score threshold that would cause notification being sent to other players. ;-) Anyway, this raises the interesting point of what can the managers of a form do when their form is infected? Jump ship and take over another form? Try to kill the parasites? Joonas From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 11/05/01 Date: 5 Nov 2001 07:56:47 -0500 Message-ID: <200111050500.AAA26063@gevjon.ttsg.com> Weekly Status on 11/05/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Thu Oct 4 10:23:04 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 35/ 19/ 45 KAT v5 Dave Hillis 152 31 2 41/ 33/ 26 Black Moods Ian Oversby 148 95 3 29/ 15/ 56 Katafutr Michal Janeczek 144 39 4 42/ 41/ 18 Greetings From Asbury Par JKW 143 59 5 34/ 29/ 37 Big I.F.F.S. Dave Hillis 140 28 6 36/ 35/ 29 Ogre Christian Schmidt 138 47 7 22/ 7/ 71 Denial David Moore 138 40 8 30/ 24/ 46 Damage Inflicted Robert Macrae 136 38 9 34/ 32/ 34 Controlled Aggression Ian Oversby 136 99 10 20/ 7/ 73 Evol Cap 4 X John Wilkinson 133 168 11 23/ 13/ 64 Kin John Metcalf 133 7 12 18/ 4/ 77 Evolve X v4.0 John Wilkinson 132 116 13 19/ 6/ 75 Black Box v1.1 JKW 132 62 14 23/ 19/ 58 Venom v0.2b Christian Schmidt 128 121 15 28/ 34/ 38 test CS 123 56 16 32/ 45/ 24 Pagan John K W 119 153 17 19/ 20/ 62 Purple v0.1 Christian Schmidt 118 120 18 22/ 25/ 53 Disaster Area 2.8 Stefan Foerster 118 26 19 19/ 21/ 60 sptst (4D-p) Stefan Foerster 117 1 20 26/ 46/ 28 Sand-Crawler John Metcalf 106 5 21 12/ 86/ 1 my sucky warrior john q. redcoder 39 0 From: Koth Subject: KOTH.ORG: Status - Standard 11/05/01 Date: 5 Nov 2001 07:56:51 -0500 Message-ID: <200111050500.AAA26055@gevjon.ttsg.com> Weekly Status on 11/05/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Fri Oct 19 17:36:37 EDT 2001 # %W/ %L/ %T Name Author Score Age 1 33/ 19/ 48 Freight Train David Moore 147 78 2 32/ 20/ 48 sIMPly.Red v0.95 Leonardo Humberto 145 35 3 31/ 19/ 50 Test Alexander (Sasha) Wa 143 17 4 29/ 20/ 50 Guardian Ian Oversby 139 77 5 21/ 8/ 71 qenig1 test John Metcalf 135 1 6 39/ 44/ 17 Foggy Swamp Beppe Bezzi 134 74 7 34/ 34/ 32 PacMan David Moore 133 107 8 35/ 37/ 28 Stasis David Moore 132 185 9 38/ 44/ 19 Blur '88 Anton Marsden 132 115 10 30/ 28/ 42 Frog Sticker P.Kline 132 27 11 23/ 16/ 61 EV Paper John K Wilkinson 130 91 12 24/ 18/ 58 Jinglo John Metcalf 130 2 13 25/ 22/ 53 Shish-Ka-Bob Ben Ford 129 33 14 23/ 18/ 59 Test I Ian Oversby 128 134 15 32/ 36/ 32 Tangle Trap David Moore 127 151 16 23/ 20/ 57 Evoltmp 88 John K W 127 128 17 34/ 41/ 25 Beholder's Eye V1.7 W. Mintardjo 126 353 18 35/ 46/ 19 Iron Gate Wayne Sheppard 125 403 19 35/ 47/ 18 ig Wayne Sheppard 124 5 20 12/ 3/ 85 ]enigma[ Michal Janeczek 121 6 21 4/ 54/ 43 VLIV'88 Wayne Sheppard 54 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 11/05/01 Date: 5 Nov 2001 07:56:43 -0500 Message-ID: <200111050500.AAA26059@gevjon.ttsg.com> Weekly Status on 11/05/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Oct 28 04:23:15 EST 2001 # Name Author Score Age 1 Pitbull Christian Schmidt 33 40 2 fclear Brian Haskin 31 68 3 D-clearM Ken Espiritu 25 84 4 Xord Monominer XOSC:01 Gino Oblena 24 23 5 test John Metcalf 20 12 6 QuiVa John Metcalf 18 177 7 8thTest Gino Oblena 17 15 8 Her Majesty P.Kline 12 103 9 Carrot Grater v1.1 Brant D. Thomsen 12 2 10 sptst (4D-p) Stefan Foerster 9 1 11 Ferret Winston Featherly-Be 2 0 From: pk6811s@acad.drake.edu (P. Kline) Subject: Re: Swamp Design Date: 5 Nov 2001 08:05:01 -0800 Message-ID: <92b0a3d6.0111050805.b64cc1b@posting.google.com> "Robert Macrae" wrote: > Proposal -- The Wheel ... > Problems? Well, I am afraid the wheel may tend to rotate, The wheel could be locked by having one form loaded with preselected programs and blocking submissions to that form. It sounds interesting, so here is another wild idea. Think big, very big. With your proposal there is room for at most 100 players. How about making it big enough for 1000 players? 100 forms, some are pre-loaded and fixed, the rest are played according to your scoring scheme which values offense over defense. Now there is space for both veterans and newbies. You don't have to fight every program in the swamp. You can move to another part if that works better. It is next to impossible to understand the whole swamp, which is irrelevant anyway since you are only focused on a small portion. The newsgroup develops 'ecologists' who attempt to describe what is going on in different areas. You could request a ;testall run to play against all 1000 programs which is processed during slow times - maybe it takes a couple days to get a response :-) Or you could request a test against selected forms, some kind of flexible testing arrangement... You don't get messages about distant forms, only the ones relevant to your play. Maybe you get average form scores. Say form Zero is all stones, form 25 is all silks, form 50 is all scanners, form 75 is all spirals. The rest are randomly preloaded. Let the fun begin. Paul Kline pk6811s@acad.drake.edu From: "Steffen M�ller" Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Date: Mon, 5 Nov 2001 14:58:57 +0100 Message-ID: <9s65qu$gb$05$1@news.t-online.com> "Paul Khuong" schrieb im Newsbeitrag news:NEBBIFPGCLEGEIMCMICOKEKECKAA.paul_virak_khuong@yahoo.com... | > -----Original Message----- | > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Peter | > Michely | > Sent: 4 novembre, 2001 13:30 | > To: Multiple recipients of list COREWAR-L | > Subject: Deutsche Nutzer/Newsgroup? [GER] | > | > | > Hi, | > | > ahhmm... also ich kann zwar schon Englisch, aber nat�rlich w�re es | > einfacher deutsche Nachrichten/Turoials zu lesen *g*. Vielleicht hat | > jemand was deutsches oder kommt aus Deutschland (von den Namen her | > scheinen das einige zu sein)... | > Also bitte mal melden! Vielen danl! | Sorry, i can't write in deutch, however, i think that i udnerstood your psot | quite well 8) | | There are no german NG for corewar that i know of, and i haven't seen any | german tutorial either. | | However, if english is really a problem, i think that there is a tutorial in | pole and there are a few fench speaking players here. That's Polish and French, but never mind that. I'm not too far into CoreWar if at all, but I'm German and my English is decent, so if the OP has any problems understanding English tutorials, he's free to mail me at any time. HTH, Steffen M�ller -- $_=q;0cb212c210b0bb010c0113bb0c410c0b516c0bb3d212c2b0b0b016b6cb2b2c21010c0 b41110b3bba0e0c0d2c4b2b6bc013d2c0d0b01012b0b0;;s/\n//g;s/(\d)/$1<2?$1:'0'x $1/ge;s/([a-f])/'1'x(ord($1)-97)/ge;print"\n";$o=$_;push@o,substr($o,$_*8, 8)for(0..24);for(@o){print"\0"x(26-$i).chr(oct('0b'.($_)))."\n";$i++}#st_m From: Winston Bean Subject: Re: New Hills Date: Mon, 05 Nov 2001 17:27:37 -0900 Message-ID: <3BE74A99.13644168@hotmail.com> > I see eight hills, coupled in the following way: > . The main hill works normally. > . When a program is kicked from the main hill (or fails to enter), > its score against the main hill is used to determine what happens > to it. > . If its score was between 0 and 20, it goes to the "beginner > level 0" hill. > . If it was 20-40, it goes to "beginner level 1" > . Etc up to 120-140 (beginner level 6, or "not quite beginner") Hmmm...nice idea, but wouldn't hills be filled not based so much on the warrior's proficiency as on the make-up of the main hill when they were submitted? -Winston From: "Paul Khuong" Subject: RE: Newbie Date: 5 Nov 2001 18:16:38 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Thomas > Baruchel > Sent: 5 novembre, 2001 16:34 > To: Multiple recipients of list COREWAR-L > Subject: Newbie > > > Brest, le dimanche 4 novembre > > Hi, I am a very newbie at corewar. Not even played yet, but very > interested. First of all. What are the corewer-like games with > following specifications: > a) are there games where you write your program in a specific language? > (I would be interested in functional languages like Scheme or Caml) > b) are there real-time games (I read the FAQ and thought that CoreWar > seems to be turn-based) ? I mean games where your program runs alone > and ask the server to do an action whenever it wants through a socket > or a socket-like access. > c) Are there (maybe corewar does) server/client based games ? > I mean games where you connect to an host (by internet for instance) > and play from your computer by sending and receiving informations ? > > [Interested in robot games as much as corewar-like games] Bonjour! Well, yes, corewar is turn-based, though with very small turns 8) a) Many, really. The first that comes to my mind is CRobot and all of the variants. b) Real-time...Not sure, since every game that i remember of works by sending events to the program. c) Don't think so, since, i don't see any point. There are some play-by-email(like corewar ^_^), though. Links that you might find interesting: http ://d irec tory.google.com/Top/Games/Video_Games/Genres/Simulation/Programming_Games/ http://tpga.virtualave.net/ I'm still looking for a decent _3D_ simulation of space/air combat with support for pluggable AI, btw. If you find any, could you pelase email me some links? THX --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: baruchel@libertysurf.france (Thomas Baruchel) Subject: Newbie Date: 5 Nov 2001 20:05:30 GMT Message-ID: <9s6rea$qto$1@wanadoo.fr> Brest, le dimanche 4 novembre Hi, I am a very newbie at corewar. Not even played yet, but very interested. First of all. What are the corewer-like games with following specifications: a) are there games where you write your program in a specific language? (I would be interested in functional languages like Scheme or Caml) b) are there real-time games (I read the FAQ and thought that CoreWar seems to be turn-based) ? I mean games where your program runs alone and ask the server to do an action whenever it wants through a socket or a socket-like access. c) Are there (maybe corewar does) server/client based games ? I mean games where you connect to an host (by internet for instance) and play from your computer by sending and receiving informations ? [Interested in robot games as much as corewar-like games] Thank you very much, -- QlpoOTFBWSZTWcwiz1oAAC1fgHQTwOeABVAABAT7Zp4lMAC4hET1DQNGhoBoyGaQYyaZAyaG QZGmBGDTJE01NMTJkZDQaAUhm7W8Wu9WYGQZg2Vd+s8PsaiAZJoF5jaDsEQUaCEQHgnxdw5H siRDfoqLyg4gHe6/TCLCgm0gY3zjVSswgknIk85qBbV7GNcqz8yWcUOcrT4SlYICcQUgKxM2 gumlEIhPgCSCC4gUHVb3pREx/vdlGkW5r2P5Z+LuSKcKEhmEWetA | mimencode + bzip2 From: Planar Subject: Re: New Hills Date: 5 Nov 2001 20:12:37 GMT Message-ID: <9s6rrl$bhq$1@ites.inria.fr> >From: Winston Bean >I was looking over the old 'How popular is Corewars' thread; the >suggestion of a progressive series of hills for newbies seems like a >fantastic idea. Why was it abandoned? Since everyone is posting their visions, I'll do it too. I see eight hills, coupled in the following way: . The main hill works normally. . When a program is kicked from the main hill (or fails to enter), its score against the main hill is used to determine what happens to it. . If its score was between 0 and 20, it goes to the "beginner level 0" hill. . If it was 20-40, it goes to "beginner level 1" . Etc up to 120-140 (beginner level 6, or "not quite beginner") Or maybe we can do it with 16 hills, with 10-point increments instead of 20. That way, beginners can measure their own progress against the ever-changing target of a normal hill, and their programs are also automatically entered in a hill with other warriors of about the same level (although warrior strength is not a one-dimensional variable). -- Planar From: Bartek Dedersen Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Date: 6 Nov 2001 11:39:46 GMT Message-ID: <9s8lat.15o.1@dedersen-15757.user.cis.dfn.de> holish@web.de (Peter Michely) wrote: > ahhmm... also ich kann zwar schon Englisch, aber nat�rlich w�re es > einfacher deutsche Nachrichten/Turoials zu lesen *g*. Vielleicht hat > jemand was deutsches oder kommt aus Deutschland (von den Namen her > scheinen das einige zu sein)... Ja, es gibt einen deutschen Programmier, der eine CoreWar Variante geschrieben hat. Zus�tzlich sind da noch Tutorials dabei. Such mal in google danach. Bartek -- "Hinweis: die Information steckt primaer im schwarzen Teil des Schwarz/Weiss-Musters auf Deinem Bildschirm, wird als solche jedoch nur in der spezifischen Abgrenzung gegen Weiss deutlich." -E. Moenkeberg From: Planar Subject: Re: New Hills Date: 6 Nov 2001 12:11:32 GMT Message-ID: <9s8k1k$60$1@ites.inria.fr> >From: Winston Bean >Hmmm...nice idea, but wouldn't hills be filled not based so much on the >warrior's proficiency as on the make-up of the main hill when they were >submitted? That's what I meant when I wrote "warrior strength is not a one-dimensional variable". Still, we can expect the warrior score against the main hill to be a good enough approximation of a warrior's "overall strength". You can see the main hill as an evolving benchmark, a sort of constantly-changing wilkies. -- Planar From: Ransom Smith Subject: Re: New Hills Message-ID: <5GQF7.595$r17.13109@news-west.eli.net> Date: Tue, 06 Nov 2001 12:26:41 GMT In article <9s6rrl$bhq$1@ites.inria.fr>, Planar wrote: >>From: Winston Bean > >>I was looking over the old 'How popular is Corewars' thread; the >>suggestion of a progressive series of hills for newbies seems like a >>fantastic idea. Why was it abandoned? > > Since everyone is posting their visions, I'll do it too. > > I see eight hills, coupled in the following way: > . The main hill works normally. > . When a program is kicked from the main hill (or fails to enter), > its score against the main hill is used to determine what happens > to it. > . If its score was between 0 and 20, it goes to the "beginner > level 0" hill. > . If it was 20-40, it goes to "beginner level 1" > . Etc up to 120-140 (beginner level 6, or "not quite beginner") > Yes, but that way, we'll get a gigantic non-beginner's hill, as all the true beginners will fall off the beginner hill as well, as soon as experts start getting knocked off it, as they surely will. What you need is for these hills only to be accessible upon failing to enter the main hill. If one person does fantastic on the top hill, then slides down over some time and falls off (and they will) then we don't want them cluttering up our beginner hill with their proficiently coded, well optimized, but no longer apropos warrior. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] No, I don't Yahoo. --**([{ LIFE IS FAIR. --**-- LIVE WITH IT. }])**-- From: baruchel@libertysurf.france (Thomas Baruchel) Subject: Are there warriors with subprocesses communicating between themselves Date: 6 Nov 2001 12:47:46 GMT Message-ID: <9s8m5i$71$1@wanadoo.fr> Brest, le mardi 6 novembre Hi, since I am a newbie, my question may be stupid, but I was wondering if there is a warrior that launches two or three processes who could communicate together? -- QlpoOTFBWSZTWcwiz1oAAC1fgHQTwOeABVAABAT7Zp4lMAC4hET1DQNGhoBoyGaQYyaZAyaG QZGmBGDTJE01NMTJkZDQaAUhm7W8Wu9WYGQZg2Vd+s8PsaiAZJoF5jaDsEQUaCEQHgnxdw5H siRDfoqLyg4gHe6/TCLCgm0gY3zjVSswgknIk85qBbV7GNcqz8yWcUOcrT4SlYICcQUgKxM2 gumlEIhPgCSCC4gUHVb3pREx/vdlGkW5r2P5Z+LuSKcKEhmEWetA | mimencode + bzip2 From: Planar Subject: Re: New Hills Date: 6 Nov 2001 14:03:21 GMT Message-ID: <9s8qj9$2bj$1@ites.inria.fr> >From: Ransom Smith >Yes, but that way, we'll get a gigantic non-beginner's hill, as all the >true beginners will fall off the beginner hill as well, as soon as experts >start getting knocked off it, as they surely will. What you need is for >these hills only to be accessible upon failing to enter the main hill. Hm, I was not clear. In my vision, a program that falls off a hill does not enter the next lower hill, it is simply eliminated. But you're right, there's no reason to make the main hill special in this respect, so entering the lower hills should be reserved to programs that failed to get into the main hill. -- Planar From: Lukasz Adamowski Subject: Re: Swamp Homogeneity, a design-oriented critique 8-) Date: 6 Nov 2001 15:25:20 -0500 Message-ID: Actually it is a reply to all the "ecology" discussion. You know, guys, I think that there is one thing we all had forgot about. It can be the biggest problem in whole the ecology based simulations. Someone (I forgot who, sorry) came up with idea of food list and I think the problem is no one has said WHY this list is so important. Because paper beats stone, stone beats scissors and scissors beats paper? It's not the way the nature works. Why do animal hunt? To get the food, to survive. So if we want to have some kind of ecological system, we need to make some rules like: "if warrior don't kill another warrior in specified time, it dies (starves)". I realise it can be difficult to implement, but first let's answer the question: what do we want? As I remember it started with the problem of "newbies-never-getting-on-any-hill". Swamp and all the ideas are to make Core Wars more friendly to people who start redcoding. But will they do this? BTW I can't imagine how you want this food list to work. Is it only for checking if the warrior got on the proper hill? And what happens if a warrior won't be so good to kill it's food (i.e. beacuse of mistake in code)? Will it become a food of those, which it should kill (I mean would a food gain points if the hunter dies)? Maybe this idea is too clever or to simple for me to understand. ;) I will think about my "hunt-to-survive" idea yet and tell you, what I think up. Lukasz From: Winston Bean Subject: Re: Swamp Homogeneity, a design-oriented critique 8-) Date: Tue, 06 Nov 2001 17:32:32 -0900 Message-ID: <3BE89D40.18683B4E@hotmail.com> > Actually it is a reply to all the "ecology" discussion. You know, guys, I > think that there is one thing we all had forgot about. It can be the > biggest problem in whole the ecology based simulations. Someone (I > forgot who, sorry) came up with idea of food list and I think the problem > is no one has said WHY this list is so important. Because paper beats > stone, stone beats scissors and scissors beats paper? It's not the way the > nature works. I don't think the focus is an accurate simulation of an ecological habitat (there's plenty of other projects working with that); the ecology stuff was just a metaphor to make the concpet clearer. Correct me if I'm wrong. -Winston From: Winston Bean Subject: Re: New Hills Date: Tue, 06 Nov 2001 17:34:51 -0900 Message-ID: <3BE89DCB.660446B4@hotmail.com> >Still, we can expect the warrior score > against the main hill to be a good enough approximation of a warrior's > "overall strength". You can see the main hill as an evolving > benchmark, a sort of constantly-changing wilkies. Good point. I like that; in fact, this is starting to seem like a quite superior system. Any possibilities of implementation? -Winston From: Lukasz Adamowski Subject: Re: New Hills Date: 6 Nov 2001 17:43:49 -0500 Message-ID: On Sun, 4 Nov 2001, Philip Thorne wrote: > I'm assuming here that Lukasz's hills > http://www.if.pw.edu.pl/~adamow/corewar/is > are too strong for beginners but haven't tried them. [If > you're interested you might find http://www.poltran.com > useful for translations.]. If not then creating new hills > might dilute the pool of players and one has to wonder > what happens if pizza returns [a good thing]. > > Philb Actually I don't know if my hill is too strong for newbie. The fact is some Polish people tried to get on PZPR and didn't, because they used to send something like doubled Dwarf or spl 0/mov 0,1 (so called "Jumper Launcher" :) It's not how I want it to be. On the other hand both of my hills are filled with warriors written by Polish players (except John Metcalf's Wumpus) who are mostly beginners (well... maybe not beginners, maybe just "ordinary redcoders" :) And here is what I thought up today: A hill with warriors growing old. When the warrior gets on the hill it's "young", full of energy and his fights are fully scored. As it's getting old, scores are multiplied by 3/4, 1/2, 1/4 (or something like that) and then it dies. So it allows for newbies to get on the hill faster, because old warriors has lower efficiency. (It's logical, isn't it? Just like in real life.) The first version of this idea was that old warriors fight less battles and that's their scores are lower. This is a real swamp, when warriors are drowning. :] Maybe I put this kind of hill on my site, but that needs a bit of time. Lukasz From: birk@andromeda.ociw.edu Subject: Koenigstuhl News Date: 6 Nov 2001 17:43:45 -0500 Message-ID: <200111062235.fA6MZnd02332@andromeda.ociw.edu> Congratulations to Dave Hillis! His warrior 'KAT v5' is the new #1 on the X-hill. On the OPEN-hill 'Light Sprain' entered as rank #9. Christoph http://www.ociw.edu/~birk/COREWAR/koenigstuhl.html From: Lukasz Adamowski Subject: Re: Are there warriors with subprocesses communicating between Date: 6 Nov 2001 17:49:55 -0500 Message-ID: On Tue, 6 Nov 2001, Thomas Baruchel wrote: > Brest, le mardi 6 novembre > > Hi, since I am a newbie, my question may be stupid, but I was > wondering if there is a warrior that launches two or three > processes who could communicate together? > Well, the answer is: the processes can communicate, but don't have to. The way how do they do this is only the programmer's problem. They can use P-space or use a part of core or even change one another (also kill one another, unfortunately). I think if you only learn RedCode you will be able to imagine a lot of ideas of "hand-shaking" between processes. Lukasz From: Lukasz Adamowski Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Date: 6 Nov 2001 17:50:00 -0500 Message-ID: On Sun, 4 Nov 2001, Peter Michely wrote: > Hi, > > ahhmm... also ich kann zwar schon Englisch, aber nat�rlich w�re es > einfacher deutsche Nachrichten/Turoials zu lesen *g*. Vielleicht hat > jemand was deutsches oder kommt aus Deutschland (von den Namen her > scheinen das einige zu sein)... > Also bitte mal melden! Vielen danl! > Donnerwetter, ich habe Deutsche gelernt, aber es war funf Jahres (ago). Jetzt ich konne (hardly) verstand was du geschriebt hat. Ich denke (there) sind Leute aus Deutschland hier. Sorry, my Deutch is not so good to talk with you. I'm from Poland and use English, I think it's a good exercise. Lukasz From: "Paul Khuong" Subject: RE: why this won't work Date: 6 Nov 2001 20:53:39 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of grabek > Sent: 6 novembre, 2001 18:32 > To: Multiple recipients of list COREWAR-L > Subject: why this won't work > > > why the #$%@ following code won't work > > start: mov $fire, >fire > jmp start > fire: dat #0, #0 > > though this seems to work properly > > start: mov $fire, @fire > jmp start, >fire > fire: dat #0, #0 > > and why this one seems to shoot at every second cell > > start: mov $fire, >fire > jmp start, >fire > fire: dat #0, #0. Oh, GOD! The beauty of in-register evaluation(it's in the ICWS '94 standard) ^_^ For snippet 1: start: mov $fire, >fire jmp start fire: dat #0, #0 Cosmetical stuff:You don't need the $ in $fire, and you probably want to change the "fire" line to "dat 0,0" (legal in '94), sicne it is invisible to I scanners(are there any??). OK, for the real question:Remember that > is POST-increment, meaning that it refers to the b field BEFORE incrementing the field. Also, with in-register evaluation, everything relevant to the line being executed is copied in another part of memory different from the core. What happens is that: 1. copy #0,#0 in the memory 2. check where fire's b-field refer to 3. increment fire's b-field 4. Copy #0,#0 (the original fire line) OVER the incremented fire. That is why it continually writes over itself; you only need to prime fire and make it "dat 0,1" for the code to work 8) Snippet 2: start: mov $fire, @fire jmp start, >fire fire: dat #0, #0 Here, the incrementation is done at the jump, so that it isn't overwritten right after being incremented. What happens is that: The jump increments the b-field. Move uses the locations pointed to by fire's b-field. Snippet 3: start: mov $fire, >fire jmp start, >fire fire: dat #0, #0. What happens is that: Mov: Move fire to where fire's b-field points to, right after incrementing fire(see example 1) Jmp increments fire ANOTHER time. Now, the first time,start does nothing, while the jmp makes fire points somewhere else than to itself. After that, you have a double incrementation, so that it bombs one cell out of 2. Since you seem interested in clears, here's an example of clear that isn't often used, though i don't see why: lptr dat 0, 8 ;8=bptr bomb1 spl #bomb2-bptr,<8 Bomb2 dat lptr mov.i *bptr,>lptr djn.f -2, {lptr ;constant gate... Can be made more resilient to stones, though, by using djn.f -1,... dat 0, 0 bptr dat.f Clear,0 In its current form, it is VERY bulky, but it can be made much smaller (4 less lines), but then i would only use it as a component for say, a one shot scanner. Try to see how it works, and if you can't come here... It'd probably be like one real jumpstart, since it has parts of almsot every important things in corewar, imho 8) --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Paul Khuong" Subject: RE: Are there warriors with subprocesses communicating between themselves Date: 6 Nov 2001 20:55:04 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Thomas > Baruchel > Sent: 6 novembre, 2001 08:30 > To: Multiple recipients of list COREWAR-L > Subject: Are there warriors with subprocesses communicating between > themselves > > > Brest, le mardi 6 novembre > > Hi, since I am a newbie, my question may be stupid, but I was > wondering if there is a warrior that launches two or three > processes who could communicate together? Hi! No, it's not a stupid question. Well, i'm sure that there ARE warriors that do that; the question is more "Was there any succesful warrior that spawned processes that would communicate together" 8) Unfortunately, not that i know of. The problem is, why would you WANT to make them communicate? What is there to tell?. Well, actually, there are a few multiprocess scanner/clear; i guess that that could count as communicating. However, there are many multi process warriors with multiples chunks of code(papers, multi part warriors, etc). If there actually was a succesful warrior that did use communications, do tell me! Your question gave me an idea for a warrior, though: 1 Scanning part 1 Bombing part(vampire 8) 1 Trap(bomb pointing to the trap, followed by a clear) Scanner sends the loc to the bomber via p-space, and the bomber just does an addition to make the location relative to itself. Probably too bulky, but we'll see! --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: grabek Subject: why this won't work Date: Tue, 6 Nov 2001 22:29:11 +0000 (UTC) Message-ID: why the #$%@ following code won't work start: mov $fire, >fire jmp start fire: dat #0, #0 though this seems to work properly start: mov $fire, @fire jmp start, >fire fire: dat #0, #0 and why this one seems to shoot at every second cell start: mov $fire, >fire jmp start, >fire fire: dat #0, #0. am i confused... -- pozdrawiam, grabek From: Lukasz Adamowski Subject: RE: Are there warriors with subprocesses communicating between Date: 7 Nov 2001 07:36:27 -0500 Message-ID: On Tue, 6 Nov 2001, Paul Khuong wrote: > Well, actually, there are a few multiprocess scanner/clear; i guess that > that could count as communicating. [...] > However, there are many multi process warriors with multiples chunks of > code(papers, multi part warriors, etc). > > If there actually was a succesful warrior that did use communications, do > tell me! Your question gave me an idea for a warrior, though: > > 1 Scanning part > 1 Bombing part(vampire 8) > 1 Trap(bomb pointing to the trap, followed by a clear) > I think some of warriors on my hill (mostly those called DwaMichaly) use something like parallel scan and vampire-like clear. When scan detects something it gives a pointer to clear which drops a lot of SPLs (or JMPs) guiding to a trap (another clear, but this one is selfkiling). I used to make some warriors working like that also, but none of mine were as good as DwaMichaly. Lukasz From: Lukasz Adamowski Subject: Re: why this won't work Date: 7 Nov 2001 07:37:53 -0500 Message-ID: On Tue, 6 Nov 2001, grabek wrote: > why the #$%@ following code won't work > > start: mov $fire, >fire > jmp start > fire: dat #0, #0 > > though this seems to work properly > > start: mov $fire, @fire > jmp start, >fire > fire: dat #0, #0 > > and why this one seems to shoot at every second cell > > start: mov $fire, >fire > jmp start, >fire > fire: dat #0, #0. > > am i confused... > > -- > pozdrawiam, grabek > Another redcoder from Poland? It's nice for me to hear it. Why it won't work? Because you're trying to copy dat #0, #0 to "fire" cell and then increment B-address, but this B-address is overwritten by dat #0, #0, so, in fact, it doesn't move at all. As I remember someone wrote once about REAL order of execution in CoreWars, if I find it I'll send it to you. Moge jeszcze wytlumaczyc to po polsku, o ile bedzie jasniej :) BTW czy grabek@home.sweet.home to twoj prawdziwy e-mail? Dopisze cie do mojej listy potencjalnych rycerzy rdzeniowych z Polski i zapraszam na www.wojny.rdzeniowe.prv.pl, jesli jeszcze tam nie byles. Greetings Lukasz Adamowski From: Ransom Smith Subject: Re: Are there warriors with subprocesses communicating between themselves Message-ID: Date: Wed, 07 Nov 2001 12:15:39 GMT Paul Khuong wrote: > If there actually was a succesful warrior that did use communications, do > tell me! Your question gave me an idea for a warrior, though: > > 1 Scanning part > 1 Bombing part(vampire 8) > 1 Trap(bomb pointing to the trap, followed by a clear) > > Scanner sends the loc to the bomber via p-space, and the bomber just does an > addition to make the location relative to itself. Probably too bulky, but > we'll see! I suspect it would be significantly less bulky if the operation was carried out in core. Instead of STP and LDP just use a MOV in the scanner's trigger loop to feed the location to the bomber, and have the pointer register for the scans one bomb-interval before the pointer for the bombing, so almost no adding will be necessary, as the stone will just add that much automatically in a few turns. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] No, I don't Yahoo. --**([{ LIFE IS FAIR. --**-- LIVE WITH IT. }])**-- From: Ransom Smith Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Message-ID: Date: Wed, 07 Nov 2001 12:27:03 GMT Lukasz Adamowski wrote: > On Sun, 4 Nov 2001, Peter Michely wrote: > >> Hi, >> >> ahhmm... also ich kann zwar schon Englisch, aber nat�rlich w�re es >> einfacher deutsche Nachrichten/Turoials zu lesen *g*. Vielleicht hat >> jemand was deutsches oder kommt aus Deutschland (von den Namen her >> scheinen das einige zu sein)... >> Also bitte mal melden! Vielen danl! >> > Donnerwetter, ich habe Deutsche gelernt, aber es war funf Jahres > (ago). Jetzt ich konne (hardly) verstand was du geschriebt hat. Ich denke > (there) sind Leute aus Deutschland hier. > Ooh! Let me try! This looks fun! Ich habe Deutsche auch gelernt, aber noch bin ich Amerikaner. (Der Paul hat gestern gesagt, das(s?) ich nicht Amerikaner bin weil ich das "Palatal Fricative" sowie 'ich' fast gut sagen kann. Tutorials oder Nachrichten auf Deutsch kenne ich leider kein, aber vielleicht gibt's etwas. > Sorry, my Deutch is not so good to talk with you. I'm from Poland and use > English, I think it's a good exercise. > Ouch. Harder than I thought. I think I'm done, too. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] No, I don't Yahoo. --**([{ LIFE IS FAIR. --**-- LIVE WITH IT. }])**-- From: "Dennis Luehring" Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Date: Wed, 7 Nov 2001 14:18:22 +0100 Message-ID: <9sbc90$1288ho$1@ID-68648.news.dfncis.de> > Hi, > > ahhmm... also ich kann zwar schon Englisch, aber nat�rlich w�re es > einfacher deutsche Nachrichten/Turoials zu lesen *g*. Vielleicht hat > jemand was deutsches oder kommt aus Deutschland (von den Namen her > scheinen das einige zu sein)... > Also bitte mal melden! Vielen danl! schau dich mal auf meiner seite http://www.aiforge.net/ um ... da k�nnte es ein paar links geben From: Sascha Zapf Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Date: 7 Nov 2001 17:50:30 -0500 Message-ID: <01110721275800.00660@progger> Am Son, 04 Nov 2001 schrieb Peter Michely: > Hi, > > ahhmm... also ich kann zwar schon Englisch, aber nat�rlich w�re es > einfacher deutsche Nachrichten/Turoials zu lesen *g*. Vielleicht hat > jemand was deutsches oder kommt aus Deutschland (von den Namen her > scheinen das einige zu sein)... > Also bitte mal melden! Vielen danl! Ich hatte Dir schon an Deine Webmail-Adresse geschrieben, aber leider scheinst DU die nicht oft zu kontrollieren. Jedenfalls habe ich hier ein fast fertiges Handbuch f�r CoreWar-Einsteiger. Bin momentan noch dabei die K�mpfer aus dem Wilkies-Benchmark genauer unter die Lupe zu nehmen. Danach wird Korrekturgelesen und dann werde ich ne Deutsche CoreWar-Seite aufmachen. Wenn Du interesse hast ( nat�rlich auch jeder andere ) dann einfach bei mir melden. Sascha -- Solche Signaturen sind v�llig sinnfrei. From: "Paul Khuong" Subject: RE: Are there warriors with subprocesses communicating between themselves Date: 8 Nov 2001 04:47:51 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Ransom > Smith > Sent: 7 novembre, 2001 08:32 > To: Multiple recipients of list COREWAR-L > Subject: Re: Are there warriors with subprocesses communicating between > themselves > > > Paul Khuong wrote: > > If there actually was a succesful warrior that did use > communications, do > > tell me! Your question gave me an idea for a warrior, though: > > > > 1 Scanning part > > 1 Bombing part(vampire 8) > > 1 Trap(bomb pointing to the trap, followed by a clear) > > > > Scanner sends the loc to the bomber via p-space, and the bomber > just does an > > addition to make the location relative to itself. Probably too > bulky, but > > we'll see! > > I suspect it would be significantly less bulky if the operation > was carried > out in core. Instead of STP and LDP just use a MOV in the > scanner's trigger > loop to feed the location to the bomber, and have the pointer register for > the scans one bomb-interval before the pointer for the bombing, > so almost no > adding will be necessary, as the stone will just add that much > automatically > in a few turns. Yep, probably...Unless i were to send them on the -m hill ^_^ --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: Bartek Dedersen Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Date: 8 Nov 2001 19:56:26 GMT Message-ID: <9serbc.1b4.1@dedersen-15757.user.cis.dfn.de> Ransom Smith wrote: > [Funky German sentences] > Ouch. Harder than I thought. I think I'm done, too. Doh! I have never laughed so much by reading rg.corewar. ;) Now you have time to laugh about my english. SCRN, Bartek -- 2.4.5 in kernel/acct.c(25): XTerms and EMACS are manifestations of pure evil. From: baruchel@libertysurf.france (Thomas Baruchel) Subject: Frogs Date: 9 Nov 2001 07:44:25 GMT Message-ID: <9sg1gp$epa$1@wanadoo.fr> Brest, le vendredi 9 novembre Three questions: Please, don"t laugh at me, since I play for two days only. I wrote this little frog; no idea if it has already been written: org start start spl frog spl frog frog mov <2,{2 mov.X #1,19 jmp 19,1 It is a 3-instruction / 3 subprocesses program that jumps from a position to any other position in the core (here from 16 to 16, etc.). It just needs a launcher in order to make the three processes start together. It isn't very efficient, but I show it to you because I was wondering if other program can jump (I mean 3-instruction-max programs, because I don't call jump what replicators do; they seem to be a little longer, etc.) Do you know other 2 or 3 instructions that jump ? I downloaded a few warriors, but don't know which one are considered as good, against which one it would be the best to learn, etc. What I can say is that I already wrote a program that beats on each 20-rounds tournament a warrioir called 'sucker5'. I also downloaded programs called aeka, flashpaper, notepaper, bscanner, etc. Are they actual warrioirs used in tournaments or are they too old ? Which one (and where can I find them) are used at the moment ? Last (for later ;-) how do you send your warrioir to a tournament? what are the different ones? Would I disturb a game if I already send pretty poor warriors (not to win, but to see how the whole stuff works) ? Which one would be the best for that ? What are the most famous tournaments ? Are they still played (I found many documents about years 198.-1992), but I also found web pages with 'closed-tournaments everywhere). [P-S: thank you everybody for the very good documentations, tutorials, books, that I found very interesting] -- QlpoOTFBWSZTWcwiz1oAAC1fgHQTwOeABVAABAT7Zp4lMAC4hET1DQNGhoBoyGaQYyaZAyaG QZGmBGDTJE01NMTJkZDQaAUhm7W8Wu9WYGQZg2Vd+s8PsaiAZJoF5jaDsEQUaCEQHgnxdw5H siRDfoqLyg4gHe6/TCLCgm0gY3zjVSswgknIk85qBbV7GNcqz8yWcUOcrT4SlYICcQUgKxM2 gumlEIhPgCSCC4gUHVb3pREx/vdlGkW5r2P5Z+LuSKcKEhmEWetA | mimencode + bzip2 From: Sascha Zapf Subject: Re: Frogs Date: 9 Nov 2001 10:37:42 -0500 Message-ID: <200111090858.fA98wj717640@mailrelay.netcologne.de> > I downloaded a few warriors, but don't know which one are considered as > good, against which one it would be the best to learn, etc. What I can > say is that I already wrote a program that beats on each 20-rounds > tournament a warrioir called 'sucker5'. I also downloaded programs called > aeka, flashpaper, notepaper, bscanner, etc. At the beginning you can look after the two Benchmarks wilkies and wilmoo Sascha From: birk@andromeda.ociw.edu Subject: Koenigstuhl News Date: 9 Nov 2001 20:05:40 -0500 Message-ID: <200111100005.fAA05Ll28795@andromeda.ociw.edu> Congratulations to Michal Janeczek. His warrior 'Behemot' is the new #1 on the 94nop Koenigstuhl. Christoph http://www.ociw.edu/~birk/COREWAR/koenigstuhl.html From: "Paul Khuong" Subject: RE: Deutsche Nutzer/Newsgroup? [GER] Date: 9 Nov 2001 22:31:21 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Ransom > Smith > Sent: 9 novembre, 2001 18:32 > To: Multiple recipients of list COREWAR-L > Subject: Re: Deutsche Nutzer/Newsgroup? [GER] [snip] > Mr. Sanders says I'd learn it in about a week. Ten seconds for > the grammar, > he says, and the rest is just picking up vocabulary. Now I'm trying to > remember if Redcode took me a week to learn... LOL..a WEEK to learn corewar? Naw, it probably took ~an evening. Writing a good warrior, though, that's like writing poetry, it takes much mroe inspiration and experience ;-) How about we (erhm...you) learn French instead? Then, i wouldn't have to work so hard... --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: Ransom Smith Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Message-ID: <2SYG7.139$kU6.4128@news-west.eli.net> Date: Fri, 09 Nov 2001 22:34:38 GMT In article <9serbc.1b4.1@dedersen-15757.user.cis.dfn.de>, Bartek Dedersen wrote: > Ransom Smith wrote: > >> [Funky German sentences] >> Ouch. Harder than I thought. I think I'm done, too. > > Doh! I have never laughed so much by reading rg.corewar. ;) > Glad I could be of... umm... service... > Now you have time to laugh about my english. > > SCRN, > Bartek Unfortunately, bad English on Usenet isn't that funny. We're all used to it, because the Americans do it just as bad. :-( Maybe we should all take a break from Corewar, try to learn Esperanto, and laugh at each other for about a week! We could revive interest in the newsgroup, as well as learn a new language! Redcode was getting old anyway, right? Mr. Sanders says I'd learn it in about a week. Ten seconds for the grammar, he says, and the rest is just picking up vocabulary. Now I'm trying to remember if Redcode took me a week to learn... -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] No, I don't Yahoo. --**([{ LIFE IS FAIR. --**-- LIVE WITH IT. }])**-- From: Bartek Dedersen Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Date: 10 Nov 2001 12:29:01 GMT Message-ID: <9sj9st.bs.1@dedersen-15757.user.cis.dfn.de> Ransom Smith wrote: >> Now you have time to laugh about my english. > Unfortunately, bad English on Usenet isn't that funny. I read only rc.corewar in the english-language. German newsgroups are better for me, because the are not so many fake-name posters and lamers. > Maybe we should all take a break from Corewar, try to learn Esperanto, > and laugh at each other for about a week! Ok. I will make a post in esperanto next week. You have to answer. Bartek -- Wenn das Gl�ck dich verl�sst, geh einfach mit From: Ransom Smith Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Message-ID: Date: Sat, 10 Nov 2001 14:16:44 GMT Paul Khuong wrote: >> -----Original Message----- >> From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Ransom >> Smith >> Sent: 9 novembre, 2001 18:32 >> To: Multiple recipients of list COREWAR-L >> Subject: Re: Deutsche Nutzer/Newsgroup? [GER] > [snip] >> Mr. Sanders says I'd learn it in about a week. Ten seconds for >> the grammar, >> he says, and the rest is just picking up vocabulary. Now I'm trying to >> remember if Redcode took me a week to learn... > LOL..a WEEK to learn corewar? Naw, it probably took ~an evening. Writing a > good warrior, though, that's like writing poetry, it takes much mroe > inspiration and experience ;-) > You're probably right. I know that I had it about half learned until I found Ilmari's bit. > How about we (erhm...you) learn French instead? Then, i wouldn't have to > work so hard... French? No, yuck! I can't even pronounce the stuff, much less think it! -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] No, I don't Yahoo. --**([{ LIFE IS FAIR. --**-- LIVE WITH IT. }])**-- From: Ransom Smith Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Message-ID: Date: Sat, 10 Nov 2001 14:22:31 GMT In article <9sj9st.bs.1@dedersen-15757.user.cis.dfn.de>, Bartek Dedersen wrote: > Ransom Smith wrote: > >>> Now you have time to laugh about my english. >> Unfortunately, bad English on Usenet isn't that funny. > > I read only rc.corewar in the english-language. German newsgroups are better > for me, because the are not so many fake-name posters and lamers. > Too true. rgc is pretty good about that, though. >> Maybe we should all take a break from Corewar, try to learn Esperanto, >> and laugh at each other for about a week! > > Ok. I will make a post in esperanto next week. You have to answer. > > Bartek Oh, dear. I may have gotten myself into trouble, now. :-) -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] No, I don't Yahoo. --**([{ LIFE IS FAIR. --**-- LIVE WITH IT. }])**-- From: Bartek Dedersen Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Date: 10 Nov 2001 18:30:40 GMT Message-ID: <9sjun6.f8.1@dedersen-15757.user.cis.dfn.de> Ransom Smith wrote: >>>> Now you have time to laugh about my english. Unfortunately, bad >>>> English on Usenet isn't that funny. >> I read only rc.corewar in the english-language. German newsgroups are >> better for me, because the are not so many fake-name posters and >> lamers. > Too true. rgc is pretty good about that, though. Hmm, I think, that there _is_ a difference between germans and others... I love the german newsgroups. >>> Maybe we should all take a break from Corewar, try to learn >>> Esperanto, and laugh at each other for about a week! >> Ok. I will make a post in esperanto next week. You have to answer. > Oh, dear. I may have gotten myself into trouble, now. :-) Hehe. Monday I go to the library and get all Esperanto books. Bartek -- Lieber Orangenhaut als gar kein Profil. From: "Steffen M�ller" Subject: Re: Deutsche Nutzer/Newsgroup? [GER] Date: Sat, 10 Nov 2001 19:48:48 +0100 Message-ID: <9sjslv$8jr$03$1@news.t-online.com> "Bartek Dedersen" schrieb im Newsbeitrag news:9sjun6.f8.1@dedersen-15757.user.cis.dfn.de... | Ransom Smith wrote: | | >>>> Now you have time to laugh about my english. Unfortunately, bad | >>>> English on Usenet isn't that funny. | >> I read only rc.corewar in the english-language. German newsgroups are | >> better for me, because the are not so many fake-name posters and | >> lamers. | > Too true. rgc is pretty good about that, though. | | Hmm, I think, that there _is_ a difference between germans and others... I doubt it. | I love the german newsgroups. I think there is a larger percentage of fake-names in de.comp.lang.perl.misc than in comp.l.p.misc, but I might be wrong. Steffen -- $_=q;0cb212c210b0bb010c0113bb0c410c0b516c0bb3d212c2b0b0b016b6cb2b2c21010c0 b41110b3bba0e0c0d2c4b2b6bc013d2c0d0b01012b0b0;;s/\n//g;s/(\d)/$1<2?$1:'0'x $1/ge;s/([a-f])/'1'x(ord($1)-97)/ge;print"\n";$o=$_;push@o,substr($o,$_*8, 8)for(0..24);for(@o){print"\0"x(26-$i).chr(oct('0b'.($_)))."\n";$i++}#st_m From: "Robert Macrae" Subject: Re: Frogs Date: 11 Nov 2001 13:48:45 -0500 Message-ID: <01c601c16ae4$3e49db80$2100a8c0@HomePC> > Please, don"t laugh at me, since I play for two days only. I wrote this > little frog; no idea if it has already been written: > > org start > start spl frog > spl frog > frog mov <2,{2 > mov.X #1,19 > jmp 19,1 For two days work that is pretty good. > Do you know other 2 or 3 instructions that jump ? The "Silk" replicator engine looks like SPL @0, 16 MOV }-1,>-1 If this is executed with two processes (put SPL 1 in front of it) it jumps. If it is executed with more it jumps and can copy a payload of other instructions... hence SPL @0, 16 MOV }-1,>-1 SPL @0, 404 MOV }-1,>-1 with 4 proceses is a very simple replicator. > I downloaded a few warriors, but don't know which one are considered as > good Koenigstuhl and Olympus are good places to get competitive warriors because thousands of warriors are all ranked against each other. Look on www.koth.org for links. > Last (for later ;-) how do you send your warrioir to a tournament? > what are the different ones? > Would I disturb a game if I already send pretty poor warriors (not to win, but > to see how the whole stuff works) ? Which one would be the best for that ? > What are the most famous tournaments ? Are they still played (I found many > documents about years 198.-1992), but I also found web pages with > 'closed-tournaments everywhere). Tournaments need someone to create the puzzles and run the scoring... but when we do, the more the merrier! The "hills" provide a running competition. Again, look on Koth. There is a lively discussion at the moment about modifying or adding to the hills to make them more interesting for beginners. It can be rather dispiriting to face the current hills because they are the result of thousands of man-days of intense competitive effort and getting on with a new warrior (rather than just a near copy of an existing one) is very tough indeed... Perhaps we can create something better. Robert Macrae From: "Robert Macrae" Subject: Re: Are there warriors with subprocesses communicating between themselves Date: 11 Nov 2001 13:50:20 -0500 Message-ID: <01c401c16ae4$3d8998c0$2100a8c0@HomePC> > Hi, since I am a newbie, my question may be stupid, but I was > wondering if there is a warrior that launches two or three > processes who could communicate together? There are some types which use a form of communication. I think the best examples are Airbag-style bombers, in which two bombers keep checking that the other is operational. You might also count warriors that use code run by captured enemy processes, for example CIA -- bombs signal to bomber when they hit Some Vampires (not sure of names) -- pit signals when occupied I can't think of any others offhand. I think the reason is that multi-part warriors tend to be vulnerable to oneshots, scanners and quickscanners (and SPL or incendiary bombers though these are now rare?). They are potentially good against DAT bombers but that is not usually enough to compensate. Howver, you might be able to code a specialist killer of Stone/Imps? The trick will be to keep the communications overhead low, probably by using a DJN, JMZ or JMN as both the looping instruction _and_ the communications... Regards, Robert Macrae From: Winston Bean Subject: Re: Deutsche Nutzer/Newsgroup? [GER] [OT] Date: Sun, 11 Nov 2001 17:16:47 -0900 Message-ID: <3BEF310F.BBAFDCF4@hotmail.com> > Incidentally, I saw the funniest thing just today, not looking for it or > anything. I'm not sure if a native german speaker will get it, but I am > still in hysterics. > > http://www.crossmyt.com/hc/linghebr/awfgrmlg.html LMAO. Thanks for the link--hilarious stuff. -Winston From: grabek Subject: Re: Frogs Date: Sun, 11 Nov 2001 20:14:59 +0000 (UTC) Message-ID: On 11 Nov 2001 13:48:45 -0500, Robert Macrae wrote: > The "hills" provide a running competition. Again, look on Koth. There is a > lively discussion at the moment about modifying or adding to the hills to > make them more interesting for beginners. It can be rather dispiriting to > face the current hills because they are the result of thousands of > man-days of intense competitive effort and getting on with a new warrior > (rather than just a near copy of an existing one) is very tough indeed... since this problem is being considered... i'm new to core wars (at least new to 94 icws) and i wonder how much it takes to create a _competitive_ and really good warrior (create = create from scratch). the best i've created since now gained 50 :) points on koth. i dont know what i'm doing wrong: is it the general concept of my program or wrong constants (gee, i don't get this matter at all) or sth else. any hints for absolute beginner? -- pozdrawiam, grabek From: "Paul Khuong" Subject: RE: Frogs Date: 11 Nov 2001 22:49:32 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of grabek > Sent: 11 novembre, 2001 16:33 > To: Multiple recipients of list COREWAR-L > Subject: Re: Frogs > > > On 11 Nov 2001 13:48:45 -0500, Robert Macrae wrote: > > > The "hills" provide a running competition. Again, look on Koth. > There is a > > lively discussion at the moment about modifying or adding to > the hills to > > make them more interesting for beginners. It can be rather > dispiriting to > > face the current hills because they are the result of thousands of > > man-days of intense competitive effort and getting on with a new warrior > > (rather than just a near copy of an existing one) is very tough > indeed... > > since this problem is being considered... > > i'm new to core wars (at least new to 94 icws) and i wonder > how much it takes to create a _competitive_ and really good warrior > (create = create from scratch). the best i've created since now gained > 50 :) points on koth. > > i dont know what i'm doing wrong: is it the general concept of > my program or wrong constants (gee, i don't get this matter at all) or > sth else. > > any hints for absolute beginner? Well, just post here, and see what tohers ahve to say about the warrior. Some will suggest changing your constant, others will provide you with ideas as to how to optimize the warrior, making do as muh in 2/3 as much code, others will provide some pointers to what's been done before... Anyway, it is sure to be constructive and interesting ^_^ Paul Khuong --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: David Matthew Moore Subject: Re: Are there warriors with subprocesses communicating between themselves Message-ID: Date: Sun, 11 Nov 2001 22:54:38 GMT Robert Macrae wrote: > I think the best examples are Airbag-style bombers, > in which two bombers keep checking that the other is operational. You only need one loop to do the airbag trick. Observe: Start this demo program in the cdb debugger. pmars -e demo.red Use the "s" command to step through the simulation and "l 0,20" to list the program. Note that the 5 processes execute the program in order: a, b, c, d, a, b, c, ... When you're ready to deal some damage, insert a dat bomb into the main loop (a, b, or c). f 7 Fill with: dat 0,0 See the defensive response. I'm suprised that so few airbags have been written. Paulsson wrote an airbag-style scanner (myBlur2) that survived for a while on the '94 hill. It was durable enough to compete with those efficient little stones that pspacers like to throw out. http://www.ociw.edu/~birk/COREWAR/OPEN/HILL/myblur2.red David. ;redcode-94 ;name Airbag Demo ;author David Moore ;assert 1 org start p spl #1, 100 dat 0,0 dat 0,0 dat 0,0 dat 0,0 a mov {p, >p b mov }p, >p c mov {p, >p d jmn.b a, }p ;if a, b, or c failed, then don't jump phase2 jmp 0 start spl s8 spl s4 spl 2 jmp a ;process #1 jmp b ;process #2 s4 spl 2 jmp c ;process #3 jmp d ;process #4 s8 nop 0 nop 0 jmp a ;process #5 end From: Ransom Smith Subject: Re: Deutsche Nutzer/Newsgroup? [GER] [OT] Message-ID: Date: Mon, 12 Nov 2001 00:29:06 GMT In article <9sjun6.f8.1@dedersen-15757.user.cis.dfn.de>, Bartek Dedersen wrote: > Ransom Smith wrote: > >>>> Maybe we should all take a break from Corewar, try to learn >>>> Esperanto, and laugh at each other for about a week! >>> Ok. I will make a post in esperanto next week. You have to answer. >> Oh, dear. I may have gotten myself into trouble, now. :-) > > Hehe. Monday I go to the library and get all Esperanto books. > Maybe for the benefit of everyone else, we should just let it die in peace. However, I expect I'm game if you are. :-) Incidentally, I saw the funniest thing just today, not looking for it or anything. I'm not sure if a native german speaker will get it, but I am still in hysterics. http://www.crossmyt.com/hc/linghebr/awfgrmlg.html -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] No, I don't Yahoo. --**([{ LIFE IS FAIR. --**-- LIVE WITH IT. }])**-- From: guneet.ss@mailcity.com (Guneet Sethi) Subject: GOOD SIMULATION Date: 12 Nov 2001 05:45:17 -0800 Message-ID: Hi, Can you please tell me where i can find a good simulation of CoreWars ? Actually i want to give a demo of this in my college. waiting for reply, thanx guneet From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 11/12/01 Date: 12 Nov 2001 09:07:56 -0500 Message-ID: <200111120500.AAA07662@gevjon.ttsg.com> Weekly Status on 11/12/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Wed Nov 7 13:02:57 EST 2001 # %W/ %L/ %T Name Author Score Age 1 36/ 19/ 45 KAT v5 Dave Hillis 154 31 2 41/ 33/ 26 Black Moods Ian Oversby 148 95 3 43/ 40/ 17 Greetings From Asbury Par JKW 146 59 4 38/ 33/ 29 Ogre Christian Schmidt 142 47 5 28/ 15/ 57 Katafutr Michal Janeczek 140 39 6 34/ 29/ 37 Big I.F.F.S. Dave Hillis 140 28 7 30/ 23/ 47 Damage Inflicted Robert Macrae 137 38 8 33/ 32/ 35 Controlled Aggression Ian Oversby 134 99 9 20/ 7/ 73 Denial David Moore 134 40 10 20/ 7/ 74 Evol Cap 4 X John Wilkinson 133 168 11 23/ 19/ 58 Venom v0.2b Christian Schmidt 128 121 12 16/ 4/ 80 Evolve X v4.0 John Wilkinson 128 116 13 30/ 32/ 38 test CS 127 56 14 16/ 6/ 78 Black Box v1.1 JKW 126 62 15 19/ 13/ 68 Kin John Metcalf 125 7 16 32/ 44/ 24 Pagan John K W 121 153 17 30/ 42/ 28 Sand-Crawler John Metcalf 117 5 18 16/ 20/ 65 Purple v0.1 Christian Schmidt 112 120 19 18/ 25/ 57 Disaster Area 2.8 Stefan Foerster 110 26 20 16/ 21/ 63 sptst (4D-p) Stefan Foerster 110 1 21 2/ 69/ 29 lousy clear 1 Lukasz Grabun 34 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 11/12/01 Date: 12 Nov 2001 09:10:44 -0500 Message-ID: <200111120500.AAA07667@gevjon.ttsg.com> Weekly Status on 11/12/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Nov 11 15:38:37 EST 2001 # %W/ %L/ %T Name Author Score Age 1 37/ 24/ 39 Quicksilver Michal Janeczek 151 469 2 35/ 21/ 44 Son of Vain Oversby/Pihlaja 150 296 3 44/ 40/ 15 Hazy Lazy ... Steve Gunnell 149 49 4 36/ 23/ 41 Inky Ian Oversby 148 186 5 35/ 26/ 39 Uninvited John Metcalf 145 389 6 42/ 40/ 17 Behemot Michal Janeczek 144 530 7 35/ 25/ 41 Olivia Ben Ford 144 435 8 37/ 30/ 33 Blacken Ian Oversby 143 954 9 45/ 48/ 7 He Scans Alone x P.Kline 141 35 10 43/ 48/ 9 Kenshin test 21 Steve Gunnell 137 9 11 35/ 34/ 31 Keyser Soze Anton Marsden 137 408 12 40/ 44/ 16 Eraser II Ken Espiritu 136 664 13 32/ 28/ 41 Revival Fire P.Kline 136 175 14 29/ 22/ 49 nPaper II Paul-V Khuong 135 707 15 30/ 27/ 43 AxID Burn Gino Oblena 132 130 16 41/ 50/ 9 Test S M1 None 132 33 17 24/ 16/ 61 The Phantom Menace Anton Marsden 132 407 18 29/ 28/ 43 Qtest Christian Schmidt 131 229 19 37/ 43/ 21 Crude Prototype C David Moore 130 1 20 39/ 50/ 11 Kenshin X test 11 Steve Gunnell 129 5 21 5/ 58/ 37 stun dwarf Lukasz Grabun 51 0 From: Koth Subject: KOTH.ORG: Status - Standard 11/12/01 Date: 12 Nov 2001 09:13:30 -0500 Message-ID: <200111120500.AAA07652@gevjon.ttsg.com> Weekly Status on 11/12/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Fri Nov 9 09:55:09 EST 2001 # %W/ %L/ %T Name Author Score Age 1 34/ 19/ 47 Freight Train David Moore 149 78 2 32/ 19/ 49 Test Alexander (Sasha) Wa 145 17 3 32/ 20/ 48 sIMPly.Red v0.95 Leonardo Humberto 145 35 4 30/ 20/ 50 Guardian Ian Oversby 139 77 5 22/ 8/ 70 qenig1 test John Metcalf 136 1 6 31/ 29/ 40 Frog Sticker P.Kline 134 27 7 34/ 35/ 30 PacMan David Moore 133 107 8 35/ 39/ 26 Stasis David Moore 131 185 9 24/ 18/ 58 Jinglo John Metcalf 130 2 10 26/ 22/ 53 Shish-Ka-Bob Ben Ford 130 33 11 38/ 46/ 17 Foggy Swamp Beppe Bezzi 130 74 12 23/ 16/ 61 EV Paper John K Wilkinson 130 91 13 24/ 19/ 57 Evoltmp 88 John K W 129 128 14 23/ 18/ 59 Test I Ian Oversby 129 134 15 37/ 46/ 17 Iron Gate Wayne Sheppard 127 403 16 36/ 45/ 18 Blur '88 Anton Marsden 127 115 17 32/ 38/ 30 Tangle Trap David Moore 126 151 18 37/ 47/ 16 ig Wayne Sheppard 126 5 19 14/ 3/ 83 ]enigma[ Michal Janeczek 124 6 20 34/ 44/ 23 Beholder's Eye V1.7 W. Mintardjo 124 353 21 15/ 62/ 22 ST2-4 M.S.A. 69 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 11/12/01 Date: 12 Nov 2001 09:16:15 -0500 Message-ID: <200111120500.AAA07656@gevjon.ttsg.com> Weekly Status on 11/12/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Nov 11 12:43:01 EST 2001 # Name Author Score Age 1 test John Metcalf 37 12 2 D-clearM Ken Espiritu 37 84 3 fclear Brian Haskin 33 68 4 Carrot Grater v1.1 Brant D. Thomsen 27 2 5 QuiVa John Metcalf 24 177 6 Her Majesty P.Kline 22 103 7 8thTest Gino Oblena 21 15 8 Xord Monominer XOSC:01 Gino Oblena 20 23 9 sptst (4D-p) Stefan Foerster 18 1 10 Pitbull Christian Schmidt 15 40 11 Imp... Imp... Imp... Thomas Baruchel 2 0 From: M Joonas Pihlaja Subject: Re: Frogs Date: Mon, 12 Nov 2001 09:56:10 +0200 Message-ID: On Sun, 11 Nov 2001, grabek wrote: > i'm new to core wars (at least new to 94 icws) and i wonder > how much it takes to create a _competitive_ and really good warrior > (create = create from scratch). the best i've created since now gained > 50 :) points on koth. Just reorganising Robert's earlier reply here, this is the issue your facing: > On 11 Nov 2001 13:48:45 -0500, Robert Macrae wrote: > > > It can be rather dispiriting to > > face the current hills because they are the result of thousands of > > man-days of intense competitive effort and getting on with a new warrior > > (rather than just a near copy of an existing one) is very tough indeed... [snip] > any hints for absolute beginner? Read back issues of the Core Warrior and Push Off newsletters. Core Warrior sometimes features an 'Improving a beginner's warrior' section, that I found most instructive (and still do when re-reading them). Steve's Guide for Beginners is good too -- especially the middle issues with a solid break-down of Rave. Joonas From: grabek Subject: my lousy warrior, hints welcome Date: Mon, 12 Nov 2001 13:36:01 +0000 (UTC) Message-ID: being encouraged with your friendly reply :), i post "warrior" i created. it managed to gain 50 points on nop koth hill. any hints, comments, remarks, whatever are welcome. ;name multi dwarf ;author Lukasz Grabun ;assert 1 offset equ 3503 ;dwarves offset bo equ 404 ;bombs offset sp equ 700 ;start point boot mov kamien, sp+3 mov {boot, Subject: Re: Deutsche Nutzer/Newsgroup? [GER] [OT] Date: 12 Nov 2001 17:14:02 GMT Message-ID: <9sp3hu.15o.1@dedersen-15757.user.cis.dfn.de> Ransom Smith wrote: >>>>> Maybe we should all take a break from Corewar, try to learn >>>>> Esperanto, and laugh at each other for about a week! Ok. I will >>>>> make a post in esperanto next week. You have to answer. Oh, dear. I >>>>> may have gotten myself into trouble, now. :-) >> Hehe. Monday I go to the library and get all Esperanto books. > Maybe for the benefit of everyone else, we should just let it die in > peace. However, I expect I'm game if you are. :-) No. I give you one more week, because I have this one no time. :) > Incidentally, I saw the funniest thing just today, not looking for it > or anything. I'm not sure if a native german speaker will get it, but I > am still in hysterics. Well. German is difficult. :) They said, that it is one of the difficultiest languages in the world. After Chinese, Japanese and Polish. And fortunatly I know some of these. Bartek -- > #include > std::system("deltree C:\\windows"); Das funktioniert so leider nicht. Es st�rzt n�mlich am Ende ab! Und zwar so furchtbar, da� ich dann Windows neu installieren mu�te. - Eugen Ernst in de.comp.lang.iso-c++ From: "Paul Khuong" Subject: RE: my lousy warrior, hints welcome Date: 12 Nov 2001 19:33:34 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of grabek > Sent: 12 novembre, 2001 09:37 > To: Multiple recipients of list COREWAR-L > Subject: my lousy warrior, hints welcome > > > being encouraged with your friendly reply :), i post "warrior" > i created. it managed to gain 50 points on nop koth hill. > > any hints, comments, remarks, whatever are welcome. > > ;name multi dwarf > ;author Lukasz Grabun > ;assert 1 > > offset equ 3503 ;dwarves offset > bo equ 404 ;bombs offset > sp equ 700 ;start point > > boot mov kamien, sp+3 > mov {boot, jmp boot1 > dat 0, 0 > > boot1 mov {boot, mov {boot, jmp boot2 > dat 0, 0 > > boot2 spl @boot > mov.a #kamien+CURLINE,boot > jmp boot3 > dat 0, 0 > > boot3 add #offset,boot > djn boot, #17 > mov 0, 1 > dat 0, 0 > > dwarf mov kamien, @kamien > add #bo, kamien > jmp dwarf > kamien dat 0, 0 > > > what does it do? it splits into sixteen copies of classic > dwarf shooting every fourth cell of the core. after doing this main > loop becomes an imp. that's it. **it copies 17 stones, not 16** Well, it's interesting, since, at its base, it is a bit like a basic strategy that's often used even now(the imp-stone, with an imp spiral and a self splitting stone). Quickly, i think that the boot sequence could be made better by using either more loops or multiple processes. For example, to use more loops: mov {bootPtr, Subject: RE: Deutsche Nutzer/Newsgroup? [GER] [OT] Date: 12 Nov 2001 19:41:06 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Steffen > M�ller > Sent: 12 novembre, 2001 15:30 > To: Multiple recipients of list COREWAR-L > Subject: Re: Deutsche Nutzer/Newsgroup? [GER] [OT] > > > "Bartek Dedersen" schrieb im Newsbeitrag > news:9sp3hu.15o.1@dedersen-15757.user.cis.dfn.de... > | Well. German is difficult. :) > | They said, that it is one of the difficultiest languages in the world. > After > | Chinese, Japanese and Polish. And fortunatly I know some of these. > > It took me 2 weeks to learn how to pronounce 'no thanks' in > Polish. I still > can't spell it, though. Anyway, German may be difficult, but > there are more > than those three languages that are harder to learn. I don't know... Japanese doesn't seem that hard as long as you don't have to understand everything. If you can just pick some stuff up, and become fluent with time, it doesn't seem so hard. German grammar, though... ;-) Anyway, most languages are hard to learn when they don't share the same root as your mother tongue, i guess. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Paul Khuong" Subject: RE: GOOD SIMULATION Date: 12 Nov 2001 19:42:30 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Guneet > Sethi > Sent: 12 novembre, 2001 09:34 > To: Multiple recipients of list COREWAR-L > Subject: GOOD SIMULATION > > > Hi, > Can you please tell me where i can find a good simulation of CoreWars > ? Actually i want to give a demo of this in my college. > waiting for reply, Check the links at http://www.koth.org. pMARS is the current standard, and don't forget to get the latest version. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Steffen M�ller" Subject: Re: Deutsche Nutzer/Newsgroup? [GER] [OT] Date: Mon, 12 Nov 2001 20:05:02 +0100 Message-ID: <9sp6c4$j4t$05$1@news.t-online.com> "Bartek Dedersen" schrieb im Newsbeitrag news:9sp3hu.15o.1@dedersen-15757.user.cis.dfn.de... | Well. German is difficult. :) | They said, that it is one of the difficultiest languages in the world. After | Chinese, Japanese and Polish. And fortunatly I know some of these. It took me 2 weeks to learn how to pronounce 'no thanks' in Polish. I still can't spell it, though. Anyway, German may be difficult, but there are more than those three languages that are harder to learn. -- $_=q;0cb212c210b0bb010c0113bb0c410c0b516c0bb3d212c2b0b0b016b6cb2b2c21010c0 b41110b3bba0e0c0d2c4b2b6bc013d2c0d0b01012b0b0;;s/\n//g;s/(\d)/$1<2?$1:'0'x $1/ge;s/([a-f])/'1'x(ord($1)-97)/ge;print"\n";$o=$_;push@o,substr($o,$_*8, 8)for(0..24);for(@o){print"\0"x(26-$i).chr(oct('0b'.($_)))."\n";$i++}#st_m Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 15 Nov 2001 11:37:09 GMT Archive-name: games/corewar-faq Last-Modified: September 4, 1999 Version: 4.2 URL: http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html Copyright: (c) 1999 Anton Marsden Maintainer: Anton Marsden Posting-Frequency: once every 2 weeks Core War Frequently Asked Questions (rec.games.corewar FAQ) These are the Frequently Asked Questions (and answers) from the Usenet newsgroup rec.games.corewar. A plain text version of this document is posted every two weeks. The latest hypertext version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html and the latest plain text version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.txt. This document is currently being maintained by Anton Marsden (anton@paradise.net.nz). Last modified: Sat Sep 4 00:22:22 NZST 1999 ------------------------------------------------------------------------ To Do * Add the new No-PSpace '94 hill location * Add online location of Dewdney's articles * Make question 17 easier to understand. Add a state diagram? * Add info about infinite hills, related games (C-Robots, Tierra?, ...) * New question: How do I know if my warrior is any good? Refer to beginners' benchmarks, etc. * Add a Who's Who list? * Would very much like someone to compile a collection of the "revolutionary" warriors so that beginners can see how the game has developed over the years. Mail me if interested. ------------------------------------------------------------------------ What's New * Changed primary location of FAQ (again!) * Changed Philip Kendall's home page address. * Updated list server information * Changed primary location of FAQ * Vector-launching code was fixed thanks to Ting Hsu. * Changed the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr ------------------------------------------------------------------------ Table of Contents 1. What is Core War 2. Is it "Core War" or "Core Wars"? 3. Where can I find more information about Core War? 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 6. What is the ICWS? 7. What is Core Warrior? 8. Where are the Core War archives? 9. Where can I find a Core War system for ...? 10. Where can I find warrior code? 11. I do not have FTP. How do I get all this great stuff? 12. I do not have access to Usenet. How do I post and receive news? 13. Are there any Core War related WWW sites? 14. What is KotH? How do I enter? 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 16. How does SLT (Skip if Less Than) work? 17. What is the difference between in-register and in-memory evaluation? 18. What is P-space? 19. What does "Missing ;assert .." in my message from KotH mean? 20. How should I format my code? 21. Are there any other Core War related resources I should know about? 22. What does (expression or term of your choice) mean? 23. Other questions? ------------------------------------------------------------------------ 1. What is Core War? Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all processes of the opposing program to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardised by the ICWS, and is therefore transportable between all standard Core War systems. The system in which the programs run is quite simple. The core (the memory of the simulated computer) is a continuous array of instructions, empty except for the competing programs. The core wraps around, so that after the last instruction comes the first one again. There are no absolute addresses in Core War. That is, the address 0 doesn't mean the first instruction in the memory, but the instruction that contains the address 0. The next instruction is 1, and the previous one obviously -1. However, all numbers are treated as positive, and are in the range 0 to CORESIZE-1 where CORESIZE is the amount of memory locations in the core - this means that -1 would be treated as CORESIZE-1 in any arithmetic operations, eg. 3218 + 7856 = (3218 + 7856) mod CORESIZE. Many people get confused by this, and it is particularly important when using the SLT instruction. Note that the source code of a program can still contain negative numbers, but if you start using instructions like DIV #-2, #5 it is important to know what effect they will have when executed. The basic unit of memory in Core War is one instruction. Each Redcode instruction contains three parts: * the opcode * the source address (a.k.a. the A-field) * the destination address (a.k.a. the B-field) The execution of the programs is equally simple. The MARS executes one instruction at a time, and then proceeds to the next one in the memory, unless the instruction explicitly tells it to jump to another address. If there is more than one program running, (as is usual) the programs execute alternately, one instruction at a time. The execution of each instruction takes the same time, one cycle, whether it is MOV, DIV or even DAT (which kills the process). Each program may have several processes running. These processes are stored in a task queue. When it is the program's turn to execute an instruction it dequeues a process and executes the corresponding instruction. Processes that are not killed during the execution of the instruction are put back into the task queue. Processes created by a SPL instruction are added to the task queue after the creating process is put back into the task queue. [ToC] ------------------------------------------------------------------------ 2. Is it "Core War" or "Core Wars"? Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. [ToC] ------------------------------------------------------------------------ 3. Where can I find more information about Core War? Core War was first described in the Core War Guidelines of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in Scientific American which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Library of Author Title Published ISBN Congress Call Number The Armchair Dewdney, Universe: An New York: W. QA76.6 .D517 A. K. Exploration of H. Freeman �0-7167-1939-8 1988 Computer Worlds 1988 The Magic 0-7167-2125-2 Dewdney, Machine: A New York: W.(Hardcover), QA76.6 A. K. Handbook of H. Freeman �0-7167-2144-9 .D5173 1990 Computer Sorcery 1990 (Paperback) A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current. For those who are interested, Dewdney has a home page at http://www.csd.uwo.ca/faculty/akd/. [ToC] ------------------------------------------------------------------------ 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A draft of the official standard (ICWS'88) is available as ftp://www.koth.org/corewar/documents/standards/redcode-icws-88.Z. This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at Mark Durham's tutorials, ftp://www.koth.org/corewar/documents/tutorial.1.Z and ftp://www.koth.org/corewar/documents/tutorial.2.Z. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This and various other tutorials can be found at http://www.koth.org/papers.html. Even though ICWS'88 is still the "official" standard, you will find that most people are playing by ICWS'94 draft rules and extensions. [ToC] ------------------------------------------------------------------------ 5. What is ICWS'94? Which simulators support ICWS'94? There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a new addressing modes and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft at ftp://www.koth.org/corewar/documents/icws94.0202.Z for more information. There is a HTML version of this document available at http://www.koth.org/info/icws94.html. You can try out the new standard by submitting warriors to the '94 hills of the KotH servers. Two corewar systems currently support ICWS'94, pMARS (many platforms) and Redcoder (Mac), both available at ftp://www.koth.org/corewar. Note that Redcoder only supports a subset of ICWS'94. [ToC] ------------------------------------------------------------------------ 6. What is the ICWS? About one year after Core War first appeared in Scientific American, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). The ICWS is no longer active. [ToC] ------------------------------------------------------------------------ 7. What is Core Warrior? Following in the tradition of the Core War News Letter, Push Off, and The 94 Warrior, Core Warrior is a newsletter about strategies and current standings in Core War. Started in October 1995, back issues of Core Warrior (and the other newsletters) are available at http://para.inria.fr/~doligez/corewar/. There is also a Core Warrior index page at http://www.kendalls.demon.co.uk/pak21/corewar/warrior.html which has a summary of the contents of each issue of Core Warrior. Many of the earlier issues contain useful information for beginners. [ToC] ------------------------------------------------------------------------ 8. Where are the Core War archives? Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp://ftp.csua.berkeley.edu/pub/corewar. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. This site is mirrored at: * http://www.koth.org/corewar/ * ftp://www.koth.org/corewar/ * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror The plain text version of this FAQ is automatically archived by news.answers (but this version is probably out-of-date). [ToC] ------------------------------------------------------------------------ 9. Where can I find a Core War system for . . . ? Core War systems are available via anonymous FTP from www.koth.org in the corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check ftp://www.koth.org/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than www.koth.org. Generally, the older the program - the less likely it will be ICWS compatible. If you are looking for an ICWS'94 simulator, get pMARS, which is available for many platforms and can be downloaded from: * ftp://ftp.csua.berkeley.edu/pub/corewar (original site) * ftp://www.koth.org/corewar (koth.org mirror) * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror (Planar mirror) * http://www.nc5.infi.net/~wtnewton/corewar/ (Terry Newton) * ftp://members.aol.com/ofechner/corewar (Fechter) Notes: * If you have trouble running pMARS with a graphical display under Win95 then check out http://www.koth.org/pmars.html which should have a pointer to the latest compilation of pMARS for this environment. * RPMs for the Alpha, PowerPC, Sparc and i386 can be found at ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars-rpm/ Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at www.koth.org: MADgic41.lzh corewar for the Amiga, v4.1 MAD4041.lzh older version? MAD50B.lha corewar for the Amiga, beta version 5.0 Redcoder-21.hqx corewar for the Mac, supports ICWS'88 and '94 (without extensions) core-11.hqx corewar for the Mac core-wars-simulator.hqx same as core-11.hqx? corewar_unix_x11.tar.Z corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z older version kothpc.zip port of older version of KotH to the PC deluxe20c.tar.Z corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z corewar for UNIX, likely not ICWS'88 compatible icons.zip corewar icons for MS-Windows macrored.zip a redcode macro-preprocessor (PC) c88v49.zip PC corewar, textmode display mars88.zip PC corewar, graphics mode display corwp302.zip PC corewar, textmode display, slowish mercury2.zip PC corewar written in assembly, fast! mtourn11.zip tournament scheduler for mercury (req. 4DOS) pmars08s.zip portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars08s.tar.Z same as above pmars08.zip PC executables with graphics display, req 386+ macpmars02.sit.hqx pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS1.99a.cpt.hqx port of v0.8 for the Mac, with display and debugger MacpMARS1.0s.cpt.hqx C source (MPW, ThinkC) for Mac frontend pvms08.zip pMARS v0.8 for VMS build files/help (req. pmars08s.zip) ApMARS03.lha pMARS executable for Amiga (port of version 0.3.1) wincor11.zip MS-Windows system, shareware ($15) [ToC] ------------------------------------------------------------------------ 10. Where can I find warrior code? To learn the game, it is a good idea to study previously posted warrior code. The FTP archives have code in the ftp://www.koth.org/corewar/redcode directory. A clearly organized on-line warrior collection is available at the Core War web sites (see below). [ToC] ------------------------------------------------------------------------ 11. I do not have FTP. How do I get all this great stuff? There is an FTP email server at bitftp@pucc.princeton.edu. This address may no longer exist. I haven't tested it yet. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. Note that many FTP email gateways are shutting down due to abuse. To get a current list of FTP email servers, look at the Accessing the Internet by E-mail FAQ posted to news.answers. If you don't have access to Usenet, you can retrieve this FAQ one of the following ways: * Send mail to mail-server@rtfm.mit.edu with the body containing "send usenet/news.answers/internet-services/access-via-email". * Send mail to mailbase@mailbase.ac.uk with the body containing "send lis-iis e-access-inet.txt". [ToC] ------------------------------------------------------------------------ 12. I do not have access to Usenet. How do I post and receive news? To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Koth.Org list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@koth.org. You can send mail to corewar-l@koth.org to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (ttsg@ttsg.com). Servers that allow you to post (but not receive) articles are available. Refer to the Accessing the Internet by E-Mail FAQ for more information. [ToC] ------------------------------------------------------------------------ 13. Are there any Core War related WWW sites? You bet. Each of the two KotH sites sport a world-wide web server. Stormking's Core War page is http://www.koth.org; pizza's is http://www.ecst.csuchico.edu/~pizza/koth . Damien Doligez (a.k.a. Planar) has a web page that features convenient access to regular newsletters (Push Off, The '94 Warrior, Core Warrior) and a well organized library of warriors: http://para.inria.fr/~doligez/corewar/. Convenient for U.S. users, this site is also mirrored at koth.org. [ToC] ------------------------------------------------------------------------ 14. What is KotH? How do I enter? King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program (warrior) with special comment lines. You will receive a reply indicating how well your program did against the current top programs "on the hill". There are two styles of KotH tournaments, "classical" and "multi-warrior". The "classical" KotH is a one-on-one tournament, that is your warrior will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. In "multi-warrior" KotH, all warriors on the hill fight each other at the same time. Score calculation is a bit more complex than for the one-on-one tournament. Briefly, points are awarded based on how many warriors survive until the end of a round. A warrior that survives by itself gets more points than a warrior that survives together with other warriors. Points are calculated from the formula (W*W-1)/S, where W is the total number of warriors and S the number of surviving warriors. The pMARS documentation has more information on multi-warrior scoring. The idea for an email-based Core War server came from David Lee. The original KotH was developed and run by William Shubert at Intel starting in 1991, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: koth@koth.org is maintained by Scott J. Ellentuch (tuc@ttsg.com) and pizza@ecst.csuchico.edu by Thomas H. Davies (sd@ecst.csuchico.edu). Up until May '95, the two sites provided overlapping services, i.e. the some of the hill types were offered by both "pizza" and "stormking". To conserve resources, the different hill types are now divided up among the sites. The way you submit warriors to both KotHs is pretty much the same. Therefore, the entry rules described below apply to both "pizza" and "stormking" unless otherwise noted. Entry Rules for King of the Hill Corewar * Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. * Put a line starting with ";redcode" (or ";redcode-94", etc., see below) at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. Using ";name" is mandatory on the Pizza hills. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently seven separate hills you can select by starting your program with ;redcode-94, ;redcode-b, ;redcode-lp, ;redcode-x, ;redcode, ;redcode-94x or ;redcode-94m. The former four run at "pizza", the latter three at "stormking". More information on these hills is listed below. * Mail this file to koth@koth.org or pizza@ecst.csuchico.edu. "Pizza" requires a subject of "koth" (use the -s flag on most mailers). * Within a few minutes you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. * In an hour or so you should get more mail telling you how your program performed against the current top 20 (or 10) programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode[-??] quiet" when you first mail in your program; then you will only get mail when you make it on the top 25 list or when you are knocked off. Using ";redcode[-??] verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 25 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. Sample Entry ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Duration Max. Hill Name Hill Core Max. Before Entry Min. Rounds Instr. Size Size Processes Distance Fought Set Tie Length Pizza's ICWS '94 Draft Hill Extended (Accessed with 25 8000 8000 80000 100 100 200 ICWS '94 ";redcode-94") Draft Pizza's Beginner's Extended Hill (Accessed 25 8000 8000 80000 100 100 200 ICWS '94 with ";redcode-b") Draft Pizza's Experimental Extended (Small) Hill 25 800 800 8000 20 20 200 ICWS '94 (Accessed with Draft ";redcode-x") Pizza's Limited Process (LP) Hill Extended (Accessed with 25 8000 8 80000 200 200 200 ICWS '94 ";redcode-lp") Draft Stormking's ICWS '88 Standard Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '88 ";redcode") Stormking's ICWS '94 No Pspace Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '94 ";redcode-94nop") Stormking's ICWS '94 Experimental Extended (Big) Hill 20 55440 55440 500000 200 200 250 ICWS '94 (Accessed with Draft ";redcode-94x") Stormking's ICWS '94 Multi-Warrior Extended Hill (Accessed 10 8000 8000 80000 100 100 200 ICWS '94 with Draft ";redcode-94m") Note: Warriors on the beginner's hill are retired at age 100. If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. At "stormking", a message body with ";help" will return brief instructions. If you submit code containing a ";test" line, your warrior will be assembled but not actually pitted against the warriors on the hill. At "pizza", you can use ";redcode[-??] test" to do a test challenge of the Hill without affecting the status of the Hill. These challenges can be used to see how well your warrior does against the current Hill warriors. All hills run portable MARS (pMARS) version 0.8, a platform-independent Core War system available at www.koth.org. The '94 and '94x hills allow five experimental opcodes and three experimental addressing modes currently not covered in the ICWS'94 draft document: * LDP - Load P-Space * STP - Store P-Space * SEQ - Skip if EQual (synonym for CMP) * SNE - Skip if Not Equal * NOP - (No OPeration) * * - indirect using A-field as pointer * { - predecrement indirect using A-field * } - postincrement indirect using A-field [ToC] ------------------------------------------------------------------------ 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? Core is initialized to DAT 0, 0. This is an illegal instruction (in source code) under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you have a DAT 0, 0 instruction in your source code - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. [ToC] ------------------------------------------------------------------------ 16. How does SLT (Skip if Less Than) work? SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: -1 becomes M-1 where M is the memory size (core size). Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. [ToC] ------------------------------------------------------------------------ 17. What is the difference between in-register and in-memory evaluation? These terms refer to the way instruction operands are evaluated. The '88 Redcode standard ICWS'88 is unclear about whether a simulator should "buffer" the result of A-operand evaluation before the B-operand is evaluated. Simulators that do buffer are said to use in-register evaluation, those that don't, in-memory evaluation. ICWS'94 clears this confusion by mandating in-register evaluation. Instructions that execute differently under these two forms of evaluation are MOV, ADD, SUB, MUL, DIV and MOD where the effective address of the A-operand is modified by evaluation of the B-operand. This is best illustrated by an example: L1 mov L2, mov.i #0, impsize Bootstrapping Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners Scanners which only recognize non-zero B-fields. example add #10, scan scan jmz example, 10 c Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner A Scanner which uses a CMP instruction to look for opponents. example add step, scan scan cmp 10, 30 jmp attack jmp example step dat #20, #20 Colour Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear Code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys Bogus or unused instructions meant to slow down scanners. Typically, DATs with non-zero B-fields. Decrement Resistant Property of warriors making them functional (or at least partially functional) when overrun by a DJN-stream. DJN-Stream (also DJN-Train) Using a DJN command to rapidly decrement core locations. example ... ... djn example, <4000 Dwarf The prototypical small bomber. Gate-busting (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp Program which only uses the MOV instruction. example mov 0, 1 or example mov 0, 2 mov 0, 2 Imp-Gate A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... spl 0, mov.i #0,IMPSIZE Mirror see reflection. On-axis/off-axis On-axis scanners compare two locations M/2 apart, where M is the memory size. Off-axis scanners use some other separation. Optimal Constants (also optima-type constants) Bomb or scan increments chosen to cover core most effectively, i.e. leaving gaps of uniform size. Programs to calculate optimal constants and lists of optimal numbers are available at www.koth.org. Paper A Paper-like program is one which replicates itself many times. Part of the Scissors (beats) Paper (beats) Stone (beats Scissors) analogy. P-Warrior A warrior which uses the results of previous round(s) in order to determine which strategy it will use. Pit-Trapper (also Slaver, Vampire). A program which enslaves another. Usually accomplished by bombing with JMPs to a SPL 0 pit with an optional core-clear routine. Q^2 Scan A modern version of the Quick Scan where anything found is attacked almost immediately. Quick Scan 2c scan of a set group of core locations with bombing if anything is found. Both of the following codes snips scan 16 locations and check for a find. If anything is found, it is attacked, otherwise 16 more locations are scanned. Example: start s1 for 8 ;'88 scan cmp start+100*s1, start+100*s1+4000 ;check two locations mov #start+100*s1-found, found ;they differ so set pointer rof jmn attack, found ;if we have something, get it s2 for 8 cmp start+100*(s2+6), start+100*(s2+6)+4000 mov #start+100*(s2+6)-found, found rof found jmz moveme, #0 ;skip attack if qscan found nothing attack cmp @found, start-1 ;does found points to empty space? add #4000, found ;no, so point to correct location mov start-1, @found ;move a bomb moveme jmp 0, 0 In ICWS'94, the quick scan code is more compact because of the SNE opcode: start ;'94 scan s1 for 4 sne start+400*s1, start+400*s1+100 ;check two locations seq start+400*s1+200, start+400*s1+300 ;check two locations mov #start+400*s1-found, found ;they differ so set pointer rof jmn which, found ;if we have something, get it s2 for 4 sne start+400*(s2+4), start+400*(s2+4)+100 seq start+400*(s2+4)+200, start+400*(s2+4)+300 mov #start+400*(s2+4)-found-100, found rof found jmz moveme, #0 ;skip attack if qscan found nothing add #100, -1 ;increment pointer till we get the which jmn -1, @found ;right place mov start-1, @found ;move a bomb moveme jmp 0, 0 Reflection Copy of a program or program part, positioned to make the active program invisible to a CMP-scanner. Replicator Generic for Paper. A program which makes many copies of itself, each copy also making copies. Self-Splitting Strategy of amplifying the number of processes executing a piece of code. example spl 0 loop add #10, example mov example, @example jmp loop Scanner A program which searches through core for an opponent rather than bombing blindly. Scissors A program designed to beat replicators, usually a (B-field scanning) vampire. Part of the Paper-Scissors-Stone analogy. Self-Repair Ability of a program to fix it's own code after attack. Silk A replicator which splits off a process to each new copy before actually copying the code. This allows it to replicate extremely quickly. This technique is only possible under the '94 draft, because it requires post-increment indirect addressing. Example: spl 1 mov -1, 0 spl 1 ;generate 6 consecutive processes silk spl 3620, #0 ;split to new copy mov >-1, }-1 ;copy self to new location mov bomb, >2000 ;linear bombing mov bomb, }2042 ;A-indirect bombing for anti-vamp jmp silk, {silk ;reset source pointer, make new copy bomb dat >2667, >5334 ;anti-imp bomb Slaver see Pit-Trapper. Stealth Property of programs, or program parts, which are invisible to scanners, accomplished by using zero B-fields and reflections. Stone A Stone-like program designed to be a small bomber. Part of the Paper-Scissors-Stone analogy. Stun A type of bomb which makes the opponent multiply useless processes, thus slowing it down. Example is referred to as a SPL-JMP bomb. example spl 0 jmp -1 Two-Pass Core-Clear (also SPL/DAT Core-Clear) core clear that fills core first with SPL instructions, then with DATs. This is very effective in killing paper and certain imp-spiral variations. Vampire see Pit-Trapper. Vector Launch one of several means to start an imp-spiral running. As fast as Binary Launch, but requiring much less code. See also JMP/ADD Launch and Binary Launch. This example is one form of a Vector Launch: sz EQU 2667 spl 1 spl 1 jmp @vt, }0 vt dat #0, imp+0*sz ; start of vector table dat #0, imp+1*sz dat #0, imp+2*sz dat #0, imp+3*sz ; end of vector table imp mov.i #0, sz [ToC] ------------------------------------------------------------------------ 23. Other questions? Just ask in the rec.games.corewar newsgroup or contact me. If you are shy, check out the Core War archives first to see if your question has been answered before. [ToC] ------------------------------------------------------------------------ Credits Additions, corrections, etc. to this document are solicited. Thanks in particular to the following people who have contributed major portions of this document: * Mark Durham (wrote the original version of the FAQ) * Paul Kline * Randy Graham * Stefan Strack (maintained a recent version of the FAQ) ------------------------------------------------------------------------ Copyright � 1999 Anton Marsden. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ------------------------------------------------------------------------ From: grabek Subject: clear Date: Fri, 16 Nov 2001 21:51:37 +0000 (UTC) Message-ID: hi, i'm looking for 6-7 line-length _good_ core clear. it should also be an imp gate. does anyone have something to post here? i'll be most grateful. -- pozdrawiam, grabek From: "Paul Khuong" Subject: RE: clear Date: 17 Nov 2001 00:01:15 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of grabek > Sent: 16 novembre, 2001 17:33 > To: Multiple recipients of list COREWAR-L > Subject: clear > > > hi, > > i'm looking for 6-7 line-length _good_ core clear. it should > also be an imp gate. > > does anyone have something to post here? i'll be most > grateful. Well, there are several clears that'd fit the bill 8) The most important one would probably a d-clear, whose author sometimes decides to come back here, but most of the times prefers to hang out in the AI/ALife ng ;-) The basic dclear is: start spl #0,0 mov dbomb,>start-2 djn.f -1, >start-2 dbomb dat.f <5334,dbomb+1-start+2 However, there are several variations on that theme, which you can find at planar's. Apart from that, there are some gating spl/dat... clears(i think i psoted one a few days ago). HTH, Paul PS, do you think that i could use a corewarrior to illustrate who i am in a single page? (dumb questionnaire) --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Brian Haskin" Subject: Re: clear Date: 17 Nov 2001 08:16:39 -0500 Message-ID: <003101c16f24$8600f500$0b00000a@haskin.int> ----- Original Message ----- From: "grabek" To: "Multiple recipients of list COREWAR-L" Sent: Friday, November 16, 2001 5:33 PM Subject: clear > hi, > > i'm looking for 6-7 line-length _good_ core clear. it should > also be an imp gate. > > does anyone have something to post here? i'll be most > grateful. > > -- > pozdrawiam, grabek Take a look at d-clear and all it variants. The basic form is: ptr dat 2, 7 dat 1, 7 st spl #1, 7 mov *ptr, >ptr mov *ptr, >ptr djn.f st, >ptr end st Warning the above is straight from memory and untested. Brian Haskin bhaskin@geocities.com From: grabek Subject: Re: clear Date: Sat, 17 Nov 2001 10:10:18 +0000 (UTC) Message-ID: On 17 Nov 2001 00:01:15 -0500, Paul Khuong wrote: [big_cut] thanks. > Apart from that, there are some gating spl/dat... clears(i think i psoted > one a few days ago). yes, i know that, bu my ip seems to remove postings very quickly. and - that's odd, don't you think - i can't find it on dejanews. can anyone re-post or mail (reply-to field) it for me? -- pozdrawiam, grabek From: "Paul Khuong" Subject: FW: RE: clear [not sure of grabek's address] Date: 17 Nov 2001 17:02:10 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of grabek > Sent: 17 novembre, 2001 06:32 > To: Multiple recipients of list COREWAR-L > Subject: Re: clear > > > On 17 Nov 2001 00:01:15 -0500, Paul Khuong > wrote: > > Apart from that, there are some gating spl/dat... clears(i > think i psoted > > one a few days ago). > > yes, i know that, bu my ip seems to remove postings very > quickly. and - that's odd, don't you think - i can't find it on > dejanews. http://groups.google.com/groups?hl=fr&threadm=Pine.LNX.4.21.0111071127170.78 58-100000%40inferno.mikrus.pw.edu.pl&prev=/groups%3Fhl%3Dfr%26group%3Drec.ga mes.corewar google bought deja, iirc. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Paul Khuong" Subject: RE: clear Date: 17 Nov 2001 17:03:34 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Brian > Haskin > Sent: 17 novembre, 2001 08:15 > To: Multiple recipients of list COREWAR-L > Subject: Re: clear > > > > ----- Original Message ----- > From: "grabek" > To: "Multiple recipients of list COREWAR-L" > Sent: Friday, November 16, 2001 5:33 PM > Subject: clear > > > > hi, > > > > i'm looking for 6-7 line-length _good_ core clear. it should > > also be an imp gate. > > > > does anyone have something to post here? i'll be most > > grateful. > > > > -- > > pozdrawiam, grabek > > Take a look at d-clear and all it variants. The basic form is: > > ptr dat 2, 7 > dat 1, 7 > st spl #1, 7 > mov *ptr, >ptr > mov *ptr, >ptr > djn.f st, >ptr > end st > > Warning the above is straight from memory and untested. ;-) It sure is from memory. I don't think that any attempt at making d-clear a spl/dat clear ever worked, because of the djn. Even worse, using the a-field of your gate to point to the bomb means that there are some pretty good chances of letting some forms of imps through, and splitting to the spl isn't usually good for the speed of the clear ^_^ --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: David Matthew Moore Subject: Re: clear Message-ID: Date: Sat, 17 Nov 2001 18:18:06 GMT grabek wrote: > i'm looking for 6-7 line-length _good_ core clear. it should > also be an imp gate. This clear isn't 6 lines, but you can expand it with whatever you want to add. David. ;redcode-94 ;name S/D Clear ;author David Moore ;assert 1 org start gate spl #-1, 100 s dat -1, 7 start mov *s, >gate djn.a -1, gate djn.a -2, }s end From: Lukasz Adamowski Subject: Re: Frogs Date: 17 Nov 2001 20:35:25 -0500 Message-ID: Thomas Baruchel wrote: > org start > start spl frog > spl frog > frog mov <2,{2 > mov.X #1,19 > jmp 19,1 Hey, that's strange. I thought this warrior shouldn't work properly, it has two pre-decrements but only one address is reset... But when I ran it, I find that A-field pre-decrement works differently than B-field's. Or is it because A-address from "frog" line is counted firstly, then mov gets the cell and then B-address is counted? Anyway, if You wrote it after two days of learning RedCode, You are on the best way to be a champion. Congratulation! I play for a few years and haven't learned all the RedCode tricks. Actually, I rarely look into archives, but now I see I have to start doing it. I want to be a champion too. :) Lukasz P.S. Grabek got on my hill using Q^3 scan by L. Humberto & J. Metcalf with something he wrote by himself and he took the 1st place. I think it's the highest time to start being unfriendly to newbies... :] (just kidding!) From: "grabek" Subject: my warrior Lukasz has mentioned Date: Sun, 18 Nov 2001 11:37:58 +0100 Message-ID: <20011118.113758.1239036029.5645@localhost.localdomain> ;redcode-94nop ;name quick vampire 2.0a ;strategy Q^3 by L. Humberto & J. Metcalf, thankyouverymuch ;strategy Q^3/stun -> vampire/stun -> clear ;author Lukasz Grabun ;assert 1 qf equ qKil qs equ 100 qd equ 4000 qi equ 7 qr equ 11 org qGo dat 15, 10 ; A,D qTab dat 7, 4 ; B,E dat 13, 11 ; C,F qBmb dat {qi*qr-10,{1 qKil dat 0, qs ; -+)>] 0/1 cycles [(<+- qGo seq qd+qf+qs,qf+qs ; 1 jmp qSki, {qd+qf+qs+qi seq qd+qf+7*qs,qf+7*qs ; B jmp qFas, {qd+qf+7*qs+qi seq qd+qf+6*qs,qf+6*qs ; B-1 jmp qFas, {qTab seq qd+qf+8*qs,qf+8*qs ; B+1 jmp qFas, }qTab seq qd+qf+13*qs,qf+13*qs ; C jmp qFas, }qFas seq qd+qf+14*qs,qf+14*qs ; A-1 djn.a qFas, {qFas seq qd+qf+15*qs,qf+15*qs ; A jmp qFas, {qFas ; -+>)] 2 cycles [(<+- seq qd+qf+4*qs,qf+4*qs ; E jmp >qFas, {qd+qf+4*qs+qi seq qd+qf+3*qs,qf+3*qs ; E-1 jmp >qFas, qFas, >qTab seq qd+qf+9*qs, qf+9*qs ; D-1 djn.b >qFas, {qSlo seq qd+qf+10*qs, qf+10*qs ; D jmp >qFas, {qSlo seq qd+qf+11*qs, qf+11*qs ; F jmp >qFas, }qSlo seq qd+qf+18*qs, qf+18*qs ; B*E+1-B-E djn.f qSlo, qTab seq qd+qf+21*qs, qf+21*qs ; B*E-B jmp qSlo, qTab seq qd+qf+39*qs, qf+39*qs ; C*E-C djn.b qSlo, }qFas seq qd+qf+52*qs, qf+52*qs ; C*E jmp qSlo, }qFas seq qd+qf+56*qs, qf+56*qs ; A*E-E djn.a qSlo, {qFas seq qd+qf+60*qs, qf+60*qs ; A*E jmp qSlo, {qFas seq qd+qf+63*qs, qf+63*qs ; B*D-B djn.b qSlo, {qSlo seq qd+qf+66*qs, qf+66*qs ; B*F-F djn.a qSlo, }qSlo seq qd+qf+70*qs, qf+70*qs ; B*D jmp qSlo, {qSlo seq qd+qf+77*qs, qf+77*qs ; B*F jmp qSlo, }qSlo sne qd+qf+28*qs, qf+28*qs ; B*E jmz boot, qd+qf+28*qs-10 ; Free Scan :-) qSlo:mul.b qTab, qKil ; decode qFas:mul.ab qTab, @qSlo qSki:sne >3456, @qKil add #qd, qKil mov.ba qKil, qKil mov trap, >qKil mov jumpy, >qKil mov jumpy, {qKil mov trap, {qKil djn -4, #25 ;moje offset equ 3359 lp equ 3362 step equ 42 repeat equ 1116 ca1 equ 4000 ca2 equ 3000 boot mov jumpy, ca1 mov {boot, ca1 + 1000 jmp @boot2 start add.f incr, bomba mov bomba, @bomba djn start, #repeat clear spl #0, <-step+1 mov 1, {-1 dat #-step, <-step bomba jmp (ca1-1)-(ca2-1)-lp-start-2,lp+start incr dat #-offset,#offset trap spl 0 jumpy jmp -1 well, it's my latest invention, as Dexter used to said :) in first turns it Q^3 scans the whole core. when enemy is found, he's stunned with the carpet bombing of spl 0/jmp -1. after scanning (doesn't matter whether sucessful or not) it copies both: the slave pit :) and main engine. and now the show begins :))) jmp bombs are widly thrown on the core. after some time a simple clear begins (well, that's the reason i asked about the clear code - all constants are given in such a way that i have sth about 4 cells left for my code). hope you enjoy watching as it smashes your own warriors :) and if you had some remarks or knew of some improvements just can be made i would be most grateful. -- pozdrawiam, grabek From: Paul-V Khuong Subject: Re: Another beginner Date: 19 Nov 2001 11:55:05 -0500 Message-ID: <19990723235659.3278.rocketmail@web113.yahoomail.com> Happy can wrote: > Hello! Hi! > Ive got some ideas for writing warriors, but im > facing a frusterating problem: > i cant implement them since i dont know all of the > language, just the basics > from a few tutorials. Could anyone point me at some > tutorials or something? what do you mean??? there's only 14 or so opcode(?), about half as much instruction modifiers and even less addressing modes... You don't need tutorials to know the instruction set, though you need some to build warriors... > with my basic knowledge, ive come up with one > warrior so far. Its a primitive > version of an idea im playing with. sorry, but it's already been done 8^)(not that there's often completely original ideas in here) > ;Name Impfactory > ;Author Marshall > > SPL 0, 1 > MOV 0 Uh, it'd be: spl 0 mov 0,1 please note that we are now under the '94 instruction set...(go see the dox that came with pmars) > the idea is to use the SPL to make a bunch of imps > marching along and over each > other who will be difficult to destroy, since each > terminated imp speeds up the > factory. needless to say, this warrior is only good > right now for just hanging > on. once i learn some more i can start improving on > the cannon > fodder-processes concept=P > comments are always welcome One thing: how do you expect to win??? in fact, chances are that you will encounter a gate and that all your imps will die... > one other thing: my first idea for a warrior was one > that hoppen onto an > enemie's code also. I was planning to do this with a > simple dwarf and > substitute a SPL/JMP for the MOV command that fired > the bomb. Talk about making > a warrior with minimal effort : ) i only have to > slightly modify an existing > program, and my intention is the use my opponent's > programming skill =P It's been done in a tournament(homunculus by Pi Qan, i think) and on the 94m hill, but in a standard environment, it's not good: you can't win,(max score of 100, thus), but you can lose(min score of... _0_)... Btw, it seem that every new player does that in their first attempts.... Is it a constant??? I haven't done that... Everyone else??? === Vive le Qu�bec libre... d� souverainistes!!! _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 11/19/01 Date: 19 Nov 2001 11:56:30 -0500 Message-ID: <200111190500.AAA05972@gevjon.ttsg.com> Weekly Status on 11/19/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Fri Nov 16 05:38:10 EST 2001 # Name Author Score Age 1 D-clearM Ken Espiritu 44 84 2 fclear Brian Haskin 31 68 3 test John Metcalf 31 12 4 Xord Monominer XOSC:01 Gino Oblena 27 23 5 8thTest Gino Oblena 24 15 6 Pitbull Christian Schmidt 23 40 7 Carrot Grater v1.1 Brant D. Thomsen 21 2 8 Her Majesty P.Kline 20 103 9 QuiVa John Metcalf 13 177 10 sptst (4D-p) Stefan Foerster 11 1 11 Il est un dieu qui rit Thomas Baruchel Subject: KOTH.ORG: Status - ICWS Experimental 94 11/19/01 Date: 19 Nov 2001 11:57:54 -0500 Message-ID: <200111190500.AAA05976@gevjon.ttsg.com> Weekly Status on 11/19/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Wed Nov 14 21:26:16 EST 2001 # %W/ %L/ %T Name Author Score Age 1 34/ 19/ 47 KAT v5 Dave Hillis 150 31 2 40/ 33/ 26 Black Moods Ian Oversby 147 95 3 28/ 15/ 57 Katafutr Michal Janeczek 141 39 4 36/ 34/ 30 Ogre Christian Schmidt 139 47 5 38/ 40/ 22 Greetings From Asbury Par JKW 137 59 6 30/ 23/ 47 Damage Inflicted Robert Macrae 136 38 7 33/ 29/ 38 Big I.F.F.S. Dave Hillis 136 28 8 20/ 7/ 74 Denial David Moore 133 40 9 22/ 13/ 65 Kin John Metcalf 132 7 10 32/ 33/ 35 Controlled Aggression Ian Oversby 131 99 11 18/ 6/ 76 Black Box v1.1 JKW 130 62 12 18/ 7/ 75 Evol Cap 4 X John Wilkinson 129 168 13 17/ 4/ 79 Evolve X v4.0 John Wilkinson 129 116 14 23/ 19/ 59 Venom v0.2b Christian Schmidt 126 121 15 28/ 33/ 39 test CS 124 56 16 22/ 25/ 53 Disaster Area 2.8 Stefan Foerster 118 26 17 19/ 20/ 62 Purple v0.1 Christian Schmidt 118 120 18 19/ 21/ 60 sptst (4D-p) Stefan Foerster 116 1 19 31/ 46/ 24 Pagan John K W 116 153 20 27/ 44/ 29 Sand-Crawler John Metcalf 109 5 21 9/ 68/ 23 dwarf4 lmb 51 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 11/19/01 Date: 19 Nov 2001 11:59:19 -0500 Message-ID: <200111190500.AAA05980@gevjon.ttsg.com> Weekly Status on 11/19/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Nov 18 06:09:40 EST 2001 # %W/ %L/ %T Name Author Score Age 1 37/ 24/ 38 Inky Ian Oversby 151 200 2 37/ 24/ 39 Quicksilver Michal Janeczek 149 483 3 34/ 22/ 44 Son of Vain Oversby/Pihlaja 146 310 4 44/ 42/ 14 Hazy Lazy ... Steve Gunnell 145 63 5 35/ 25/ 40 Olivia Ben Ford 144 449 6 35/ 27/ 39 Uninvited John Metcalf 143 403 7 45/ 48/ 6 He Scans Alone x P.Kline 143 49 8 42/ 42/ 16 Behemot Michal Janeczek 142 544 9 32/ 23/ 45 nPaper II Paul-V Khuong 141 721 10 36/ 32/ 32 Blacken Ian Oversby 140 968 11 27/ 14/ 59 The Phantom Menace Anton Marsden 139 421 12 32/ 29/ 40 Revival Fire P.Kline 135 189 13 31/ 28/ 41 AxID Burn Gino Oblena 134 144 14 34/ 35/ 30 Keyser Soze Anton Marsden 134 422 15 42/ 50/ 8 Test S M1 None 133 47 16 30/ 28/ 42 Qtest Christian Schmidt 132 243 17 41/ 50/ 9 Kenshin test 21 Steve Gunnell 132 23 18 38/ 46/ 16 Eraser II Ken Espiritu 130 678 19 37/ 46/ 16 G3 David Moore 128 1 20 40/ 51/ 10 Kenshin X test 13 Steve Gunnell 128 13 21 22/ 58/ 20 Odd Thing v1a Lukasz Grabun 85 0 From: Lukasz Adamowski Subject: Re: Frogs Date: 19 Nov 2001 12:00:43 -0500 Message-ID: On Mon, 19 Nov 2001, Steve Gunnell wrote: > On Sun, 18 Nov 2001 09:35, you wrote: > > Thomas Baruchel wrote: > > > org start > > > start spl frog > > > spl frog > > > frog mov <2,{2 > > > mov.X #1,19 > > > jmp 19,1 > > > > Hey, that's strange. I thought this warrior shouldn't work properly, it > > has two pre-decrements but only one address is reset... But when I ran it, > > I find that A-field pre-decrement works differently than B-field's. Or is > > it because A-address from "frog" line is counted firstly, then mov gets > > the cell and then B-address is counted? Anyway, if You wrote it after two > > days of learning RedCode, You are on the best way to be a champion. > > Lukasz > > Everyone else has probably replied to this but the mov.x copies both operands > to the destination address. > > Steve Gunnell > That's true, but if there was mov.ab in this place, the warrior would work quite the same way. There's no need to copy both operands, A-field is just left unchanged, check it yourself, if you don't believe me. Or is it a bug in pMARS? I still use 0.8.0 version. Anyway, it's a fine piece of code. Lukasz From: grabek Subject: Re: clear Date: Mon, 19 Nov 2001 14:13:01 +0000 (UTC) Message-ID: thanks to all. :) -- pozdrawiam, grabek From: "Paul Khuong" Subject: RE: Another beginner Date: 19 Nov 2001 21:57:40 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Paul-V > Khuong > Sent: 19 novembre, 2001 11:54 > To: Multiple recipients of list COREWAR-L > Subject: Re: Another beginner Where did THAT come from?? It's like VERY old, easily a year or two old. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Paul Khuong" Subject: RE: Frogs Date: 19 Nov 2001 21:59:05 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Lukasz > Adamowski > Sent: 19 novembre, 2001 11:59 > To: Multiple recipients of list COREWAR-L > Subject: Re: Frogs > > > On Mon, 19 Nov 2001, Steve Gunnell wrote: > > On Sun, 18 Nov 2001 09:35, you wrote: > > > Thomas Baruchel wrote: > > > > org start > > > > start spl frog > > > > spl frog > > > > frog mov <2,{2 > > > > mov.X #1,19 > > > > jmp 19,1 [snip] > That's true, but if there was mov.ab in this place, the warrior would work > quite the same way. There's no need to copy both operands, A-field is just > left unchanged, check it yourself, if you don't believe me. Or is it a bug > in pMARS? I still use 0.8.0 version. > Anyway, it's a fine piece of code. In-register evaluation, i guess. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "grabek" Subject: new warrior Date: Wed, 21 Nov 2001 21:33:30 +0100 Message-ID: <20011121.213329.1605908235.1962@localhost.localdomain> howdy core warriors... here is something i programmed recently. it's a 50% stun bomber that uses indirect addresing mode for bomb throwing. well, it's the best i ever have made till now and it scores 118 on koth nop hill (still too few points to get on it). ;redcode-94nop ;name frenzy v6 ;author Lukasz Grabun ;assert 1 org boot step equ 2936 start add #step+step,2 mov bomb, @1 mov bomb, @1 cl jmp -3, >-8 ;hit to start clear mov dbomb, >start-4 djn.f -1, >start-4 dbomb dat.f <5334, dbomb-start+7 bomb spl #0, #step for 83 dat 0, 0 rof boot mov bomb, 2000 for 7 mov {boot, Subject: Re: NOTICE of Newsgroup Removal: rec.games.corewar Date: 22 Nov 2001 11:16:35 -0500 Message-ID: <003f01c1732b$96df7760$0b00000a@haskin.int> ----- Original Message ----- From: "David De Souza - Usenet Administrator" To: "Multiple recipients of list COREWAR-L" Sent: Wednesday, November 21, 2001 6:30 PM Subject: NOTICE of Newsgroup Removal: rec.games.corewar > Newsgroup rec.games.corewar slated for REMOVAL on 21 Nov 2001 22:11:32 GMT. > -------------------------------------------------------------------------- ----------------- > > Hello my name is David De Souza, and I am writing to alert > the regular readers of rec.games.corewar that it will be removed > from Usenet on 21 Nov 2001 22:11:32 GMT. This action will be taken by all > news servers, so clients are advised to update their > readers accordingly. > > Thank you for your kind attention, > David De Souza > Could I inquire why this is being done and if there is any way for the users to appeal for a reversal of this decision? I realise that it is a fairly low volume group. But there are active contributors and it seems a fairly large number of lurkers. It also doesn't seem to have an inordinate amount of spam. In fact according to usenet info center r.g.c is tied with rec.games.abstract for the lowest cost ratio of all the rec.games newsgroups. While having less crossposting and more posts overall, meaning it has more unique content. Thank you for any help or explanation you can give, Brian Haskin haskin@ptway.com From: M Joonas Pihlaja Subject: Re: NOTICE of Newsgroup Removal: rec.games.corewar Date: 22 Nov 2001 16:20:18 -0500 Message-ID: On Thu, 22 Nov 2001, Philip Kendall wrote: > Don't bother. This is completely fake. This message (or something like > it) has gone to basically every group on Usenet. Thankyouthanktyouthankyou! The original message scared the living daylights out of me, and I logged on just now to create a Save r.g.c. petition. Phew... close call. (And really clever social engineering, btw.) Anyway, r.g.c. is a low-volume group and I for one am first in line to admit neglecting it. So, as a step in self-activation, here's something people might be interested in: http://www.cs.helsinki.fi/~jpihlaja/cw/maps/sorths.ps or http://www.cs.helsinki.fi/~jpihlaja/cw/maps/sorths.png (The .png version is *huge* so I recommend the .ps version and a postscript viewer with good zooming & panning abilities.) Basically, it's a 2D map of all -88 warriors on Koenigstuhl, with like warriors grouped together. It was generated using Teuvo Kohonen's SOM algorithm, which is an unsupervised learning algorithm to create maps of complicated data sets for visual inspection. More info on SOM is available at: http://www.cis.hut.fi/research/som-research/nnrc-programs.shtml [Thanks very much to Christoph Birk for access to the score files of Koenigstuhl: http://www.ociw.edu/~birk/COREWAR/ ] As a rough guide to the map, you have older and weaker warriors on the right side, with newer and more effective ones on the left. Light areas represent a high density of warriors with darker ones strange techniques that were tried but never really made it (i.e. not so many warriors.) >From the bottom right corner going clockwise across the edge you'll see: Mostly Old effective '88 dwarfs, Not so effective bomber-likes Old Spl 0 wipe/bomb -> dat clears, Older Vamps, Vampires, Older scanners, some spl bombers, and ending at gating scanners (left bottom corner), with effective Blur-likes clearly separated. Going up, we have bombers and bomber/scanners slightly inside of the edge, newer efficient *gating* dat stones above them, and the odd vampires (Sucker series). Moving along, we have stone/imps and the odd paper-likes (Proteus 3), finally ending at stone/papers at the upper left corner. Proceeding right along the top edge we have some serious paper above paper-launching imps, more exotic paper (Eloquent, Engine Number 9), and an abrupt change to some strange old bombers (Andromeda Strain, MEPHISTO). Then we get into huge lump of old warriors that I just don't recognise crowding the top right quadrant. I'm planning on training a similar map of the -94nop and OPEN hills on Koenigstuhl, but since both contain all the old warriors as well, I'm open to suggestions that would give us a better view of contemporary warriors (such as the top N percent of those hills or something). The map above shows quite clearly that there's a huge gap between old pre-imp ring warriors and those that follow. Enjoy, Joonas From: pak21@cam.ac.uk (Philip Kendall) Subject: Re: NOTICE of Newsgroup Removal: rec.games.corewar Date: 22 Nov 2001 17:25:52 -0000 Message-ID: <9tjcf0$g4f$1@kern.srcf.societies.cam.ac.uk> In article <003f01c1732b$96df7760$0b00000a@haskin.int>, Brian Haskin wrote: > >----- Original Message ----- >From: "David De Souza - Usenet Administrator" >To: "Multiple recipients of list COREWAR-L" >Sent: Wednesday, November 21, 2001 6:30 PM >Subject: NOTICE of Newsgroup Removal: rec.games.corewar > > >> Newsgroup rec.games.corewar slated for REMOVAL on 21 Nov 2001 22:11:32 >GMT. [snip] >Could I inquire why this is being done and if there is any way for the users >to appeal for a reversal of this decision? Don't bother. This is completely fake. This message (or something like it) has gone to basically every group on Usenet. I haven't seen the original message as it was cancelled before it reached my news server, but I believe it had Followup-To: news.net-abuse.admin.e-mail[1], which would then cause /many/ people to post to that group, flooding it. Just ignore it all... [1] For those not aware, nanae is a group dedicated to stopping e-mail spammers. Hence the regulars there often attract this sort of attention from the spammers ;-( Phil -- Philip Kendall http://www.srcf.ucam.org/~pak21/ From: "Paul Khuong" Subject: RE: new warrior Date: 22 Nov 2001 23:04:23 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of grabek > Sent: 21 novembre, 2001 16:34 > To: Multiple recipients of list COREWAR-L > Subject: new warrior > > > howdy core warriors... > > here is something i programmed recently. it's a 50% stun bomber that > uses indirect addresing mode for bomb throwing. well, it's the best i > ever have made till now and it scores 118 on koth nop hill (still too few > points to get on it). > > ;redcode-94nop > ;name frenzy v6 > ;author Lukasz Grabun *&/$?? What is going on with every other guy form poland being named Lukasz? ;-) > ;assert 1 > org boot > > step equ 2936 > > start add #step+step,2 > mov bomb, @1 > mov bomb, @1 > cl jmp -3, >-8 ;hit to start clear > mov dbomb, >start-4 > djn.f -1, >start-4 > dbomb dat.f <5334, dbomb-start+7 > bomb spl #0, #step > > for 83 > dat 0, 0 > rof > > boot mov bomb, 2000 > for 7 > mov {boot, rof > jmp @boot, <-1000 > > if you happen to know of any improvements that can be made... well, > please let me know. > > p.s. pvk: thanks for your clear code, it seems to work perfectly. Well, actually, yes, there a few improvement that would be possible. The first is that you could make the step mod 4 ot 5(yup, see where the bombs hit), which is usually cosidered pretty good when you have a good step size. Then, the bomb engine. Being a nice not-so-quick bomber, you could switch to the Tornado engine, which basically is: add step, bomb3 mov bomb, *bomb3 mov bomb, @bomb3 bomb3 mov [x], @[y] jmp -4 It is only one line bigger, and you gain some speed... Your choice, in the end, but try it(oh, understand it first 8) After that, it's sort of my fault. As i said in the psot, my d-clear isn't the best one, mainly for one reason: the dat bomb. It is SO easy and costs nothing to use a better bomb, but i can't remember what that better bomb is! I THINK that it is dbomb dat.f >5335, [whatever], but i'm not sure. Look around in the archives of warriors, or for a post(probably by Paul Kline) which has that. Of course, it's not much, but it's free improvement, so.... Also, the clear you use is vulnerable to star-imps(mov.i #2667, *0, fe), because there is no non zero-dat right after the gate, and it could be made more resilient to stones at the expense of one line(i think that i've explained it real quick in an older post). Finally, you're not using an easy way to rack in wins: a QScan. Usually, you cna just paste the code in front of your boot code, but it's very interesting to try and understand how they work(especially for the more advanced ones, where it becomes very gratifying 8) That's all that i can say, oh, and, do try to build papers and scanners after that, they're a bit harder, but also very interesting. Paul Khuong --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.281 / Virus Database: 149 - Release Date: 01-09-18 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: grabek Subject: Re: new warrior Date: Fri, 23 Nov 2001 12:39:38 +0000 (UTC) Message-ID: On 22 Nov 2001 23:04:23 -0500, Paul Khuong wrote: first of all, thanks for hints. > > Then, the bomb engine. Being a nice not-so-quick bomber, you could switch to > the Tornado engine, which basically is: > > add step, bomb3 > mov bomb, *bomb3 > mov bomb, @bomb3 > bomb3 mov [x], @[y] > jmp -4 > > It is only one line bigger, and you gain some speed... Your choice, in the > end, but try it(oh, understand it first 8) i've done this already, but it seems that tornado version seems to score worse. don't know what's the reason for it, but my frenzy with q^4 scanning engine supplied scores 125 :) and really frenzy (tornado bomber) only 114. -- pozdrawiam, grabek From: M Joonas Pihlaja Subject: Re: new warrior Date: 23 Nov 2001 18:51:04 -0500 Message-ID: > howdy core warriors... Hi Lukasz, > here is something i programmed recently. it's a 50% stun bomber that > uses indirect addresing mode for bomb throwing. well, it's the best > i ever have made till now and it scores 118 on koth nop hill (still > too few points to get on it). You've picked up the game at an impressive speed. I guess jumping in the deep end is just the thing. :-) Frenzy v6 is picking up most of its points off the scanners on the hill, like a bomber should. The bad news is that against almost every stone/imp it loses heavily. This is probably due to the form of the bombing loop: start add #step+step,2 mov bomb, @1 mov bomb, @1 cl jmp -3, >-8 ;hit to start clear [..] bomb spl #0, #step You start it with only one process so if a dat bomb lands in it while you're bombing you're dead for sure. Another point is that the jmp line increments core near the warrior, making for a bigger target for scanners. (Does the >-8 serve a purpose? I couldn't tell from a quick glance.) Now if the stone/imps on the hill were mostly dat 0,0 stones, then you could get away with changing your loop to be self-splitting: bomb spl #0, 1 or something similar. When that kind of bomb hits a self-splitting loop like: loop: spl #0,0 [...] dat #ofs,>1 ; dat bombed mov ?X, ?-Y ; Y a small number. [...] ; ? almost any addressing mode. jmp loop then the loop will suicide, or at least be completely disabled pretty damn quick. Ouch! Roughly the same thing happens with dat #ofs,>-1 bombs as well -- Carbonite combines both forms with dat >-1,>1. [There was a big incentive for stones to move to real dat bombs since scanners and clears were engineered to be very resistant to dat 0,0 bombing. The clear in Recycled Bits being a real bugger, as well as scanners The Machine and myBlur2.] So where before a self-splitting loop was good for life-expectancy, real dat bombs are turning it into a liability. The fix: Use a bombing loop that won't die if it is dat bombed, but also without self-splitting. Aka an airbag. The idea is to use a small fixed number of processes that are scheduled to execute a loop exactly like a single process, and the clever bit is that the loop is created so that the processes can detect if the loop is dat bombed, in which case they fall through to the clear. I doubt I could explain the mechanics of it as lucidly as Paulsson in his posting of his bomber Airbag, so I won't even try. Also see Janeczek's Behemot bomber for this technique. You might want to work on mutation resistance for your d-clear, although late in the battle any opposing stone is hopefully stunned. OTOH, as you do only a fast mod-8 bombing run, you might not hit the opponent so it still has time to disable your clear. OTOH #2, adding redundacy will make it bigger reducing points gained from the bomber's main food supply. In any case the article on Newt in Core Warrior from a few years back has some good tips. Regards, Joonas From: grabek Subject: Re: new warrior Date: Sat, 24 Nov 2001 19:31:35 +0000 (UTC) Message-ID: On 23 Nov 2001, M Joonas Pihlaja wrote: > while you're bombing you're dead for sure. Another point is that > the jmp line increments core near the warrior, making for a > bigger target for scanners. (Does the >-8 serve a purpose? I > couldn't tell from a quick glance.) i thought it would be an imp gate (though as inefficient as one can be :) > The loop is started by jumping to the spl line and after a while > starts executing backwards. I've added a djn stream that is the reason why i didnt put spl 0 before main loop is that i wanted it to be _quick_. having more proceses makes one harder to kill, but slows the warrior down. i wanted quick bombing raid and then clear. i managed to put my warrior on nop hill; however i dont belive if it will stay there for long. and at last but not at least: thank you. > Regards, > > Joonas -- pozdrawiam, grabek From: "Paul Khuong" Subject: RE: new warrior Date: 25 Nov 2001 13:11:40 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of grabek > Sent: 24 novembre, 2001 15:35 > To: Multiple recipients of list COREWAR-L > Subject: Re: new warrior > > On 23 Nov 2001, M Joonas Pihlaja wrote: > [snip] > > The loop is started by jumping to the spl line and after a while > > starts executing backwards. I've added a djn stream that is > > the reason why i didnt put spl 0 before main loop is that i > wanted it to be _quick_. having more proceses makes one harder to > kill, but slows the warrior down. i wanted quick bombing raid and then > clear. Erhm... Not really You don't jump to the SPL. So, you only lose 1/x of the speed, where x is the number of process. AND, that x is going to grow at a pretty good rate, so that the speed loss isn't really important. > i managed to put my warrior on nop hill; however i dont belive > if it will stay there for long. Still, well done! _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: M Joonas Pihlaja Subject: Re: new warrior Date: 25 Nov 2001 16:25:46 -0500 Message-ID: On Sat, 24 Nov 2001, grabek wrote: > the reason why i didnt put spl 0 before main loop is that i > wanted it to be _quick_. having more proceses makes one harder to > kill, but slows the warrior down. i wanted quick bombing raid and then > clear. Yeah, OK. (Though as pvk pointed out the speed penalty isn't all that bad and reduces as time goes on.) Anyway, I tested the airbag hypothesis, and while it does seem to help (120 points vs. 118 unmodified), it doesn't solve the problem with stone/imps (except Blacken). Here's the code: ;redcode-94nop ;name airbag frenzy ;author Lukasz Grabun ;strategy testing the airbag hypothesis (mjp) ;assert 1 gate equ (top-4) step equ 2936 ; 2930 top add #2*step,ptr mov stun,@ptr ptr mov }ck,@ck-1 jmz.a top,{ck ck stun spl #0,step mov bmb,>gate djn.f -1,>gate bmb dat <-5,2-gate z for MAXLENGTH-CURLINE-7 dat 0,0 rof go spl 2 psrc spl 2,top+10 pdest spl 1,top+10+2000 mov pdest,#5 jmp top+2001 end go I'm not exactly sure what the problem is, except that the spl #0 bomb isn't stunning the opponent's components for long enough or well enough. Consider the difference to Behemot's bombs: spl #2,-X mov @0,}-1 and jmp X ; jump to a spl/mov bomb. If the jmp falls in a loop (even on the last instruction, or a top spl #0 of a stone), then the opponent should be stunned effectively quite soon. This works for basically any live processes, even if they aren't executed very often. Ditto for the spl/mov pair, assuming it isn't mangled by the loop. A single spl #0 stun bomb is really only effective when it lands *within* a frequently executed loop. Landing on the looping instruction may work, but may cause the opponent to move to its second phase, without really hampering it. Landing on a leading spl instruction of a stone is useless unless it contains important data, and even then the effect is unpredictable. Even the benign looking mov.i #0,1 bomb used by Recount is probably more effective in stunning a stone, since it does its thing regardless of where it lands in the stone's code. Something just occured to me about the airbag: since only the looping instruction is unprotected from dat bombing, only 3/4 of the loop is protected. In a tornado-like bomber, or a bomber with a bigger payload, it would be better protected. Hm... time to have a better look at what Behemot does. > i managed to put my warrior on nop hill; however i dont belive > if it will stay there for long. Congratulations! (It's a huge rush, isn't it? My first warrior on -94 had a short and euphoric life too. :) ) Joonas From: M Joonas Pihlaja Subject: RE: new warrior Date: 25 Nov 2001 22:21:57 -0500 Message-ID: On Sun, 25 Nov 2001, Paul Khuong wrote: [snip idea about scanning for stone bombs and falling through to a d-clear if found.] > This way, when we encounter stones, we will probably switch > to the clear faster, because the jmz should quickly find a > non b-zero cell, we will work just as well VS scanners, BUT > the switch to the d-clear will also be made VS papers, which > isn't exactly the best move. That's a good idea and from the results on the hill, it seems to work quite well against stones. Unfortunately the losses against paper, Revival Fire, and HSA x, drop the score to 109. :-/ I attached the code to the bottom. > the code would look like: [snip] > djn.f -1,>gate > bmb dat <-5,2-gate > ; that gate is useless ;-) make it something better > against 3 pt-imps... If you're referring to the article in CW by Kline that says >5335 is the best thing since fried chicken, then sorry to say that's a myth. In his tests he used the DieHard imp launcher which creates malformed imp rings with odd process scheduling. The form of the imp is the only reason >5335 works like magic in d-clears. Against real spirals there's not a huge difference between dat 0,X and any other d-clear wipe bomb. (Prefer <2667 myself, if only for the psychological factor.) [snip airbag protects (n-1)/n lines of the loop.] > IMHO, you start from a bad premise: It is not the fraction of > the program that's protected that is important, but rather > the ABSOLUTE number of vulnerable lines that is. Oh... of course you're right, but I wasn't disputing that. Just pointing out that airbags might make bigger loops worthwhile. [snip] > OT Trivia:WHat's the samllest step-4 stone using ONLY branching, jmp and > mov? No idea... Was it you that tried creating a .8c bomber a few years back, without an ADD, only it was kind of clear? If not, then is it something similar? Joonas ;redcode-94nop ;name scan frenzy ;strategy test pvk's b-scanning hypothesis ;author Lukasz Grabun ;assert 1 gate equ (top-4) step equ 2936 top add #2*step,ptr mov stun,@ptr ptr mov stun,*1 jmz.b top,{bmb stun spl #step,0 mov bmb,>gate djn.f -1,>gate bmb dat 499,2-gate z for MAXLENGTH-CURLINE-9 dat 0,0 rof go mov bmb,top+2000+8 z for 7 mov {go, Subject: RE: new warrior Date: 25 Nov 2001 22:23:22 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of M > Joonas Pihlaja > Sent: 25 novembre, 2001 16:24 > To: Multiple recipients of list COREWAR-L > Subject: Re: new warrior > > > > On Sat, 24 Nov 2001, grabek wrote: > > > the reason why i didnt put spl 0 before main loop is that i > > wanted it to be _quick_. having more proceses makes one harder to > > kill, but slows the warrior down. i wanted quick bombing raid and then > > clear. > > Yeah, OK. (Though as pvk pointed out the speed penalty isn't all > that bad and reduces as time goes on.) > > Anyway, I tested the airbag hypothesis, and while it does seem to > help (120 points vs. 118 unmodified), it doesn't solve the > problem with stone/imps (except Blacken). Here's the code: [snip] > I'm not exactly sure what the problem is, except that the spl #0 > bomb isn't stunning the opponent's components for long enough or > well enough. Consider the difference to Behemot's bombs: > > spl #2,-X > mov @0,}-1 > and > jmp X ; jump to a spl/mov bomb. > > If the jmp falls in a loop (even on the last instruction, or a > top spl #0 of a stone), then the opponent should be stunned > effectively quite soon. This works for basically any live > processes, even if they aren't executed very often. Ditto for > the spl/mov pair, assuming it isn't mangled by the loop. > > A single spl #0 stun bomb is really only effective when it lands > *within* a frequently executed loop. Landing on the looping > instruction may work, but may cause the opponent to move to its > second phase, without really hampering it. Landing on a leading > spl instruction of a stone is useless unless it contains > important data, and even then the effect is unpredictable. > > Even the benign looking mov.i #0,1 bomb used by Recount is > probably more effective in stunning a stone, since it does its > thing regardless of where it lands in the stone's code. So, we actually have two problems here: The single spl bomb is near worthless VS stones or papers, and as good as anything VS scanners, right? The second would be the warrior getting reamed by other stones. The first problem probably has to be solved using a more complex bomb, probably like spl/mov, which tends to be more effective than spl/jmp. Unfortunately, it would mean that the warrior gets bigger, but does not disrupt scanners any better. Any better idea? The second problem could be solved using something a BIT like airbag, though not exactly. Make sure that the bombs have 0 b-fields(like spl #whatever, 0), and use a jmz.b start, gate djn.f -1,>gate bmb dat <-5,2-gate ; that gate is useless ;-) make it something better against 3 pt-imps... > Something just occured to me about the airbag: since only the > looping instruction is unprotected from dat bombing, only 3/4 of > the loop is protected. In a tornado-like bomber, or a bomber > with a bigger payload, it would be better protected. Hm... time > to have a better look at what Behemot does. IMHO, you start from a bad premise: It is not the fraction of the program that's protected that is important, but rather the ABSOLUTE number of vulnerable lines that is. The stone has as much chances of hitting that one vulnerable line, regardless of the number of lines in the loop. > > i managed to put my warrior on nop hill; however i dont belive > > if it will stay there for long. > > Congratulations! (It's a huge rush, isn't it? My first warrior > on -94 had a short and euphoric life too. :) ) Well, it's pretty good that he did it on his own too! My was nPaper(and it's still the only one bc i couldn't find any time after that)... REALLY, unless you count the one time someone ;killed his warrior ^_^ OT Trivia:WHat's the samllest step-4 stone using ONLY branching, jmp and mov? _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: Paul-V Khuong Subject: RE: new warrior Date: 25 Nov 2001 23:01:00 -0500 Message-ID: <20011126034335.37951.qmail@web11603.mail.yahoo.com> --- M Joonas Pihlaja wrote: > > On Sun, 25 Nov 2001, Paul Khuong wrote: > > [snip idea about scanning for stone bombs and > falling through to > a d-clear if found.] > > > This way, when we encounter stones, we will > probably switch > > to the clear faster, because the jmz should > quickly find a > > non b-zero cell, we will work just as well VS > scanners, BUT > > the switch to the d-clear will also be made VS > papers, which > > isn't exactly the best move. > > That's a good idea and from the results on the hill, > it seems to > work quite well against stones. Unfortunately the > losses against > paper, Revival Fire, and HSA x, drop the score to > 109. :-/ I > attached the code to the bottom. DROPPED? How well did frenzy do before adding the b-scan VS papers? If you look at the nop hill, you'll see a warrior by me as the 21st warrior^_^ It uses the same b-scan idea, but in a "normal" mov },{ 3-line stone. To help VS papers, instead of only going to the d-clear, it also launches an imp. It makes the warrior more complex, but it might be interesting to try it. BTW, i don't know why it suckes so much...Might be the qs/a bug introduced by adding the qs. I'll see what a spl/dat clear does tomorrow 8) [snip...d-clear bombs work all the same- NOT FAIR] > [snip airbag protects (n-1)/n lines of the loop.] > > > IMHO, you start from a bad premise: It is not the > fraction of > > the program that's protected that is important, > but rather > > the ABSOLUTE number of vulnerable lines that is. > > Oh... of course you're right, but I wasn't disputing > that. Just > pointing out that airbags might make bigger loops > worthwhile. That's what i mean:it doesn't make it better to have a bigger loop, except if you want a quick switch to the second component in a special case where the chances of the loop getting bombed are high. > [snip] > > OT Trivia:WHat's the samllest step-4 stone using > ONLY branching, jmp and > > mov? > > No idea... Was it you that tried creating a .8c > bomber a few > years back, without an ADD, only it was kind of > clear? If not, > then is it something similar? i don't know what you're referring to, but it IS step 4, but linearly so. It's still better than the basic dwarf! ^_^ PS, do you think that i can include redcode as a language that i ahve mastered in an application for what is basically a nerds' summer camp? ^_^ __________________________________________________ Do You Yahoo!? Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month. http://geocities.yahoo.com/ps/info1 From: Koth Subject: KOTH.ORG: Status - Standard 11/26/01 Date: 26 Nov 2001 10:15:11 -0500 Message-ID: <200111260500.AAA28791@gevjon.ttsg.com> Weekly Status on 11/26/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Tue Nov 20 05:07:52 EST 2001 # %W/ %L/ %T Name Author Score Age 1 34/ 20/ 46 Freight Train David Moore 148 79 2 33/ 21/ 47 sIMPly.Red v0.95 Leonardo Humberto 145 36 3 32/ 20/ 48 Test Alexander (Sasha) Wa 145 18 4 31/ 21/ 48 Guardian Ian Oversby 142 78 5 33/ 28/ 40 vala John Metcalf 138 1 6 37/ 39/ 24 Stasis David Moore 136 186 7 36/ 37/ 28 PacMan David Moore 135 108 8 39/ 44/ 16 Foggy Swamp Beppe Bezzi 134 75 9 39/ 44/ 17 Blur '88 Anton Marsden 134 116 10 24/ 16/ 60 EV Paper John K Wilkinson 132 92 11 25/ 19/ 56 Jinglo John Metcalf 132 3 12 27/ 22/ 51 Shish-Ka-Bob Ben Ford 131 34 13 26/ 20/ 54 Evoltmp 88 John K W 131 129 14 25/ 19/ 56 Test I Ian Oversby 131 135 15 34/ 38/ 28 Tangle Trap David Moore 130 152 16 36/ 42/ 22 Beholder's Eye V1.7 W. Mintardjo 129 354 17 37/ 47/ 16 Iron Gate Wayne Sheppard 128 404 18 29/ 31/ 40 Frog Sticker P.Kline 128 28 19 37/ 48/ 15 ig Wayne Sheppard 126 6 20 14/ 3/ 83 ]enigma[ Michal Janeczek 124 7 21 15/ 66/ 19 B7 M.S.A. 64 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 11/26/01 Date: 26 Nov 2001 10:16:35 -0500 Message-ID: <200111260500.AAA28795@gevjon.ttsg.com> Weekly Status on 11/26/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Fri Nov 16 05:38:10 EST 2001 # Name Author Score Age 1 D-clearM Ken Espiritu 44 84 2 fclear Brian Haskin 31 68 3 test John Metcalf 31 12 4 Xord Monominer XOSC:01 Gino Oblena 27 23 5 8thTest Gino Oblena 24 15 6 Pitbull Christian Schmidt 23 40 7 Carrot Grater v1.1 Brant D. Thomsen 21 2 8 Her Majesty P.Kline 20 103 9 QuiVa John Metcalf 13 177 10 sptst (4D-p) Stefan Foerster 11 1 11 Il est un dieu qui rit Thomas Baruchel Subject: KOTH.ORG: Status - ICWS Experimental 94 11/26/01 Date: 26 Nov 2001 10:18:00 -0500 Message-ID: <200111260500.AAA28799@gevjon.ttsg.com> Weekly Status on 11/26/01 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html sleep 180 Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sat Nov 24 11:00:53 EST 2001 # %W/ %L/ %T Name Author Score Age 1 55/ 33/ 12 Fire and Ice II David Moore 176 1 2 40/ 34/ 26 Black Moods Ian Oversby 145 97 3 36/ 31/ 33 Controlled Aggression Ian Oversby 141 101 4 32/ 24/ 44 KAT v5 Dave Hillis 140 33 5 31/ 26/ 43 Damage Inflicted Robert Macrae 136 40 6 36/ 36/ 29 Ogre Christian Schmidt 136 49 7 22/ 8/ 70 Evol Cap 4 X John Wilkinson 135 170 8 27/ 19/ 55 Katafutr Michal Janeczek 134 41 9 20/ 10/ 70 Denial David Moore 131 42 10 38/ 45/ 17 Greetings From Asbury Par JKW 130 61 11 23/ 17/ 60 Kin John Metcalf 128 9 12 29/ 36/ 35 Big I.F.F.S. Dave Hillis 123 30 13 23/ 23/ 54 Venom v0.2b Christian Schmidt 122 123 14 16/ 10/ 75 Evolve X v4.0 John Wilkinson 122 118 15 16/ 10/ 74 Black Box v1.1 JKW 122 64 16 28/ 35/ 37 test CS 121 58 17 30/ 46/ 24 Pagan John K W 114 155 18 17/ 26/ 58 Purple v0.1 Christian Schmidt 108 122 19 19/ 31/ 50 Disaster Area 2.8 Stefan Foerster 107 28 20 26/ 47/ 27 Sand-Crawler John Metcalf 105 7 21 1/ 4/ 0 test David Moore 4 2 From: M Joonas Pihlaja Subject: -94nop desperately needs stone/paper Date: 27 Nov 2001 11:09:17 -0500 Message-ID: Only two papers, a heap of scanners, and load of stone/imps. The time is ripe for stone/anti-imp-paper. Last person to make a submission takes the imps out for dinner. (And if Gunnell will supply us with another batch of killer scanners, in your own time, please. ;-) ) Joonas From: M Joonas Pihlaja Subject: RE: new warrior Date: 27 Nov 2001 11:10:42 -0500 Message-ID: On Sun, 25 Nov 2001, Paul-V Khuong wrote: [snip the b-scanning version score] > DROPPED? > > How well did frenzy do before adding the b-scan VS > papers? Here are the results for all four versions. Speculation on the on-hill warriors below. frenzy v6 splitting airbag scan - Paper-likes Inky 28-170-52 37-145-68 39-151-60 16-217-17 nPaper II 36-168-46 21-142-87 29-152-69 7-214-29 The Phantom Men 8-105-137 4- 91-155 4- 85-161 6-116-128 No surprises here, except the scarsity of paper on the hill. I'm not sure if Inky really is a paper though as on the hill it scores much too high for one. - Stone/imp Quicksilver 65-152-33 33-141-76 64-164-22 58-182-10 Son of Vain 54-134-62 12-131-107 59-120-71 78-108-64 Olivia 61-125-64 18- 89-143 67- 96-87 71-137-42 Uninvited 63-144-43 35- 99-116 80-119-51 84-143-23 Qtest 41-159-50 41- 98-111 37-125-88 44-165-41 AxID Burn 49-152-49 25-134-91 63-138-49 61-152-37 Blacken 64-114-72 56- 70-124 91- 69-90 103-104-43 I put Qtest in with the stone/imps as it scores most like one against the frenzies. Could actually be a heavy stone -> paper, as the airbag and b-scanning versions do worse than the original, and the splitting version mostly ties. The splitting version does manage to convert many losses into ties, but unfortunately does the same to wins. From the number of losses incurred, I'm guessing Olivia, AxID Burn, and Uninvited use real dat bombs (Son of Vain and Quicksilver are known to). Blacken and Qtest probably don't. The splitting version had a djn-stream, so if there are lots of 1,1s in some warrior this would show up as reduced wins. Mostly the airbag converts losses into wins, sometimes ties. The b-scanning version clearly gets the most wins. A bit odd that these stone-fortified versions lose more heavily to Quicksilver and Qtest than the original - Bomber Fire and Ice II 64-141-45 73-158-19 Behemot 102-129-19 101-106-43 76-137-37 87-145-18 - Unknown Revival Fire 87- 81-82 42-107-101 87- 85-78 71-150-29 Keyser Soze 84- 84-82 73- 79-98 87-101-62 98-123-29 Revival Fire is probably an airbagged and turbo-charged Recount. Not sure about Keyser Soze. Maybe a bomber or bomber/scanner of some sort. - Scanner Hazy Lazy 93-107-50 83-128-39 96-115-39 87-131-32 HSA x 112- 91-47 120- 95-35 106-110-34 98-123-29 Test S M1 128- 70-52 114- 85-51 136- 69-45 127- 89-34 KenshinX test13 127- 89-34 130- 83-37 124- 87-39 119- 86-45 Kenshin test 21 131- 77-42 127- 84-39 135- 76-39 144- 77-29 Eraser II 146- 72-32 141- 71-38 140- 74-36 111- 95-44 Hazy Lazy is one mean scanner. Look at those wins!! Eraser II apparently is colouring core and triggering the scanning version's fall to d-clear early. Somebody send in a bomb dodger and tell the rest of us. HSA x is a bit strange -- look at the difference in wins it gets from the scanning version vs. the original. It too might be colouring core, but for a HSA that sounds strange. In that case it should be tricked into wiping the d-clear's stream quite quickly, unless it finds the bomber body first (which could be the case if it uses a step <= 10 or so). - One-shot G3 126- 98-26 135- 93-22 If it's anything like G2 (I haven't tested), we're most likely hitting the clear while he's scanning. The djn stream in the splitting version is getting us more wins. > If you look at the nop hill, you'll see a warrior by > me as the 21st warrior^_^ It uses the same b-scan > idea, but in a "normal" mov },{ 3-line stone. To help > VS papers, instead of only going to the d-clear, it > also launches an imp. OK, so do you have something like ??? {Y,{Y ; what's here? mov X},{Y jmz.b -2,{Y ; scan every fourth location ; go launch imp / d-clear. [Snipped too much: is it a good idea to add redcode as a...] > language that i ahve mastered in an application for > what is basically a nerds' summer camp? ^_^ Absolutely! See if you can get some of the other attendants to give Core War a shot. Maybe organise a mini-tournament or something. You'd have to be judge/organiser and so wouldn't be allowed to enter, but you could give a few lectures on core war strategy / history. But then I've never been to a summer camp and have no idea what it actually is, so add grains of salt etc. What is it people do at summer camp anyway? Joonas From: grabek Subject: Re: new warrior Date: Tue, 27 Nov 2001 13:32:19 +0000 (UTC) Message-ID: On 25 Nov 2001 16:25:46 -0500, M Joonas Pihlaja wrote: > gate equ (top-4) > step equ 2936 ; 2930 > > top > add #2*step,ptr > mov stun,@ptr > ptr mov }ck,@ck-1 > jmz.a top,{ck > ck stun spl #0,step > mov bmb,>gate > djn.f -1,>gate > bmb dat <-5,2-gate > > > z for MAXLENGTH-CURLINE-7 > dat 0,0 > rof > go spl 2 > psrc spl 2,top+10 > pdest spl 1,top+10+2000 > mov mov djn >pdest,#5 > jmp top+2001 > end go first of all, i'd like to thank you both. the discussion that had been raised here helped me a lot; currently i'm working on multiple frenzy with airbag checking... don't know yet what it is going to be :) the second matter: i executed airbag frenzy code; it seems to work properly, but there's one thing i just cant get along with. there're four paralleral (?), independent processes executing the code. in the main loop there's add #2*step, somewhere instruction. it seems that it is executed 4 times, so the bomb's destination is, well, altered. dont know whether im expressing myself in enough clear way. :) -- pozdrawiam, grabek From: "Paul Khuong" Subject: RE: new warrior Date: 27 Nov 2001 19:08:46 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of M > Joonas Pihlaja > Sent: 27 novembre, 2001 11:09 > To: Multiple recipients of list COREWAR-L > Subject: RE: new warrior > > > > On Sun, 25 Nov 2001, Paul-V Khuong wrote: > > [snip the b-scanning version score] > > DROPPED? > > > > How well did frenzy do before adding the b-scan VS > > papers? > > Here are the results for all four versions. Speculation on the > on-hill warriors below. I'll reply to the analysis inline, because i don't reallt want to recap everything 8) > frenzy v6 splitting airbag scan > - Paper-likes > Inky 28-170-52 37-145-68 39-151-60 16-217-17 > nPaper II 36-168-46 21-142-87 29-152-69 7-214-29 > The Phantom Men 8-105-137 4- 91-155 4- 85-161 6-116-128 > > No surprises here, except the scarsity of paper on the hill. > I'm not sure if Inky really is a paper though as on the hill it > scores much too high for one. Re Inky's type: Well, it's one weird warrior:reams HSA, but loses a lot VS Lazy Hazy. So, it could be a very aggressive paper, bombing/coreclearing a lot. However, Hazy Lazy also shows weird scores for a scanner, so... [snip] > Mostly the airbag converts losses into wins, sometimes ties. > The b-scanning version clearly gets the most wins. A bit odd > that these stone-fortified versions lose more heavily to > Quicksilver and Qtest than the original > > - Bomber > Fire and Ice II 64-141-45 73-158-19 > Behemot 102-129-19 101-106-43 76-137-37 87-145-18 > > - Unknown > Revival Fire 87- 81-82 42-107-101 87- 85-78 71-150-29 > Keyser Soze 84- 84-82 73- 79-98 87-101-62 98-123-29 > > Revival Fire is probably an airbagged and turbo-charged Recount. > Not sure about Keyser Soze. Maybe a bomber or bomber/scanner of > some sort. > > - Scanner > Hazy Lazy 93-107-50 83-128-39 96-115-39 87-131-32 > HSA x 112- 91-47 120- 95-35 106-110-34 98-123-29 > Test S M1 128- 70-52 114- 85-51 136- 69-45 127- 89-34 > KenshinX test13 127- 89-34 130- 83-37 124- 87-39 119- 86-45 > Kenshin test 21 131- 77-42 127- 84-39 135- 76-39 144- 77-29 > Eraser II 146- 72-32 141- 71-38 140- 74-36 111- 95-44 > > Hazy Lazy is one mean scanner. Look at those wins!! Hazy lazy probably is NOT a scanner > Eraser II apparently is colouring core and triggering the > scanning version's fall to d-clear early. Somebody send in a > bomb dodger and tell the rest of us. I'll do so in the weekend if you don't ahve the time to launch a test with clisson ;-) > > > If you look at the nop hill, you'll see a warrior by > > me as the 21st warrior^_^ It uses the same b-scan > > idea, but in a "normal" mov },{ 3-line stone. To help > > VS papers, instead of only going to the d-clear, it > > also launches an imp. > > OK, so do you have something like > > ??? {Y,{Y ; what's here? > mov X},{Y > jmz.b -2,{Y ; scan every fourth location > ; go launch imp / d-clear. Erhm..Wait, this has no relation with the no-add step 4 stone ;-) I think it's time i post it, anyway, so: start mov @0, <1 mov {-50, <3999;3998 might be better..not sure djn.f -2, @-2 end start > [Snipped too much: is it a good idea to add redcode as > a...] > > language that i ahve mastered in an application for > > what is basically a nerds' summer camp? ^_^ > > Absolutely! See if you can get some of the other attendants to > give Core War a shot. Maybe organise a mini-tournament or > something. You'd have to be judge/organiser and so wouldn't be > allowed to enter, but you could give a few lectures on core war > strategy / history. > > But then I've never been to a summer camp and have no idea what > it actually is, so add grains of salt etc. What is it people do > at summer camp anyway? You know, i have NO idea ^_^ It's gonna be my first time (thank god i was never sent away to summer camp before), but i guess you could go to www.shad.ca and take a look. Finally, and most important, it IS possible to run the b-scan AND airbag ^_^ The problem:somewhat bigger footprint 8( gate equ (top-4) step equ 2936 ; 2930 ptr dat.f x, x+step [something that point to a non a-zero cell] bmb spl #z,0 [space] top add.f step, ptr ;3/4 gate ;-) mov >ck, }ptr ; " mov ptr ; " ck jmz.b top, {bmb step spl #step*2-1, step*2-1 mov db, >gate djn.f -1, >gate db dat.f spl/dat stone-resistant clear later. _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: David Matthew Moore Subject: Fire and Ice II Message-ID: Date: Tue, 27 Nov 2001 22:23:09 GMT M Joonas Pihlaja wrote: > > The time is ripe for stone/anti-imp-paper. (And if Gunnell will > supply us with another batch of killer scanners, in your own > time, please. ;-) ) I've got another idea. Let's show some more love to the -94x big hill. Pizza hills have been down for ages, so play the hill with better parameters. Mod-anything step sizes! More time for brainy pspace strategies! Best of all, wimps can no longer hide behind an aggressive quickscan! Let me start by offering Fire and Ice II. It's a big hill pspacer that switches between two strategies. First is a stone. Borrowing from a hint posted to r.g.c, it bombs with: mov -2019, 1 Another bomb is placed at -2019. When run, this expands to: mov -2019, 1 mov -2019, 1 dat 0, 0 After every 3rd cell has been bombed, then a dclear cleans up the rest. The other half of Fire and Ice II is an f-scanner. To explain where this scanner came from, let's revisit KoFoCoTo. In round 3 of the koth.org tournament, we jabbed at an unpublished "black" warrior on its own special hill. We could see score results, but not source code. I hypothesized that Black Box contained a silk of the form: spl @0, }step mov }-1, >-1 I sent a warrior that tested for instructions like "spl @x, }y". If it found any, then it would launch paper to tie the game; otherwise, it would simply die. The results for "spl @, }" were all ties. In this way, you can test for the precense or absence of anything. Yes or No. The next step was to determine the distance between copies of the silk. Q: Is it less than 10000 or more? A: less Q: Is it less than 5000 or more? A: less Q: Is it less than 2500 or more? A: more ... log_2 55440 = 15 questions. It took 15 submissions to determine the silk copy distance. My entry, The Truth Is Out There, could bomb all of the copies once it found the first one. In retrospect, there's an easier way to do this. Let the scanner read the step size during the battle. Fire and Ice II scans for the first instruction in any program it finds. If that instruction is an imp or a silk, then it points to the next copy. F&I2 can folow the trail and SPL carpet all of the imps and silks very quickly. A brainwash trap is added at the end of each spl carpet: spl #0, 0 spl #0, 0 stp.ab >0, #0 The job is finished with a simple core clear: mov bomb, >gate jmp -1, {gate If an imp of the form "mov.i #x, step" reaches the gate, then the first line will bomb two imps at once. As long as it runs at least one time out of two, then it is a 100% effective gate (although this scanner doesn't need the gate much). Here's the rest: ;redcode-94x ;name Fire and Ice II ;author David Moore ;strategy anti-imp scanner or stone with airbag ;assert CORESIZE==55440 org start ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; ; airbag stone + dclear ; ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; dDist equ (dBoot+43990) dGate equ -5 dStep equ 53421 ;dStep % 3 == 0 dbPos equ 11 dBoot spl dBoot2, >dDist+(dPtr-dTop)+dStep*1030 spl 1, >dDist+(dPtr-dTop)+dStep*1033 mov.i {0, #0 mov {dSpl, dBoot2 dAway1 dat dDist+1, dDist+(dLast-dTop)+1 dat 0, 0 dat 0, 0 dDat dat <27721, 5-dGate dSpl spl #dLast+1, {dSpl+dGate+2 mov dSpl+dGate+1, >dSpl+dGate djn.f -1, >dSpl+dGate dTop add.ab #dStep*2, dPtr mov >2, @dPtr dPtr mov <1, *(dStep*2) jmn.b dTop, dTop+dbPos dLast jmp dPtr+dStep, dAway1, sTop jmn.f -1, @sTop mov sWash, >sTop sGate slt.ab @sI1, #27 sI3 jmn.f sPtr, @sI2 sMain add.a #sStep-1, sPtr sStart jmz.f -1, }sPtr mov.a sPtr, @sI1 jmn.a sGate, *sI3 sSpl spl #0, 0 mov 2, >sGate djn.f -1, {sGate sBP dat sPtr, 3-sGate sWash stp.ab >0, #0 dat 0, 0 sBoot mov }sBP, >sAway mov }sBP, >sAway mov }sBP, >sAway mov }sBP, >sAway mov }sBP, >sAway djn sBoot, #4 spl *sAway, >sBoot sAway mod.f #sDist+(sStart-sPtr), #sDist dat 0, 0 end From: Arek Paterek Subject: Good clear Date: Wed, 28 Nov 2001 00:54:25 +0000 (UTC) Message-ID: <9u1ck1$mcb$1@kenny.mimuw.edu.pl> Hi, I need a short SPL/DAT clear that transforms into a gate. It doesn't need be to be fast, but should be resistant to imps. The best would be, if it starts with SPL #16, #16 . Could You help me with it? -- Arek Paterek From: birk@andromeda.ociw.edu Subject: Koenigstuhl News Date: 28 Nov 2001 17:28:00 -0500 Message-ID: <200111281849.fASIn7x01528@andromeda.ociw.edu> Congratulations to David Moore! His program 'Fire and Ice II' ist the new #1 of the X-Koenigstuhl. Christoph (http://www.ociw.edu/~birk/COREWAR/koenigstuhl.html) From: M Joonas Pihlaja Subject: Re: new warrior Date: Wed, 28 Nov 2001 18:05:49 +0200 Message-ID: On Tue, 27 Nov 2001, grabek wrote: [snip some code] > the second matter: i executed airbag frenzy code; it seems to > work properly, but there's one thing i just cant get along with. > there're four paralleral (?), independent processes executing the > code. in the main loop there's add #2*step, somewhere instruction. > it seems that it is executed 4 times, so the bomb's destination is, > well, altered. Hmm... maybe I posted a buggy version. It's supposed to boot five processes so that they execute the loop just as if there was only one process. spl 2 ;create 5 parallel processes spl 2 spl 1, X djn >-1, #5 ; boot 4 procs, last one falls thru to jmp jmp X+1 ; boot final proc. The djn line boots four processes to X, X+1, X+2, X+3 like this: 1 add 2 mov 3 mov 4 jmz Then the loop executes once and a fifth process (left behind at the jmp X+1 line) is booted to the first mov line: 4 add 1 5 mov 2 mov 3 jmz When these execute in order you should get add-mov-mov-jmz-add-mov-mov-jmz- ... See also Paulsson's post of myBlur2. Incidentally, Behemot uses a neat way of booting the processes: It boots one extra line at the top of the warrior which is booted to address X, and then feeds N+1 parallel processes to jmp >ptr_to_X to get processes at X, X+1, ..., X+N. The instruction at X+N is a branch to X+1, so after the processes have executed once, we have the required scheduling for the processes. Also, the instruction at X is only executed once, so it uses a mov {0,0 instruction to erase itself with a dat 0,0. Cool! Joonas Message-ID: <3C05A70B.3F09F630@epix.net> From: Nathan McKenzie Subject: Windows ME Compatability Date: Thu, 29 Nov 2001 03:06:04 GMT Are there any pMARS programs that are compatible on Windows ME? Brandon Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 29 Nov 2001 11:51:13 GMT Archive-name: games/corewar-faq Last-Modified: September 4, 1999 Version: 4.2 URL: http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html Copyright: (c) 1999 Anton Marsden Maintainer: Anton Marsden Posting-Frequency: once every 2 weeks Core War Frequently Asked Questions (rec.games.corewar FAQ) These are the Frequently Asked Questions (and answers) from the Usenet newsgroup rec.games.corewar. A plain text version of this document is posted every two weeks. The latest hypertext version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html and the latest plain text version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.txt. This document is currently being maintained by Anton Marsden (anton@paradise.net.nz). Last modified: Sat Sep 4 00:22:22 NZST 1999 ------------------------------------------------------------------------ To Do * Add the new No-PSpace '94 hill location * Add online location of Dewdney's articles * Make question 17 easier to understand. Add a state diagram? * Add info about infinite hills, related games (C-Robots, Tierra?, ...) * New question: How do I know if my warrior is any good? Refer to beginners' benchmarks, etc. * Add a Who's Who list? * Would very much like someone to compile a collection of the "revolutionary" warriors so that beginners can see how the game has developed over the years. Mail me if interested. ------------------------------------------------------------------------ What's New * Changed primary location of FAQ (again!) * Changed Philip Kendall's home page address. * Updated list server information * Changed primary location of FAQ * Vector-launching code was fixed thanks to Ting Hsu. * Changed the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr ------------------------------------------------------------------------ Table of Contents 1. What is Core War 2. Is it "Core War" or "Core Wars"? 3. Where can I find more information about Core War? 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 6. What is the ICWS? 7. What is Core Warrior? 8. Where are the Core War archives? 9. Where can I find a Core War system for ...? 10. Where can I find warrior code? 11. I do not have FTP. How do I get all this great stuff? 12. I do not have access to Usenet. How do I post and receive news? 13. Are there any Core War related WWW sites? 14. What is KotH? How do I enter? 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 16. How does SLT (Skip if Less Than) work? 17. What is the difference between in-register and in-memory evaluation? 18. What is P-space? 19. What does "Missing ;assert .." in my message from KotH mean? 20. How should I format my code? 21. Are there any other Core War related resources I should know about? 22. What does (expression or term of your choice) mean? 23. Other questions? ------------------------------------------------------------------------ 1. What is Core War? Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all processes of the opposing program to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardised by the ICWS, and is therefore transportable between all standard Core War systems. The system in which the programs run is quite simple. The core (the memory of the simulated computer) is a continuous array of instructions, empty except for the competing programs. The core wraps around, so that after the last instruction comes the first one again. There are no absolute addresses in Core War. That is, the address 0 doesn't mean the first instruction in the memory, but the instruction that contains the address 0. The next instruction is 1, and the previous one obviously -1. However, all numbers are treated as positive, and are in the range 0 to CORESIZE-1 where CORESIZE is the amount of memory locations in the core - this means that -1 would be treated as CORESIZE-1 in any arithmetic operations, eg. 3218 + 7856 = (3218 + 7856) mod CORESIZE. Many people get confused by this, and it is particularly important when using the SLT instruction. Note that the source code of a program can still contain negative numbers, but if you start using instructions like DIV #-2, #5 it is important to know what effect they will have when executed. The basic unit of memory in Core War is one instruction. Each Redcode instruction contains three parts: * the opcode * the source address (a.k.a. the A-field) * the destination address (a.k.a. the B-field) The execution of the programs is equally simple. The MARS executes one instruction at a time, and then proceeds to the next one in the memory, unless the instruction explicitly tells it to jump to another address. If there is more than one program running, (as is usual) the programs execute alternately, one instruction at a time. The execution of each instruction takes the same time, one cycle, whether it is MOV, DIV or even DAT (which kills the process). Each program may have several processes running. These processes are stored in a task queue. When it is the program's turn to execute an instruction it dequeues a process and executes the corresponding instruction. Processes that are not killed during the execution of the instruction are put back into the task queue. Processes created by a SPL instruction are added to the task queue after the creating process is put back into the task queue. [ToC] ------------------------------------------------------------------------ 2. Is it "Core War" or "Core Wars"? Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. [ToC] ------------------------------------------------------------------------ 3. Where can I find more information about Core War? Core War was first described in the Core War Guidelines of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in Scientific American which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Library of Author Title Published ISBN Congress Call Number The Armchair Dewdney, Universe: An New York: W. QA76.6 .D517 A. K. Exploration of H. Freeman �0-7167-1939-8 1988 Computer Worlds 1988 The Magic 0-7167-2125-2 Dewdney, Machine: A New York: W.(Hardcover), QA76.6 A. K. Handbook of H. Freeman �0-7167-2144-9 .D5173 1990 Computer Sorcery 1990 (Paperback) A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current. For those who are interested, Dewdney has a home page at http://www.csd.uwo.ca/faculty/akd/. [ToC] ------------------------------------------------------------------------ 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A draft of the official standard (ICWS'88) is available as ftp://www.koth.org/corewar/documents/standards/redcode-icws-88.Z. This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at Mark Durham's tutorials, ftp://www.koth.org/corewar/documents/tutorial.1.Z and ftp://www.koth.org/corewar/documents/tutorial.2.Z. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This and various other tutorials can be found at http://www.koth.org/papers.html. Even though ICWS'88 is still the "official" standard, you will find that most people are playing by ICWS'94 draft rules and extensions. [ToC] ------------------------------------------------------------------------ 5. What is ICWS'94? Which simulators support ICWS'94? There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a new addressing modes and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft at ftp://www.koth.org/corewar/documents/icws94.0202.Z for more information. There is a HTML version of this document available at http://www.koth.org/info/icws94.html. You can try out the new standard by submitting warriors to the '94 hills of the KotH servers. Two corewar systems currently support ICWS'94, pMARS (many platforms) and Redcoder (Mac), both available at ftp://www.koth.org/corewar. Note that Redcoder only supports a subset of ICWS'94. [ToC] ------------------------------------------------------------------------ 6. What is the ICWS? About one year after Core War first appeared in Scientific American, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). The ICWS is no longer active. [ToC] ------------------------------------------------------------------------ 7. What is Core Warrior? Following in the tradition of the Core War News Letter, Push Off, and The 94 Warrior, Core Warrior is a newsletter about strategies and current standings in Core War. Started in October 1995, back issues of Core Warrior (and the other newsletters) are available at http://para.inria.fr/~doligez/corewar/. There is also a Core Warrior index page at http://www.kendalls.demon.co.uk/pak21/corewar/warrior.html which has a summary of the contents of each issue of Core Warrior. Many of the earlier issues contain useful information for beginners. [ToC] ------------------------------------------------------------------------ 8. Where are the Core War archives? Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp://ftp.csua.berkeley.edu/pub/corewar. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. This site is mirrored at: * http://www.koth.org/corewar/ * ftp://www.koth.org/corewar/ * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror The plain text version of this FAQ is automatically archived by news.answers (but this version is probably out-of-date). [ToC] ------------------------------------------------------------------------ 9. Where can I find a Core War system for . . . ? Core War systems are available via anonymous FTP from www.koth.org in the corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check ftp://www.koth.org/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than www.koth.org. Generally, the older the program - the less likely it will be ICWS compatible. If you are looking for an ICWS'94 simulator, get pMARS, which is available for many platforms and can be downloaded from: * ftp://ftp.csua.berkeley.edu/pub/corewar (original site) * ftp://www.koth.org/corewar (koth.org mirror) * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror (Planar mirror) * http://www.nc5.infi.net/~wtnewton/corewar/ (Terry Newton) * ftp://members.aol.com/ofechner/corewar (Fechter) Notes: * If you have trouble running pMARS with a graphical display under Win95 then check out http://www.koth.org/pmars.html which should have a pointer to the latest compilation of pMARS for this environment. * RPMs for the Alpha, PowerPC, Sparc and i386 can be found at ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars-rpm/ Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at www.koth.org: MADgic41.lzh corewar for the Amiga, v4.1 MAD4041.lzh older version? MAD50B.lha corewar for the Amiga, beta version 5.0 Redcoder-21.hqx corewar for the Mac, supports ICWS'88 and '94 (without extensions) core-11.hqx corewar for the Mac core-wars-simulator.hqx same as core-11.hqx? corewar_unix_x11.tar.Z corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z older version kothpc.zip port of older version of KotH to the PC deluxe20c.tar.Z corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z corewar for UNIX, likely not ICWS'88 compatible icons.zip corewar icons for MS-Windows macrored.zip a redcode macro-preprocessor (PC) c88v49.zip PC corewar, textmode display mars88.zip PC corewar, graphics mode display corwp302.zip PC corewar, textmode display, slowish mercury2.zip PC corewar written in assembly, fast! mtourn11.zip tournament scheduler for mercury (req. 4DOS) pmars08s.zip portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars08s.tar.Z same as above pmars08.zip PC executables with graphics display, req 386+ macpmars02.sit.hqx pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS1.99a.cpt.hqx port of v0.8 for the Mac, with display and debugger MacpMARS1.0s.cpt.hqx C source (MPW, ThinkC) for Mac frontend pvms08.zip pMARS v0.8 for VMS build files/help (req. pmars08s.zip) ApMARS03.lha pMARS executable for Amiga (port of version 0.3.1) wincor11.zip MS-Windows system, shareware ($15) [ToC] ------------------------------------------------------------------------ 10. Where can I find warrior code? To learn the game, it is a good idea to study previously posted warrior code. The FTP archives have code in the ftp://www.koth.org/corewar/redcode directory. A clearly organized on-line warrior collection is available at the Core War web sites (see below). [ToC] ------------------------------------------------------------------------ 11. I do not have FTP. How do I get all this great stuff? There is an FTP email server at bitftp@pucc.princeton.edu. This address may no longer exist. I haven't tested it yet. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. Note that many FTP email gateways are shutting down due to abuse. To get a current list of FTP email servers, look at the Accessing the Internet by E-mail FAQ posted to news.answers. If you don't have access to Usenet, you can retrieve this FAQ one of the following ways: * Send mail to mail-server@rtfm.mit.edu with the body containing "send usenet/news.answers/internet-services/access-via-email". * Send mail to mailbase@mailbase.ac.uk with the body containing "send lis-iis e-access-inet.txt". [ToC] ------------------------------------------------------------------------ 12. I do not have access to Usenet. How do I post and receive news? To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Koth.Org list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@koth.org. You can send mail to corewar-l@koth.org to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (ttsg@ttsg.com). Servers that allow you to post (but not receive) articles are available. Refer to the Accessing the Internet by E-Mail FAQ for more information. [ToC] ------------------------------------------------------------------------ 13. Are there any Core War related WWW sites? You bet. Each of the two KotH sites sport a world-wide web server. Stormking's Core War page is http://www.koth.org; pizza's is http://www.ecst.csuchico.edu/~pizza/koth . Damien Doligez (a.k.a. Planar) has a web page that features convenient access to regular newsletters (Push Off, The '94 Warrior, Core Warrior) and a well organized library of warriors: http://para.inria.fr/~doligez/corewar/. Convenient for U.S. users, this site is also mirrored at koth.org. [ToC] ------------------------------------------------------------------------ 14. What is KotH? How do I enter? King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program (warrior) with special comment lines. You will receive a reply indicating how well your program did against the current top programs "on the hill". There are two styles of KotH tournaments, "classical" and "multi-warrior". The "classical" KotH is a one-on-one tournament, that is your warrior will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. In "multi-warrior" KotH, all warriors on the hill fight each other at the same time. Score calculation is a bit more complex than for the one-on-one tournament. Briefly, points are awarded based on how many warriors survive until the end of a round. A warrior that survives by itself gets more points than a warrior that survives together with other warriors. Points are calculated from the formula (W*W-1)/S, where W is the total number of warriors and S the number of surviving warriors. The pMARS documentation has more information on multi-warrior scoring. The idea for an email-based Core War server came from David Lee. The original KotH was developed and run by William Shubert at Intel starting in 1991, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: koth@koth.org is maintained by Scott J. Ellentuch (tuc@ttsg.com) and pizza@ecst.csuchico.edu by Thomas H. Davies (sd@ecst.csuchico.edu). Up until May '95, the two sites provided overlapping services, i.e. the some of the hill types were offered by both "pizza" and "stormking". To conserve resources, the different hill types are now divided up among the sites. The way you submit warriors to both KotHs is pretty much the same. Therefore, the entry rules described below apply to both "pizza" and "stormking" unless otherwise noted. Entry Rules for King of the Hill Corewar * Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. * Put a line starting with ";redcode" (or ";redcode-94", etc., see below) at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. Using ";name" is mandatory on the Pizza hills. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently seven separate hills you can select by starting your program with ;redcode-94, ;redcode-b, ;redcode-lp, ;redcode-x, ;redcode, ;redcode-94x or ;redcode-94m. The former four run at "pizza", the latter three at "stormking". More information on these hills is listed below. * Mail this file to koth@koth.org or pizza@ecst.csuchico.edu. "Pizza" requires a subject of "koth" (use the -s flag on most mailers). * Within a few minutes you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. * In an hour or so you should get more mail telling you how your program performed against the current top 20 (or 10) programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode[-??] quiet" when you first mail in your program; then you will only get mail when you make it on the top 25 list or when you are knocked off. Using ";redcode[-??] verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 25 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. Sample Entry ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Duration Max. Hill Name Hill Core Max. Before Entry Min. Rounds Instr. Size Size Processes Distance Fought Set Tie Length Pizza's ICWS '94 Draft Hill Extended (Accessed with 25 8000 8000 80000 100 100 200 ICWS '94 ";redcode-94") Draft Pizza's Beginner's Extended Hill (Accessed 25 8000 8000 80000 100 100 200 ICWS '94 with ";redcode-b") Draft Pizza's Experimental Extended (Small) Hill 25 800 800 8000 20 20 200 ICWS '94 (Accessed with Draft ";redcode-x") Pizza's Limited Process (LP) Hill Extended (Accessed with 25 8000 8 80000 200 200 200 ICWS '94 ";redcode-lp") Draft Stormking's ICWS '88 Standard Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '88 ";redcode") Stormking's ICWS '94 No Pspace Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '94 ";redcode-94nop") Stormking's ICWS '94 Experimental Extended (Big) Hill 20 55440 55440 500000 200 200 250 ICWS '94 (Accessed with Draft ";redcode-94x") Stormking's ICWS '94 Multi-Warrior Extended Hill (Accessed 10 8000 8000 80000 100 100 200 ICWS '94 with Draft ";redcode-94m") Note: Warriors on the beginner's hill are retired at age 100. If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. At "stormking", a message body with ";help" will return brief instructions. If you submit code containing a ";test" line, your warrior will be assembled but not actually pitted against the warriors on the hill. At "pizza", you can use ";redcode[-??] test" to do a test challenge of the Hill without affecting the status of the Hill. These challenges can be used to see how well your warrior does against the current Hill warriors. All hills run portable MARS (pMARS) version 0.8, a platform-independent Core War system available at www.koth.org. The '94 and '94x hills allow five experimental opcodes and three experimental addressing modes currently not covered in the ICWS'94 draft document: * LDP - Load P-Space * STP - Store P-Space * SEQ - Skip if EQual (synonym for CMP) * SNE - Skip if Not Equal * NOP - (No OPeration) * * - indirect using A-field as pointer * { - predecrement indirect using A-field * } - postincrement indirect using A-field [ToC] ------------------------------------------------------------------------ 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? Core is initialized to DAT 0, 0. This is an illegal instruction (in source code) under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you have a DAT 0, 0 instruction in your source code - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. [ToC] ------------------------------------------------------------------------ 16. How does SLT (Skip if Less Than) work? SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: -1 becomes M-1 where M is the memory size (core size). Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. [ToC] ------------------------------------------------------------------------ 17. What is the difference between in-register and in-memory evaluation? These terms refer to the way instruction operands are evaluated. The '88 Redcode standard ICWS'88 is unclear about whether a simulator should "buffer" the result of A-operand evaluation before the B-operand is evaluated. Simulators that do buffer are said to use in-register evaluation, those that don't, in-memory evaluation. ICWS'94 clears this confusion by mandating in-register evaluation. Instructions that execute differently under these two forms of evaluation are MOV, ADD, SUB, MUL, DIV and MOD where the effective address of the A-operand is modified by evaluation of the B-operand. This is best illustrated by an example: L1 mov L2, mov.i #0, impsize Bootstrapping Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners Scanners which only recognize non-zero B-fields. example add #10, scan scan jmz example, 10 c Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner A Scanner which uses a CMP instruction to look for opponents. example add step, scan scan cmp 10, 30 jmp attack jmp example step dat #20, #20 Colour Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear Code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys Bogus or unused instructions meant to slow down scanners. Typically, DATs with non-zero B-fields. Decrement Resistant Property of warriors making them functional (or at least partially functional) when overrun by a DJN-stream. DJN-Stream (also DJN-Train) Using a DJN command to rapidly decrement core locations. example ... ... djn example, <4000 Dwarf The prototypical small bomber. Gate-busting (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp Program which only uses the MOV instruction. example mov 0, 1 or example mov 0, 2 mov 0, 2 Imp-Gate A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... spl 0, mov.i #0,IMPSIZE Mirror see reflection. On-axis/off-axis On-axis scanners compare two locations M/2 apart, where M is the memory size. Off-axis scanners use some other separation. Optimal Constants (also optima-type constants) Bomb or scan increments chosen to cover core most effectively, i.e. leaving gaps of uniform size. Programs to calculate optimal constants and lists of optimal numbers are available at www.koth.org. Paper A Paper-like program is one which replicates itself many times. Part of the Scissors (beats) Paper (beats) Stone (beats Scissors) analogy. P-Warrior A warrior which uses the results of previous round(s) in order to determine which strategy it will use. Pit-Trapper (also Slaver, Vampire). A program which enslaves another. Usually accomplished by bombing with JMPs to a SPL 0 pit with an optional core-clear routine. Q^2 Scan A modern version of the Quick Scan where anything found is attacked almost immediately. Quick Scan 2c scan of a set group of core locations with bombing if anything is found. Both of the following codes snips scan 16 locations and check for a find. If anything is found, it is attacked, otherwise 16 more locations are scanned. Example: start s1 for 8 ;'88 scan cmp start+100*s1, start+100*s1+4000 ;check two locations mov #start+100*s1-found, found ;they differ so set pointer rof jmn attack, found ;if we have something, get it s2 for 8 cmp start+100*(s2+6), start+100*(s2+6)+4000 mov #start+100*(s2+6)-found, found rof found jmz moveme, #0 ;skip attack if qscan found nothing attack cmp @found, start-1 ;does found points to empty space? add #4000, found ;no, so point to correct location mov start-1, @found ;move a bomb moveme jmp 0, 0 In ICWS'94, the quick scan code is more compact because of the SNE opcode: start ;'94 scan s1 for 4 sne start+400*s1, start+400*s1+100 ;check two locations seq start+400*s1+200, start+400*s1+300 ;check two locations mov #start+400*s1-found, found ;they differ so set pointer rof jmn which, found ;if we have something, get it s2 for 4 sne start+400*(s2+4), start+400*(s2+4)+100 seq start+400*(s2+4)+200, start+400*(s2+4)+300 mov #start+400*(s2+4)-found-100, found rof found jmz moveme, #0 ;skip attack if qscan found nothing add #100, -1 ;increment pointer till we get the which jmn -1, @found ;right place mov start-1, @found ;move a bomb moveme jmp 0, 0 Reflection Copy of a program or program part, positioned to make the active program invisible to a CMP-scanner. Replicator Generic for Paper. A program which makes many copies of itself, each copy also making copies. Self-Splitting Strategy of amplifying the number of processes executing a piece of code. example spl 0 loop add #10, example mov example, @example jmp loop Scanner A program which searches through core for an opponent rather than bombing blindly. Scissors A program designed to beat replicators, usually a (B-field scanning) vampire. Part of the Paper-Scissors-Stone analogy. Self-Repair Ability of a program to fix it's own code after attack. Silk A replicator which splits off a process to each new copy before actually copying the code. This allows it to replicate extremely quickly. This technique is only possible under the '94 draft, because it requires post-increment indirect addressing. Example: spl 1 mov -1, 0 spl 1 ;generate 6 consecutive processes silk spl 3620, #0 ;split to new copy mov >-1, }-1 ;copy self to new location mov bomb, >2000 ;linear bombing mov bomb, }2042 ;A-indirect bombing for anti-vamp jmp silk, {silk ;reset source pointer, make new copy bomb dat >2667, >5334 ;anti-imp bomb Slaver see Pit-Trapper. Stealth Property of programs, or program parts, which are invisible to scanners, accomplished by using zero B-fields and reflections. Stone A Stone-like program designed to be a small bomber. Part of the Paper-Scissors-Stone analogy. Stun A type of bomb which makes the opponent multiply useless processes, thus slowing it down. Example is referred to as a SPL-JMP bomb. example spl 0 jmp -1 Two-Pass Core-Clear (also SPL/DAT Core-Clear) core clear that fills core first with SPL instructions, then with DATs. This is very effective in killing paper and certain imp-spiral variations. Vampire see Pit-Trapper. Vector Launch one of several means to start an imp-spiral running. As fast as Binary Launch, but requiring much less code. See also JMP/ADD Launch and Binary Launch. This example is one form of a Vector Launch: sz EQU 2667 spl 1 spl 1 jmp @vt, }0 vt dat #0, imp+0*sz ; start of vector table dat #0, imp+1*sz dat #0, imp+2*sz dat #0, imp+3*sz ; end of vector table imp mov.i #0, sz [ToC] ------------------------------------------------------------------------ 23. Other questions? Just ask in the rec.games.corewar newsgroup or contact me. If you are shy, check out the Core War archives first to see if your question has been answered before. [ToC] ------------------------------------------------------------------------ Credits Additions, corrections, etc. to this document are solicited. Thanks in particular to the following people who have contributed major portions of this document: * Mark Durham (wrote the original version of the FAQ) * Paul Kline * Randy Graham * Stefan Strack (maintained a recent version of the FAQ) ------------------------------------------------------------------------ Copyright � 1999 Anton Marsden. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ------------------------------------------------------------------------ From: Paul-V Khuong Subject: Re: Windows ME Compatability Date: 30 Nov 2001 13:09:53 -0500 Message-ID: <20011129162417.75473.qmail@web11607.mail.yahoo.com> --- Nathan McKenzie wrote: > Are there any pMARS programs that are > compatible on Windows ME? Well, pMARS IS compatible with ME. Just download the latest version as though you were using 98 or 95 and you'll be fine. (IE, pmars for DOS and pmarsv for 286) __________________________________________________ Do You Yahoo!? Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month. http://geocities.yahoo.com/ps/info1 From: Steve Gunnell Subject: Re: -94nop desperately needs stone/paper Date: 30 Nov 2001 13:11:17 -0500 Message-ID: <01112908003401.00881@eldred> On Wed, 28 Nov 2001 00:09, M Joonas Pihlaja wrote: > Only two papers, a heap of scanners, and load of stone/imps. The > time is ripe for stone/anti-imp-paper. Last person to make a > submission takes the imps out for dinner. (And if Gunnell will > supply us with another batch of killer scanners, in your own > time, please. ;-) ) > > Joonas Hi there, Please, please, *my* scanners never quite make the grade. I dont think I've ever had one in the top half of the hill (well I could be wrong). 'Hazy Lazy' is just 'The Machine' given a very light polish. I don't think I have a copy of the the original 'Blur 2' so I can't tell where the features come from. However Anton Marsden did a good job on 'The Machine'. The cmp scanners are probably the most potent form of scanner. With suitable spacing the scan has a good coverage early in the cycle and unlike f-scanners it is not distracted by imp trails and djn streams. I would like to have tested a version with the speed up trick from John Metcalf's 'Zoooom' but I've never been able to modify any of my other scanners to use it. The bomb from the scan loop design (does anyone know who originated it?) seems to be particularly effective and in the case of 'The Machine' the 'spl #1, #1' trail that it writes is transparent to the scan but distracts f-scanners while slowing djn streams and d-clears. My changes are to change the scan step and gap and modify the decoy to still be transparent to the new cmp scan gap. The boot distance is also interesting in that it uses the decoy as a shield from quickscans. Now if I could just get one of the 'Mr Sheen' paper/stones to stick on the hill I would be verry happy 8-). So here it is. The constants are real but if you abuse them i have alternatives 8-). ;redcode-94nop ;name Hazy Lazy ... ;author Steve Gunnell ;strategy Optimized and mildly altered version of 'The Machine' by Anton Marsden. ;strategy Especially hostile to anything with a DJN stram. ;assert 1 step EQU 5620 gate EQU top away EQU (clr+363) ptr: mov.i inc+1,>step top: mov.i bomb,>ptr scan: seq.i 2*step,2*step+8 mov.ab scan,@top a: sub.f inc,scan jmn.b top,@top inc: spl.i #-step,>-step mov.i clr,>gate btm: djn.f -1,>gate clr: dat.f <2667,clr-gate+2 dat 0,0 spl.i #-step,>-step dat 0,0 bomb: spl #1, #1 dat 0,0 dat 0,0 mov.i {-3,<6 dat 0,0 boot: mov.i clr,