From: "Paul Khuong" Subject: RE: Never played, but what about this? Date: 1 Mar 2001 10:40:59 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Wayne > Sheppard > Sent: 27 f�vrier, 2001 18:34 > To: Multiple recipients of list COREWAR-L > Subject: Re: Never played, but what about this? > > > Check out Flash Paper by Matt Hastings (circa 1988?) Planar's > archive should > have it. [snip] It was not long before icws 94(since the guy made another version for icws 94, iirc) _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: jkw@koth.org Subject: Re: Corewar Renewed Date: 1 Mar 2001 10:40:56 -0500 Message-ID: <4.1.20010301012855.00b28e10@pop-server> >Just in case you did not understand correctly what I wrote, I am going to say >it once again: I did not want to change anything concerning the game or the >rules - I leave that to the more experienced warriors. What I intended was to >make the game _look_ newer not to _make_ it newer - I like it just the way it >site would do much good. Well I'm not sure what it would mean to make pMARS look "newer"? >Another thing I want to complain about is that the beginner hill is not on >the koth.org site. Wouldn't it be possible to join the pizza site and the >koth.org site so you wouldn't have to navigate around to reach all hills? Yea I agree that's a bother about multiple sites hosting different hills... But it seems if anything there seem to be more little sites popping up trying to make even more hills. Not sure what could be done about that though heh. -jkw From: jkw@koth.org Subject: vmann and a.k. dewdney Date: 1 Mar 2001 10:41:03 -0500 Message-ID: <4.1.20010228161633.00b0ebc0@pop-server> Ok I've linked vmann's dewdney html from http://www.KOTH.org/info.html ... right next to the link for the JPG scans of the articles. Thanks for the html conversion, vmann. -jkw From: "Robert Macrae" Subject: Re: Corewar Renewed Apology Date: 1 Mar 2001 10:47:15 -0500 Message-ID: <00c401c0a15b$81799a60$2100a8c0@HomePC> > I hope I will deserve it one day. But I wish that you would also respect me > as long as I am a beginner. > > Benedikt Eger No problem. Anyone who generates this much rgc traffic deserves _lots_ of respect 8-) Robert Macrae From: M Joonas Pihlaja Subject: Excessive tweaking / koth.org wish Date: 1 Mar 2001 10:47:10 -0500 Message-ID: Ouch.. Just a few posts ago I argue against RND for introducing 'cheating' by multiple submittals, and then go off to tweak a warrior on -94nop submitting gazillion times similar pieces of code. Hypocrite me! As there is a genuine need for tuning a warrior for optimal hill performance, could koth.org add a 'test' mode similar to pizza? Preferably with the exact same parameters as the hill, except that 'test' wouldn't really submit the warrior. Another feature I'd like is a 'verbose', 'normal' and 'quiet' modes similar to pizza to control the amount of mail you get from warrior submits. What do you all think? Joonas From: Ilmari Karonen Subject: Re: webring? Date: 1 Mar 2001 10:48:29 GMT Message-ID: <983442745.1852@itz.pp.sci.fi> In article <3a9d6d0b.5623770@news.lrz-muenchen.de>, Bjoern wrote: > >Actually I wanted to create such a webring ages ago, but eventually >abdandoned the project because I couldn't find a 'webring-provider' >that worked without Javascript. Well, a webring is a pretty simple thing. As long as it doesn't need to serve enormous amounts of traffic, I think I could write one over the weekend. And no, I can't even think of anything to use Javascript for. It'll be called "The Imp Ring", right? *g,d&r* -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "Some beasts can be led but not driven; it's probably as well to regard the reader as one of them." -- Mary Gentle in rec.arts.sf.composition Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 01 Mar 2001 15:15: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: jkw@koth.org Subject: Re: Excessive tweaking / koth.org wish Date: 1 Mar 2001 17:36:53 -0500 Message-ID: <4.1.20010301142308.00b148e0@pop-server> >As there is a genuine need for tuning a warrior for optimal hill >performance, could koth.org add a 'test' mode similar to pizza? >Preferably with the exact same parameters as the hill, except >that 'test' wouldn't really submit the warrior. > >Another feature I'd like is a 'verbose', 'normal' and 'quiet' >modes similar to pizza to control the amount of mail you get from >warrior submits. > >What do you all think? Those modes work on koth.org unless something is broken. Let me know if it's not working. I'm not sure there needs to be a test command like you say (although I previously thought there was one, heh...). Why not just go ahead and submit tests? -jkw From: "Sven Herrmann" Subject: Re: webring? Date: 1 Mar 2001 17:36:50 -0500 Message-ID: <200103012142.WAA04049@post.webmailer.de> On Thu, 1 Mar 2001 16:30:18 -0500 (EST), Bjoern wrote: >On 1 Mar 2001 10:48:29 GMT, Ilmari Karonen wrote: > >[...] > >>Well, a webring is a pretty simple thing. As long as it doesn't need to >>serve enormous amounts of traffic, I think I could write one over the >>weekend. And no, I can't even think of anything to use Javascript for. > >I must admit that I see a problem in that the ring navigator might be >sort of dynamic code, so in a way I understand why Javascript is often >used. An alternative might be web-forwarding, but I wonder if all >Browsers support that? Hmm.. i don't see any reason of using Javascript the navigator itself dont need any dynamic code... it should just link to some kind of script and give 2 informations to it... 1. which button was pressed (ok.. you can also do different scripts for each button) 2. the ID of the page... that's very easy... i think i program it in 30 min without any problem... Sven From: Lukasz Adamowski Subject: Re: webring? Date: 1 Mar 2001 17:43:00 -0500 Message-ID: On Wed, 28 Feb 2001, Bjoern wrote: > I just realise that I did create a webring ages ago. Perhaps if you > follow the link below, it might work. I found the navigation at Yahoo > somewhat confusing, but we'll see... > > Unfortunately it will only work with Javascript, if somebody else > comes up with a better ring, I'm willing to delete my ring. > > http://edit.webring.yahoo.com/cgi-bin/membercgi?ring=corewarwebring&addsite I've just joined it, I mean my site (The Polish Hill). I'm suprised that none of hills (KOTH & Pizza) are there. There is only yace and my PZPR and (of course) Bjoern page. Lukasz From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: Re: Corewar Renewed Date: Thu, 01 Mar 2001 20:42:35 GMT Message-ID: <3a9eb3a0.422587@news.lrz-muenchen.de> On 1 Mar 2001 10:40:56 -0500, jkw@koth.org wrote: [...] >Yea I agree that's a bother about multiple sites hosting different hills... >But it seems if anything there seem to be more little sites popping up >trying to make even more hills. Not sure what could be done about that >though heh. I only discovered the sourceforge hills yesterday. Why they seem to be nicely done (including a neat Java applet), I had the impression that the hills were frequented by totally different people than the people in this newsgroup. I think that's sort of an catastrophy (not that there are other people playing Corewar, but that there are seperate groups seemingly unaware of each other), something needs to be done urgently. Are the hills at Sourceforge compatible to pmars? Maybe a new standard would really be warranted in that case, to unite the players. Bjoern From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: Re: webring? Date: Thu, 01 Mar 2001 21:14:15 GMT Message-ID: <3a9ebaf9.2304130@news.lrz-muenchen.de> On 1 Mar 2001 10:48:29 GMT, Ilmari Karonen wrote: [...] >Well, a webring is a pretty simple thing. As long as it doesn't need to >serve enormous amounts of traffic, I think I could write one over the >weekend. And no, I can't even think of anything to use Javascript for. I must admit that I see a problem in that the ring navigator might be sort of dynamic code, so in a way I understand why Javascript is often used. An alternative might be web-forwarding, but I wonder if all Browsers support that? >It'll be called "The Imp Ring", right? *g,d&r* Good idea! ;-) [...] Bjoern From: Hillis Subject: Re: Corewar Renewed Date: Thu, 01 Mar 2001 21:49:23 -0500 Message-ID: <3A9F0A33.2AB0ADAD@erols.com> Bjoern wrote: > > On 1 Mar 2001 10:40:56 -0500, jkw@koth.org wrote: > [...] > >Yea I agree that's a bother about multiple sites hosting different hills... > >But it seems if anything there seem to be more little sites popping up > >trying to make even more hills. Not sure what could be done about that > >though heh. > > I only discovered the sourceforge hills yesterday. Why they seem to be > nicely done (including a neat Java applet), I had the impression that > the hills were frequented by totally different people than the people > in this newsgroup. > > I think that's sort of an catastrophy (not that there are other people > playing Corewar, but that there are seperate groups seemingly unaware > of each other), something needs to be done urgently. > > Are the hills at Sourceforge compatible to pmars? > The hills at sourceforge labeled "redcode" are mars compatible (at least at the objectcode level). And the site has links to KOTH and PIZZA. IMHO more (compatible) sites and more hills are a good thing. The hills at sourceforge are relatively easy to get onto - making them good places for new players to compete. I think it's important for new players to be able to actually play the game. Dave Hillis From: Lukasz Adamowski Subject: Re: webring? Date: 1 Mar 2001 21:55:57 -0500 Message-ID: On Thu, 1 Mar 2001, Bjoern wrote: > [...] > > I only announced if yesterday, so I am not too surprised. I also admit > that maybe not everybody might be happy about that huge navigator bar > on their page. Maybe something self-coded could provide for a smaller > navigation bar.. > > Bjoern Right, I had a lot of problems where should I put that bar and I'm still not sure if I had found good place for it. Nothing is perfect! Lukasz From: "Sven Herrmann" Subject: Re: webring? Date: 1 Mar 2001 21:56:00 -0500 Message-ID: <200103020050.BAA21485@post.webmailer.de> On Thu, 1 Mar 2001 19:31:25 -0500 (EST), Bjoern wrote: >On 1 Mar 2001 17:36:50 -0500, "Sven Herrmann" > wrote: >[...] > >>Hmm.. i don't see any reason of using Javascript >>the navigator itself dont need any dynamic code... it should just link to some kind of script and give 2 informations to it... >>1. which button was pressed (ok.. you can also do different scripts for each button) >>2. the ID of the page... >>that's very easy... i think i program it in 30 min without any problem... > >Yes, but how does the script then get the browser to display the new >page? I think the script can tell the browser to display a certain >URL, but as I said, I am not sure if all browsers support it. But >maybe they do, at least the modern ones. I tested this some time ago... and it worked with all 'modern' browsers.... (i think i tested 3.x and higher)... and this should be much mor compatible then any Javascript solution can be! >I agree that this would be simple to program. The primary and major >problem is having a server to run it on. > >This makes me wonder about sourceforge - do they perhaps allow people >to run arbitrary scripts? i can run a script where i've my webspace.... so this is no problem ;-) >Another problem is that you need some features for users to be able to >sign on and off the ring, so I think overall it would take more than >30 minutes ;-) no.. this is no problem... if you know what to do... it's not a big problem.. (ok.. let's say.. with error handling and all the little things it may take 2 hours) >Bjoern> Sven From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: Re: webring? Date: Thu, 01 Mar 2001 23:43:50 GMT Message-ID: <3a9edca2.10922268@news.lrz-muenchen.de> On 1 Mar 2001 17:36:50 -0500, "Sven Herrmann" wrote: [...] >Hmm.. i don't see any reason of using Javascript >the navigator itself dont need any dynamic code... it should just link to some kind of script and give 2 informations to it... >1. which button was pressed (ok.. you can also do different scripts for each button) >2. the ID of the page... >that's very easy... i think i program it in 30 min without any problem... Yes, but how does the script then get the browser to display the new page? I think the script can tell the browser to display a certain URL, but as I said, I am not sure if all browsers support it. But maybe they do, at least the modern ones. I agree that this would be simple to program. The primary and major problem is having a server to run it on. This makes me wonder about sourceforge - do they perhaps allow people to run arbitrary scripts? Another problem is that you need some features for users to be able to sign on and off the ring, so I think overall it would take more than 30 minutes ;-) Bjoern From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: Re: webring? Date: Thu, 01 Mar 2001 23:43:50 GMT Message-ID: <3a9edc47.10831063@news.lrz-muenchen.de> On 1 Mar 2001 17:43:00 -0500, Lukasz Adamowski wrote: [...] >I've just joined it, I mean my site (The Polish Hill). I'm suprised that >none of hills (KOTH & Pizza) are there. There is only yace and my PZPR and >(of course) Bjoern page. I only announced if yesterday, so I am not too surprised. I also admit that maybe not everybody might be happy about that huge navigator bar on their page. Maybe something self-coded could provide for a smaller navigation bar.. Bjoern From: "Paul Kline" Subject: Re: Excessive tweaking / koth.org wish Date: Fri, 2 Mar 2001 08:57:42 -0600 Message-ID: <97obn1$6fp@ng1.icn.state.ia.us> constant tweaking Paul Kline pk6811s@acad.drake.edu > Those modes work on koth.org unless something is broken. Let > me know if it's not working. I'm not sure there needs to be > a test command like you say (although I previously thought > there was one, heh...). Why not just go ahead and submit tests? > > -jkw From: aiforge@flatmem.de ("Dennis Luehring") Subject: Re: webring? Date: 2 Mar 2001 09:01:52 +0100 Message-ID: <007301c0a2ef$07d5a7e0$b000a8c0@WATT> ���h...i think it might be a good idea to create a portal for all programming games (like corewar, crobots.. with more features than an simple webring...) ... look at http://tpga.virtualave.net or www.aiforge.net (thats my page...only 750 programming game related links)... "Bjoern" schrieb im Newsbeitrag news:3a9d6d0b.5623770@news.lrz-muenchen.de... > I think it might be a good idea to create a Corewar webring. The point > would be primarily to have an always up-to-date list of Corewar > related webpages, as ideally all members would keep their links up to > date on their own. Also ideally everybody who has a Corewar related > webpage would join the webring. > > Actually I wanted to create such a webring ages ago, but eventually > abdandoned the project because I couldn't find a 'webring-provider' > that worked without Javascript. > > Perhaps some other reader here knows a better webring? > > > Bjoern -- Posted from natmail2.webmailer.de [192.67.198.65] via Mailgate.ORG Server - http://www.Mailgate.ORG From: "martinus" Subject: Re: webring? Date: 2 Mar 2001 19:22:46 -0500 Message-ID: <003801c0a304$7c0b35c0$6f02110a@martinus> I think the webring is a great idea! http://directory.google.com/Top/Computers/Internet/WWW/Webring_Systems/ should be a good staring point for finding good webrings. There is also a opensource webring as a perl-script available, this one looks pretty good: http://www.ringlink.org/ BTW: I have no plans for a new version of yace right now, but I have learned a lot about programming lately. I think I will rewrite yace completely in 1/2 a year or so... Martin From: M Joonas Pihlaja Subject: Re: Excessive tweaking / koth.org wish Date: 2 Mar 2001 19:22:50 -0500 Message-ID: On Thu, 1 Mar 2001 jkw@koth.org wrote: > Those modes work on koth.org unless something is broken. Let > me know if it's not working. I'm not sure there needs to be > a test command like you say (although I previously thought > there was one, heh...). I should have read the koth.org instructions more carefully! Did you add verbose/quiet recently? -- I could have sworn that koth didn't have them last I looked (a long time ago). :-) > Why not just go ahead and submit tests? I have less quibbles about not having a test mode now I know that a quiet mode is implemented. How *is* it exactly implemented? (The web page just said 'much less email'.) Will I still be spamming while hill tweaking if the warrior makes it onto a hill even if people have set quiet mode? Or does it completely suppress reports from koth.org? TIA, Joonas From: jkw@koth.org Subject: Re: Excessive tweaking / koth.org wish Date: 2 Mar 2001 21:17:10 -0500 Message-ID: <4.1.20010302190132.00b35d00@pop-server> >I should have read the koth.org instructions more carefully! >Did you add verbose/quiet recently? -- I could have sworn that >koth didn't have them last I looked (a long time ago). :-) I believe it was there for at least 5 years, although maybe not documented until a year ago, heh. >> Why not just go ahead and submit tests? > >I have less quibbles about not having a test mode now I know that >a quiet mode is implemented. How *is* it exactly implemented? >(The web page just said 'much less email'.) Will I still be >spamming while hill tweaking if the warrior makes it onto a hill >even if people have set quiet mode? Or does it completely >suppress reports from koth.org? Well I'd have to look at the code more closely, but I believe quiet mode only informs you when your warrior is booted off the hill. And I think verbose even sends you email when a warrior is sent that didn't actually make it onto the hill. -jkw From: Ilmari Karonen Subject: Re: webring? Date: 3 Mar 2001 16:29:02 GMT Message-ID: <983636250.7696@itz.pp.sci.fi> In article <3a9ebaf9.2304130@news.lrz-muenchen.de>, Bjoern wrote: >On 1 Mar 2001 10:48:29 GMT, Ilmari Karonen wrote: > >>It'll be called "The Imp Ring", right? *g,d&r* > >Good idea! ;-) The code is now ready and working at: http://www.sci.fi/~iltzu/cgi-bin/impring I still need to finish the linkbar to be placed on the pages that are part of the ring. It'll have four links: prev, list, rand, next So, if you want your page in, send me the URL. I think pizza, koth.org and planar's page should be there at least, as well as k�nigstuhl and corewar.sourceforge.net. And the FAQ. What else? -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "/* If you don't understand, don't touch */" -- Abigail in the monastery From: "myndzi" Subject: newbies ;) Message-ID: Date: Mon, 05 Mar 2001 02:30:48 GMT newbies proclaim thyselves! i've been interested in this game for years, but there is a seeming lack of interactivity. i've read up on corewars from the links on koth.org (as if that is gonna help me write good warriors ;) and even submitted a test or two, but it just seems so.... dry. that and i still don't know where to start in order to even compete =/ i was thinking about putting together a mars script or something for mirc (windows irc client) but there would be noone to play with :) the advantage there is irc is a social environment where you can hang out and chat with the people you are playing with..... i've found that writing code is no fun alone. anyway, there's my two cents and a poorly disguised plea for help =D what concepts would you guys suggest learning (as far as warrior design goes) in order to get in here and start doing something interesting? -myndzi From: Koth Subject: KOTH.ORG: Status - Standard 03/05/01 Date: 5 Mar 2001 11:52:24 -0500 Message-ID: <200103050500.AAA23781@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Fri Dec 22 12:46:27 EST 2000 # %W/ %L/ %T Name Author Score Age 1 34/ 20/ 46 Freight Train David Moore 148 73 2 33/ 21/ 45 sIMPly.Red v0.95 Leonardo Humberto 145 30 3 32/ 20/ 47 Test Alexander (Sasha) Wa 144 12 4 32/ 21/ 47 Guardian Ian Oversby 142 72 5 37/ 35/ 28 PacMan David Moore 138 102 6 37/ 39/ 24 Stasis David Moore 135 180 7 25/ 16/ 59 EV Paper John K Wilkinson 135 86 8 40/ 44/ 16 Foggy Swamp Beppe Bezzi 135 69 9 28/ 22/ 50 Shish-Ka-Bob Ben Ford 133 28 10 39/ 45/ 16 Blur '88 Anton Marsden 133 110 11 26/ 19/ 55 Test I Ian Oversby 132 129 12 31/ 31/ 37 Frog Sticker P.Kline 132 22 13 26/ 21/ 53 Evoltmp 88 John K W 130 123 14 35/ 42/ 23 Beholder's Eye V1.7 W. Mintardjo 129 348 15 37/ 46/ 16 Iron Gate Wayne Sheppard 129 398 16 33/ 38/ 29 Stillborn Bomber v0.2 mjp 128 13 17 33/ 39/ 28 Tangle Trap David Moore 128 146 18 25/ 23/ 53 sic Leonardo H. Liporati 127 2 19 15/ 3/ 82 ]enigma[ Michal Janeczek 127 1 20 36/ 50/ 14 Blurstone '88 M. J. Pihlaja 123 67 21 19/ 59/ 22 Crazy Lukasz Anforowicz 80 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 03/05/01 Date: 5 Mar 2001 11:52:16 -0500 Message-ID: <200103050500.AAA23791@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sun Mar 4 03:26:31 EST 2001 # %W/ %L/ %T Name Author Score Age 1 45/ 32/ 23 Aster v0 Dave Hillis 157 1 2 34/ 18/ 47 KAT v5 Dave Hillis 150 5 3 41/ 34/ 25 Black Moods Ian Oversby 149 69 4 40/ 31/ 30 Controlled Aggression Ian Oversby 148 73 5 30/ 17/ 53 Katafutr Michal Janeczek 143 13 6 34/ 25/ 41 Big I.F.F.S. Dave Hillis 143 2 7 38/ 34/ 27 Ogre Christian Schmidt 143 21 8 33/ 26/ 42 Damage Inflicted Robert Macrae 139 12 9 40/ 41/ 20 Greetings From Asbury Par JKW 138 33 10 23/ 8/ 69 Evol Cap 4 X John Wilkinson 138 142 11 28/ 22/ 50 Venom v0.2b Christian Schmidt 134 95 12 22/ 12/ 66 Denial David Moore 133 14 13 18/ 4/ 78 Black Box v1.1 JKW 132 36 14 18/ 7/ 75 Evolve X v4.0 John Wilkinson 128 90 15 30/ 37/ 33 Dr. Gate X Franz 122 113 16 23/ 23/ 54 Purple v0.1 Christian Schmidt 122 94 17 23/ 27/ 50 Rosebud Beppe 119 121 18 25/ 37/ 38 test CS 114 30 19 27/ 43/ 30 Pattel's Virus X Ben Ford 111 17 20 27/ 48/ 25 Pagan John K W 107 127 21 6/ 67/ 27 Twill Andy Pierce 44 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 03/05/01 Date: 5 Mar 2001 11:52:20 -0500 Message-ID: <200103050500.AAA23785@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sat Mar 3 17:43:31 EST 2001 # Name Author Score Age 1 fclear Brian Haskin 28 35 2 Pitbull Christian Schmidt 26 7 3 Dracula's Cape Ben Ford 25 29 4 D-clearM Ken Espiritu 24 51 5 Scan Test Tester 24 10 6 QuiVa John Metcalf 20 144 7 Her Majesty P.Kline 19 70 8 Friction Ken Espiritu 17 23 9 Foo John Metcalf 15 5 10 Disaster Area 2.4 Stefan Foerster 7 1 11 Disaster Area 2.2 [p] Stefan Foerster 3 2 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 03/05/01 Date: 5 Mar 2001 11:52:12 -0500 Message-ID: <200103050500.AAA23796@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sat Mar 3 17:27:15 EST 2001 # %W/ %L/ %T Name Author Score Age 1 42/ 39/ 19 Behemot Michal Janeczek 145 200 2 32/ 20/ 48 3/sov4106 io/mjp 144 1 3 34/ 25/ 41 Quicksilver Michal Janeczek 142 139 4 32/ 23/ 45 Olivia Ben Ford 140 105 5 29/ 19/ 52 nPaper II Paul-V Khuong 140 377 6 31/ 25/ 44 Uninvited John Metcalf 137 59 7 40/ 44/ 16 Stalker P.Kline 137 362 8 30/ 23/ 48 Jade Ben Ford 137 446 9 40/ 43/ 17 Eraser II Ken Espiritu 136 334 10 43/ 50/ 8 He Scans Alone P.Kline 136 61 11 40/ 45/ 15 G2-b David Moore 135 163 12 32/ 31/ 37 Blacken Ian Oversby 133 624 13 34/ 35/ 32 Keyser Soze Anton Marsden 132 78 14 26/ 21/ 52 The Dark One Christian Schmidt 132 170 15 38/ 45/ 17 Jinx Christian Schmidt 132 340 16 34/ 39/ 27 Recount P.Kline 130 62 17 20/ 11/ 69 The Phantom Menace Anton Marsden 129 77 18 24/ 20/ 56 KafuFFLe John Metcalf 128 60 19 33/ 44/ 23 myBlur Paulsson 123 42 20 18/ 23/ 58 jam test 3 John Metcalf 113 43 21 21/ 43/ 36 Disaster Area 2.4 Stefan Foerster 98 0 From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: newbies ;) Message-ID: Date: Mon, 05 Mar 2001 12:27:09 GMT On Mon, 05 Mar 2001 02:30:48 GMT, myndzi wrote: >newbies proclaim thyselves! i've been interested in this game for years, but >there is a seeming lack of interactivity. i've read up on corewars from the >links on koth.org (as if that is gonna help me write good warriors ;) and >even submitted a test or two, but it just seems so.... dry. that and i still >don't know where to start in order to even compete =/ > Shoot, I thought the links did an allright job. Of course, I'm still trying to break off the beginner hill. Place to start? the beginner hill sounds about right... And I hear the sourceforge hills are nice this time of year. :-) >i was thinking about putting together a mars script or something for mirc >(windows irc client) but there would be noone to play with :) the advantage >there is irc is a social environment where you can hang out and chat with >the people you are playing with..... i've found that writing code is no fun >alone. > We've tried chats before. I don't think we get much activity. This place is liable to be our most active discussion forum. >anyway, there's my two cents and a poorly disguised plea for help =D what >concepts would you guys suggest learning (as far as warrior design goes) in >order to get in here and start doing something interesting? > My first good one was a one-shot scanner. The few I can find on my drive: Z-Shot BiShot WingShot Phantasm 50 Also, learn how to use a QScan. You don't have to know how to make one, just how to pick someone else's and include it. The one I've found that does the best in my testing (consistently) is John Metcalf's Q^3, from Puddleglum. As a general rule, we love helping newbies with their warriors. Makes life interesting. Fire away. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: "myndzi" Subject: Re: newbies ;) Message-ID: Date: Tue, 06 Mar 2001 08:31:12 GMT > As a general rule, we love helping newbies with their warriors. Makes life > interesting. Fire away. ok; here's what i've got so far: org own own: spl 0,<-1 end i was hoping to turn it into a sort-of 0wn-all warrior. any suggestions for improvement? =D ok but seriously.. this is as social as it gets? =/ lol -myndzi From: "Paul Khuong" Subject: RE: newbies ;) Date: 6 Mar 2001 09:57:07 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of myndzi > Sent: 6 mars, 2001 04:31 > To: Multiple recipients of list COREWAR-L > Subject: Re: newbies ;) > > > > > As a general rule, we love helping newbies with their warriors. > Makes life > > interesting. Fire away. > > ok; here's what i've got so far: > > org own > own: spl 0,<-1 > end > > i was hoping to turn it into a sort-of 0wn-all warrior. any > suggestions for > improvement? =D > > ok but seriously.. this is as social as it gets? =/ lol Lol...well, for the moment, it's pretty dull, since there ahsn't been any new release of code, anything ground breaking or even not any tournament for likle 4 months 8) But, sometimes, for some reason, there will be a big rush of innovations; that's when it gets cool 8) _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: newbies ;) Message-ID: Date: Tue, 06 Mar 2001 12:29:41 GMT On Tue, 06 Mar 2001 08:31:12 GMT, myndzi wrote: > >org own >own: spl 0,<-1 >end > >i was hoping to turn it into a sort-of 0wn-all warrior. any suggestions for >improvement? =D > Yes. It's best to make the b-field point to something farther back than -1, or else the single-process imps that you kill (If you can find any; good luck :-) ) will fall onto own and start splitting themselves. Also, every instruction will, besides splitting to own, fall off the end. A jmp 0, <-10 would do a much better job. Alternatively, you could add a good carbonite-style stone on the end. (Grok carbonite, it's cool.) >ok but seriously.. this is as social as it gets? =/ lol My surmise has been that if I want social corewar, I'll have to persuade a buddy of mine to take it up. Somebody local, you know? But it appears nobody in the county is remotely interested, even the few computergeek friends I have. :-( -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: Lukasz Adamowski Subject: Re: newbies ;) Date: 6 Mar 2001 17:10:17 -0500 Message-ID: On Tue, 6 Mar 2001, myndzi wrote: > > > As a general rule, we love helping newbies with their warriors. Makes life > > interesting. Fire away. > > ok; here's what i've got so far: > > org own > own: spl 0,<-1 > end > > i was hoping to turn it into a sort-of 0wn-all warrior. any suggestions for > improvement? =D > > -myndzi According to the code above I've got an idea based on some game I know in childhood. I don't know if something like this was tried, but this is what I thought up: It's the game with (theoritically) unlimited number of players. One of them is writing only one instruction in RedCode, the next player can see it and adds another instruction, another one sees only the last instruction and adds another one, etc. Let's see what we can think up together. (Maybe it's not gonna work at all ;) Players can be divided into two groups (opposing teams) or work together. Another option is that every player sends one or few instructions without knowing the rest. The we put it in some kind of random generator (or maybe yace) and see what's out. Well... What do you think about it? Lukasz PS Join Ilmari Karonen's "The Imp Ring"! (http://www.sci.fi/~iltzu/cgi-bin/impring) From: "Paul Khuong" Subject: RE: newbies ;) Date: 6 Mar 2001 20:04:48 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Lukasz > Adamowski > Sent: 6 mars, 2001 17:10 > To: Multiple recipients of list COREWAR-L > Subject: Re: newbies ;) [snip] > According to the code above I've got an idea based on some game I know in > childhood. I don't know if something like this was tried, but this is what > I thought up: > It's the game with (theoritically) unlimited number of players. One of > them is writing only one instruction in RedCode, the next player can > see it and adds another instruction, another one sees only the last > instruction and adds another one, etc. Let's see what we can think up > together. (Maybe it's not gonna work at all ;) Players can be divided into > two groups (opposing teams) or work together. Another option > is that every player sends one or few instructions without knowing the > rest. The we put it in some kind of random generator (or maybe yace) and > see what's out. Well... What do you think about it? Oh, right! these things tend to be rather funny to read, eh? 8) Anyway, i'd be in favor of two teams, sicne it'd be more...fun 8) It should probably be something like: Team A Team B Judge The first players end their lines to the judge, which in turn sends the relevant information to the right person... We'll see what we can get in the end 8) Oh, and, comments aren't allowed 8) _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "myndzi" Subject: Re: newbies ;) Message-ID: Date: Wed, 07 Mar 2001 00:33:44 GMT > My surmise has been that if I want social corewar, I'll have to persuade a > buddy of mine to take it up. Somebody local, you know? But it appears nobody > in the county is remotely interested, even the few computergeek friends I have. > :-( yeah i know what you mean >:) ehh.. >:) looks really cool in Arial ;) -myndzi p.s. ha! i got you guys talking in spite of yourselves =P From: "myndzi" Subject: Re: newbies ;) Message-ID: Date: Wed, 07 Mar 2001 00:36:59 GMT would that even work? =D opposing teams.. hmm.. they'd end up putting stuff like mov 1000 1 (ok well that's the most sophisticated one line attack my newbie mind can come up with atm, but .. ) and kill the process ;) how would you tell who wins? oh yeah, and if you haven't noticed you are all in for some fun .. i am permanently stuck in verbose mode and every post is taken as if intended specifically for me =P right? of course, if you guys like it quiet and cool, just lemme know and i'll go back to scripting mIRC =) -myndzi (Behold the Mind's Eye) From: "myndzi" Subject: faq Message-ID: Date: Wed, 07 Mar 2001 00:46:21 GMT i was looking through the faq and i noticed an absence of some of the terms i've been seeing around, i can't seem to find out what a 'd-clear' is or the difference between a 'q^2' and a 'q^3' scanner (although from some of the code i've seen i can just about figure it out anyway..) this stuff hurts my head =/ ...but i like it! now if only i could become elite and make warriors that stay on the koth hill for a couple hundred rounds.. hmm... -myndzi From: "Paul Khuong" Subject: RE: faq Date: 7 Mar 2001 10:49:30 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of myndzi > Sent: 6 mars, 2001 20:35 > To: Multiple recipients of list COREWAR-L > Subject: faq > > > i was looking through the faq and i noticed an absence of some of > the terms > i've been seeing around, i can't seem to find out what a > 'd-clear' is or the > difference between a 'q^2' and a 'q^3' scanner (although from some of the > code i've seen i can just about figure it out anyway..) > > this stuff hurts my head =/ ...but i like it! now if only i could become > elite and make warriors that stay on the koth hill for a couple hundred > rounds.. hmm... LOL!.. really, i think it takea math genii to understand (and CREATE) such things as Q^2s and p-spacers. Anyway, Q^3 is named like that simply because its decode time is smaller(it reacts more quicly between the time it detects something and the time he starts bombing the area) _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "Leonardo H. Liporati" Subject: Re: faq Date: 7 Mar 2001 10:49:26 -0500 Message-ID: <3aa64f2e.3b84.0@brfree.com.br> "myndzi" wrote: >i was looking through the faq and i noticed an absence of some of the terms >i've been seeing around, i can't seem to find out what a 'd-clear' is or the >difference between a 'q^2' and a 'q^3' scanner (although from some of the >code i've seen i can just about figure it out anyway..) > [...snip...] David Moore�s prediction becomed true. ;-) The first beginner asks about the difference between q^2, q^3, q^4 ... q^n scanners. He, he, he. And as I am one of the people guilty in this case, let me try to explain. ;-) A quickscanner is composed of three pieces: (a) the scan phase; (b) the decision phase; (c) the attack phase. In (a) one CMP (SEQ) instruction or a pair of SNE/SEQ instructions are used to scan core locations. The idea is to attack ASAP the location where something is found. But as we have scanned many locations, in (b) we must decide which location (and its neighborhood) to attack (c). Two of the elements that make a quickscanner better than other are: 1-) The speed of pieces (a) and (b); 2-) The size of pieces (a) and (b). Original quickscanners (q^1???) used the sequence CMP/MOV to scan 2 locations and set a flag if something was found. After a few pairs of CMP/MOV, one JMN instruction were used to check if something was found by the previous CMPs. If YES the jump proceeded to the decode piece, which decided between two locations. This way besides (b) being compact and fast, (a) was long and very slow. Using proper choosen constants in the CMP instructions, field increments/decrements and ADD instructions in (b) is possible to jump directly after a CMP without the need to set a flag with MOV. This produced a quickscanner (q^2) that is much faster than the original. I, while still a beginner, observed that using MUL instead of ADD the decision phase of q^2 could be made still faster, with the help of John Metcalf we produced a quickscanner which we called q^3. David Moore devised that using MUL instruction plus specially choosen constants is possible to made a quickscanner with SNE/SEQ in scan phase that is more compact and still faster than q^3. David called his invention only a quickscanner and pointed out that giving the name q^n, incrementing n for each new (small) improvement is not a good idea and may cause confusion among beginners (which I agree). But, besides this, players often call David�s quickscanner as the q^4. If you are interested in quickscanners I suggest you first read and trace q^1 scanners. After progress to others in order. I started this way. As a beginner you may still trying to memorize the opcodes, familiarize with the circular core and the effects of field modifiers. Q^1 is simpler to understand because few field modifiers are used and no obscure modulo arithmetic is used. Bye, Leonardo. ------------------------------- http://www.brfree.com.br - O primeiro provedor gratuito do Brasil Estamos concorrendo ao iBest entre os TOP10 na categoria provedores de acesso VOTE AQUI: http://www.ibest.com.br/topten/topten.asp?IDSite835&IDCategoria'&NomeSite�free&Selo� From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: faq Message-ID: Date: Wed, 07 Mar 2001 12:25:38 GMT On Wed, 07 Mar 2001 00:46:21 GMT, myndzi wrote: >i was looking through the faq and i noticed an absence of some of the terms >i've been seeing around, i can't seem to find out what a 'd-clear' is or the >difference between a 'q^2' and a 'q^3' scanner (although from some of the >code i've seen i can just about figure it out anyway..) > A d-clear? Here ya' go: spl #0, <-10 mov 2, >-10 djn -1, >-11 dat <2667, 15 Shipped by weight, not volume. Optimization may have scrambled during mental shipping and handling. Best viewed in graphical coreview mode. >this stuff hurts my head =/ ...but i like it! now if only i could become >elite and make warriors that stay on the koth hill for a couple hundred >rounds.. hmm... > I sympathize. Also, I can't think of a nicer aspiration, offhand. :-) -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: Lukasz Adamowski Subject: Let's dance! Date: 7 Mar 2001 18:38:20 -0500 Message-ID: On Tue, 6 Mar 2001, Paul Khuong wrote: > > -----Original Message----- > > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Lukasz > > Adamowski > > Sent: 6 mars, 2001 17:10 > > To: Multiple recipients of list COREWAR-L > > Subject: Re: newbies ;) > [snip] > > According to the code above I've got an idea based on some game I knew in > > childhood. I don't know if something like this was tried, but this is what > > I thought up: > > It's the game with (theoritically) unlimited number of players. One of > > them is writing only one instruction in RedCode, the next player can > > see it and adds another instruction, another one sees only the last > > instruction and adds another one, etc. Let's see what we can think up > > together. (Maybe it's not gonna work at all ;) Players can be divided into > > two groups (opposing teams) or work together. Another option > > is that every player sends one or few instructions without knowing the > > rest. The we put it in some kind of random generator (or maybe yace) and > > see what's out. Well... What do you think about it? > > Oh, right! these things tend to be rather funny to read, eh? 8) > > Anyway, i'd be in favor of two teams, sicne it'd be more...fun 8) > > It should probably be something like: > Team A > Team B > Judge > > The first players end their lines to the judge, which in turn sends the > relevant information to the right person... I suggest player even don't know who they are playing with, because of possible cheating. Only judge will know it. I think dividing players into teams should be done randomly. > We'll see what we can get in the end 8) > > Oh, and, comments aren't allowed 8) It sounds like a lot of fun. Who wants to play? B) Lukasz PS And who wants to be the judge? B) PS Sorry if you get this message twice. I don't know why my previous mail couldn't be delivered. From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: faq Message-ID: Date: Wed, 07 Mar 2001 23:01:33 GMT On 7 Mar 2001 10:49:26 -0500, Leonardo H. Liporati wrote: >Moore devised that using MUL instruction plus specially choosen constants is >possible to made a quickscanner with SNE/SEQ in scan phase that is more compact >and still faster than q^3. David called his invention only a quickscanner and I don't think I've seen this anywhere. Is that the warrior name? It's not in planar's archive... Where can I see a copy? -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: "myndzi" Subject: Re: faq Message-ID: <82Ep6.525778$U46.15773731@news1.sttls1.wa.home.com> Date: Thu, 08 Mar 2001 04:39:32 GMT ahh ok spl carpet backwards every cell, and dat bombs forward every two :) oh yeah, and i've now seen reference to q^4s =/ too many qs! i'm thinking just a better math algorithm? -myndzi Ransom Smith wrote in message news:slrn9aca5v.dc.ransom@localhost.localdomain... > On Wed, 07 Mar 2001 00:46:21 GMT, myndzi wrote: > >i was looking through the faq and i noticed an absence of some of the terms > >i've been seeing around, i can't seem to find out what a 'd-clear' is or the > >difference between a 'q^2' and a 'q^3' scanner (although from some of the > >code i've seen i can just about figure it out anyway..) > > > > A d-clear? Here ya' go: > > spl #0, <-10 > mov 2, >-10 > djn -1, >-11 > dat <2667, 15 > > Shipped by weight, not volume. Optimization may have scrambled during mental > shipping and handling. Best viewed in graphical coreview mode. > > >this stuff hurts my head =/ ...but i like it! now if only i could become > >elite and make warriors that stay on the koth hill for a couple hundred > >rounds.. hmm... > > > > I sympathize. > Also, I can't think of a nicer aspiration, offhand. :-) > > -- > [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] > [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] > I reserve the right to be normal, at any time and without notice. From: "myndzi" Subject: Re: faq Message-ID: Date: Thu, 08 Mar 2001 04:45:37 GMT well the main thing is i didn't want to try and wade through all the numbers :) i was curious because q^2 looked very similar to q^3. ... i understand how the q^2 etc work, where the pre/post inc/decrements modify which math operations will be executed, at the same time as jumping to one of a number of places.. there are a lot of different combinations to be had that way :) thank you for your explanation, i appreciate it ;) any other terms you can think of that aren't in the faq yet? hehe -myndzi From: "Benjamin Ford" Subject: Re: faq Date: 8 Mar 2001 08:17:25 -0500 Message-ID: Actually it forward dat-bomb about every-other cell, alternative with decrements. While the spl, mov, and djn all combine to form a perfect imp-gate. q^4s are improved math over q^3s. By very carefully picking the scan distances an taking advantage of mod 8000 with multiplies, they can decode .5 cycles faster and use the more compact SNE/SEQ instead of the pure SEQ scan. ----- Original Message ----- From: "myndzi" To: "Multiple recipients of list COREWAR-L" Sent: Thursday, March 08, 2001 12:33 AM Subject: Re: faq > ahh ok > spl carpet backwards every cell, and dat bombs forward every two :) > > oh yeah, and i've now seen reference to q^4s =/ too many qs! > i'm thinking just a better math algorithm? > > -myndzi > > Ransom Smith wrote in message > news:slrn9aca5v.dc.ransom@localhost.localdomain... > > On Wed, 07 Mar 2001 00:46:21 GMT, myndzi wrote: > > >i was looking through the faq and i noticed an absence of some of the > terms > > >i've been seeing around, i can't seem to find out what a 'd-clear' is or > the > > >difference between a 'q^2' and a 'q^3' scanner (although from some of the > > >code i've seen i can just about figure it out anyway..) > > > > > > > A d-clear? Here ya' go: > > > > spl #0, <-10 > > mov 2, >-10 > > djn -1, >-11 > > dat <2667, 15 > > > > Shipped by weight, not volume. Optimization may have scrambled during > mental > > shipping and handling. Best viewed in graphical coreview mode. > > > > >this stuff hurts my head =/ ...but i like it! now if only i could become > > >elite and make warriors that stay on the koth hill for a couple hundred > > >rounds.. hmm... > > > > > > > I sympathize. > > Also, I can't think of a nicer aspiration, offhand. :-) > > > > -- > > [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] > > [http://www.koth.org/] [http://www.nethack.org/] > [http://www.slashdot.org/] > > I reserve the right to be normal, at any time and without notice. > > > From: Lukasz Adamowski Subject: Re: faq Date: 8 Mar 2001 08:23:31 -0500 Message-ID: On Thu, 8 Mar 2001, myndzi wrote: > ahh ok > spl carpet backwards every cell, and dat bombs forward every two :) > > -myndzi Well... Not exactly. SPL doesn't carpet anything, it's working as gate to stop imp's (am I right, guys?). Actually increment in MOV/DJN does it also. I suggest you to modify this code in some ways to see what will happen. For example try to change the first line to spl #0, >-9 or the second one to mov -1, >-10 ; it will fail, you'll see why, ; but it's very instructive too Lukasz > > Ransom Smith wrote in message > news:slrn9aca5v.dc.ransom@localhost.localdomain... > > > > A d-clear? Here ya' go: > > > > spl #0, <-10 > > mov 2, >-10 > > djn -1, >-11 > > dat <2667, 15 > > > From: "Leonardo H. Liporati" Subject: Re: faq Date: 8 Mar 2001 09:12:04 -0500 Message-ID: <3aa78e87.771e.0@brfree.com.br> >any other terms you can think of that aren't in the faq yet? P^2, P^3 switchers? References: Corewarrior 58 and 70. Bye, Leonardo. ------------------------------- http://www.brfree.com.br - O primeiro provedor gratuito do Brasil Estamos concorrendo ao iBest entre os TOP10 na categoria provedores de acesso VOTE AQUI: http://www.ibest.com.br/topten/topten.asp?IDSite=11835&IDCategoria=27&NomeSite=BRfree&Selo=1 From: "Leonardo H. Liporati" Subject: Re: faq Date: 8 Mar 2001 09:12:08 -0500 Message-ID: <3aa788d7.635c.0@brfree.com.br> >>Moore devised that using MUL instruction plus specially choosen constants is >>possible to made a quickscanner with SNE/SEQ in scan phase that is more compact >>and still faster than q^3. David called his invention only a quickscanner and > >I don't think I've seen this anywhere. Is that the warrior name? It's not in >planar's archive... Where can I see a copy? > Return of the Fugitive is the warrior that launched this qscan. It can be found at Koenigstuhl Open Hill, the link is: http://andromeda.ociw.edu/COREWAR/OPEN/HILL/rotf.red Bye, Leonardo. ------------------------------- http://www.brfree.com.br - O primeiro provedor gratuito do Brasil Estamos concorrendo ao iBest entre os TOP10 na categoria provedores de acesso VOTE AQUI: http://www.ibest.com.br/topten/topten.asp?IDSite=11835&IDCategoria=27&NomeSite=BRfree&Selo=1 From: "Paul Kline" Subject: Re: faq Date: Thu, 8 Mar 2001 10:27:20 -0600 Message-ID: <988b6h$q1k@ng1.icn.state.ia.us> Ransom Smith wrote ... > A d-clear? Here ya' go: > > spl #0, <-10 > mov 2, >-10 > djn -1, >-11 > dat <2667, 15 ... I've found that: spl #0,<-(2667+9) or spl #0,<2667-9 work a little better against the majority of imps. Paul Kline pk6811s@acad.drake.edu From: "Wayne Sheppard" Subject: Re: faq Message-ID: <6TOp6.18$V9.35767@news.nyc.globix.net> Date: Thu, 8 Mar 2001 11:58:34 -0500 One of the advantages of using the D-clear as originally presented is that it makes a better SPL/JMP bomb. The spl cancels out the djn train: spl #0, <-10 djn -1, >-11 Paul's version could cause the enemy to DJN train your own program. spl #0,<2667-9 djn -1, >-11 As always, customize your components to match the needs of your warrior. Paul Kline wrote in message news:988b6h$q1k@ng1.icn.state.ia.us... > > Ransom Smith wrote > > ... > > A d-clear? Here ya' go: > > > > spl #0, <-10 > > mov 2, >-10 > > djn -1, >-11 > > dat <2667, 15 > ... > > I've found that: > spl #0,<-(2667+9) > or > spl #0,<2667-9 > work a little better against the majority of imps. > > Paul Kline > pk6811s@acad.drake.edu > > From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: faq Message-ID: Date: Thu, 08 Mar 2001 12:26:44 GMT On Thu, 08 Mar 2001 04:39:32 GMT, myndzi wrote: [editor's note: this message has been snipped in one side, and out the other, and rearranged to a new level of aesthetics. myndzi, please quote at the top! you might not get much flak around here, but it really counts other places.] > >> >> A d-clear? Here ya' go: >> >> spl #0, <-10 >> mov 2, >-10 >> djn -1, >-11 >> dat <2667, 15 >> >ahh ok >spl carpet backwards every cell, and dat bombs forward every two :) > What? I hope not. Did I write that wrong? Hmmm... Looks in order. That should be a forward clear of alternating dat-bombs and djn-marks, that wraps around safely past itself. Is a more detailed analysis in order? -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: "Benjamin Ford" Subject: Re: faq Date: 9 Mar 2001 12:28:55 -0500 Message-ID: From: "myndzi" > >> spl #0, <-10 > >> mov 2, >-10 > >> djn -1, >-11 > >> dat <2667, 15 > > > >ahh ok > > >spl carpet backwards every cell, and dat bombs forward every two :) > > > > > > > What? I hope not. Did I write that wrong? > > Hmmm... Looks in order. > > That should be a forward clear of alternating dat-bombs and djn-marks, >that > > wraps around safely past itself. Is a more detailed analysis in order? > > > >just me being n00bish. i got my terms mixed up ;) >as well i noticed that the djn and the mov referred to the same place, > >but i fail to see how the djn does anything to the core =/ >what i'm seeing is jump backwards one if the b-field of -11 is not 0.. it >never will be (assuming it started even) because of the >-10 in the mov >before it. the two lines keep incrementing the one spot, so it goes up two >every mov, and the dat bombs every other cell. as well the cell they refer >to works as an imp gate too.. You have it mostly right except for the djn. Remember, DJN is Decrement Jump Nonzero. It will jump backwards if whatever the b-field points to is not 0,0 after the djn decrements it (or at least it should be assuming the use of djn.f which is normal). In effect, it decremtns every other cell the mov isn't bombing. So while moving over normal core (DAT 0, 0) you end up with alternating (not quite because of multithreading due to the spl) DAT <2667, 15 and DAT -1, -1 in core. When you run over the enemy warrior, you alternate with those deadly DATs from the mov and also the semi-deadly decrements. While the decremnts from the djn don't outright kill, most warriors stop functioning properly if decrmented. Then you just kill the disabled warrior with the next pass through the core. >i can't quite see the spl affecting anything except for dumping more >processes into the mov/djn Thats all it does. Since its a popular tactic to throw 1,1 instructions around to purposely cause a djn to fall through, you can't rely on a single process to maintain the djn. Also, it helps prtect you from the opponent bombing your code. >and since the dat goes every two, won't it end up hitting the mov line? >but >then, the spl will keep it alive :) i guess that's what you meant by it >wrapping around itself safely? Nope, the important part is that the eventually the pointer line is pointing at itself. The pointer goes 15, 16, 17, ..., 7998, 7999, 0. So when its 0, the mov dropds the bomb on itself and suddenly it jumps from 0 back to 15 (as well as the a-field changing to 2667). That jump causes te d-clear to miss itself. But what if the djn is the active process when the counter reaches 0? Well, then then djn decreases the pointer to -1, then the indirect post-increment knocks it back to 0, so the djn keeps the pointer at 0, waiting for a mov. >so .. i guess; what's a 'djn-mark' and how does that line affect they >non-bombed sections of the core? As said above, the djn leaves decremented cells in the spaces between where the movs bomb. >[editor's note: this message has been snipped in one side, and out the >other, >and rearranged to a new level of aesthetics. myndzi, please quote at the >top! >you might not get much flak around here, but it really counts other >places.] > >my fault, sorry :) i haven't posted to newsgroups before; i like to see the >text i am gonna be reading right away instead of scrolling past stuff >hehe.. >thanks for the tip ;) Well, its fine if the text you are writing stands on its own. But if what you write depends on the context of what you are replying to, its easier for the reader to follow by getting the context from the original then seeing your reply after. _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com From: Christian Schmidt Subject: iShot Date: Fri, 09 Mar 2001 14:28:29 +0100 Message-ID: <3AA8DA7C.69A42093@mail.uni-mainz.de> Just a funny new idea. A d-clear oneshot including the bombing trick, find in Alladin's Cave, combined with an imp. It does quite well against stone/imps and some scanner but worth against paper. Maybe, one can improve this idea by using a spl/dat-clear, but I do not know how good it will ever work. Ok, have fun with it. ;redcode-94nop ;name iShot ;author Christian Schmidt ;assert CORESIZE == 8000 ;strategy oneshot with imps ist equ 1143 decoy equ (start+1-1201) org dstart gate dat 0, 2155 dat 0, 0 dat 0, 0 start spl clear+1, <-200 add #10, gate jmz.f -1, @gate spl pump, <-200 clear spl #4000, {gate mov bomb, >gate djn.f -1, >gate jmp -3 dat {5335, 32 bomb dat {5335, 32 for 10 dat 0, 0 rof pump spl 1, <1 jmn -1, #1+2+4+8 spl 2 djn.f imp, <-250 add bst, -1 djn.f clear, <-400 bst dat ist, -100 imp mov.i #ist, *0 for 63 dat 0, 0 rof dstart mov Subject: Re: faq Message-ID: Date: Fri, 09 Mar 2001 14:30:49 GMT >> spl #0, <-10 >> mov 2, >-10 >> djn -1, >-11 >> dat <2667, 15 > >ahh ok > >spl carpet backwards every cell, and dat bombs forward every two :) > > > > What? I hope not. Did I write that wrong? > Hmmm... Looks in order. > That should be a forward clear of alternating dat-bombs and djn-marks, that > wraps around safely past itself. Is a more detailed analysis in order? > just me being n00bish. i got my terms mixed up ;) as well i noticed that the djn and the mov referred to the same place, but i fail to see how the djn does anything to the core =/ what i'm seeing is jump backwards one if the b-field of -11 is not 0.. it never will be (assuming it started even) because of the >-10 in the mov before it. the two lines keep incrementing the one spot, so it goes up two every mov, and the dat bombs every other cell. as well the cell they refer to works as an imp gate too.. i can't quite see the spl affecting anything except for dumping more processes into the mov/djn and since the dat goes every two, won't it end up hitting the mov line? but then, the spl will keep it alive :) i guess that's what you meant by it wrapping around itself safely? so .. i guess; what's a 'djn-mark' and how does that line affect they non-bombed sections of the core? as for the 'spl carpet' bit i just got confused is all :) [editor's note: this message has been snipped in one side, and out the other, and rearranged to a new level of aesthetics. myndzi, please quote at the top! you might not get much flak around here, but it really counts other places.] my fault, sorry :) i haven't posted to newsgroups before; i like to see the text i am gonna be reading right away instead of scrolling past stuff hehe.. thanks for the tip ;) -myndzi From: "myndzi" Subject: Re: faq Message-ID: Date: Fri, 09 Mar 2001 14:34:02 GMT >> spl #0, <-10 >> mov 2, >-10 >> djn -1, >-11 >> dat <2667, 15 > spl #0, <-10 > djn -1, >-11 ...eh? =D i was trying to figure out why i didn't catch the spl and the djn referring to the same cell, when i realized they didn't ;) are both different kinds of d-clears? From: "myndzi" Subject: Re: faq Message-ID: Date: Fri, 09 Mar 2001 15:09:23 GMT > q^4s are improved math over q^3s. By very carefully picking the scan > distances an taking advantage of mod 8000 with multiplies, they can decode > .5 cycles faster and use the more compact SNE/SEQ instead of the pure SEQ > scan. *scrolling up and down through redcode* jots down a number, performs some calculations.. repeat as needed. i conceptually understand this quickscan stuff, but it's a far cry from being able to create one :) from what i understand, what happens is the many of the instructions in the scan portion change the references used in the math instructions in the 'decode' section so that they will come up with the right result for the place-to-bomb. lucky me i understand modulo, bases, and some of these other 'fun' math concepts :) i'm hard pressed getting this firmly imprinted in my head to where i can really say i understand it, not just in theory lol. wow, this thread got so many posts, of course, almost half of them are mine.. i just can't seem to shut up =) but i'd like to thank you guys for your time and aid, for such a newbie-unfriendly 'sport' it sure has some friendly players ;) look out, i might give you some competition in a decade or so when i finally figure out what i'm doing =D ..until next post.. -myndzi ("Behold the Mind's Eye") From: "Paul Khuong" Subject: RE: faq Date: 9 Mar 2001 19:23:59 -0500 Message-ID: Woah!! Are you guys mostly top or bottom posters?? I mean, usually,i'm a bottom poster with snips, but what do you prefer?? > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of myndzi > Sent: 9 mars, 2001 10:34 > To: Multiple recipients of list COREWAR-L > Subject: Re: faq > > > >> spl #0, <-10 > >> mov 2, >-10 > >> djn -1, >-11 > >> dat <2667, 15 [snip] > just me being n00bish. i got my terms mixed up ;) > as well i noticed that the djn and the mov referred to the same place, > > but i fail to see how the djn does anything to the core =/ > what i'm seeing is jump backwards one if the b-field of -11 is not 0.. it > never will be (assuming it started even) because of the >-10 in the mov > before it. the two lines keep incrementing the one spot, so it goes up two > every mov, and the dat bombs every other cell. as well the cell they refer > to works as an imp gate too.. > > i can't quite see the spl affecting anything except for dumping more > processes into the mov/djn > > and since the dat goes every two, won't it end up hitting the > mov line? but > then, the spl will keep it alive :) i guess that's what you meant by it > wrapping around itself safely? > > so .. i guess; what's a 'djn-mark' and how does that line affect they > non-bombed sections of the core? > > as for the 'spl carpet' bit i just got confused is all :) [snip] Ok, let's have a line by line analysis 8) Spl #0, <-9(***changed this line, bc it makes more sense to have a real gate) All it does is adding processes to the clear, AND continues the gate at -10. Why would one want to continually feed the loop? Because of imp spirals(if you don't have have as many processes as the ikp has points, you're gonna die if an imps goes through. see later post 8), and of the djn(see djn line analysis 8) Mov 2, >-10 Moves the dat, at the point referenced by -10's b-field. Also, it increments the b-field, AFTER referencing to it. Sortof like accessing data through a pointer, an THEN incrementing it. djn -1, >-11 decrements the cell references by -11's b-field(same cell the mov line looks at). This is a weak bomb, because it disrupts most warriors enough so it can't work, but it doesn't guarantee it'll kill the process. Also, if it does hit a xyz 1,1 line, the process will go through to the dat line; that's why a spl is needed. data.... the bomb. notice how the b-field reset the bombing pointer so that the clear jumps the locations where it is... And, really, the best thing to do would be an instruction by instruction trace in the debugger. Part 2, imp spirals. an imp is basically a warrior that copies itself to the line where it will execute, so when it starts it is very small, but it copies itself as it will execute, so that it doesn'T encounter a dat line. simple example: mov 0, 1 as you can see, there is no loop, so in theory, it should die very quickly, right? But, it copies itself where it wilil execute next, so that it always puts a mov 0,1 line where it would execute the dat, thus creating a _sort_ of loop. now, for imp rings. we'll use the simplest example, a 3 points imp ring. what that means is that the imp has three series of mov instructions in the core: (8000 cells core) a: mov 0, 2667 (absolute location:0) [2666 cells later] b: mov 0, 2667 (absolute location:2667) [2666 cells later] c: mov 0, 2667 (absolute location:5334) Notice that 2667*3=8001 8) So, what happens is that a copies itself where b will execute next, and then, b will do the same for c, but, now for the magic: c will copy itself where _a_ will execute: yes, because 5334+2667=0+1!! 8) So, why would one is that? Because it is an imp, so very hard to kill, but also, because while it creates 3 streams of decoys, only one process at a time is vulnerable; what that means is that in all the core there's only one cell where you can hurt the imp... Why? let's say the imp was jsut going to execute a. what would happen if a bomb landed on b or c? absolutely nothing! The only way to hurt an imp is to bomb _the exact location where it will execute next_. Also there is a way to have sort of multi line imps(mr. mintardjo(?) did a warriorer, e that once... still have to understand how it works, though 8) _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: Frederick.C.Strathmeyer@Dartmouth.EDU (Frederick C. Strathmeyer) Subject: Re: field help Date: 9 Mar 2001 21:12:39 -0500 Message-ID: <41848384@dasher.Dartmouth.EDU> --- internut@epix.net wrote: Will it jump to jumper if data is 0 or the other way around? I have this problem in other instructions, too. --- end of quote --- Check out: http://www.sci.fi/~iltzu/corewar/guide.html#deep_instr Message-ID: <3AA9682D.ADDB2E8D@epix.net> From: Nathan McKenzie Subject: field help Date: Sat, 10 Mar 2001 00:33:15 GMT Does anyone know which field does what? For example: org jmz jumper, data jumper jmp -1 data dat 0,0 end Will it jump to jumper if data is 0 or the other way around? I have this problem in other instructions, too. Thanks, Brandon From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: faq Message-ID: Date: Sat, 10 Mar 2001 02:24:23 GMT On Fri, 09 Mar 2001 14:30:49 GMT, myndzi wrote: >>> spl #0, <-10 >>> mov 2, >-10 >>> djn -1, >-11 >>> dat <2667, 15 > > >but i fail to see how the djn does anything to the core =/ >what i'm seeing is jump backwards one if the b-field of -11 is not 0.. it >never will be (assuming it started even) because of the >-10 in the mov >before it. the two lines keep incrementing the one spot, so it goes up two >every mov, and the dat bombs every other cell. as well the cell they refer >to works as an imp gate too.. > Note, if you will, the ever-so-vitally important '>' sign in the djn. Not that the b-field of -11 is not zero, but that the location next-in-line to be bombed is not zero, after you subtract from it. The subtraction is the key. As the clear goes, it can only bomb every 2nd space. But all the other spaces get their numbers messed up by the djn. >i can't quite see the spl affecting anything except for dumping more >processes into the mov/djn > Completely correct. Except maybe that optional b-field. This is very important, though. If the clear runs over a line of "DAT 1, 1"s, it will subtract one to get zero, and the DJN won't jump back. You'll need more processes, badly. >and since the dat goes every two, won't it end up hitting the mov line? but >then, the spl will keep it alive :) i guess that's what you meant by it >wrapping around itself safely? > No, the fact that it wraps around safely is based on the fact that the clear moves forward, and the spot it uses to decide where to bomb (i hesitate to call it a pointer -- do you do C? It's worthwhile.) is to the back of it. One more element: the b-field of the bomb. Eventually, the deadly trail of dats and subtractions will come back at the back of the warrior. Before it hits the warrior, it will hit the pointer. If the DJN hits it, the trail will be knocked back one space -- back on to the pointer. Then a dat will hit it. The b-field of the bomb will overwrite the pointer to be a new pointer-- starting in a safe spot out in front of the warrior. Isn't this COOL? All-understandy now, yes? -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: field help Message-ID: Date: Sat, 10 Mar 2001 02:28:21 GMT On Sat, 10 Mar 2001 00:33:15 GMT, Nathan McKenzie wrote: >Does anyone know which field does what? > >For example: > > org > jmz jumper, data >jumper jmp -1 >data dat 0,0 > end > >Will it jump to jumper if data is 0 or the other way around? I have this >problem in other instructions, too. > > Well, it will fall to jumper anyway. But that's not the point. jmz is jump if zero. You seem to have the operation correct. jmn is jump if nonzero. That would do the other thing. What other instructions? I would like nothing more than to be of service. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: pak@ast.cam.ac.uk (Philip Kendall) Subject: Re: faq Date: 10 Mar 2001 11:04:32 -0000 Message-ID: <98d1o0$65@cass30> In article , Paul Khuong wrote: >Woah!! > >Are you guys mostly top or bottom posters?? I mean, usually,i'm a bottom >poster with snips, but what do you prefer?? Always bottom. http://www.chiark.greenend.org.uk/rjk/2000/06/14/quoting.html Phil -- Philip Kendall http://www.srcf.ucam.org/~pak21/ Message-ID: <3AAACFFB.9BC2C3A2@someoneelse.com> From: HiEv Subject: Re: faq Date: Sun, 11 Mar 2001 01:06:55 GMT Philip Kendall wrote: > [snip] > Always bottom. I interweave. :-) > http://www.chiark.greenend.org.uk/rjk/2000/06/14/quoting.html Link is "Not Found" (404) From: pak@ast.cam.ac.uk (Philip Kendall) Subject: Re: faq Date: 11 Mar 2001 08:35:56 -0000 Message-ID: <98fddc$3bd@cass30> In article <3AAACFFB.9BC2C3A2@someoneelse.com>, HiEv wrote: >Philip Kendall wrote: >> >[snip] >> Always bottom. >I interweave. :-) What I really meant to say, I think.... >> http://www.chiark.greenend.org.uk/rjk/2000/06/14/quoting.html >Link is "Not Found" (404) D'oh. Not chiark... http://www.greenend.org.uk/rjk/2000/06/14/quoting.html Phil -- Philip Kendall http://www.srcf.ucam.org/~pak21/ From: "tmp" Subject: Re: newbies ;) Date: Sun, 11 Mar 2001 17:41:59 -0000 Message-ID: <98gfho$lju$1@plutonium.btinternet.com> > >anyway, there's my two cents and a poorly disguised plea for help =D what > >concepts would you guys suggest learning (as far as warrior design goes) in > >order to get in here and start doing something interesting? > > > > My first good one was a one-shot scanner. The few I can find on my drive: > Z-Shot > BiShot > WingShot > Phantasm 50 Oneshots are relatively simple and so are a good place to start. They split themselves neatly into two separate problems, scan and clear, one or both of which can be copied from an existing source. By comparison: -- Full scanners require more attention to avoiding self-scans, and to timing the switch from stun to kill. -- Dwarves have to be very compact and often rely on tricky step choices. -- Replicators need complex and interracting choices between stepsize and "payload" which is typically an Imp launcher or an anti-imp attack. Robert Macrae Message-ID: <3AAC2B03.9372BF4F@epix.net> From: Nathan McKenzie Subject: Re: field help Date: Mon, 12 Mar 2001 02:49:30 GMT Here's a list of my problem instructions: JMZ JMN DJN And both P instructions. Thanks, Brandon From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 03/12/01 Date: 12 Mar 2001 12:01:56 -0500 Message-ID: <200103120500.AAA25690@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Thu Mar 8 14:11:30 EST 2001 # %W/ %L/ %T Name Author Score Age 1 44/ 34/ 22 Aster v0 Dave Hillis 154 1 2 32/ 18/ 49 KAT v5 Dave Hillis 146 5 3 40/ 35/ 25 Black Moods Ian Oversby 146 69 4 38/ 31/ 31 Controlled Aggression Ian Oversby 144 73 5 42/ 42/ 16 Greetings From Asbury Par JKW 143 33 6 33/ 27/ 40 Big I.F.F.S. Dave Hillis 139 2 7 28/ 18/ 54 Katafutr Michal Janeczek 139 13 8 32/ 26/ 42 Damage Inflicted Robert Macrae 138 12 9 36/ 36/ 28 Ogre Christian Schmidt 137 21 10 20/ 8/ 72 Evol Cap 4 X John Wilkinson 132 142 11 16/ 4/ 80 Black Box v1.1 JKW 128 36 12 25/ 22/ 53 Venom v0.2b Christian Schmidt 128 95 13 20/ 12/ 68 Denial David Moore 128 14 14 16/ 7/ 77 Evolve X v4.0 John Wilkinson 124 90 15 28/ 40/ 32 Dr. Gate X Franz 117 113 16 19/ 23/ 58 Purple v0.1 Christian Schmidt 115 94 17 21/ 28/ 51 Rosebud Beppe 114 121 18 25/ 37/ 37 test CS 114 30 19 29/ 46/ 25 Pagan John K W 112 127 20 28/ 44/ 28 Pattel's Virus X Ben Ford 112 17 21 18/ 43/ 39 Disaster Area 2.7x Stefan Foerster 92 0 From: "Benjamin Ford" Subject: Re: field help Date: 12 Mar 2001 12:01:52 -0500 Message-ID: From: ransom@localhost.localdomain (Ransom Smith) >Whoops! Forgot the P-instructions. > >STP.B foo, #baz >saves the number foo into the p-slot baz. Actually, its going to put whatever is in the b-field of foo into p-slot baz. To put the number foo into p-slot baz use: STP.AB #foo, #baz >LDP.BA #0, #baz >the #0 will be replaced with what we saved in it before. Thats works as described. _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com From: Koth Subject: KOTH.ORG: Status - Standard 03/12/01 Date: 12 Mar 2001 12:08:08 -0500 Message-ID: <200103120500.AAA25680@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Fri Dec 22 12:46:27 EST 2000 # %W/ %L/ %T Name Author Score Age 1 34/ 20/ 46 Freight Train David Moore 148 73 2 33/ 21/ 45 sIMPly.Red v0.95 Leonardo Humberto 145 30 3 32/ 20/ 47 Test Alexander (Sasha) Wa 144 12 4 32/ 21/ 47 Guardian Ian Oversby 142 72 5 37/ 35/ 28 PacMan David Moore 138 102 6 37/ 39/ 24 Stasis David Moore 135 180 7 25/ 16/ 59 EV Paper John K Wilkinson 135 86 8 40/ 44/ 16 Foggy Swamp Beppe Bezzi 135 69 9 28/ 22/ 50 Shish-Ka-Bob Ben Ford 133 28 10 39/ 45/ 16 Blur '88 Anton Marsden 133 110 11 26/ 19/ 55 Test I Ian Oversby 132 129 12 31/ 31/ 37 Frog Sticker P.Kline 132 22 13 26/ 21/ 53 Evoltmp 88 John K W 130 123 14 35/ 42/ 23 Beholder's Eye V1.7 W. Mintardjo 129 348 15 37/ 46/ 16 Iron Gate Wayne Sheppard 129 398 16 33/ 38/ 29 Stillborn Bomber v0.2 mjp 128 13 17 33/ 39/ 28 Tangle Trap David Moore 128 146 18 25/ 23/ 53 sic Leonardo H. Liporati 127 2 19 15/ 3/ 82 ]enigma[ Michal Janeczek 127 1 20 36/ 50/ 14 Blurstone '88 M. J. Pihlaja 123 67 21 19/ 59/ 22 Crazy Lukasz Anforowicz 80 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 03/12/01 Date: 12 Mar 2001 12:08:04 -0500 Message-ID: <200103120500.AAA25696@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Fri Mar 9 16:27:04 EST 2001 # %W/ %L/ %T Name Author Score Age 1 40/ 40/ 19 Behemot Michal Janeczek 140 227 2 31/ 23/ 46 3/sov4106 io/mjp 140 28 3 30/ 22/ 48 The Dark One Christian Schmidt 139 197 4 32/ 27/ 41 Olivia Ben Ford 138 132 5 28/ 18/ 54 nPaper II Paul-V Khuong 137 404 6 33/ 28/ 39 Quicksilver Michal Janeczek 137 166 7 33/ 31/ 36 Yesterday's Scream P.Kline 136 1 8 39/ 43/ 18 Eraser II Ken Espiritu 135 361 9 39/ 44/ 17 Jinx Christian Schmidt 134 367 10 42/ 51/ 7 He Scans Alone P.Kline 133 88 11 27/ 23/ 50 Spray paper Steve Gunnell 132 6 12 30/ 27/ 43 Uninvited John Metcalf 132 86 13 29/ 27/ 44 Jade Ben Ford 132 473 14 38/ 45/ 16 Stalker P.Kline 132 389 15 32/ 33/ 35 Blacken Ian Oversby 131 651 16 39/ 47/ 14 G2-b David Moore 131 190 17 36/ 41/ 23 Recount P.Kline 131 89 18 39/ 48/ 13 Toofan Ayan Chakrabarti 130 22 19 19/ 10/ 71 The Phantom Menace Anton Marsden 129 104 20 32/ 37/ 31 Keyser Soze Anton Marsden 127 105 21 2/ 2/ 1 Yesterday's Scream P.Kline 6 2 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 03/12/01 Date: 12 Mar 2001 12:08:12 -0500 Message-ID: <200103120500.AAA25684@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Wed Mar 7 15:06:25 EST 2001 # Name Author Score Age 1 Dracula's Cape Ben Ford 45 31 2 QuiVa John Metcalf 42 146 3 Foo John Metcalf 28 7 4 Pitbull Christian Schmidt 25 9 5 Friction Ken Espiritu 24 25 6 Her Majesty P.Kline 22 72 7 D-clearM Ken Espiritu 22 53 8 fclear Brian Haskin 19 37 9 Scan Test Tester 17 12 10 Disaster Area 2.7 Stefan Foerster 5 1 11 La Bomba 1.0 Stefan Foerster 4 0 From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: field help Message-ID: Date: Mon, 12 Mar 2001 13:13:13 GMT On Mon, 12 Mar 2001 02:49:30 GMT, Nathan McKenzie wrote: >Here's a list of my problem instructions: >JMZ JMZ acts like a jump that only works if the number pointed to by the b-field is Zero. >JMN JMN acts like a jmp that only works if the number pointed to by the b-field is Nonzero. >DJN DJN subtracts one from the number indicated by the bfield, and only jumps if the result is Nonzero. The only tricky part here is the persistent clause "number pointed to by the b-field." Here are some example cases. JMZ 0, #1 this never does anything. JMZ 0, #0 this always jumps to itself. JMZ.A 0, -1 this loops to itself if the a-field of the previous instruction is zero. JMZ.B 0, *-1 this loops back only if the b-field of the instruction pointed to by the a-field of the previous instruction is zero. DJN.F 0, <-1 This subtracts one from the b-field of the previous instruction, checks that b-field, goes to the location it points to, subtracts one from both of those fields, and jumps back to itself unless they are now both zero. > >And both P instructions. > > >Thanks, > >Brandon > -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: field help Message-ID: Date: Mon, 12 Mar 2001 13:18:16 GMT On Mon, 12 Mar 2001 02:49:30 GMT, Nathan McKenzie wrote: >Here's a list of my problem instructions: >JMZ >JMN >DJN > >And both P instructions. Whoops! Forgot the P-instructions. STP.B foo, #baz saves the number foo into the p-slot baz. LDP.BA #0, #baz the #0 will be replaced with what we saved in it before. Mmff... to tired to give more examples. You'll figure it, right? Message-ID: <3AAD3DA9.5F8431F2@qwest.com> From: Chuck Northcutt Subject: Re: faq Date: Mon, 12 Mar 2001 13:20:41 -0800 > [snip!] > All-understandy now, yes? why.. yes! =D thank you much for your patience ;) (btw as mentioned in other post, i'd missed just exactly what the "d" in djn does ;) oh yeah, and i read c, but i don't write it :) the commands don't come readily to mind but i can generally understand what's going on.. i haven't really had need to write anything in c though, but when i do you can count on me learning it.. -myndzi From: "-- myndzi --" Subject: RE: faq Date: 12 Mar 2001 18:39:30 -0500 Message-ID: d'oh. djn = decrement, jump if non-zero i'm smart like that ya see? =) these three letter opcodes still catch me sometimes.. -myndzi _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com From: Lukasz Adamowski Subject: Re: faq Date: 13 Mar 2001 13:49:54 -0500 Message-ID: On Mon, 12 Mar 2001, Chuck Northcutt wrote: > oh yeah, and i read c, but i don't write it :) the commands don't come readily to > mind but i can > generally understand what's going on.. Do you understand what's up or do you THINK you understand it. I used to think I understood something and then I realized it did something different. C/C++ can be very suprising, believe me. B) Lukasz From: zoranc@hotmail.com Subject: Re: Palm OS MARS? Date: 15 Mar 2001 20:06:42 GMT Message-ID: <98r7ci$tvl$1@news.netmar.com> >>I have been "lurking" around the group for a while now looking for a Palm OS >>MARS. I was thinking of writing one, but soon realized that I have neither >>the time nor the programming abilities to do a decent job of it. >> >>Is anyone out there working on a MARS for the Palm? If not, does it sound >>like a good idea? Seems like it could be cool to just beam a warrior across >>and fight... >> > >Sounds like a fantastic idea to me. >Unfortunately, I also know naught of palm programming. >Don't know how many core-warriors you'd meet in the street, though. >Still, I like the idea of tweaking imps in US History class... > Well Palm OS MARS was one of the first thing coming in my mind when I renew my interest on CoreWars, since I'm Palm freak. But making it will take time - to much just for fun having it on my Palm, and also I don't think it will bring many shareware payments. Maybe we could organize sponsorship. Any sugestions? Zoran. ----- Posted via NewsOne.Net: Free (anonymous) Usenet News via the Web ----- http://newsone.net/ -- Free reading and anonymous posting to 60,000+ groups NewsOne.Net prohibits users from posting spam. If this or other posts made through NewsOne.Net violate posting guidelines, email abuse@newsone.net From: L Vogtmann Subject: Re: Palm OS MARS? Date: 15 Mar 2001 20:37:51 -0500 Message-ID: <01031515430400.02888@tank> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On Thursday 15 March 2001 01:30 pm, zoranc@hotmail.com wrote: > Well Palm OS MARS was one of the first thing coming in my mind when I renew > my > interest on CoreWars, since I'm Palm freak. But making it will take time - > to much just for fun having it on my Palm, and also I don't think it will > bring many shareware payments. Maybe we could organize sponsorship. Any > sugestions? If enough people are interested in working on it, Sourceforge would be an excellent place to attract developers for help. http://sourceforge.net I'm interested, but I admit - I'm only a neophite C programmer and PalmOS user (not developer) - so I wouldn't be much help. - -- vmann GPG public key / Geek Code block available at http://vmann.net "Linux: Because rebooting is for adding new hardware." -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAjqxU48ACgkQ4RqxfkoM0TPoVgCfYsexomq5QCeuA9gqoCTETwnc 1kAAnR0fFbIkqgRuOksRKa8/3PEM3R+g =Pp3b -----END PGP SIGNATURE----- From: "Twinkle Elf \(Nathan\)" Subject: Where is the pizza server's email address? Message-ID: <7Sis6.1696$H95.754109@news.uswest.net> Date: Thu, 15 Mar 2001 22:55:00 -0800 Okay, I feel really stupid, but I can't find the pizza servers warrior submission email address anywhere. Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 16 Mar 2001 04:17:47 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: pak@ast.cam.ac.uk (Philip Kendall) Subject: Re: Where is the pizza server's email address? Date: 16 Mar 2001 09:14:43 -0000 Message-ID: <98sli3$ggp@cass52> In article <7Sis6.1696$H95.754109@news.uswest.net>, Twinkle Elf \(Nathan\) wrote: >Okay, I feel really stupid, but I can't find the pizza servers warrior >submission email address anywhere. pizza@ecst.csuchico.edu, *subject* `koth'. HTH, Phil -- Philip Kendall http://www.srcf.ucam.org/~pak21/ From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Palm OS MARS? Message-ID: Date: Fri, 16 Mar 2001 12:06:41 GMT On 15 Mar 2001 20:06:42 GMT, zoranc@hotmail.com wrote: > >Well Palm OS MARS was one of the first thing coming in my mind when I renew >my >interest on CoreWars, since I'm Palm freak. But making it will take time - to >much just for fun having it on my Palm, and also I don't think it will bring >many shareware payments. Maybe we could organize sponsorship. Any >sugestions? > >Zoran. > Excusle... How serious are you, all throughout here? -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: Koth Subject: KOTH.ORG: Status - Standard 03/19/01 Date: 19 Mar 2001 07:29:50 -0500 Message-ID: <200103190500.AAA07701@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Wed Mar 14 00:59:01 EST 2001 # %W/ %L/ %T Name Author Score Age 1 33/ 22/ 45 Freight Train David Moore 145 74 2 33/ 22/ 45 sIMPly.Red v0.95 Leonardo Humberto 144 31 3 32/ 22/ 46 Test Alexander (Sasha) Wa 142 13 4 31/ 22/ 47 Guardian Ian Oversby 139 73 5 36/ 36/ 28 PacMan David Moore 137 103 6 37/ 39/ 24 Stasis David Moore 136 181 7 25/ 17/ 58 EV Paper John K Wilkinson 133 87 8 38/ 46/ 16 Foggy Swamp Beppe Bezzi 131 70 9 27/ 23/ 50 Shish-Ka-Bob Ben Ford 131 29 10 38/ 46/ 16 Blur '88 Anton Marsden 130 111 11 35/ 42/ 23 Beholder's Eye V1.7 W. Mintardjo 129 349 12 25/ 20/ 55 Test I Ian Oversby 129 130 13 34/ 39/ 27 Tangle Trap David Moore 128 147 14 25/ 22/ 53 sic Leonardo H. Liporati 128 3 15 30/ 33/ 37 Frog Sticker P.Kline 127 23 16 25/ 22/ 53 Evoltmp 88 John K W 127 124 17 15/ 4/ 81 ]enigma[ Michal Janeczek 127 2 18 37/ 47/ 16 Iron Gate Wayne Sheppard 126 399 19 32/ 39/ 28 Stillborn Bomber v0.2 mjp 126 14 20 37/ 49/ 15 ig Wayne Sheppard 125 1 21 35/ 51/ 14 Blurstone '88 M. J. Pihlaja 119 68 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 03/19/01 Date: 19 Mar 2001 07:29:46 -0500 Message-ID: <200103190500.AAA07705@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Thu Mar 15 14:24:23 EST 2001 # Name Author Score Age 1 Pitbull Christian Schmidt 44 9 2 D-clearM Ken Espiritu 24 53 3 fclear Brian Haskin 24 37 4 Her Majesty P.Kline 23 72 5 QuiVa John Metcalf 19 146 6 Dracula's Cape Ben Ford 17 31 7 Scan Test Tester 17 12 8 Friction Ken Espiritu 16 25 9 Foo John Metcalf 15 7 10 Disaster Area 2.7 Stefan Foerster 4 1 11 Disaster Area 2.8 Stefan Foerster 4 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 03/19/01 Date: 19 Mar 2001 07:35:57 -0500 Message-ID: <200103190500.AAA07713@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sat Mar 17 00:09:23 EST 2001 # %W/ %L/ %T Name Author Score Age 1 31/ 19/ 51 test io/mjp 143 1 2 40/ 40/ 20 Behemot Michal Janeczek 139 232 3 30/ 24/ 46 Olivia Ben Ford 137 137 4 27/ 17/ 56 nPaper II Paul-V Khuong 136 409 5 32/ 31/ 37 Yesterday's Scream P.Kline 134 5 6 28/ 22/ 51 The Dark One Christian Schmidt 134 202 7 38/ 43/ 19 Eraser II Ken Espiritu 133 366 8 38/ 45/ 17 G2-b David Moore 132 195 9 31/ 31/ 38 Blacken Ian Oversby 130 656 10 37/ 44/ 19 Jinx Christian Schmidt 130 372 11 38/ 46/ 16 Toofan Ayan Chakrabarti 130 27 12 26/ 23/ 51 Spray paper Steve Gunnell 130 11 13 20/ 10/ 71 The Phantom Menace Anton Marsden 129 109 14 29/ 28/ 43 Quicksilver Michal Janeczek 129 171 15 41/ 53/ 7 He Scans Alone P.Kline 128 93 16 27/ 25/ 48 Jade Ben Ford 128 478 17 27/ 26/ 47 Uninvited John Metcalf 128 91 18 31/ 36/ 33 Keyser Soze Anton Marsden 127 110 19 25/ 24/ 52 Brigadeer M Joonas Pihlaja 126 2 20 33/ 42/ 25 Recount P.Kline 123 94 21 21/ 21/ 58 Spray paper Steve Gunnell 121 0 From: Ayan Chakrabarti Subject: Warrior Improvement Date: 21 Mar 2001 15:30:13 -0500 Message-ID: <5.0.2.1.2.20010321190330.00a24050@pop.crosswinds.net> Hi, I've been trying to make a scanning vampire called Mohini for quite some time now and I seem to have hit a brick wall in terms of improving it. So I'm posting the source code here. I would greatly appreciate it if somebody gave me directions on improving it. Please tell me whether I should work on optimizing my step size or if there is something else that I am not doing right or if the flaw is in the basic strategy itself. Mohini is basically a scanner which lays down a carpet of traps as it scans. Whenever it finds anything, it just changes the destination where the carpet is being laid (after having made appropriate changes to the trap). If a process is captured, it switches from scanning to a core-clear. I've been trying to optimize this thing for a long time. It does especially badly against scanners (as far as I could make out from the Wilkies scores). Any further improvements that I try to make seem to backfire (something like a rain dance causing an earthquake ;) like trying to make captured processes implement a gate. Again, I would be very grateful for any suggestions (including criticisms). ;redcode ;name Mohini ;author Ayan Chakrabarti ;strategy Scan + Vamp -> Clear ;strategy Captured processes stunned. ;assert CORESIZE == 8000 ;Wilkies Points = 122.92 init equ kill+100 inscan equ kill+2*step step equ 1226 ;--- Scan kill mov.i trap,>ptr add.f stinc,trap check jmz.f kill,@trap mov.b trap,ptr sub.ab #1,ptr mov.a #pit-trap,trap sub.ba trap,trap jmp kill,<-400 stinc dat #-1,#step ;------ for 3 dat 0 rof ;------ ;--- Clear (something captured) ptr2 dat 0,pit-ptr2 dat 0,pit-ptr2 dat -10,pit-ptr2 dat -10,pit-ptr2 done spl #4000,pit-ptr2 mov.i @2,>ptr2 mov.i @1,>ptr2 djn.b -2,{done dat 0,0 dat 0,0 ;--- The trap which doubles up as scanning pointer. trap jmp pit-init,inscan ;--- The pointer at which traps are being dropped. Also used to switch ; from scan to clear ptr jmp done-check,init ;------ for 9 dat 0 rof ;------ ;--- The pit pit mov ptr,check ; Process captured. Switch to clear. i for 9 spl #0 rof jmp -9 ;--- The end :) end check --------------- Ayan Chakrabarti " A bird in the hand is better than two overhead " From: Nathan F Russell Subject: Re: Get A Life !!!!!!!!!!!!!! Date: Wed, 21 Mar 2001 19:39:57 -0500 Message-ID: -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ransom@localhost.localdomain (Ransom Smith) wrote: >On Wed, 21 Mar 2001 23:51:49 -0000, >robert.d.hanna wrote: >>Get a Life you dweebs >> >> > >Hmmm... > >That's got to be the funniest thing I've seen all day! At least he didn't crosspost it... Nathan -----BEGIN PGP SIGNATURE----- Version: PGPfreeware 6.5.8 for non-commercial use iQA/AwUBOrlJ24vPBwdDF2xqEQI85wCg5GPhMnN/qsRwTZB+ds+9w84GQl4AmgK6 A+usQRCUeoRyE2HX7zGgj3en =qkJK -----END PGP SIGNATURE----- From: "robert.d.hanna" Subject: Get A Life !!!!!!!!!!!!!! Message-ID: Date: Wed, 21 Mar 2001 23:51:49 -0000 Get a Life you dweebs From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Get A Life !!!!!!!!!!!!!! Message-ID: Date: Thu, 22 Mar 2001 00:18:17 GMT On Wed, 21 Mar 2001 23:51:49 -0000, robert.d.hanna wrote: >Get a Life you dweebs > > Hmmm... That's got to be the funniest thing I've seen all day! -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: M Joonas Pihlaja Subject: Re: Get A Life !!!!!!!!!!!!!! Date: Thu, 22 Mar 2001 02:45:04 +0200 Message-ID: On Wed, 21 Mar 2001, robert.d.hanna wrote: > Get a Life you dweebs Get yours at rec.games.int-fiction today! From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Get A Life !!!!!!!!!!!!!! Message-ID: Date: Thu, 22 Mar 2001 02:51:10 GMT On Wed, 21 Mar 2001 23:51:49 -0000, robert.d.hanna wrote: >Get a Life you dweebs > > Notice the skillful use of punctuation, dramatic capital letters, and irrefutably stunning rhetoric. Oh, oh, OH... the total futility of my life passes self-evidently before my eyes... wait-- I don't have one! Us dweebs should get a life. I mean, just look at us. We have nothing better to do than hang out and respond to trolls like this all day. How much more lame can you get? Oh, wait... -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Warrior Improvement Message-ID: Date: Thu, 22 Mar 2001 02:57:44 GMT On 21 Mar 2001 15:30:13 -0500, Ayan Chakrabarti wrote: >Again, I would be very grateful for any suggestions (including criticisms). > Mmmff... I loaded it up to proof it and check, and promptly remembered I'm not in DOS anymore, Toto... How come the version for us cool Linuxians has none of the cool stuff that the DOS version has; say, color display, arrow keys. This is a major usability hit. Have I compiled it funny, or has somebody just not bothered to add support for half of the interface in linux? Any plans for improvements here? I might consider contributing something, but my C coding skills are laughable, though technically present. I could move it all to my DOS box, but the floppy drive frotzed, and I haven't replaced it yet. Anyhow, your warrior looks to be almost onto the beginner hill. Good luck, and I'll review it by hand until then. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: ransom@localhost.localdomain (Ransom Smith) Subject: Koth.c bug Message-ID: Date: Thu, 22 Mar 2001 03:37:00 GMT Silly bug in Koth.c: specifying a suite loads the next one. load fails if only one suite exists, or suite is the last in the list. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: M Joonas Pihlaja Subject: Re: Warrior Improvement Date: Thu, 22 Mar 2001 05:39:33 +0200 Message-ID: On Thu, 22 Mar 2001, Ransom Smith wrote: > This is a major usability hit. > > Have I compiled it funny, or has somebody just not bothered > to add support for half of the interface in linux? Any plans > for improvements here? Do you have the macro file pmars.mac in your current directory? IIRC that has the mouse/keypad stuff. It'd be nice if pmars would search for this in some default directory but I don't think it does. You mention that the colour display doesn't work which makes me wonder... The X11 display version supports colour. I'm not sure about the SVGA version though. Or am I being thick and misunderstanding your point? HTH, Joonas From: "Wayne Sheppard" Subject: Re: Get A Life !!!!!!!!!!!!!! Message-ID: <78pu6.200$V9.170528@news.nyc.globix.net> Date: Thu, 22 Mar 2001 10:46:10 -0500 All your SPL are belong to us. robert.d.hanna wrote in message news:U7bu6.25341$bL.2402255@news6-win.server.ntlworld.com... > Get a Life you dweebs > > From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Warrior Improvement Message-ID: Date: Thu, 22 Mar 2001 12:26:19 GMT On Thu, 22 Mar 2001 05:39:33 +0200, M Joonas Pihlaja wrote: >On Thu, 22 Mar 2001, Ransom Smith wrote: > > >> This is a major usability hit. >> >> Have I compiled it funny, or has somebody just not bothered >> to add support for half of the interface in linux? Any plans >> for improvements here? > >Do you have the macro file pmars.mac in your current directory? >IIRC that has the mouse/keypad stuff. It'd be nice if pmars >would search for this in some default directory but I don't think >it does. > Yes, at first that was my problem, but even when I fixed that and detected the macro file, I had to type "m down" instead of hitting the down arrow, which is, you see, a real pain. Hitting the down arrow echoes ^[[B or some such, and pmars may complain about an invalid argument, if you hit enter. >You mention that the colour display doesn't work which makes me >wonder... The X11 display version supports colour. I'm not sure >about the SVGA version though. Or am I being thick and >misunderstanding your point? > I'm sure the X11 display does, but with 16MB RAM, X can be a pain. I don't want to boot X every time I want to play corewar. The SVGA display certainly ought to support color. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: Ilmari Karonen Subject: Re: Warrior Improvement Date: 22 Mar 2001 14:09:37 GMT Message-ID: <985269732.6246@itz.pp.sci.fi> In article , Ransom Smith wrote: > >I'm sure the X11 display does, but with 16MB RAM, X can be a pain. I don't >want to boot X every time I want to play corewar. The SVGA display certainly >ought to support color. Okay, so is there anyone who knows how the Linux SVGA display code is supposed to work who could fix that? If someone submits a patch, I can put it in the next release, but I wouldn't know anything about the SVGA code even if I had enough round tuits myself to think about fixing it. (And I seem to have lost most of mine during the move. They're probably in one of the unopened boxes under the disassembled bookshelf. Sigh.) -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "This leads me to suspect that most people don't understand half of what I say but pretend nothing's wrong. Fortunately for me, I can live with that." -- John Kensmark in rec.arts.sf.composition From: pak@ast.cam.ac.uk (Philip Kendall) Subject: Re: Koth.c bug Date: 22 Mar 2001 17:33:24 -0000 Message-ID: <99dd14$5pl@cass30> In article , Ransom Smith wrote: >Silly bug in Koth.c: > >specifying a suite loads the next one. >load fails if only one suite exists, or suite is the last in the list. Are we talking about my koth.c (http://www.srcf.ucam.org/~pak21/corewar/koth.html) here? If so, I'll look at it... Phil -- Philip Kendall http://www.srcf.ucam.org/~pak21/ From: pak@ast.cam.ac.uk (Philip Kendall) Subject: Re: Koth.c bug Date: 22 Mar 2001 17:42:20 -0000 Message-ID: <99ddhs$625@cass30> In article <99dd14$5pl@cass30>, Philip Kendall wrote: >In article , >Ransom Smith wrote: >>Silly bug in Koth.c: >> >>specifying a suite loads the next one. >>load fails if only one suite exists, or suite is the last in the list. > > >Are we talking about my koth.c >(http://www.srcf.ucam.org/~pak21/corewar/koth.html) here? > >If so, I'll look at it... Which I've just done, and it appears to work, at least on the Linux (i386 and Alpha) and Solaris boxen I've just tried it on... did you RTFM? "The configuration file (`.kothrc' or `kothrc' on DOS systems) has the following format: 1st line: The name of the simulator to run, along with any arguments which you wish to be passed every time you run the simulator (for example `pmars -b'). 2nd and subsequent lines: Definitions of the suites of warriors which can be selected. Each suite must be specified on one line and the fields separated by commas." I suspect you're forgetting the first line... Phil -- Philip Kendall http://www.srcf.ucam.org/~pak21/ From: "Jeff Kroll" Subject: Re: Get A Life !!!!!!!!!!!!!! Message-ID: <3dyu6.1030$bO1.132392@news.pacbell.net> Date: Thu, 22 Mar 2001 18:11:04 -0800 robert.d.hanna wrote in message news:U7bu6.25341$bL.2402255@news6-win.server.ntlworld.com... > Get a Life you dweebs > > > Wrong newsgroup, try comp.ai.alife hmmm, maybe recoded warrior could be considered a-life..... From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Koth.c bug Message-ID: Date: Thu, 22 Mar 2001 23:46:43 GMT On 22 Mar 2001 17:42:20 -0000, Philip Kendall wrote: > >I suspect you're forgetting the first line... > Indeed yes. Fixed it within ten seconds of the post, and tried to cancel the article. Doesn't seem to have worked. [smacks forehead, slinks off] -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Warrior Improvement Message-ID: Date: Fri, 23 Mar 2001 12:12:38 GMT On Fri, 23 Mar 2001 15:59:28 +0530, Ayan Chakrabarti wrote: >I've made a few improvements to the warrior since the last post (added >booting the trap away and checking to see that i'm not scanning into >myself), but the improvement in score seems to be minimal. > Hey, at least you made it onto the beginner hill! (Sort of.) From: Frederick.C.Strathmeyer@Dartmouth.EDU (Frederick C. Strathmeyer) Subject: Re: Warrior Improvement Date: 23 Mar 2001 12:32:32 -0500 Message-ID: <42275367@dasher.Dartmouth.EDU> --- You wrote: That's little consolation considering that my warrior Safai, which is just the core-clear from Mohini, is at a higher position on the beginner hill. This means that the whole vampire part just drags down the core-clear !! Something must have gone wrong :) --- end of quote --- Or it could just mean that the hill right now is rather susceptable to small coreclears Success on the hill is all relative. Message-ID: <5.0.2.1.2.20010323153858.00a254d0@pop.crosswinds.net> Date: Fri, 23 Mar 2001 15:59:28 +0530 From: Ayan Chakrabarti Subject: Re: Warrior Improvement Hi, I've made a few improvements to the warrior since the last post (added booting the trap away and checking to see that i'm not scanning into myself), but the improvement in score seems to be minimal. I'm posting the new one. Again, I'd be grateful for any advice on improving it. Thanks in advance. ;redcode-b test ;name Mohini ;author Ayan Chakrabarti ;strategy Scan + Vamp -> Clear ;strategy Captured processes stunned. ;strategy Fixed a couple of bugs. Does well against papers but ;strategy gets thrashed by scanners and some stones. ;assert CORESIZE == 8000 init equ kill+100 inscan equ kill+step step equ 3039 trap equ (ttrap - 100) ;--- The trap which doubles up as scanning pointer (booted away) ttrap jmp pit-init,inscan-trap ;--- Scan kill mov.i trap,>ptr add.f stinc,trap check jmz.f kill,@trap slt #tend-trap,trap jmp kill mov.b trap,ptr sub.ab #ptr-trap,ptr mov.a #pit-trap,trap sub.ba trap,trap jmp kill stinc dat #-1,#step ;------ for 3 dat 0 rof ;------ ;--- Clear (something captured) ptr2 dat 0,pit-ptr2 dat 0,pit-ptr2 dat -10,pit-ptr2 dat -10,pit-ptr2 done spl #4000,pit-ptr2 mov.i @2,>ptr2 mov.i @1,>ptr2 djn.b -2,{done dat 0,0 dat 0,0 ;--- The pointer at which traps are being dropped. Also used to switch ; from scan to clear ptr jmp done-check,init ;--- Boot the trap away boot mov ttrap,trap jmp check ;------ for 8 dat 0 rof ;------ ;--- The pit pit mov ptr,check ; Process captured. Switch to clear. for 9 spl #0, Subject: Warriors Date: Fri, 23 Mar 2001 17:16:41 +0100 Message-ID: <3ABB76E9.9B28E125@netcologne.de> Hi, sometimes ago i've Downloaded an Warrior-Archive...It seems containing some hundred Warriors. Without a Zip-Drive and a very small Harddisk the Archive was deletd by me. Now i'm looking for it. I have visited all Links i now, but i don't find anything. Does anybody now/have such a Archive Sascha PS : What is an actual Beginner Benchmark? From: M Joonas Pihlaja Subject: CW Math & RB dwarf analysis Date: 23 Mar 2001 17:51:20 -0500 Message-ID: Hi all, No redcode to share but I hope you'll enjoy anyway: - Morrell's article on bomber steps TeXscribed. - An analysis of the Recycled Bits dwarf. I've had these lying about on my uni account for ages but only now put them up. You can find them in postscript at: http://www.cs.helsinki.fi/~jpihlaja/cw/ If someone wants to finish off Morrell's paper mail me for the tex source and references to relevant articles. (There are some interesting articles that extend the basic results that we could apply to Tornado style bombers.) The RB dwarf stuff was written for a course at uni. BTW, how do you get screenshots of pMARS in action to print well on paper? All those dat bombs and decrements come out mushy when printed. Regards, Joonas From: Curious Forestweaver Subject: Re: MIMESIS ONLINE - a new MMORPG is coming... Date: 23 Mar 2001 17:51:23 -0500 Message-ID: <20010324094825.A919@babcock.masks.net.au> On 2001.03.24 00:30 MIMESIS ONLINE wrote: > MIMESIS ONLINE - a new MMORPG is coming... I'm starting to feel like going on the offensive when this kind of crap spills over onto my precious assembly gaming newsgroup. :-P *launches an imp at usenet spamming cretins* B. P.S. I hope Rutger Hauer sues them into the ground for the phrase "Tannhauser Gate". From: Ilmari Karonen Subject: Re: Warrior Improvement Date: 23 Mar 2001 18:53:57 GMT Message-ID: <985372534.25410@itz.pp.sci.fi> In article <5.0.2.1.2.20010323153858.00a254d0@pop.crosswinds.net>, Ayan Chakrabarti wrote: > >I've made a few improvements to the warrior since the last post (added >booting the trap away and checking to see that i'm not scanning into >myself), but the improvement in score seems to be minimal. > >I'm posting the new one. Again, I'd be grateful for any advice on improving it. Okay.. a few ideas from someone who never did quite get the hang of designing succesful warriors, so take them with a grain of salt. :-) First of all, your basic idea may, unfortunately, be flawed. If you're going to carpet-bomb, why not throw an SPL carpet? The point of a vamp is generally that a single fang does the job of an entire stun carpet, so a carpet of vamp fangs seems rather redundant. The carpet-making MOV in your scan loop slows it down. For a vampire, this may be a serious problem. It's possible that your carpeting vamp will suffer the same fate as my self-splitting scanner -- it's a cool idea, but can never be made fast enough to be succesful. If you still wish to work on this after my pessimistic comments, one thing to try would be to start the pit with an SPL instead of a MOV. If your opponent is a paper with lots of processes, it may take a long time for trapped processes to reach the actual stunning pit. Or, since you're carpeting, why not try an SPL fang? Hmm.. you know, that's crazy enough that it might just work.. Finally, a general bit of advice: Shrink your code. The more non-empty cells you have, the easier prey you are to scanners, and longer code is more vulnerable against other types of warriors too. -- Ilmari Karonen - http://www.sci.fi/~iltzu/ Join the Core War Imp Ring: http://www.sci.fi/~iltzu/cgi-bin/impring Message-ID: <5.0.2.1.2.20010323204845.00a2aa40@pop.crosswinds.net> Date: Fri, 23 Mar 2001 20:53:10 +0530 From: Ayan Chakrabarti Subject: Re: Warrior Improvement At 06:59 PM 3/23/01, Ransom Smith wrote: >On Fri, 23 Mar 2001 15:59:28 +0530, >Ayan Chakrabarti wrote: > > >I've made a few improvements to the warrior since the last post (added > >booting the trap away and checking to see that i'm not scanning into > >myself), but the improvement in score seems to be minimal. > > > >Hey, at least you made it onto the beginner hill! (Sort of.) That's little consolation considering that my warrior Safai, which is just the core-clear from Mohini, is at a higher position on the beginner hill. This means that the whole vampire part just drags down the core-clear !! Something must have gone wrong :) Ayan Chakrabarti " Signature under construction " From: "Paul Khuong" Subject: RE: Warrior Improvement Date: 23 Mar 2001 21:40:46 -0500 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Ayan > Chakrabarti > Sent: 23 mars, 2001 06:30 > To: Multiple recipients of list COREWAR-L > Subject: Re: Warrior Improvement > > > > > Hi, > > I've made a few improvements to the warrior since the last post (added > booting the trap away and checking to see that i'm not scanning into > myself), but the improvement in score seems to be minimal. > > I'm posting the new one. Again, I'd be grateful for any advice on > improving it. > > Thanks in advance. > [snip code] Well, i can already see one thing: that pit of yours isn't very useful 8) Why don't you make it into a silent spl or at clear(silent as in zero a and b fields)? That way, they'll do some part of the job before getting killed off by your main clear. just don't forget the relatively big number of spls in the loop. 8) HTH, Paul _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Warriors Message-ID: Date: Fri, 23 Mar 2001 23:04:24 GMT On Fri, 23 Mar 2001 17:16:41 +0100, Sascha Zapf wrote: >Hi, > >sometimes ago i've Downloaded an Warrior-Archive...It seems containing >some hundred Warriors. > >Without a Zip-Drive and a very small Harddisk the Archive was deletd by >me. Now i'm looking for it. I have visited all Links i now, but i don't >find anything. > >Does anybody now/have such a Archive > >Sascha > >PS : What is an actual Beginner Benchmark? > I believe you may be looking for the Wilkies benchmark. I prefer the 'wilmoo' myself. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: M Joonas Pihlaja Subject: Re: Warriors Date: Sat, 24 Mar 2001 01:22:22 +0200 Message-ID: On Fri, 23 Mar 2001, Sascha Zapf wrote: > Does anybody now/have such a Archive You can download lots of warriors from Planar's warrior archive at: http://para.inria.fr/~doligez/corewar It has been recently updated after a period of dormancy (Cheers Planar!). It should now contain every warrior ever published before March 2001. Another such site with lots of warriors is Christoph Birk's Koeningstuhl: http://andromeda.ociw.edu/COREWAR/corewar.html This site is frequently updated and has many 'infinite' hills from which you can download the warriors. Unfortunately the site seems to be down right now. > PS : What is an actual Beginner Benchmark? There are at least three benchmarks: Wilkies, WilBez and WilMoo in decreasing order of age. They are available (except for WilBez) from http://www.koth.org/info.html Of course, another ever evolving benchmark is the top of your favourite infinite hill on Koeningstuhl, like the -94 open or -94 no-pspace hill. HTH, Joonas Message-ID: <5.0.2.1.2.20010324100915.00a2e150@pop.crosswinds.net> Date: Sat, 24 Mar 2001 10:44:28 +0530 From: Ayan Chakrabarti Subject: Re: Warrior Improvement At 01:02 AM 3/24/01, Ilmari Karonen wrote: >First of all, your basic idea may, unfortunately, be flawed. If you're >going to carpet-bomb, why not throw an SPL carpet? The point of a vamp >is generally that a single fang does the job of an entire stun carpet, >so a carpet of vamp fangs seems rather redundant. > >The carpet-making MOV in your scan loop slows it down. For a vampire, >this may be a serious problem. It's possible that your carpeting vamp >will suffer the same fate as my self-splitting scanner -- it's a cool >idea, but can never be made fast enough to be succesful. You see I've already got a warrior on the beginner's hill which does exactly that ie. drops an spl carpet as it scans. I've also got a traditional vampire (BhootRaj) which just drops fangs without any scanning. I wrote Mohini to try something new :) >Or, since you're carpeting, why not try an SPL fang? Hmm.. you know, >that's crazy enough that it might just work.. It did !! The carpet of spl's may not be as effective as an spl 0 carpet. But it is much more effective than a jmp carpet !! I changed the fang from jmp to spl and the improvement in score against the Wilkies warriors was almost 10 pts. The problem of course still remains that it scores awfully against scanners. It already did pretty well against papers, but nevertheless the spl fang idea HAS improved the score. >Finally, a general bit of advice: Shrink your code. The more non-empty >cells you have, the easier prey you are to scanners, and longer code is >more vulnerable against other types of warriors too. Well, I've been trying to do that too. One thing which I did, thanks to Paul Khuong's advice is that I made the spl's in my pit silent. This meant that they would be no longer implementing a gate, but the tradeoff was worth it. Not only does this improve my chances against other scanners, my own scanner which was most probably being slowed down by finding its own code has better chances now of finding the enemy.Also, in between the spl's I added a mov statement which uses the pointer of the core-clear to bomb. As a result, the trapped process also helps in the core-clear (this again was due to Paul Khuong's suggestion). So finally, the current version of Mohini gets 10 more wilkies points.I would like to thank all people for their advice. I've sent the new warrior to the beginner's hill, but since there seems to be quite a large queue, it might be some time before I get the results. Btw, I think it would be good idea to have a newer benchmark which reflects the make of modern hills. Warriors like one-shots, p-switchers, etc should be included. I have a warrior which scored less than Mohini (even the earlier one) in Wilkies but got a much higher position on the hill. Again with many thanks, Ayan Chakrabarti " God is REAL, unless explicitly declared INTEGER " From: Ilmari Karonen Subject: Re: CW Math & RB dwarf analysis Date: 24 Mar 2001 11:34:34 GMT Message-ID: <985433518.4822@itz.pp.sci.fi> In article , M Joonas Pihlaja wrote: > >The RB dwarf stuff was written for a course at uni. BTW, how do >you get screenshots of pMARS in action to print well on paper? >All those dat bombs and decrements come out mushy when printed. Invert the display colors? Or just make the background white? -- Ilmari Karonen - http://www.sci.fi/~iltzu/ Join the Core War Imp Ring: http://www.sci.fi/~iltzu/cgi-bin/impring From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Warrior Improvement Message-ID: Date: Sat, 24 Mar 2001 12:35:56 GMT On Sat, 24 Mar 2001 10:44:28 +0530, Ayan Chakrabarti wrote: > >Btw, I think it would be good idea to have a newer benchmark which reflects >the make of modern hills. Warriors like one-shots, p-switchers, etc should >be included. I have a warrior which scored less than Mohini (even the earlier >one) in Wilkies but got a much higher position on the hill. > What you seek, I believe, is the WilMoo benchmark. It can be found at www.koth.org/wilmoo. Or you can get tricky, bypass the brief explanation, and download the warriors straight at http://www.koth.org/wilmoo/wilmoo.zip -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: "pk" Subject: Re: Warrior Improvement Message-ID: Date: Sat, 24 Mar 2001 18:24:00 -0500 Ayan Chakrabarti wrote in message news:5.0.2.1.2.20010324100915.00a2e150@pop.crosswinds.net... > At 01:02 AM 3/24/01, Ilmari Karonen wrote: [snip]> >Or, since you're carpeting, why not try an SPL fang? Hmm.. you know, > >that's crazy enough that it might just work.. > > It did !! The carpet of spl's may not be as effective as an spl 0 carpet. > But it is much more effective than a jmp carpet !! I changed the fang from > jmp to spl and the improvement in score against the Wilkies warriors was > almost 10 pts. The problem of course still remains that it scores awfully > against scanners. It already did pretty well against papers, but > nevertheless the spl fang idea HAS improved the score. Well, well, well... that's weird 8) Against scanners, no difference, except that it might let their warrior worked not affected too much. Against stones, it'll usually kill them, except for the DJN trail, but you'll feed off yet another spl (their own spl 8), but then you'd do that with a JMP fang too. Against papers, THERE'S the difference! 8) The spl makes it so the bombed process could continue copying itself, making mcuh more processe, and even if these processes only die off as soon as they execute, they make the paper reach the process limit faster. > >Finally, a general bit of advice: Shrink your code. The more non-empty > >cells you have, the easier prey you are to scanners, and longer code is > >more vulnerable against other types of warriors too. > > Well, I've been trying to do that too. One thing which I did, thanks to > Paul Khuong's advice is that I made the spl's in my pit silent. This > meant that they would be no longer implementing a gate, but the tradeoff > was worth it. Not only does this improve my chances against other scanners, > my own scanner which was most probably being slowed down by finding its own > code has better chances now of finding the enemy.Also, in between the spl's > I added a mov statement which uses the pointer of the core-clear to bomb. > As a result, the trapped process also helps in the core-clear (this again > was due to Paul Khuong's suggestion). > > So finally, the current version of Mohini gets 10 more wilkies points.I > would like to thank all people for their advice. I've sent the new warrior > to the beginner's hill, but since there seems to be quite a large queue, it > might be some time before I get the results. > > Btw, I think it would be good idea to have a newer benchmark which reflects > the make of modern hills. Warriors like one-shots, p-switchers, etc should > be included. I have a warrior which scored less than Mohini (even the earlier > one) in Wilkies but got a much higher position on the hill. Well... you see, the problem is that, while a hill seems to have a stable composition, it is only pseudo stable(?)... Most of the time, it WILL stay pretty mucha s it is, give or take a few warriors. But, once in a while, there'll be a "big" thing introduced in there, and it'll change the balance of power... FE(the only one i can remember), Quickscans. They completely chanegd the face of the 94 hills. HTH, Paul PS, that's the same Paul Khuong 8) There's only 2 Paul's here, i think: Paul Kline and Paul Khuong(me)... Now, back to that bombing/scanning engine! From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Warrior Improvement Message-ID: Date: Sun, 25 Mar 2001 03:49:25 GMT On Sat, 24 Mar 2001 18:24:00 -0500, pk wrote: > >PS, that's the same Paul Khuong 8) There's only 2 Paul's here, i think: Paul >Kline and Paul Khuong(me)... Now, back to that bombing/scanning engine! > > Oh, are YOU Paul Khuong? Maybe you'd better put the V back in pvk, all this time I thought it was Mr. Kline, making his smilies with '8'. :-) -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: "pvk" Subject: Re: Warrior Improvement Message-ID: <8bmv6.242$nf4.2374@weber.videotron.net> Date: Sun, 25 Mar 2001 08:15:59 -0500 Ransom Smith wrote in message news:slrn9bqqmh.hd.ransom@localhost.localdomain... > On Sat, 24 Mar 2001 18:24:00 -0500, pk wrote: > > > >PS, that's the same Paul Khuong 8) There's only 2 Paul's here, i think: Paul > >Kline and Paul Khuong(me)... Now, back to that bombing/scanning engine! > > > > > > Oh, are YOU Paul Khuong? > Maybe you'd better put the V back in pvk, all this time I thought it was > Mr. Kline, making his smilies with '8'. LOL.... changed my name... I'm now pvk/Paul Khuong, depending on where i send my posts from(my newsreader, or my email address) From: M Joonas Pihlaja Subject: Re: CW Math & RB dwarf analysis Date: 25 Mar 2001 08:20:37 -0500 Message-ID: On Sat, 24 Mar 2001, Ilmari Karonen wrote: > >BTW, how do > >you get screenshots of pMARS in action to print well on paper? > >All those dat bombs and decrements come out mushy when printed. > > Invert the display colors? Or just make the background white? Hmm.. Yes, kind of. What I ended up doing was inverting the colours and quantizing them to 1 bit b/w, but it's still mushy. Oh well, I probably just need a better printer. From: Ilmari Karonen Subject: Re: CW Math & RB dwarf analysis Date: 25 Mar 2001 23:47:54 GMT Message-ID: <985563818.22885@itz.pp.sci.fi> In article , M Joonas Pihlaja wrote: >On Sat, 24 Mar 2001, Ilmari Karonen wrote: > >> >BTW, how do >> >you get screenshots of pMARS in action to print well on paper? >> >All those dat bombs and decrements come out mushy when printed. >> >> Invert the display colors? Or just make the background white? > >Hmm.. Yes, kind of. What I ended up doing was inverting the >colours and quantizing them to 1 bit b/w, but it's still mushy. >Oh well, I probably just need a better printer. I just took a look at it. Did you scale the bitmap or something? Some of the pixels were bigger than others, which _would_ make it harder to tell the different marks apart on paper. I would also have added the text overlays in a vector drawing program like xfig, to avoid them looking pixelated. -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "Mir has been accelerating at nearly a standard gee towards the centre of the Earth for 15 years now; and, as one gee is about c per year, its total delta-V must be around 15 c." -- John Stockton in r.a.sf.science From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 03/26/01 Date: 26 Mar 2001 07:35:45 -0500 Message-ID: <200103260500.AAA10737@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sat Mar 24 19:22:08 EST 2001 # %W/ %L/ %T Name Author Score Age 1 32/ 18/ 49 Son of Vain Oversby/Pihlaja 146 2 2 40/ 41/ 19 Behemot Michal Janeczek 140 236 3 40/ 41/ 18 Eraser II Ken Espiritu 139 370 4 29/ 19/ 52 nPaper II Paul-V Khuong 138 413 5 41/ 43/ 16 G2-b David Moore 138 199 6 31/ 24/ 46 Olivia Ben Ford 137 141 7 40/ 43/ 18 Jinx Christian Schmidt 137 376 8 22/ 8/ 69 The Phantom Menace Anton Marsden 136 113 9 31/ 27/ 43 Quicksilver Michal Janeczek 135 175 10 32/ 32/ 36 Blacken Ian Oversby 133 660 11 34/ 35/ 32 Keyser Soze Anton Marsden 133 114 12 29/ 25/ 46 Uninvited John Metcalf 132 95 13 39/ 47/ 14 Toofan Ayan Chakrabarti 131 31 14 27/ 24/ 48 Jade Ben Ford 131 482 15 26/ 23/ 50 Brigadeer M Joonas Pihlaja 129 6 16 31/ 33/ 37 Yesterday's Scream P.Kline 129 9 17 29/ 29/ 42 Velvet Fist Ayan Chakrabarti 128 1 18 25/ 23/ 52 The Dark One Christian Schmidt 127 206 19 39/ 51/ 10 Kenshin Steve Gunnell 126 3 20 23/ 22/ 55 Spray paper Steve Gunnell 125 15 21 25/ 56/ 20 Bomber core 1a 106 7 Steve Gunnell 94 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 03/26/01 Date: 26 Mar 2001 07:35:54 -0500 Message-ID: <200103260500.AAA10731@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sat Mar 24 12:47:00 EST 2001 # %W/ %L/ %T Name Author Score Age 1 36/ 21/ 43 KAT v5 Dave Hillis 151 7 2 42/ 33/ 24 Black Moods Ian Oversby 151 71 3 42/ 36/ 21 Aster v0 Dave Hillis 148 3 4 44/ 40/ 16 Greetings From Asbury Par JKW 148 35 5 35/ 28/ 37 Big I.F.F.S. Dave Hillis 143 4 6 37/ 35/ 28 Ogre Christian Schmidt 139 23 7 28/ 18/ 54 Katafutr Michal Janeczek 139 15 8 35/ 31/ 34 Controlled Aggression Ian Oversby 138 75 9 31/ 26/ 42 Damage Inflicted Robert Macrae 136 14 10 19/ 8/ 73 Evol Cap 4 X John Wilkinson 130 144 11 27/ 28/ 45 Disaster Area 2.10 Stefan Foerster 127 1 12 25/ 24/ 52 Disaster Area 2.8 Stefan Foerster 126 2 13 15/ 4/ 81 Black Box v1.1 JKW 125 38 14 24/ 22/ 54 Venom v0.2b Christian Schmidt 125 97 15 18/ 12/ 70 Denial David Moore 125 16 16 29/ 35/ 36 test CS 123 32 17 33/ 43/ 24 Pagan John K W 122 129 18 15/ 7/ 78 Evolve X v4.0 John Wilkinson 122 92 19 21/ 21/ 58 Purple v0.1 Christian Schmidt 121 96 20 29/ 40/ 31 Dr. Gate X Franz 118 115 21 6/ 66/ 28 Paperback Writer 1.0 Stefan Foerster 46 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 03/26/01 Date: 26 Mar 2001 07:35:50 -0500 Message-ID: <200103260500.AAA10724@gevjon.ttsg.com> Weekly Status on 03/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 Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sat Mar 24 12:48:31 EST 2001 # Name Author Score Age 1 Pitbull Christian Schmidt 34 10 2 QuiVa John Metcalf 32 147 3 Dracula's Cape Ben Ford 30 32 4 Her Majesty P.Kline 29 73 5 D-clearM Ken Espiritu 29 54 6 fclear Brian Haskin 21 38 7 Friction Ken Espiritu 17 26 8 Foo John Metcalf 13 8 9 Scan Test Tester 13 13 10 Disaster Area 2.10 Stefan Foerster 7 1 11 Paperback Writer 1.0 Stefan Foerster 2 0 From: birk@andromeda.ociw.edu Subject: modern benchmark Date: 26 Mar 2001 23:01:42 -0500 Message-ID: <200103261823.f2QINco05297@andromeda.ociw.edu> > Btw, I think it would be good idea to have a newer benchmark which reflects > the make of modern hills. Warriors like one-shots, p-switchers, etc should > be included. Why not use the top-25 of the OPEN-Koenigstuhl (or 94nop)? Christoph From: Planar Subject: Re: Warriors Date: 28 Mar 2001 11:41:51 GMT Message-ID: <99silv$rv8$1@ites.inria.fr> >From: M Joonas Pihlaja >http://para.inria.fr/~doligez/corewar > >It has been recently updated after a period of dormancy (Cheers >Planar!). It should now contain every warrior ever published >before March 2001. Not yet, unfortunately. I still have about 35 warriors in my backlog. -- Planar From: Sascha Zapf Subject: ICWS94 Draft Date: Thu, 29 Mar 2001 09:40:25 +0200 Message-ID: <3AC2E6E9.855086D1@netcologne.de> Hi there, i have the ICWS 94 Draft Version 3.2 ( HTML ). But there is nothing about NOP SEQ SNE The Redcode Reference from pMARS 0.8.0 uses "ICWS'94 Draft (extended) Does this (extended) Draft really exist, or is it pMARS's own Standart. I haven't uploaded a Warrior yet, so i don't know which Opcodes and Adressing Modes are available. Especially i want know what the following Instruction does. NOP <-9,<-10 Nothing, or a 2c Imp-Gate Sascha From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: ICWS94 Draft Message-ID: Date: Thu, 29 Mar 2001 12:25:05 GMT On Thu, 29 Mar 2001 09:40:25 +0200, Sascha Zapf wrote: >Especially i want know what the following Instruction does. > > NOP <-9,<-10 > >Nothing, or a 2c Imp-Gate > It operates, for a single cycle, as two single-c impgates. Then it dies. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: Nathan F Russell Subject: Re: CoreWars on X Date: Thu, 29 Mar 2001 16:19:41 -0500 Message-ID: <9a08t0$kl6$1@prometheus.acsu.buffalo.edu> MACSNITKOFF wrote: > Most of you are probably Windows or Linux people, so I'll be brief. Probably a good thing for the Windows people. However, you should be aware that you used 3-syllable words in several places - that might not be a good idea. Nathan, who couldn't resist. From: =?iso-8859-1?Q?Stefan_F=F6rster?= Subject: Hills on pizza server down? Date: Thu, 29 Mar 2001 19:18:45 +0200 Message-ID: <985886327.244383@bau2.a-city.de> Does anybody get replies when sending warriors to the hills on the pizza server. For about three days they seem to be dead. Anybody else experiencing this? --=20 Stefan Foerster http://home.a-city.de/stefan.foerster Quote of the Day: To an outsider, most corporate bureaucracies are, by definition, a mystery. (They are often a mystery to insiders as well, but that's another story.) Mark H. McCormack, On Communicating (p. 202) (created at stardate [-30]6403.7858, Thu Mar 29 19:10:19 2001) Subject: CoreWars on X From: MACSNITKOFF Message-ID: Date: Thu, 29 Mar 2001 20:50:23 GMT Most of you are probably Windows or Linux people, so I'll be brief. I was wondering if anyone was working on a MARS for OS X, and if not would any other mac people be interested in doing it. With Cocoa it should be simple, and the game sounds very cool, and easy to implement. Thanks Snitty From: pak21@cam.ac.uk (Philip Kendall) Subject: Re: CoreWars on X Date: 29 Mar 2001 23:00:53 +0100 Message-ID: <9a0bal$4s7$1@kern.srcf.societies.cam.ac.uk> In article , MACSNITKOFF wrote: >Most of you are probably Windows or Linux people, so I'll be brief. I was >wondering if anyone was working on a MARS for OS X, and if not would any >other mac people be interested in doing it. With Cocoa it should be simple, >and the game sounds very cool, and easy to implement. The non-display bits of pMARS should compile pretty trivially under OS X, I imagine (it being BSD based, as I understand); I've never actually compiled pMARS on a BSD box (must install it on one of my machines one of these days...), but I don't know any reason it shouldn't work. [Blatant plug: my autoconf patch for pMARS is on the SourceForge project page, and may help here :-) ] The display side would I imagine be trickier though... Phil -- Philip Kendall http://www.srcf.ucam.org/~pak21/ From: cs92jd@eim.surrey.ac.uk (Submersible) Subject: Re: Find Game Character? Message-ID: <3ac45d67.9852696@news.ntlworld.com> Date: Fri, 30 Mar 2001 10:20:29 GMT On Fri, 30 Mar 2001 13:22:54 +0800, "E2046" wrote: >Welcome to www.e2046.com >What will you find? >Gundam 0083, The Five Star Stories, Gao Gai Gar, Armored Core, Aura Battler >Dunbine, Getter Robo, Mazinger, Macross, Wares 1092, Zeta Gundam, Alien, >Tetsujin 28, Panzer World Galient, Virtual On, Super Robot, ...... >Ah! My Goddess, Dead or Alive, Evangelion, Angel Links, Battle Athletes, >Betterman, Berserk, Hakaider, Batman, AIKa, Blade 2040, The Bouncer, Card >Captor Sakura, Cerafics Feather, Chinese Hero, Cowboy Bebop, Cutey Honey, >...... >More and more items could be found in www.e2046.com >What are you waiting for? > Megatokyo shonen ai manga. Then I can die exhaustedly. -sd, "...all my things in the car, and driving west til I run out of gas." From: cs92jd@eim.surrey.ac.uk (Submersible) Subject: Re: Find Game Character? Message-ID: <3ac45ebe.10195642@news.ntlworld.com> Date: Fri, 30 Mar 2001 10:24:52 GMT On Fri, 30 Mar 2001 10:20:29 GMT, cs92jd@eim.surrey.ac.uk (Submersible) wrote: >On Fri, 30 Mar 2001 13:22:54 +0800, "E2046" wrote: > >>Welcome to www.e2046.com >>What will you find? >>Gundam 0083, The Five Star Stories, Gao Gai Gar, Armored Core, Aura Battler >>Dunbine, Getter Robo, Mazinger, Macross, Wares 1092, Zeta Gundam, Alien, >>Tetsujin 28, Panzer World Galient, Virtual On, Super Robot, ...... >>Ah! My Goddess, Dead or Alive, Evangelion, Angel Links, Battle Athletes, >>Betterman, Berserk, Hakaider, Batman, AIKa, Blade 2040, The Bouncer, Card >>Captor Sakura, Cerafics Feather, Chinese Hero, Cowboy Bebop, Cutey Honey, >>...... >>More and more items could be found in www.e2046.com >>What are you waiting for? >> > >Megatokyo shonen ai manga. Then I can die exhaustedly. Hmm. They may spam, but they're nevertheless rather endearing. From the front page: "06/03/2001 Today we are sorry for the customers with serious and high moral standards as well as the person who aged under 18. First of all, FG1079CP 1/6 Rei Ayanami in Bandage (Pre-painted) for US$95.90 only and the others are just arrived: FG1188 & FG1189 " -sd From: "James McGuigan" Subject: Re: Find Game Character? Message-ID: Date: Fri, 30 Mar 2001 12:50:27 -0000 Submersible wrote in message news:3ac45ebe.10195642@news.ntlworld.com... > On Fri, 30 Mar 2001 10:20:29 GMT, cs92jd@eim.surrey.ac.uk > (Submersible) wrote: > > >On Fri, 30 Mar 2001 13:22:54 +0800, "E2046" wrote: > > > >>Welcome to www.e2046.com > >>What will you find? > >>Gundam 0083, The Five Star Stories, Gao Gai Gar, Armored Core, Aura Battler > >>Dunbine, Getter Robo, Mazinger, Macross, Wares 1092, Zeta Gundam, Alien, > >>Tetsujin 28, Panzer World Galient, Virtual On, Super Robot, ...... > >>Ah! My Goddess, Dead or Alive, Evangelion, Angel Links, Battle Athletes, > >>Betterman, Berserk, Hakaider, Batman, AIKa, Blade 2040, The Bouncer, Card > >>Captor Sakura, Cerafics Feather, Chinese Hero, Cowboy Bebop, Cutey Honey, > >>...... > >>More and more items could be found in www.e2046.com > >>What are you waiting for? > >> > > > >Megatokyo shonen ai manga. Then I can die exhaustedly. > > Hmm. They may spam, but they're nevertheless rather endearing. From > the front page: > > "06/03/2001 Today we are sorry for the customers with serious and high > moral standards as well as the person who aged under 18. First of all, > FG1079CP 1/6 Rei Ayanami in Bandage (Pre-painted) for US$95.90 only > and the others are just arrived: FG1188 & FG1189 " > > > -sd There always seems a sence of sencerity with poorly done english traslations. We try to deliver Goods throughout the world. Unfortunately, it is pity that we could not have promise to do it in today since various and inevitable limitation has been encountered and unchanged by individual such as restricted Postal service, Postage Rates, Labor cost, Administrative cost, Payment, Reimbursement and so forth. Therefore, all of first visitors are better to take a moment in examine the following served areas at first otherwise it is worried to waste the significant time and let you disappointment in subsequence. However, we make an apology for potential customers of non-served area indeed. -- Rules are written for those who lack the ability to truly reason, But for those who can, the rules become nothing more than guidelines, And live their lives governed not by rules but by reason. - James McGuigan (www.starsfaq.com) From: "Benjamin Ford" Subject: Re: modern benchmark Date: 30 Mar 2001 14:36:41 -0500 Message-ID: From: birk@andromeda.ociw.edu > > Btw, I think it would be good idea to have a newer benchmark which > > reflects the make of modern hills. Warriors like one-shots, p- > > switchers, etc should be included. > >Why not use the top-25 of the OPEN-Koenigstuhl (or 94nop)? > >Christoph The problem with that is that Koenigstuhl doesn't reflect the 'real' hills too well with the top of its open hill dominated by p-spacers and the 94nop hill dominated by scanners. In both cases, those are the best warriors to make huge gains against the 'chaff' warriors and at the same time have low tie rates against each other. A good 'real' hill benchmark is to take whatever is on the hill, find which of those are published, and use those as the main base of your benchmark. If any category of warrior happens to be missing on the current hill (perhaps no oneshots are currently on the hill), add one of those of your choice to the benchmark. And you probably want to cull out duplicates, like no need to have two carbonite based stone/imps in your benchmark. Of course, you can't usually benchmark the beginner's hill like that since most of it is unpublished, but if you can get something to do well on a 94 benchmark, it will usually do well on the beginner's hill. -Ben _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com From: "pvk" Subject: Re: Sad newbie attempt at an Imp Bomb Message-ID: Date: Fri, 30 Mar 2001 19:29:48 -0500 MACSNITKOFF wrote in message news:B6EA8BEC.5D4%snitty@mac.com... > Hey, I'm still learning this all, but I can't get my SPL to Split, could > someone help/flame me? > > ;redcode-94 > ;name ImpBomb > ;author Snitty > > > ADD #100, #4 > ADD #100, #4 > MOV 0, @-2 > SPL @-2 > JMP -4 Woah... Ok, well, first thing, let's optimize the thing(peephole optimization, if you want 8): Add #100, #4 Mov 0, @-2 Spl @-2 Jmp -3 Next, well, the warrior won't do anything. The line you are copying is utterly useless, resulting in the death of the process the second cycle the process executes. What you really want is sometihng like: Add #100, 1 Mov imp, 3 Spl @-1 Jmp -3 imp: mov 0, 1 But really, such a program doesn't fare a very good chance, i'd say 8) From: "Leonardo H. Liporati" Subject: Re: Hills on pizza server down? Date: 30 Mar 2001 20:38:16 -0500 Message-ID: <200103302020.PAA24070@gevjon.ttsg.com> At 29/03/01 13:31:00, you wrote: >Does anybody get replies when sending warriors to the >hills on the pizza server. For about three days they seem >to be dead. > >Anybody else experiencing this? > [...snip...] Yes. I sent an email to Pizza's Administrator. Let's wait. Bye, Leonardo. From: birk@andromeda.ociw.edu Subject: Re: modern benchmark Date: 30 Mar 2001 20:38:11 -0500 Message-ID: <200103302029.f2UKTlm19139@andromeda.ociw.edu> "Benjamin Ford" wrote: > The problem with that is that Koenigstuhl doesn't reflect the 'real' hills > too well with the top of its open hill dominated by p-spacers and the 94nop > hill dominated by scanners. In both cases, those are the best warriors to > make huge gains against the 'chaff' warriors and at the same time have low > tie rates against each other. I have to disagree that the (recursive) 'Koenigstuhl' ranks are dominated by the scores against weaker warriors. I did some testing with the function that does the weighting of scores from stronger/weaker program and found a very minimal effect. Even if I change it by large amounts the top programs stay on top (some just change their order slightly). I claim: The Top-Koenigstuhl programs are the best programs written, and are a good general benchmark. BUT, you're right that they might not constitute a good test-group for the current hills. But that's because the hills are very small and usually dominated by some kind of warrior. Christoph (http://andromeda.ociw.edu/COREWAR/koenigstuhl.html) From: Hillis Subject: Re: Sad newbie attempt at an Imp Bomb Date: Fri, 30 Mar 2001 22:06:38 -0500 Message-ID: <3AC549BE.9D8C8D72@erols.com> MACSNITKOFF wrote: > > Hey, I'm still learning this all, but I can't get my SPL to Split, could > someone help/flame me? > snip Welcome 2 general suggestions: - run your warriors in graphical display mode: when you get this closer to what you want you'll get a nice pattern of dots across the screen. - and step through them a line at a time in pmars debugger mode (the "-e" option). Dave Hillis From: "pvk" Subject: Re: Sad newbie attempt at an Imp Bomb Message-ID: <9lcx6.3738$Eg1.752193@wagner.videotron.net> Date: Fri, 30 Mar 2001 22:42:13 -0500 Ransom Smith wrote in message news:slrn9caac8.i3.ransom@localhost.localdomain... > On Sat, 31 Mar 2001 00:13:28 GMT, MACSNITKOFF wrote: > >Hey, I'm still learning this all, but I can't get my SPL to Split, could > >someone help/flame me? > > > > Say, another thing: > > Be comfortable and happy here! > We love our newbies! > Gosh, I remember when I was like that, with the appearance of a constant > expectation of flame or misstepping or some newbies-bane like that. > I wonder how many of us were NOT like that at some point... Well, i hadn't been traumatized yet when i entered r.g.cw 8) From: "Benjamin Ford" Subject: Re: Sad newbie attempt at an Imp Bomb Date: 31 Mar 2001 00:02:58 -0500 Message-ID: From: "MACSNITKOFF" To: "Multiple recipients of list COREWAR-L" Lets look at the code in the core: 0> ADD #100, #4 1> ADD #100, #4 2> MOV 0, @-2 3> SPL @-2 4> JMP -4 First after 0 and 1 execute, their b-fields are each changed to 104. The 2 executes and moves itself to what the b-field of 0 points to which is 0+104 or 104. Next comes 3, its splits to what 1 points to, which is 1+104 or 105. Now in the most likely case, there is nothing at 105 so that process will terminate when its turn comes up. That continues spaced 100 in core, each time, the spl missing the mov. So the spl is spliting, its just nothing it under it to execute after it has done so. Others have already pointed out better code segments for doing this. -Ben Subject: Sad newbie attempt at an Imp Bomb From: MACSNITKOFF Message-ID: Date: Sat, 31 Mar 2001 00:13:28 GMT Hey, I'm still learning this all, but I can't get my SPL to Split, could someone help/flame me? ;redcode-94 ;name ImpBomb ;author Snitty ADD #100, #4 ADD #100, #4 MOV 0, @-2 SPL @-2 JMP -4 Thanks Snitty Message-ID: <3AC518CC.E48B01D1@epix.net> From: Nathan McKenzie Subject: Solution to your Sad newbie attempt at an Imp Bomb Date: Sat, 31 Mar 2001 00:37:15 GMT Here's your code: ADD #100, #4 ADD #100, #4 MOV 0, @-2 SPL @-2 JMP -4 Now I'll pick apart what is happening, It all starts here, where 100 is added to 4 -> ADD #100, #4 ADD #100, #4 This instruction moves itself to a space 104 lines down ---------------------------> MOV 0, @-2 This creates a process and sends it to the copied instruction -------------------------> SPL @-2 JMP -4 104 lines down... Your copied instruction--> MOV 0, @-2 Now when the spl does it's thing the MOV will take the vales of the instruction of another program 2 lines back and move to where it points, meaning a self bombing hazard (i.e. it could bomb itself). Therefore, the bomb never works. Also, the ADD statements add 100 and 4, and it bombs the same spot. If you wanted this, you could omit the adds Here's the corrected version of your program that I made: mov 3, 104 spl 103 ;remember, this instruction is one down from the last jmp -2 mov 0,1 This does what your program does, and the bomb is functional. Brandon From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Sad newbie attempt at an Imp Bomb Message-ID: Date: Sat, 31 Mar 2001 00:46:30 GMT On Sat, 31 Mar 2001 00:13:28 GMT, MACSNITKOFF wrote: >Hey, I'm still learning this all, but I can't get my SPL to Split, could >someone help/flame me? > >;redcode-94 >;name ImpBomb >;author Snitty > > >ADD #100, #4 >ADD #100, #4 >MOV 0, @-2 >SPL @-2 >JMP -4 > Hm. Try this. mov.i #0, @1 add.ab #100, #103 spl @-1, <-4 jmp -3, <-5 If I interpret right, you want imps to appear at intervals of 100 throughout the core. Those imps won't work, really. Let's try this: spl @2, <-5 mov.i 3, @1 add.ab #100, #102 djn.b -3, {-8 mov.i #1, *0 There. It's untested, as yet, but I'll attest to it's cleverity. Remember that the THING is multi-point imp rings. Much cooler. -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. From: ransom@localhost.localdomain (Ransom Smith) Subject: Re: Sad newbie attempt at an Imp Bomb Message-ID: Date: Sat, 31 Mar 2001 00:48:56 GMT On Sat, 31 Mar 2001 00:13:28 GMT, MACSNITKOFF wrote: >Hey, I'm still learning this all, but I can't get my SPL to Split, could >someone help/flame me? > Say, another thing: Be comfortable and happy here! We love our newbies! Gosh, I remember when I was like that, with the appearance of a constant expectation of flame or misstepping or some newbies-bane like that. I wonder how many of us were NOT like that at some point... Welcome, infinitely so! -- [http://www.everything2.com/index.pl?node_id=5913] [foehg@burtonian.com] [http://www.koth.org/] [http://www.nethack.org/] [http://www.slashdot.org/] I reserve the right to be normal, at any time and without notice. Subject: Re: Sad newbie attempt at an Imp Bomb From: MACSNITKOFF Message-ID: Date: Sat, 31 Mar 2001 02:03:58 GMT I'm not going for programs that have a chance, yet. I'm still trying to figure out how the hell to do Redcode. Let me tell you, after 2 years of C++ this is very strange. Writing code that moves around and kills RAM isn't what you are supposed to do. It just seems, err, unnatural! But hell is it fun! Snitty Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 31 Mar 2001 11:40:33 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. ------------------------------------------------------------------------ Subject: Re: Sad newbie attempt at an Imp Bomb From: MACSNITKOFF Message-ID: Date: Sat, 31 Mar 2001 17:43:21 GMT Okay, moving on to the next program, I'm trying to make a dwarf bomb now. . . I can't seem to get a MOV command to move multiple lines. When you use a word as a marker in the program like this: dwarf: ADD #12, #6 SUB #12, #0 MOV 3, @-2 MOV 2, @-2 JMP -4 DAT #33, #33 Is there anyway to get a MOV dwarf, 3 command to move everything shown? Or would I have to do MOV dwarf, 3 MOV dwarf+1, 4 . . . . Thanks Snitty From: Ilmari Karonen Subject: Re: Sad newbie attempt at an Imp Bomb Date: 31 Mar 2001 21:42:16 GMT Message-ID: <986073878.984@itz.pp.sci.fi> In article , MACSNITKOFF wrote: > >dwarf: ADD #12, #6 > SUB #12, #0 > MOV 3, @-2 > MOV 2, @-2 > JMP -4 > DAT #33, #33 > >Is there anyway to get a MOV dwarf, 3 command to move everything shown? Or >would I have to do MOV dwarf, 3 MOV dwarf+1, 4 . . . . Nope. One instruction per cycle is the limit, you can't move data any faster than that. In fact, it's often called "c", as in the symbol for the speed of light in physics. Your code is a 0.4c bomber, since it hits two locations in five cycles. The speed limit for scanning in 2c, and it's actually possible to modify three instructions in one cycle with "MOV