From: "John K. Lewis" Subject: New tourney. Date: 2000/02/01 Message-ID: #1/1 I was thinking about what I'd like to see in the next tourney and this idea came to me. A series of tournaments with increasing size limits. For example, you could have a tourney series where you cycled through restrictions in max length from 2-12. The winner would be the combined score for all rounds. You get the idea. John K. Lewis From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 2000/02/03 Message-ID: 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: Lukasz Adamowski Subject: What about meetings? Date: 2000/02/04 Message-ID: #1/1 A lot of water have flowed since I was on KOTH irc server and I feel I need more. Why there is no more meetings? Lukasz From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 02/07/00 Date: 2000/02/07 Message-ID: <200002070500.AAA19330@gevjon.ttsg.com>#1/1 Weekly Status on 02/07/00 -=- 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 Feb 5 20:46:08 EST 2000 # Name Author Score Age 1 Vagrant 0.3 Simon Duff 58 17 2 Her Majesty P.Kline 34 44 3 D-clearM Ken Espiritu 29 25 4 QuiVa John Metcalf 28 118 5 BiShot v1.0 Christian Schmidt 27 93 6 fclear Brian Haskin 27 9 7 Dracula's Cape Ben Ford 26 3 8 WingShot Ben Ford 22 2 9 Silly Lil' Stone Simon Duff 22 13 10 Quick Hack John Metcalf 21 1 11 EV_13_81 Anonymous 1 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 02/07/00 Date: 2000/02/07 Message-ID: <200002070500.AAA19334@gevjon.ttsg.com>#1/1 Weekly Status on 02/07/00 -=- 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 Jan 30 23:06:15 EST 2000 # %W/ %L/ %T Name Author Score Age 1 54/ 32/ 15 Black Moods Ian Oversby 176 7 2 48/ 29/ 23 Controlled Aggression Ian Oversby 167 11 3 39/ 16/ 45 Venom v0.2b Christian Schmidt 163 33 4 33/ 6/ 61 Evol Cap 4 X John Wilkinson 159 80 5 29/ 3/ 68 Evolve X v4.0 John Wilkinson 156 28 6 33/ 20/ 47 Rosebud Beppe 146 59 7 38/ 37/ 25 Dr. Gate X Franz 139 51 8 36/ 33/ 31 Draken Fire X Ben Ford 138 2 9 26/ 16/ 58 Sphere v0.2 Christian Schmidt 135 22 10 36/ 40/ 24 Stepping Stone 94x Kurt Franke 133 66 11 35/ 37/ 27 BigBoy Robert Macrae 133 105 12 26/ 19/ 55 Purple v0.1 Christian Schmidt 133 32 13 39/ 49/ 12 S.E.T.I. 4-X JKW 129 81 14 30/ 31/ 39 Self-Modifying Code X Ben Ford 129 1 15 36/ 45/ 19 Pagan John K W 128 65 16 32/ 36/ 32 Lithium X 8 John K Wilkinson 127 71 17 36/ 46/ 18 Memories Beppe Bezzi 126 87 18 35/ 45/ 20 Tsunami v0.3 X Ian Oversby 125 5 19 36/ 49/ 14 WingShot Ben Ford 123 3 20 33/ 52/ 15 BiShot Christian Schmidt 115 19 21 20/ 78/ 2 63 0 From: Koth Subject: KOTH.ORG: Status - Standard 02/07/00 Date: 2000/02/07 Message-ID: <200002070500.AAA19326@gevjon.ttsg.com>#1/1 Weekly Status on 02/07/00 -=- 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 Feb 2 07:57:12 EST 2000 # %W/ %L/ %T Name Author Score Age 1 40/ 22/ 38 Freight Train David Moore 157 67 2 38/ 23/ 39 Test Alexander (Sasha) Wa 154 6 3 37/ 24/ 39 Guardian Ian Oversby 151 66 4 37/ 24/ 39 sIMPly.Red v0.95 Leonardo Humberto 151 24 5 43/ 35/ 22 PacMan David Moore 150 96 6 32/ 18/ 50 EV Paper John K Wilkinson 146 80 7 42/ 39/ 18 Beholder's Eye V1.7 W. Mintardjo 145 342 8 33/ 21/ 47 Test I Ian Oversby 145 123 9 42/ 40/ 18 Stasis David Moore 144 174 10 33/ 25/ 42 Shish-Ka-Bob Ben Ford 141 22 11 39/ 36/ 26 Stillborn Bomber v0.2 mjp 141 7 12 43/ 44/ 13 Iron Gate Wayne Sheppard 141 392 13 31/ 24/ 45 Evoltmp 88 John K W 138 117 14 38/ 39/ 23 Tangle Trap David Moore 137 140 15 41/ 46/ 13 Blur '88 Anton Marsden 136 104 16 41/ 46/ 13 Foggy Swamp Beppe Bezzi 135 63 17 35/ 36/ 30 Frog Sticker P.Kline 134 16 18 40/ 49/ 10 Shadow Seeker John Metcalf 131 3 19 40/ 49/ 11 Blurstone '88 M. J. Pihlaja 131 61 20 7/ 86/ 7 qscan alone John Metcalf 28 1 21 4/ 0/ 0 just testing '88 John Metcalf 13 2 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 02/07/00 Date: 2000/02/07 Message-ID: <200002070500.AAA19338@gevjon.ttsg.com>#1/1 Weekly Status on 02/07/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Wed Feb 2 07:43:55 EST 2000 # %W/ %L/ %T Name Author Score Age 1 43/ 41/ 15 Stalker P.Kline 145 48 2 32/ 20/ 48 Uninvited John Metcalf 144 15 3 31/ 20/ 49 nPaper II Paul-V Khuong 143 63 4 42/ 41/ 17 Eraser II Ken Espiritu 142 20 5 31/ 19/ 50 EvoP 3 Ken Espiritu 142 59 6 32/ 23/ 45 Omnibus John Metcalf 141 72 7 41/ 42/ 17 Zooom... John Metcalf 141 199 8 41/ 42/ 17 Boys are Back in Town 1.1 Philip Kendall 141 325 9 42/ 44/ 14 Win! David Moore 141 298 10 42/ 43/ 16 Jinx Christian Schmidt 140 26 11 34/ 28/ 38 Blacken Ian Oversby 139 310 12 32/ 26/ 42 Experimental John Metcalf 139 19 13 29/ 19/ 52 Jade Ben Ford 138 132 14 26/ 15/ 59 Cinammon John Metcalf 137 28 15 42/ 48/ 10 Kenshin Steve Gunnell 137 18 16 28/ 20/ 52 Jaguar Christian Schmidt 136 50 17 29/ 26/ 44 Icen Ben Ford 132 157 18 38/ 45/ 17 Qshot Christian Schmidt 131 69 19 30/ 28/ 42 Ant Factory Christian Schmidt 131 158 20 8/ 83/ 9 qscan alone John Metcalf 32 1 21 4/ 0/ 1 just testing 1 John Metcalf 12 2 From: dweezil@earth.execpc.com (Andrew S Mehlos) Subject: Re: ___->Redcode Compiler Date: 2000/02/08 Message-ID: <38a0507c$0$9006@news.execpc.com>#1/1 WriterDL (writerdl@aol.com) wrote: : Hey all, I'm a fledgeling compiler scientist looking for an interesting : project... A few weeks ago, I stumbled upon Core War, and fell in love with : the concept (still working on my first warrior...I was wondering if anyone : would have any interest in a compiler for a higher level language that compiles : to redcode? : Just my two cents. Any ideas? For coding warriors, in the KOTH sense, it probably wouldn't work real well -- For the non-battle kind of contests(*), though, it might be interesting to work out, especially considering the tiny instruction set... For coding warriors, the psuedo-assembly optimization is the fun part, and I imagine it would be _really_ hard to write a compiler to optimize those, but as someone else mentioned, writing a not-quite-a-compiler to take a given warriors and optimize all the constants would be most useful... (*) eg, writing redcode to do sorts, etc -- not warriors, per se, but actual programs. -- Andrew S. Mehlos | Your desk does not have a steering wheel. ExecPC Internet | Your car does not need a phone. 1-800-EXECPC-1 | From: Ben Ford Subject: Re: ___->Redcode Compiler Date: 2000/02/08 Message-ID: <87o5q6$pba$1@nnrp1.deja.com>#1/1 In article <20000207193026.29130.00000012@ng-ba1.aol.com>, writerdl@aol.com (WriterDL) wrote: > Hey all, I'm a fledgeling compiler scientist looking for an interesting > project... A few weeks ago, I stumbled upon Core War, and fell in love with > the concept (still working on my first warrior...I was wondering if anyone > would have any interest in a compiler for a higher level language that compiles > to redcode? > > Just my two cents. Any ideas? Competitively, I don't think a higher level language would be useful. Once you take out the boot code, the q-scans, the decoys, and/or the p- space, most modern warriors are only around 9-10 lines long. It would be hard to make a higher level language that would be able to compile down so compactly. Its too much of an art with such things as indirection and use of unused fields to hold data. It might work as less of a traditional compiler but more of something that would be able to generate all the boot code, q-scan, decoys, or p-space desired to use with the warrior you write by hand and maybe some sort of constant optimizer. -Ben Sent via Deja.com http://www.deja.com/ Before you buy. From: writerdl@aol.com (WriterDL) Subject: ___->Redcode Compiler Date: 2000/02/08 Message-ID: <20000207193026.29130.00000012@ng-ba1.aol.com>#1/1 Hey all, I'm a fledgeling compiler scientist looking for an interesting project... A few weeks ago, I stumbled upon Core War, and fell in love with the concept (still working on my first warrior...I was wondering if anyone would have any interest in a compiler for a higher level language that compiles to redcode? Just my two cents. Any ideas? From: sieben@imap1.asu.edu Subject: Re: ___->Redcode Compiler Date: 2000/02/09 Message-ID: <87sd9v$gdv$1@news.asu.edu>#1/1 : 2) pretty difficult as Redcode (at least within pMARS) doesn't have : any input/output facilities, apart from the initial warrior loading : and the output scores. There is a workaround for this using macros in the debugger. Nandor. From: Ilmari Karonen Subject: Re: ___->Redcode Compiler Date: 2000/02/09 Message-ID: <87s4ij$827$1@tron.sci.fi>#1/1 On 09 Feb 2000 14:12:20 +0000, Philip Kendall (pak@ast.cam.ac.uk) wrote: : writerdl@aol.com (WriterDL) writes: : > warrior...I was wondering if anyone would have any interest in a : > compiler for a higher level language that compiles to redcode? : 2) pretty difficult as Redcode (at least within pMARS) doesn't have : any input/output facilities, apart from the initial warrior loading : and the output scores. : What sort of language were you thinking of compiling into Redcode? Well, C without any of the standard libraries seems quite possible. -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "Your example is a pathological extreme. But then :) I would expect nothing less in this forum." -- T. Alex Beamish in comp.lang.perl.misc From: Philip Kendall Subject: Re: ___->Redcode Compiler Date: 2000/02/09 Message-ID: #1/1 writerdl@aol.com (WriterDL) writes: > Hey all, I'm a fledgeling compiler scientist looking for an > interesting project... A few weeks ago, I stumbled upon Core War, > and fell in love with the concept (still working on my first > warrior...I was wondering if anyone would have any interest in a > compiler for a higher level language that compiles to redcode? That would look to me like: 1) a neat idea :-) 2) pretty difficult as Redcode (at least within pMARS) doesn't have any input/output facilities, apart from the initial warrior loading and the output scores. What sort of language were you thinking of compiling into Redcode? Phil -- / Philip Kendall \ | http://www.kendalls.demon.co.uk/pak21/index.html | \ Spread css-auth: http://www.ast.cam.ac.uk/~pak/decss.html / From: "Jake B" Subject: I'm sure this is overasked, but I'm new and... Date: 2000/02/10 Message-ID: <9Rpo4.1959$UP1.47780@bgtnsc05-news.ops.worldnet.att.net>#1/1 I've gone through most of the tutorials at koth.org and the FAQ, and was wondering what a beginner is suposed to do. I have had plenty of programming experiance, not much in ASM, but I have had some ASM experiance. most of the tutorials loose me right after they cover dwarf, They go into the $,@, etc symbols, and I do not understand them very well, I understand that # means it's not a pointer, and I think $ (the default) means to look that many spaces forward (or back) and take the value of the a or b thing there? anyway, if you can give me any suggestions on what else to look at, or anything else, I'd realy appreciate it! CoreWar looks like a realy interesting game! (I think you could make big money if you got GameBoy to buy a liscance or somthing ;) -- ~Jake B Founder of jbNet (http://jbnet.cjb.net) From: Paul Kline Subject: Re: Why does Core War `work'? Date: 2000/02/11 Message-ID: <8822fd$kmj@ng1.icn.state.ia.us>#1/1 In article Philip Kendall, pak@ast.cam.ac.uk writes: >What is it that makes Core War a successful game, in the sense that no >one strategy (with the exception of David Moore's handshaking warriors >taking over the entire '94 Hill last year) has ever dominated Core War >for a significant period of time? Interesting question. I don't remember a lot of tweaking when the draft first came out. A number of suggested additions/changes were thrown out by discussion when they were explained to be useless or redundant. Maybe the interest level stays high because any single strategy has a counter- strategy, at least all the ones to-date do. Also, the Hill is a sort of environment with room for lots of life-forms. Overpopulate a Hill with any one program and it creates an environment for an opportunistic author :-) Even David's handshaking programs had to resort to something after the handshake, with a little time we could have driven most of the copies off, though the early replacements would probably all have an "antibody" element to deal with the handshakers. Some might say that q-scanners have been more successful than 'normal', though somewhat reduced at present. Paul Kline pk6811s@acad.drake.edu From: David Parrott Subject: Looking to start with Corewars Date: 2000/02/11 Message-ID: #1/1 Hi all, Anyone point a newbie that wants to start playing corewars in the right direction? -- David Parrott E-mail: xama@quayles1.demon.co.uk ICQ: 13313977 Website: On it's way From: David Matthew Moore Subject: Re: Why does Core War `work'? Date: 2000/02/11 Message-ID: <881j0o$tl2$1@msunews.cl.msu.edu>#1/1 Philip Kendall wrote: : Just wondering... : What is it that makes Core War a successful game, in the sense that no : one strategy has ever dominated Core War for a significant period of time? : Personally, I think a lot of it is to do with the fact that it's well : balanced, in the sense that all of paper, scissors and stones can do : well on the Hill. I've read a similar hypothesis before: From: sieben@imap1.asu.edu Message-ID: <7tojl2$7km$1@news.asu.edu> > > Can anyone give a proof that there is no unbeatable warrior. To make it > precise, I'd say that warrior A does not beat warrior B if warrior B wins > at least as many times as warrior A does if we let them play against each > other in every possible placement. > > Nandor. Players who are familiar with the hill and published warriors can easily find motivation to write new warriors. They simply find a common weakness that can be exploited for points. New weaknesses require the developement of new countermeasures. Paper/Rock/Scissors is an archaic example, but I have a new one. I noticed that '94 hill programs use most of their MAXLENGTH instructions (i.e. they do not compare to core). If you know where the real warrior runs after bootstrap, then you can write a specialized scanner that tracks down the opponent's hide-out and specifically bombs that location (like Paul Kline's "SnowDust"). "Combatra" is such a specialized scanner, pspaced with a bootstrap distance calculator. There are several ways to discover the enemy's bootstrap distance; Combatra is just a rough prototype that doesn't even use the best method :-) David. From: Philip Kendall Subject: Why does Core War `work'? Date: 2000/02/11 Message-ID: #1/1 Just wondering... What is it that makes Core War a successful game, in the sense that no one strategy (with the exception of David Moore's handshaking warriors taking over the entire '94 Hill last year) has ever dominated Core War for a significant period of time? Personally, I think a lot of it is to do with the fact that it's well balanced, in the sense that all of paper, scissors and stones can do well on the Hill, as opposed to a lot of modern PC strategy-type games, where there always seems to be one or two tactics which are significantly better in most situations than any other tactic. However, the above just leads to another question: how did this balance occur -- how much `tweaking' went on when the '94 Draft was written to ensure that no one strategy could take over? As you may be able to tell, it's Friday afternoon, at least here in Britain... Cheers, Phil -- / Philip Kendall \ | http://www.kendalls.demon.co.uk/pak21/index.html | | Spread css-auth: http://www.ast.cam.ac.uk/~pak/decss.html | \ Astro-E: Rest In Peace / From: Philip Kendall Subject: Re: I'm sure this is overasked, but I'm new and... Date: 2000/02/11 Message-ID: #1/1 "Jake B" writes: > most of the tutorials loose me right after they cover dwarf, They go into > the $,@, etc symbols, and I do not understand them very well, I understand > that # means it's not a pointer, and I think $ (the default) means to look > that many spaces forward (or back) and take the value of the a or b thing > there? A couple of quick examples may (or may not) help here: a) MOV.I #1234, $1 means MOVe (*) the entire instruction (.I) from the immediate location (#1234 -- note that the `1234' doesn't matter here) to the current location plus 1 ($1). (*) mov is many senses copies rather than moves in that the original instruction isn't `deleted' in any way; this is basically a historical accident in that many assemblers use the same mnemonic. b) MOV.I $4, $3 will move the entire instruction from the current location plus 4 to the current location plus 3. c) MOV.I $2, #5678 will copy the entire instruction from the current location plus 2 ($2) to the current location (#anything). d) MOV.I #1234, #5678 will copy the entire instruction from the current location (#) to the current location (#). Or in other words, do nothing. > anyway, if you can give me any suggestions on what else to look at, or > anything else, I'd realy appreciate it! I'd always suggest reading Steve Bailey's Guide for Beginner's (http://www.koth.org/sgb/) and Ilmari Karonen's Beginner's Guide to Redcode (http://www.sci.fi/~iltzu/corewar/guide.html) HTH, Phil -- / Philip Kendall \ | http://www.kendalls.demon.co.uk/pak21/index.html | | Spread css-auth: http://www.ast.cam.ac.uk/~pak/decss.html | \ Astro-E: Rest In Peace / From: "Ransom Smith" Subject: Re: Looking to start with Corewars Date: 2000/02/12 Message-ID: #1/1 I'd always suggest reading Steve Bailey's Guide for Beginner's (http://www.koth.org/sgb/) and Ilmari Karonen's Beginner's Guide to Redcode (http://www.sci.fi/~iltzu/corewar/guide.html) *I'd like to take a moment to thank Phillip Kendall. I'm to lazy to type all this, so I'm using the one he typed, in the message right below. Thanks. From: "Morton" Subject: Re: Newbie (my warrior) Date: 2000/02/12 Message-ID: <38a4d58f.0@news.acay.com.au>#1/1 i just made my first self splitting warrior (similar to paper) and it was pretty simple.. not that good caus i'm a shit little newbie at this hehe ;name Splice 2000 ;password evil ;strategy My first half-decent warrior. ;assert CORESIZE == 8000 && MAXLENGTH >= 100 spl 0 xm1 add 3, #20 mov xm1, #20 mov xm2, #10 mov xm3, #25 jmp -3 xm2 add 2, #3 mov xm3,#2 mov xm3,#-2 jmp -2 xm3 dat #1,#1 dat #1,#1 dat #1,#1 Josh Yeager wrote in message news:01bf2205$f41ebfe0$ad5a2581@compuwhiz-s-pc... > > I would have a go at developing your bomber, because in > > some ways they are the simplext kind of warriors to > > understand. Replicators are more complex. > > I've been here over a year and I STILL can't get a paper to > work!!!! > > Josh From: "Morton" Subject: Re: Newbie Question (What's wrong with this picture) Date: 2000/02/12 Message-ID: <38a4d4be.0@news.acay.com.au>#1/1 a vamp warrior usually movs a JMP into an opponent's program so that it movs a dat all over itself.. real cool.. Paul Mumby wrote in message news:381617A4.2F5E@crosswinds.net... > Hello again... I have revised my warrior, and would like to know what is > wrong with the code... once again I know that it probably is a really > bad warrior, but that is ok... I will fix that later, right now I need > to know why it is not working and how to fix it... I think it is simply > a number or two being off or something... > > could somebody help me out here? > > Also: How do you make an imp gate? what is the theory behind it? > and how do you do anti-imp bombs properly? > > Also: What is a Vamp??? what is the definition of it? :) > > sorry for asking so many questions :) I am just eager to learn :) > thanks! > > Here is my current warrior: > > ;redcode-94x verbose > ;name Glasswalker V1.0 > ;author Paul Mumby > ;strategy Silk based Paper, with a dual mode stone (attempted anti-imp) > ;assert CORESIZE >= 10000 && MAXLENGTH >= 75 > > bootstrap spl bomber, 150 ;Boot the bomber > spl rbomber,<500 ;Boot the reverse bomber > jmp rep, <550 ;Goto the replicator > > decoy1 for 21 ;A decoy > jmp 0, <0 ; > rof ; > > rep spl 1, <600 ;\ > spl 1, <650 ; \ > spl 1, <700 ; \ > spl 1, <850 ; / Create 62 processes > spl 1, <900 ; / > mov -1, 0 ;/ > silk spl.a @-9, 121 ;Silk based Copy > mov.i }silk, >silk ;Silk based Copy > > bomber add #300, btarget ;Add to bomb target > mov bomb, @btarget ;BOMBS AWAY! > spl bomber, <500 ;Spawn new bomber > jmp bomber, <800 ;Restart > > decoy2 for 20 ;Another decoy > jmp 0, <-1 ; > rof ; > > rbomber sub #300, rbtarget ;Subtract from bomb target > mov bomb, $rbtarget ;BOMBS AWAY! > spl rbomber,<600 ;Spawn a new bomber > jmp rbomber,<700 ;Restart > > bomb dat {-1, {0 ;Bomb Data (attmpted anti-imp) > btarget dat #0, #0 ;Target variable. > rbtarget dat #0, #0 ;Other Target variable. From: jkw@koth.org Subject: Re: Why does Core War `work'? Date: 2000/02/13 Message-ID: <4.1.20000213220359.009dd620@pop-server>#1/1 >Also, the Hill is a sort of environment with room for lots of life-forms. >Overpopulate a Hill with any one program and it creates an environment for >an opportunistic author :-) Even David's handshaking programs had to >resort >to something after the handshake, with a little time we could have driven >most of the copies off, though the early replacements would probably all >have an "antibody" element to deal with the handshakers. That's sort of an anomoly, as the idea of the Hill was basically understood to have some sort of small limit as to the number of warriors any one person should submit... :/ >Some might say that q-scanners have been more successful than 'normal', >though somewhat reduced at present. Yea but q scanners have the effect of raising your score, without usually hurting your opponents score much... -jkw From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 02/14/00 Date: 2000/02/14 Message-ID: <200002140500.AAA09305@gevjon.ttsg.com>#1/1 Weekly Status on 02/14/00 -=- 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 Feb 5 20:46:08 EST 2000 # Name Author Score Age 1 Vagrant 0.3 Simon Duff 58 17 2 Her Majesty P.Kline 34 44 3 D-clearM Ken Espiritu 29 25 4 QuiVa John Metcalf 28 118 5 BiShot v1.0 Christian Schmidt 27 93 6 fclear Brian Haskin 27 9 7 Dracula's Cape Ben Ford 26 3 8 WingShot Ben Ford 22 2 9 Silly Lil' Stone Simon Duff 22 13 10 Quick Hack John Metcalf 21 1 11 EV_13_81 Anonymous 1 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 02/14/00 Date: 2000/02/14 Message-ID: <200002140500.AAA09309@gevjon.ttsg.com>#1/1 Weekly Status on 02/14/00 -=- 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 Jan 30 23:06:15 EST 2000 # %W/ %L/ %T Name Author Score Age 1 54/ 32/ 15 Black Moods Ian Oversby 176 7 2 48/ 29/ 23 Controlled Aggression Ian Oversby 167 11 3 39/ 16/ 45 Venom v0.2b Christian Schmidt 163 33 4 33/ 6/ 61 Evol Cap 4 X John Wilkinson 159 80 5 29/ 3/ 68 Evolve X v4.0 John Wilkinson 156 28 6 33/ 20/ 47 Rosebud Beppe 146 59 7 38/ 37/ 25 Dr. Gate X Franz 139 51 8 36/ 33/ 31 Draken Fire X Ben Ford 138 2 9 26/ 16/ 58 Sphere v0.2 Christian Schmidt 135 22 10 36/ 40/ 24 Stepping Stone 94x Kurt Franke 133 66 11 35/ 37/ 27 BigBoy Robert Macrae 133 105 12 26/ 19/ 55 Purple v0.1 Christian Schmidt 133 32 13 39/ 49/ 12 S.E.T.I. 4-X JKW 129 81 14 30/ 31/ 39 Self-Modifying Code X Ben Ford 129 1 15 36/ 45/ 19 Pagan John K W 128 65 16 32/ 36/ 32 Lithium X 8 John K Wilkinson 127 71 17 36/ 46/ 18 Memories Beppe Bezzi 126 87 18 35/ 45/ 20 Tsunami v0.3 X Ian Oversby 125 5 19 36/ 49/ 14 WingShot Ben Ford 123 3 20 33/ 52/ 15 BiShot Christian Schmidt 115 19 21 20/ 78/ 2 63 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 02/14/00 Date: 2000/02/14 Message-ID: <200002140500.AAA09315@gevjon.ttsg.com>#1/1 Weekly Status on 02/14/00 -=- 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 Feb 12 04:58:38 EST 2000 # %W/ %L/ %T Name Author Score Age 1 33/ 20/ 47 Uninvited John Metcalf 146 20 2 44/ 42/ 14 Stalker P.Kline 146 53 3 31/ 19/ 49 nPaper II Paul-V Khuong 144 68 4 42/ 42/ 16 Eraser II Ken Espiritu 142 25 5 31/ 19/ 50 EvoP 3 Ken Espiritu 142 64 6 42/ 42/ 16 Boys are Back in Town 1.1 Philip Kendall 141 330 7 32/ 23/ 45 Omnibus John Metcalf 141 77 8 33/ 26/ 41 Experimental John Metcalf 141 24 9 41/ 42/ 16 Zooom... John Metcalf 140 204 10 42/ 44/ 13 Win! David Moore 140 303 11 34/ 28/ 38 Blacken Ian Oversby 140 315 12 29/ 19/ 52 Jade Ben Ford 140 137 13 26/ 14/ 59 Cinammon John Metcalf 138 33 14 28/ 20/ 52 Jaguar Christian Schmidt 137 55 15 40/ 44/ 16 Jinx Christian Schmidt 137 31 16 42/ 48/ 10 Kenshin Steve Gunnell 136 23 17 30/ 26/ 44 Icen Ben Ford 134 162 18 31/ 28/ 42 Ant Factory Christian Schmidt 134 163 19 37/ 46/ 16 Qshot Christian Schmidt 128 74 20 10/ 88/ 2 Wumpus .O. 32 1 21 5/ 0/ 0 more testing 2 John Metcalf 14 2 From: "John K. Lewis" Subject: Re: Why does Core War `work'? Date: 2000/02/14 Message-ID: #1/1 jkw@koth.org wrote: > >Some might say that q-scanners have been more successful than 'normal', > >though somewhat reduced at present. > Yea but q scanners have the effect of raising your score, without usually > hurting your opponents score much... I think that q-scanners are opt-in strategies. When you include a q-scanner, you're basically joining in with all other q-scanners on the hill in a co-opt points exchange. Since you trade wins with q-scanners this strategy works well with other strategies that would normally tie. Tie's don't get you on the hill, but trading wins and tieing everything else will. John K. Lewis From: Koth Subject: KOTH.ORG: Status - Standard 02/14/00 Date: 2000/02/14 Message-ID: <200002140500.AAA09301@gevjon.ttsg.com>#1/1 Weekly Status on 02/14/00 -=- 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 Feb 2 07:57:12 EST 2000 # %W/ %L/ %T Name Author Score Age 1 40/ 22/ 38 Freight Train David Moore 157 67 2 38/ 23/ 39 Test Alexander (Sasha) Wa 154 6 3 37/ 24/ 39 Guardian Ian Oversby 151 66 4 37/ 24/ 39 sIMPly.Red v0.95 Leonardo Humberto 151 24 5 43/ 35/ 22 PacMan David Moore 150 96 6 32/ 18/ 50 EV Paper John K Wilkinson 146 80 7 42/ 39/ 18 Beholder's Eye V1.7 W. Mintardjo 145 342 8 33/ 21/ 47 Test I Ian Oversby 145 123 9 42/ 40/ 18 Stasis David Moore 144 174 10 33/ 25/ 42 Shish-Ka-Bob Ben Ford 141 22 11 39/ 36/ 26 Stillborn Bomber v0.2 mjp 141 7 12 43/ 44/ 13 Iron Gate Wayne Sheppard 141 392 13 31/ 24/ 45 Evoltmp 88 John K W 138 117 14 38/ 39/ 23 Tangle Trap David Moore 137 140 15 41/ 46/ 13 Blur '88 Anton Marsden 136 104 16 41/ 46/ 13 Foggy Swamp Beppe Bezzi 135 63 17 35/ 36/ 30 Frog Sticker P.Kline 134 16 18 40/ 49/ 10 Shadow Seeker John Metcalf 131 3 19 40/ 49/ 11 Blurstone '88 M. J. Pihlaja 131 61 20 7/ 86/ 7 qscan alone John Metcalf 28 1 21 4/ 0/ 0 just testing '88 John Metcalf 13 2 From: "Robert Macrae" Subject: Re: Newbie Question (What's wrong with this picture) Date: 2000/02/15 Message-ID: <88bu1e$k2g$1@lure.pipex.net>#1/1 > > Hello again... I have revised my warrior, and would like to know what is > > wrong with the code... ... > > ;redcode-94x verbose > > ;name Glasswalker V1.0 > > ;author Paul Mumby > > ;strategy Silk based Paper, with a dual mode stone (attempted anti-imp) > > ;assert CORESIZE >= 10000 && MAXLENGTH >= 75 > > > > bootstrap spl bomber, 150 ;Boot the bomber > > spl rbomber,<500 ;Boot the reverse bomber > > jmp rep, <550 ;Goto the replicator > > > > decoy1 for 21 ;A decoy > > jmp 0, <0 ; > > rof ; > > > > rep spl 1, <600 ;\ > > spl 1, <650 ; \ > > spl 1, <700 ; \ > > spl 1, <850 ; / Create 62 processes > > spl 1, <900 ; / > > mov -1, 0 ;/ Should be 63 processes? > > silk spl.a @-9, 121 ;Silk based Copy > > mov.i }silk, >silk ;Silk based Copy Against Quickscanners you will have been hit before you ever reach here. Even scanners and oneshots have a good chance to hit you in 200-odd cycles, and you don't need nearly 63 processes for a Silk. Try about 8 or 9, and copy a smaller payload! Also, if you use at two stages of Silk copiers (SPL/MOV/SPL/MOV) you will get better coverage of core. Because Silks split so fast, even with the SPL in your bombers they will be effectively stunned, so I'm not sure they are much help to your warrior. Concentrate on the Silk first. > > > > bomber add #300, btarget ;Add to bomb target 300 is an unusual step for a bomber, because in an 8000-length core you will only bomb 80 different locations (100, 200, 300...) before you start repeating. Try something like 17 or 104. > > mov bomb, @btarget ;BOMBS AWAY! > > spl bomber, <500 ;Spawn new bomber > > jmp bomber, <800 ;Restart > > > > decoy2 for 20 ;Another decoy > > jmp 0, <-1 ; > > rof ; > > > > rbomber sub #300, rbtarget ;Subtract from bomb target > > mov bomb, $rbtarget ;BOMBS AWAY! > > spl rbomber,<600 ;Spawn a new bomber > > jmp rbomber,<700 ;Restart > > > > bomb dat {-1, {0 ;Bomb Data (attmpted anti-imp) > > btarget dat #0, #0 ;Target variable. > > rbtarget dat #0, #0 ;Other Target variable. It is a minor point in this warrior, but your first two bombs hit btarget and rbtarget, which is a waste. Use some starting pointer other than 0. Robert Macrae From: M Joonas Pihlaja Subject: Re: Why does Core War `work'? Date: 2000/02/15 Message-ID: #1/1 On 11 Feb 2000, Philip Kendall wrote: > Personally, I think a lot of it is to do with the fact that it's well > balanced, in the sense that all of paper, scissors and stones can do > well on the Hill, as opposed to a lot of modern PC strategy-type > games, where there always seems to be one or two tactics which are > significantly better in most situations than any other tactic. One thing that makes Core War interesting is that it changes all the time. Consider the strategies two years ago -- Alladin's Cave made p^2 the really hip thing, p-spacers flourished and (almost) vanished, and then the defensives took over the -94 hill. Ok, admittedly for a while (later -98) things weren't exactly sizzling, but small steps in technology were made all the same, as evidenced in Core Warrior. Glossing over the hill collapse.... Since the aftermath we had an explosion in P^3, silk/imps, Q^3, imp launchers, new dwarves... and new players! Collapse /did/ make the game more accessible. New ideas flourish and old ones are refined when code is published. This should be the natural order of things in Core War. Lazyness breeds loopholes, overwhelming difficulties breed innovation, and flexing some redcoding muscle makes us feel good. Joonas From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 02/21/00 Date: 2000/02/21 Message-ID: <200002210500.AAA09607@gevjon.ttsg.com>#1/1 Weekly Status on 02/21/00 -=- 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 : Sun Feb 20 17:26:23 EST 2000 # Name Author Score Age 1 Vagrant 0.3 Simon Duff 51 17 2 Her Majesty P.Kline 40 44 3 BiShot v1.0 Christian Schmidt 32 93 4 fclear Brian Haskin 31 9 5 Dracula's Cape Ben Ford 27 3 6 WingShot Ben Ford 23 2 7 Silly Lil' Stone Simon Duff 23 13 8 D-clearM Ken Espiritu 22 25 9 QuiVa John Metcalf 19 118 10 Quick Hack John Metcalf 18 1 11 The Worm Lukasz Adamowski 0 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 02/21/00 Date: 2000/02/21 Message-ID: <200002210500.AAA09611@gevjon.ttsg.com>#1/1 Weekly Status on 02/21/00 -=- 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 Jan 30 23:06:15 EST 2000 # %W/ %L/ %T Name Author Score Age 1 54/ 32/ 15 Black Moods Ian Oversby 176 7 2 48/ 29/ 23 Controlled Aggression Ian Oversby 167 11 3 39/ 16/ 45 Venom v0.2b Christian Schmidt 163 33 4 33/ 6/ 61 Evol Cap 4 X John Wilkinson 159 80 5 29/ 3/ 68 Evolve X v4.0 John Wilkinson 156 28 6 33/ 20/ 47 Rosebud Beppe 146 59 7 38/ 37/ 25 Dr. Gate X Franz 139 51 8 36/ 33/ 31 Draken Fire X Ben Ford 138 2 9 26/ 16/ 58 Sphere v0.2 Christian Schmidt 135 22 10 36/ 40/ 24 Stepping Stone 94x Kurt Franke 133 66 11 35/ 37/ 27 BigBoy Robert Macrae 133 105 12 26/ 19/ 55 Purple v0.1 Christian Schmidt 133 32 13 39/ 49/ 12 S.E.T.I. 4-X JKW 129 81 14 30/ 31/ 39 Self-Modifying Code X Ben Ford 129 1 15 36/ 45/ 19 Pagan John K W 128 65 16 32/ 36/ 32 Lithium X 8 John K Wilkinson 127 71 17 36/ 46/ 18 Memories Beppe Bezzi 126 87 18 35/ 45/ 20 Tsunami v0.3 X Ian Oversby 125 5 19 36/ 49/ 14 WingShot Ben Ford 123 3 20 33/ 52/ 15 BiShot Christian Schmidt 115 19 21 20/ 78/ 2 63 0 From: Koth Subject: KOTH.ORG: Status - Standard 02/21/00 Date: 2000/02/21 Message-ID: <200002210500.AAA09603@gevjon.ttsg.com>#1/1 Weekly Status on 02/21/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Sun Feb 20 19:13:18 EST 2000 # %W/ %L/ %T Name Author Score Age 1 37/ 20/ 43 Freight Train David Moore 154 69 2 36/ 20/ 44 Test Alexander (Sasha) Wa 151 8 3 44/ 38/ 18 Beholder's Eye V1.7 W. Mintardjo 151 344 4 44/ 38/ 18 Stasis David Moore 149 176 5 45/ 42/ 13 Iron Gate Wayne Sheppard 148 394 6 34/ 22/ 44 Guardian Ian Oversby 147 68 7 41/ 36/ 23 PacMan David Moore 146 98 8 34/ 22/ 44 sIMPly.Red v0.95 Leonardo Humberto 145 26 9 43/ 44/ 14 Foggy Swamp Beppe Bezzi 142 65 10 38/ 35/ 27 Stillborn Bomber v0.2 mjp 142 9 11 39/ 38/ 23 Tangle Trap David Moore 141 142 12 42/ 44/ 13 Blur '88 Anton Marsden 141 106 13 27/ 16/ 56 EV Paper John K Wilkinson 138 82 14 29/ 20/ 52 Test I Ian Oversby 138 125 15 42/ 47/ 11 Blurstone '88 M. J. Pihlaja 137 63 16 29/ 22/ 49 Shish-Ka-Bob Ben Ford 136 24 17 42/ 47/ 11 Shadow Seeker John Metcalf 136 5 18 28/ 22/ 50 Evoltmp 88 John K W 134 119 19 32/ 34/ 34 Frog Sticker P.Kline 131 18 20 8/ 41/ 51 lemmings 4 Kirk Gorden 76 1 21 2/ 71/ 28 Vamp 11 v1.1 Kirk R. Gorden 33 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 02/21/00 Date: 2000/02/21 Message-ID: <200002210500.AAA09615@gevjon.ttsg.com>#1/1 Weekly Status on 02/21/00 -=- 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 Feb 19 00:45:08 EST 2000 # %W/ %L/ %T Name Author Score Age 1 43/ 42/ 14 Eraser II Ken Espiritu 145 30 2 43/ 43/ 14 Stalker P.Kline 144 58 3 43/ 43/ 14 Boys are Back in Town 1.1 Philip Kendall 142 335 4 42/ 43/ 15 Zooom... John Metcalf 142 209 5 44/ 47/ 8 Kenshin Steve Gunnell 141 28 6 42/ 43/ 14 Jinx Christian Schmidt 141 36 7 30/ 20/ 50 nPaper II Paul-V Khuong 140 73 8 30/ 21/ 49 Uninvited John Metcalf 140 25 9 42/ 46/ 12 Win! David Moore 138 308 10 29/ 20/ 51 EvoP 3 Ken Espiritu 138 69 11 41/ 45/ 14 Qshot Christian Schmidt 137 79 12 33/ 29/ 38 Blacken Ian Oversby 136 320 13 30/ 24/ 46 Omnibus John Metcalf 136 82 14 32/ 27/ 41 Ant Factory Christian Schmidt 136 168 15 31/ 27/ 42 Experimental John Metcalf 135 29 16 27/ 20/ 53 Jade Ben Ford 135 142 17 40/ 46/ 13 vamp/scan test 7 Ken Espiritu 134 1 18 24/ 15/ 61 Cinammon John Metcalf 132 38 19 26/ 21/ 53 Jaguar Christian Schmidt 131 60 20 28/ 26/ 46 Icen Ben Ford 130 167 21 5/ 48/ 47 lemmings 4 Kirk Gorden 63 0 From: Frederick.C.Strathmeyer@Dartmouth.EDU (Frederick C. Strathmeyer) Subject: Two pMARS questions... Date: 2000/02/22 Message-ID: <27888778@dasher.Dartmouth.EDU>#1/1 1. Is there a page anywhere which explains the text "graphics" of pMARSv? 2. Is there a Win95/98 pMARS anywhere which allows you to load up tournements and battles and also displays the battles in Win95... I'm aware that pmarsv works, but I find moving in and out of the DOS window particularly annoying... thanks. From: Lukasz Adamowski Subject: Another hill Date: 2000/02/23 Message-ID: #1/1 I have opened new core war hill, but only for Poland (or someone who knows Polish). It's on my page: if.pw.edu.pl/~adamow/corewar. It's still unfinished, I have to make some conditions and rules about earning points. There are two hills: duels hill and battle hill (multiwarrior). All received warrior will be put into both of them. The e-mail address is adamow@if.pw.edu.pl with PZPR in the subject. Rest like in pMARS. PZPR means Pagorek Zwyciezcow Potyczek Rdzeniowych (in English: Hill of Winner of Core Skirmishes (?)) Everything is in Polish, so most of people won't understand anything, but I am not able to write English version, I'm affraid. Anyway I think we can add new link to KOTH. Lukasz Adamowski BTW what about meetings? I couldn't be on irc 2 week ago, because I had holidays and I went home. From: Lukasz Adamowski Subject: Re: Two pMARS questions... Date: 2000/02/23 Message-ID: #1/1 On Wed, 23 Feb 2000, Ransom Smith wrote: > > Frederick C. Strathmeyer wrote in > message news:27888778@dasher.Dartmouth.EDU... > > 1. Is there a page anywhere which explains the text "graphics" of pMARSv? > > I haven't seen one, but it's in some of the attached documentation. I think > that would be PMARS.DOC. When in doubt, anything but pmars.exe and > pmarsv.exe is editable in the text editor of your choice. (say, notepad.) > Briefly, as follows: > > All spots are color-coded to show which warrior hits where -- blue==warrior > 0 (first one loaded), green==warrior 1 (second one loaded), and so on. You > get the idea. > > A number (0, 1, 2, etc.) shows that the program executed an instruction at > this location. The number is the number of the warrior. If your warrior JMPs > to a location, it's colored number will show up there. While the coloring > and numbering are redundant here, it does help. If this number is flashing > white, it means the statement executed was a DAT. > > A dot (like . but bigger, and centered) means "instruction written to". This > shows where a MOV command hits. > > a plus (+) shows autoincrement/postdecrement. If a warrior does a <, >, {, > or } on a location, like for an imp-gate, this is the symbol used. > > a minus or dash (-) shows increment/decrement. Usually these come in rows > for DJN-trains, ("DJN #x, {0") > > a small dot (kind of like ., but I think centered) shows instruction read. > This is used for SNE, SEQ, CMP, JMZ, and @ and * references. > > I'm not sure what the symbol is for arithmetical operation (ADD, SUB, MUL, > DIV, MOD). Either big dot, +, or - sounds right. > > > 2. Is there a Win95/98 pMARS anywhere which allows you to load up > tournements > > and battles and also displays the battles in Win95... I'm aware that > pmarsv > > works, but I find moving in and out of the DOS window particularly > annoying... > > Can't help ya' there. I took it off my pentium and put it on my 386 so that > I didn't mess w/ windows, and it went slow enough to watch. Which reminds > me: If your computer is too fast, (like mine, is 300MHz) then you will only > see the display for the end of a battle; the rest of it will flash by before > you know it. Get a slower computer, I guess. It really does help in > debugging. > Maybe someone can change pMARS source to fix this problem, but I think there's a way to set delay time. I often use "skip" to displaying slower then normal but faster then debugging. The only problem is that I have to hold ENTER pressed. :) As for documentation for graphics in pMARS I believe everything is somewhere in text files. Check all of them, not only pmars.doc. Lukasz From: "Ransom Smith" Subject: Re: Two pMARS questions... Date: 2000/02/23 Message-ID: #1/1 Frederick C. Strathmeyer wrote in message news:27888778@dasher.Dartmouth.EDU... > 1. Is there a page anywhere which explains the text "graphics" of pMARSv? I haven't seen one, but it's in some of the attached documentation. I think that would be PMARS.DOC. When in doubt, anything but pmars.exe and pmarsv.exe is editable in the text editor of your choice. (say, notepad.) Briefly, as follows: All spots are color-coded to show which warrior hits where -- blue==warrior 0 (first one loaded), green==warrior 1 (second one loaded), and so on. You get the idea. A number (0, 1, 2, etc.) shows that the program executed an instruction at this location. The number is the number of the warrior. If your warrior JMPs to a location, it's colored number will show up there. While the coloring and numbering are redundant here, it does help. If this number is flashing white, it means the statement executed was a DAT. A dot (like . but bigger, and centered) means "instruction written to". This shows where a MOV command hits. a plus (+) shows autoincrement/postdecrement. If a warrior does a <, >, {, or } on a location, like for an imp-gate, this is the symbol used. a minus or dash (-) shows increment/decrement. Usually these come in rows for DJN-trains, ("DJN #x, {0") a small dot (kind of like ., but I think centered) shows instruction read. This is used for SNE, SEQ, CMP, JMZ, and @ and * references. I'm not sure what the symbol is for arithmetical operation (ADD, SUB, MUL, DIV, MOD). Either big dot, +, or - sounds right. > 2. Is there a Win95/98 pMARS anywhere which allows you to load up tournements > and battles and also displays the battles in Win95... I'm aware that pmarsv > works, but I find moving in and out of the DOS window particularly annoying... Can't help ya' there. I took it off my pentium and put it on my 386 so that I didn't mess w/ windows, and it went slow enough to watch. Which reminds me: If your computer is too fast, (like mine, is 300MHz) then you will only see the display for the end of a battle; the rest of it will flash by before you know it. Get a slower computer, I guess. It really does help in debugging. From: pk Subject: Re: Two pMARS questions... Date: 2000/02/24 Message-ID: <38B5D770.7DA31331@videotron.ca>#1/1 Lukasz Adamowski wrote: > > On Wed, 23 Feb 2000, Ransom Smith wrote: > > > > > Frederick C. Strathmeyer wrote in > > message news:27888778@dasher.Dartmouth.EDU... > > > 2. Is there a Win95/98 pMARS anywhere which allows you to load up > > tournements > > > and battles and also displays the battles in Win95... I'm aware that > > pmarsv > > > works, but I find moving in and out of the DOS window particularly > > annoying... > > > > Can't help ya' there. I took it off my pentium and put it on my 386 so that > > I didn't mess w/ windows, and it went slow enough to watch. Which reminds > > me: If your computer is too fast, (like mine, is 300MHz) then you will only > > see the display for the end of a battle; the rest of it will flash by before > > you know it. Get a slower computer, I guess. It really does help in > > debugging. > > > Maybe someone can change pMARS source to fix this problem, but I think > there's a way to set delay time. > I often use "skip" to displaying slower then normal but faster then > debugging. The only problem is that I have to hold ENTER pressed. :) > As for documentation for graphics in pMARS I believe everything is > somewhere in text files. Check all of them, not only pmars.doc. > Lukasz Well, u could get slomo.zip, there's an executable in it that slows ur cpu down... i dunno if it's good 4 windoze(even though win is already pretty slow 8), though 8( And, there's a win95 version of pmarsv, also... in fact, i've found 2 different, i think:pmarsv286 and pmarsv... one is for 286s, so that windows doesn't tell u it has to be ran in dos mode, i think, and the other is a console mode win95 exe... -- Vive le Qu�bec libre!! Des souverainistes AKA paul_virak_khuong at yahoo.com, pkhuong at deja.com, pkhuong at crosswinds.net and pkhuong at technologist.com(list not complete)... From: jkw@koth.org Subject: IRC Meeting... Topic: Tournament Date: 2000/02/25 Message-ID: <4.1.20000225203740.0094d2c0@pop-server>#1/1 Sunday, Feb 27th, 10-11pm GMT... /server irc.koth.org /join #corewars We should discuss the organization of a tournament, ie, types of rounds, elimination methods, etc... anyone that would be interesting in participating in a tourney should probably be there if they want to make it happen. :) -jkw From: pk Subject: Re: compiling a procedural language into redcode Date: 2000/02/25 Message-ID: <38B72B17.9F9B9E55@videotron.ca> M Joonas Pihlaja wrote: > > I was thinking about a suitable way to implement in redcode the > run time support a high level language needs. Redcode is so > rudimentary I imagine it would be difficult to work with. What > would be a suitable intermediate form for the compiler to work > with? > > Having a slightly higher level VM to target is simpler than > compiling straight into redcode. The simple VM in turn would be > easier to implement in redcode too. i don't know... the vm work could be all done before echoing a recode program... for the vm, i'd do something like IP: dat 1,0 ;instruction dat mov2b-switch, 0 dat 1, 2 ;it just copies line 1 over line 2... ;it requires a special kind of thinking, a bit like for first assemblers, where you had to use numbers, and ;calcualte addresses manually... ;parser p: mov.a }IP, 1 j: jmp 0,0 mov2b:add.f }IP, 1 mov.f ip, ip mov.f 2, -1 jmp p dat ip-2, ip-2 etc... atleast, it's a real vm! ;-) it's pretty fast, it's a real vm, it's not relative addressing, but it could... i didn't do stack, but it'd be just like doing other [mnemonics] > Joonas > > For kicks here's the slowest sort ever to be implemented in > redcode. > > ;redcode > ;name stack stuff > ;author mjp > ;assert 1 > load0 z for 0 > rof > > org main > > ; implements common stack machine primitives and mixed > ; red/stack code example. > > ; One stack for data and the other for return addresses. Makes > ; things simpler when you don't have to manage the return address > ; around data. The stack cell .b fields are the ones that hold > ; actual data, with .a fields being ignored. > > sp equ (load0-1000) ; data stack pointer > rsp equ (load0+4000) ; return stack pointer > ip equ CURLINE ; instruction pointer > > ; use 'ADR lab' for the absolute address of label 'lab' > ADR equ -load0 + > > ;;-- data stack operations > ;; > > ; > ; implemented as macros (some of which take arguments) > ; > ; stack effect > DUP equ mov.b @sp , DROP equ nop >sp ; (n --() > DROP2 equ add #2 , sp ; (n2 n1 -- ) > > DROPN equ mov >sp , #0 ; ( nk ... n1 k -- ) > equ add.b -1 , sp > > SWAP equ mov.b >sp , #0 ; (n2 n1 -- n1 n2) > equ mov.b >sp , #0 > equ mov.b -2 , equ mov.b -2 , > DUP2 equ mov.b sp , sp+2 ; (n2 n1 -- n2 n1 n2 n1) > equ mov.b equ mov.b > ROT equ mov.b sp , sp+2 ; (n3 n2 n1 -- n2 n1 n3) > equ mov.ba @sp+2 , equ mov.b >sp+2 , @sp+2 > equ mov.b @sp , equ mov.ab @sp+2 , @sp > > OVER equ mov.b sp , sp+1 ; (n2 n1 -- n2 n1 n2) > equ mov.b @sp+1 , > PICK equ mov.ba 3 , sp ; dups the nth cell down from > equ add.ba sp , sp ; top of stack. eg. > equ mov #sp-1 , 1 ; PICK 0 is the same as DUP > equ mov.b *sp , < ; PICK 1 is the same as OVER > > PLUS equ add.b >sp , @sp ; (n2 n1 -- n2 n1) > MINUS equ sub.b >sp , @sp > TIMES equ mul.b >sp , @sp > REM equ mod.b >sp , @sp > DIVIDE equ div.b >sp , @sp > > NEG equ mul #-1 , @sp ; (n -- -n) > > tos equ @sp > > ;;-- return stacks > ;; > > ; I wanted to use this: > ; > ;CALL equ mov #ip+2 , ; equ jmp ; and jump > ; > > ; but pmars assembles backward references wrong when expanding equs > ; that alias opcodes. It would have been nice to write 'CALL sub', or > ; 'CALL @func_table_ptr'. Instead now we have to use two lines with > ; SAVERET/jmp sub > ; > > SAVERET equ mov #ip+2 , > RET equ mov.ba >rsp , 2 ; load ret.adr. > equ sub.a #ip+1 , 1 ; make relative > equ jmp 0 ; and jump > > HALT equ stp.b 1 , #1 > equ dat 0 , > > ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; > ;; Main program > ;; > ; > ; generates a random table and quicksorts it > ; > > ;; :fib ( n -- fib(n) ) > ;; > fib: slt tos , #2 ; ( if n < 2 ) > jmp fib_else > > fib_then: > mov #1 , tos ; 1 > jmp fib_out ; ( return ) > > fib_else: > DUP ; ( calc. fib(n-1) ) > sub #1 , tos ; dup 1- fib > SAVERET > jmp fib > > SWAP ; ( calc. fib(n-2) ) > sub #2 , tos ; swap 2 - fib > SAVERET > jmp fib > > PLUS ; +~ > fib_out: RET ; ( return ) > > ;; :rand ( -- n ) > ;; > rand: mul #6121 , _seed > add #111 , _seed > mov.b _seed , RET > _seed dat #1234 ; seed for rand() > > ;; :gen_tab ( table len -- ) > ;; > gen_tab: > gt_len mov.b >sp , #0 ; these are static variables, but > gt_tab mov.b >sp , #0 ; that's ok as we don't recurse. > jmz gt_out , gt_len ; if (len == 0) return > > sub #ADR gt_tab, gt_tab ; make the address of table > ; relative > gt_loop: > SAVERET > jmp rand ; get a rand() > mov.b >sp , >gt_tab ; store it into the table > djn gt_loop , gt_len > > gt_out RET > > ;; :qpartition ( table len -- low_partition_len ) > ;; > ; partition subroutine for quick sort > ; > qpartition: > qp_len mov.b >sp , #0 ; pop argument len > qp_tab mov.b >sp , #0 ; pop arg. table ptr. > mov.ba qp_tab , qp_ptr ; lo := tab > > mov.ab qp_ptr , qp_ptr ; hi := lo+len > add.b qp_len , qp_ptr > > sub # ADR qp_ptr, qp_ptr ; make pointers lo and hi > sub.a # ADR qp_ptr, qp_ptr ; relative > > qp_x mov.b *qp_ptr , #0 ; choose a pivot element x > ; (first in table) > qp_loop: > slt.b qp_x , jmp 2 ; than the pivot > jmp -2 > > slt.b *qp_ptr , qp_x ; find an element >= than > jmp 2 ; the pivot > jmp -2 , }qp_ptr > > slt.ab qp_ptr , qp_ptr ; if lo >= hi > jmp qp_out , >qp_ptr ; then we exit > > qp_swap: ; else we swap *lo and *hi > mov.b *qp_ptr , #0 > mov.b @qp_ptr , *qp_ptr > mov.b -2 , @qp_ptr > jmp qp_loop > > qp_out: add #ADR qp_ptr, qp_ptr ; make absolute > sub.b qp_tab , qp_ptr ; return index of hi > mov.b qp_ptr , RET > > qp_ptr dat 0 , 0 ; low and high pointers > ; of table > > ;; :qsort ( table len -- ) > ;; > ; recursively sort an array > ; > qsort: > q_len mov.b >sp , #0 ; save parameters table and len > q_tab mov.b >sp , #0 > > slt #1 , q_len ; if len <= 1 exit early > jmp qs_out > > sub #2 , sp > SAVERET > jmp qpartition > > q_lolen mov.b >sp , #0 ; save lo partition length > > mov.b q_tab , mov.b q_lolen , ; for first recursion > > add.b q_lolen , q_tab ; push arguments > mov.b q_tab , sub.b q_lolen , q_len ; for second recursion > mov.b q_len , > SAVERET > jmp qsort ; recurse left segment > > SAVERET > jmp qsort ; recurse right segment > > qs_out RET > > ;; :main (--) > ;; > > ; declare a table > table equ (load0+1000) > len equ 400 > > main: > mov # ADR table, mov #len , SAVERET > jmp gen_tab ; generate a random array > > mov # ADR table, mov #len , SAVERET > jmp qsort ; sort it > > HALT #0 > end -- Vive le Qu�bec libre!! Des souverainistes AKA paul_virak_khuong at yahoo.com, pkhuong at deja.com, pkhuong at crosswinds.net and pkhuong at technologist.com(list not complete)... From: M Joonas Pihlaja Subject: compiling a procedural language into redcode Date: 2000/02/25 Message-ID: I was thinking about a suitable way to implement in redcode the run time support a high level language needs. Redcode is so rudimentary I imagine it would be difficult to work with. What would be a suitable intermediate form for the compiler to work with? Having a slightly higher level VM to target is simpler than compiling straight into redcode. The simple VM in turn would be easier to implement in redcode too. Joonas For kicks here's the slowest sort ever to be implemented in redcode. ;redcode ;name stack stuff ;author mjp ;assert 1 load0 z for 0 rof org main ; implements common stack machine primitives and mixed ; red/stack code example. ; One stack for data and the other for return addresses. Makes ; things simpler when you don't have to manage the return address ; around data. The stack cell .b fields are the ones that hold ; actual data, with .a fields being ignored. sp equ (load0-1000) ; data stack pointer rsp equ (load0+4000) ; return stack pointer ip equ CURLINE ; instruction pointer ; use 'ADR lab' for the absolute address of label 'lab' ADR equ -load0 + ;;-- data stack operations ;; ; ; implemented as macros (some of which take arguments) ; ; stack effect DUP equ mov.b @sp , sp ; (n --() DROP2 equ add #2 , sp ; (n2 n1 -- ) DROPN equ mov >sp , #0 ; ( nk ... n1 k -- ) equ add.b -1 , sp SWAP equ mov.b >sp , #0 ; (n2 n1 -- n1 n2) equ mov.b >sp , #0 equ mov.b -2 , sp+2 , @sp+2 equ mov.b @sp , sp , @sp ; (n2 n1 -- n2 n1) MINUS equ sub.b >sp , @sp TIMES equ mul.b >sp , @sp REM equ mod.b >sp , @sp DIVIDE equ div.b >sp , @sp NEG equ mul #-1 , @sp ; (n -- -n) tos equ @sp ;;-- return stacks ;; ; I wanted to use this: ; ;CALL equ mov #ip+2 , rsp , 2 ; load ret.adr. equ sub.a #ip+1 , 1 ; make relative equ jmp 0 ; and jump HALT equ stp.b 1 , #1 equ dat 0 , ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Main program ;; ; ; generates a random table and quicksorts it ; ;; :fib ( n -- fib(n) ) ;; fib: slt tos , #2 ; ( if n < 2 ) jmp fib_else fib_then: mov #1 , tos ; 1 jmp fib_out ; ( return ) fib_else: DUP ; ( calc. fib(n-1) ) sub #1 , tos ; dup 1- fib SAVERET jmp fib SWAP ; ( calc. fib(n-2) ) sub #2 , tos ; swap 2 - fib SAVERET jmp fib PLUS ; +~ fib_out: RET ; ( return ) ;; :rand ( -- n ) ;; rand: mul #6121 , _seed add #111 , _seed mov.b _seed , sp , #0 ; these are static variables, but gt_tab mov.b >sp , #0 ; that's ok as we don't recurse. jmz gt_out , gt_len ; if (len == 0) return sub #ADR gt_tab, gt_tab ; make the address of table ; relative gt_loop: SAVERET jmp rand ; get a rand() mov.b >sp , >gt_tab ; store it into the table djn gt_loop , gt_len gt_out RET ;; :qpartition ( table len -- low_partition_len ) ;; ; partition subroutine for quick sort ; qpartition: qp_len mov.b >sp , #0 ; pop argument len qp_tab mov.b >sp , #0 ; pop arg. table ptr. mov.ba qp_tab , qp_ptr ; lo := tab mov.ab qp_ptr , qp_ptr ; hi := lo+len add.b qp_len , qp_ptr sub # ADR qp_ptr, qp_ptr ; make pointers lo and hi sub.a # ADR qp_ptr, qp_ptr ; relative qp_x mov.b *qp_ptr , #0 ; choose a pivot element x ; (first in table) qp_loop: slt.b qp_x , = than jmp 2 ; the pivot jmp -2 , }qp_ptr slt.ab qp_ptr , qp_ptr ; if lo >= hi jmp qp_out , >qp_ptr ; then we exit qp_swap: ; else we swap *lo and *hi mov.b *qp_ptr , #0 mov.b @qp_ptr , *qp_ptr mov.b -2 , @qp_ptr jmp qp_loop qp_out: add #ADR qp_ptr, qp_ptr ; make absolute sub.b qp_tab , qp_ptr ; return index of hi mov.b qp_ptr , sp , #0 ; save parameters table and len q_tab mov.b >sp , #0 slt #1 , q_len ; if len <= 1 exit early jmp qs_out sub #2 , sp SAVERET jmp qpartition q_lolen mov.b >sp , #0 ; save lo partition length mov.b q_tab , Subject: Re: Two pMARS questions... Date: 2000/02/25 Message-ID: #1/1 > Maybe someone can change pMARS source to fix this problem, but I think > there's a way to set delay time. > I often use "skip" to displaying slower then normal but faster then > debugging. The only problem is that I have to hold ENTER pressed. :) > As for documentation for graphics in pMARS I believe everything is > somewhere in text files. Check all of them, not only pmars.doc. > Lukasz I found that if you push < repeatedly, it slows it down. Not hold it, just push it 4 or 5 times. Also, > speeds it up. And either one adjusts a little series of boxes to the bottom left of the small-mode display. And the documentation calls it speed control. Gee, whiz. From: M Joonas Pihlaja Subject: Re: Two pMARS questions... Date: 2000/02/26 Message-ID: #1/1 On 23 Feb 2000, Lukasz Adamowski wrote: > Maybe someone can change pMARS source to fix this problem, but I think > there's a way to set delay time. Wouldn't know a lot about fast computers, but the command 'd 714' makes it crawl on my computer. > I often use "skip" to displaying slower then normal but faster then > debugging. The only problem is that I have to hold ENTER pressed. :) You can use the loop !!~...~! construct to avoid having to press. enter. Or use a delay loop to slow things down: (cdb) m= delay=!!~if (d=d-1)>0~! slogo=&ca t=d~!!~&s~&ca d=t~m delay~! . (cdb) (The dot ends macro input.) Then to see things /really/ clearly do: (cdb) ca d=10000 10000 (cdb) m slogo Or put the 'delay=...' and 'slogo=...' lines into your pmars.mac file. > As for documentation for graphics in pMARS I believe everything is > somewhere in text files. Check all of them, not only pmars.doc. > > Lukasz Joonas From: "pha20" Subject: ��O����?�бz�ɥR�෽ Date: 2000/02/26 Message-ID: <896bmo$dfs$3@news.is.net.tw>#1/1 �`�`���f������,�դѥ����L�O,�믫�e��,�ߤW���s����,�Q�Ϋo�Τ���,�ٽ���� �L��A.......���@�`�`�x����ܱz���xŦ�T�꦳�O�i�����n�F.�o�̦��s�y�ӨӦ۬�� �B�g�ѥ���å͸p�\�i�Ҥ��n���n; LEGAWAN �]�ˡ@�G������/��(�Хܬ����~) �ħ����:1000��(���������ħ��禳��) �Ө�q��,�l�H�e��a,�����X��,�ܤ�K. �{�b�u�f:900��(�f�즬�O�t +�l��ע�������) �@���q�ʢ�����,�A�u�f,�z�u�n�`�@���l�t�����������Y�i. �q�j�̥tij�@ ��M�z�]�i�H�Ҽ{�@�Ǥ������覡:��軡:�R�����ίv,�w�ɪ��_�~,���Y�o������ ,�����s,�����,�@���H�ɤ�,�z���xŦ�u�n�o��R������,���M����������鶯��.�@ �o�̩|���X�k�����~�U����ͯ�,�t��,�ξi�ͤ����~,�w�ﬢ��.�@�@�@�@�@�@�@�@�@�@ �@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@ �@�@�@�@�@�@�@�@�@�@�@�@�@�@ �@ From: pk Subject: #corewars 27-02-2000, 18:24-20:04 -5(Eastern) Date: 2000/02/27 Message-ID: <38B9CB53.DCAB658E@videotron.ca> the log(from when i got on, bc i lost some of it... lukasz/joonas should be able to resume it): Start of #corewars buffer: Sun Feb 27 18:23:00 2000 *** Now talking in #corewars hi! jonas, u there? hi pkhuong No. Ilmari just did it as the number of possible starting positions was so small. hi pk! hi who r u? I'm joonas. yeah, tha, i know... but lucky? Lukasz "Lucky" Adamowski from Poland :) oh, yeah. do you know who actually is going to organise the tournament? maybe I should change nick to ladamow or something like that to recognizealbe lukasz would be good 8) so, is caladan doing good? what were the proposals for the tournament? *** Lucky is now known as lukasz -> [jpihlaja] FINGER no proposals so far. :/ ... I was thinking about a non-agressive round. maybe calculating pi... that'D be too hard redcode would be suitable for parallel computing. yeah... You'd just have to modify the method for counting cycles. what about neural networks? what for? and, nn would be hard in a unidimensional environment... so, the harder, the better 8) :) Maybe the age old sorting problem, but in parallel ;) too easy, i think: calculating pi could be able using Monte-Carlo algorithm shouldn't make it too hard. otherwise people wont play. i'd do it like: sort by blocks of two, then sort by block of 4, etc yeah, right... Monte-Carlo... do you have to play the roulette or play dice? 8) tough making redcode thread-safe.. heh what time is it, GMT?? 2230? about 11pm, i think, a quarter to 11 and the meeting wa for when? 10-11 pm BTW, my daddy(statician) just told me that you couldn't use Monte-Carlo for calculating pi... ?? * lukasz is getting here every Sunday (except holidays) good to know 8) why not Monte-Carlo? dunno... is that the algorithm that's using random discrete numbers?? yes oh, well... how would you do it? What about that method where you drop pins onto a grid and calculate the probability that it crosses one of the grid lines? maybe use p-space to generate random numbers? i remember hearing something like that... could u elborate?? I'll be back in a bit. *** jpihlaja has quit IRC (Leaving) using p-space 'd as random as the algorithm pmars's using (not much, usually) for c it's very funny algorithm, that one with dropping pins :) it's usable, with a good sample... *** jpihlaja has joined #corewars hi jkw ain't here? i haven't seen him lukasz, does polish have the equivalent of a & an, etc? afaik no ok, that's why 8) that's why what? ur not using a and an often 8) should i? i'm still learning... well, you just should've said "it's a very..." so, about the pin algorithm, joonas? ok, thanx, paul The probability that a pin crosses one of the grid lines is related to pi. Drop lots of pins and count how many cross one of the lines. Who did proofed it? oops Who did proof it? Lagrange? My memory's a bit fuzzy about this. the prob being that you can hardly simulate pins dropping in cw 8) I've no idea :) maybe dropping bombs randomly? Why not? You don't actually have to _simulate_ dropping pins. how do you do, then? just give them some random rotationnal speed? know any equations to calculate it? (i'm just in 9th grade, u know 8) Just place pins randomly on a grid? that wouldn't be enough, the pins are spinning as they're falling to the floor... 8( I'm pretty sure he didn't take into account spin. yeah, and what about pins' speed of falling? and the lenght of the pin vs the spacing of the grid?? they are the same afair Must be shorter than the gird spacing. That was the only requirement. well, G == 9.8 m/s^2, right? I can't remember the details. sorry. oh, well, then, that's not too hard... ok, but what is the height? always the same... if ithe pins don't rotate, then it doesn't matter... afair, it was just the probability that a randomly placed pin of fixed length crosses. but pins can spring :) right, and there might be an earthquake 8) :) world war III p-) Anybody have any other ideas for rounds? a VM? P-) "pirates smile" what is VM? a Virtual Machine. It simulates in software the execution of another machine. ok, i heard about it. maybe some risc machine... with pipeline 8) check out Don 'God' Knuth's MMIX architecture. where? They (people helping him out) provide a simulator that does just that. hold on. I'll get the url. well, designing an instruction set from scratch wouldn't be too hard... www-cs-faculty.stanford.edu/~knuth/mmix.html that's th url... right. that's it. (the magic of cable modems 8) "the miracle" P-) well... can we have pamrs work with 2^256 words? making a coresize of 2^256 8( keeping track of only modified words oh... modified pmars 4 each rounds... what is the meaning of such big core? what is the meaning of such a big core? :) MMIX works with 256 bit words that wouldn't work on MY wintel machine 8( You don't really need to modify pmars for the parallel thing. You could do it using cdb. make regitser 'c' the cycle counter and then duse the 'thread' command to execute. and then each time you th increment the cycle counter. are you sure? doesn't pmars automatically increment teh cycle counter whe it executes another instruction? yes. &ca c=0~!!~&th~&ca c=c+1~! We keep our own cycle counter. Then use the logging mechanism to inform the caller. btw is 1 cycle = 1 instruction of 1 warrior or = 1 instruction of every warrior? *** jkw has joined #corewars man, cdb is worst than lisp 8) :) hi jkw afternoon yall... man I overslept, heh hi what does that**** of &ca c=0~!!~&th~&ca c=c+1~! mean?? hi! What's this about a tournament? &ca... is a cdb macro to count 'cycles' of our parallel running warrior. "macro talking" :) well jk lewis posted this a few weeks ago: I was thinking about what I'd like to see in the next tourney and this idea came to me. A series of tournaments with increasing size limits. For example, you could have a tourney series where you cycled through restrictions in max length from 2-12. The winner would be the combined score for all rounds. You get the idea. John K. Lewis but, internally, does it make pmars add everything to the buffer? yes, i saw it jkw: we're talking about a non-aggressive round with parallel algorithms. 2 to 12... not much for the 2 liners round 8) heh yea I know 2 instruction?!? kinda silly, but that's what spawned the idea only imp possible to survive :) or a gate ;) start your GA on a palmtop for the 1st round 8) or a djn gate well, clear would be original forward 50% clear wouldn't be too bad against djn train excuse me, but will be a warrior cut for each round? uh? I'll be back in a bit. *** jpihlaja has quit IRC (Leaving) the idea was to combine all the scores, heh can either of you send me a log file from earlier? how do you do that? i mean if the warrior is longer than n instructions, will it be cut or not compiled? *** jpihlaja has joined #corewars not compiled, definitely, i think no1 has log file, i'm affraid End of #corewars buffer Sun Feb 27 18:23:00 2000 Start of #corewars buffer: Sun Feb 27 20:04:24 2000 floor... 8( I'm pretty sure he didn't take into account spin. yeah, and what about pins' speed of falling? and the lenght of the pin vs the spacing of the grid?? they are the same afair Must be shorter than the gird spacing. That was the only requirement. well, G == 9.8 m/s^2, right? I can't remember the details. sorry. oh, well, then, that's not too hard... ok, but what is the height? always the same... if ithe pins don't rotate, then it doesn't matter... afair, it was just the probability that a randomly placed pin of fixed length crosses. but pins can spring :) right, and there might be an earthquake 8) :) world war III p-) Anybody have any other ideas for rounds? a VM? P-) "pirates smile" what is VM? a Virtual Machine. It simulates in software the execution of another machine. ok, i heard about it. maybe some risc machine... with pipeline 8) check out Don 'God' Knuth's MMIX architecture. where? They (people helping him out) provide a simulator that does just that. hold on. I'll get the url. well, designing an instruction set from scratch wouldn't be too hard... www-cs-faculty.stanford.edu/~knuth/mmix.html that's th url... right. that's it. (the magic of cable modems 8) "the miracle" P-) well... can we have pamrs work with 2^256 words? making a coresize of 2^256 8( keeping track of only modified words oh... modified pmars 4 each rounds... what is the meaning of such big core? what is the meaning of such a big core? :) MMIX works with 256 bit words that wouldn't work on MY wintel machine 8( You don't really need to modify pmars for the parallel thing. You could do it using cdb. make regitser 'c' the cycle counter and then duse the 'thread' command to execute. and then each time you th increment the cycle counter. are you sure? doesn't pmars automatically increment teh cycle counter whe it executes another instruction? yes. &ca c=0~!!~&th~&ca c=c+1~! We keep our own cycle counter. Then use the logging mechanism to inform the caller. btw is 1 cycle = 1 instruction of 1 warrior or = 1 instruction of every warrior? *** jkw has joined #corewars man, cdb is worst than lisp 8) :) hi jkw afternoon yall... man I overslept, heh hi what does that**** of &ca c=0~!!~&th~&ca c=c+1~! mean?? hi! What's this about a tournament? &ca... is a cdb macro to count 'cycles' of our parallel running warrior. "macro talking" :) well jk lewis posted this a few weeks ago: I was thinking about what I'd like to see in the next tourney and this idea came to me. A series of tournaments with increasing size limits. For example, you could have a tourney series where you cycled through restrictions in max length from 2-12. The winner would be the combined score for all rounds. You get the idea. John K. Lewis but, internally, does it make pmars add everything to the buffer? yes, i saw it jkw: we're talking about a non-aggressive round with parallel algorithms. 2 to 12... not much for the 2 liners round 8) heh yea I know 2 instruction?!? kinda silly, but that's what spawned the idea only imp possible to survive :) or a gate ;) start your GA on a palmtop for the 1st round 8) or a djn gate well, clear would be original forward 50% clear wouldn't be too bad against djn train excuse me, but will be a warrior cut for each round? uh? I'll be back in a bit. *** jpihlaja has quit IRC (Leaving) the idea was to combine all the scores, heh can either of you send me a log file from earlier? how do you do that? i mean if the warrior is longer than n instructions, will it be cut or not compiled? *** jpihlaja has joined #corewars not compiled, definitely, i think no1 has log file, i'm affraid [jkw:#corewars VERSION] i got it(from when i got on) how do i send it to you? jkw! hold a sec small traffic jam ;) lol... whatcha talking about??... me no get it! i wonder what's the meaning of changing maxlength if warrior can have only 2 instructions. i think no1 would send longer to not to lose any round what's a fpga?? programmable gates? heh um I think you'd get to submit a different warrior for each :) oh, yeah fully programmable gate array? so everybody needs to send 11 warriors? yeah... 11 round, 11 warriors boy... i didn't write so many warriors till now ;) haha (should be "haven't written"?) well, 2 lines is an easy one 8) mov 1, < woups... i'm affraid my English needs to be "upgrade" mov 1, <3\n jmp ,-1, -4 i know, paul, i know... :) 3 lines: d-clear/anti-d-clear i suggest imp for every round ;) btw what about earning points? lol... mov.i #0, 2 \n mov.i #0, 2 for 1st round? well, the one used before ilmari's mini was good lol *** jkw changes topic to ' i'm affraid my English needs to be "upgrade"' sorry, but what does "lol" mean (i forgot :) laughin out loud... thanx good topic 8) yea... (: that'd be :) or :(... heh :) upside down = (: i might do some super computer with 400 atari 2600 for 11th grade... (one of my friend's parents have these in their company's stock...) i had ATARI 800XL some time ago is it feasible? with disk drive whoa! 256 KB?? 11 tiny warriors seems a bit monotenous. I mean how much are the strategies going to be severly different for say 8..12? do you know how many parallel ports the atari 2600 had? 1? yeah... 8: f scanners 12: cmp scanners?? what about a triple-elimination tourney? What's that? what about another idea: everybody have to submit 3 warriors: paper-stone-scissors? ya know, like play-offs Like Beppe's tournament? no round-robin stuff, just 1 on 1 battles, where you know your opponent winners bracket, losers' bracket, and double loser's bracket... yea i'd preffer swiss swiss? where you play pools of players before doing elimination like chess but i'm not sure there'd be enough players 8) or like magic the gathering so maybe blitz? ;) um heh blitz? I think pure elimination rounds makes it more interesting 5 minutes chess party but you'd need a newbie's bracket... lol... 5 minutes, live cw party! on irc.koth.org um heh :) but then you can't join in the middle of the tourney 5 minutes would be pretty stressing 8) single elim is booooooorrrrrrrrrriiiiiiiiiiiiiiinnnnnnnnnnnnnnnnnnnnnggggg ggggggggggggggg for not semi-pros 8( um that's why I said triple elimination and if you joined in the 2nd or 3rd round, you'd start off with 1 or 2 losses. that'd be good... ok. and maybe you could choose to bye one round... (not in time, no good idea, etc) jkw, what do u think about neural networks in tournament with non-agressive round? neural networks for doing what? maybe pattern recognition... i don't know, think up something :) like, have some patterns, add some noise... you have to recognize what pattern is currently given... heh um, I really don't see corewars being a good environment for that :) might be interesting :) a good strat would be a nn, but you could do something else I'm still not too clear on the triple elimination. So say we have 8 players. In the first round are they paired randomly, fight their fight, and get tossed into either a "Winner bracket" or a "loser bracket". What happens then? 2nd rounds: in the 2nd round the 4 winners face the 4 losers usually... losers go down one bracket(winner -> loser, losers -> double losers 8) well, if there isn't 8 players? well you kinda need an even number ok. so in the end we get a single winner and lots of intermediate people. otherwise there'll be byes anyone that loses 3 times is eliminated from play... ahh. so that's where the name comes from. heh and then? also, I think in matches where the score is close, ties should be awarded � 10? say, less than 10 points apart heh, yep, normalized to the 100 round scoring system yeah but on speed/size (non-aggressive, etc) rounds? There's a lot of noise with 100 rounds. Much more need to be played. I don't think there should be non aggressive rounds, those never work right, heh lol maybe semi-non... what a pity ;) (Intelligent) warrior yea I think groups of 200 rounds is sort of standard, because of pspace... yeah... so, 200 rounds... jkw, why isn't the large multiwarrior S==!? heh.. S==1 it's not? what now? no didn't mean you need to do anything about it. just wondering. lukasz, u there from teh start? I don't know what you're talking about are you referring to koth's multiwarrior-X hill? Sorry, I meant the koth huge multi hill. i was first here, if u mean it ok what do you mean why isn't S==1? WHAT?!?!?!?! FPGA are software reprogrammable! yea the fpga's I used were programmed via a serial port well, seeing as the normal -94m was changed to get the papers out, why wasn't the big one changed too? they must lose a lot of gates... I'm not convinced the score sys had any effect... well, maybe that moone is playing mx excuse me, i want to ask how to change the topic? :) i think that you gotta be op... jkw isn't oh, well... *** lukasz changes topic to '' I 'll be back in a bit. have to reconnect. *** jpihlaja has quit IRC (ircII2.8.2-EPIC3.004+Kasi --- Bloatware at its finest.) ??? wtf is that platform? lol *** lukasz changes topic to 'Talking about the best game: C O R E W A R S !!!' what platform? wahaha!!!! i wanna change topic too!!! 8) maybe it's not about platform, but connetion i was talking about the ircII2.8.2-EPIC3.004+Kasi 8) that's his irc client oh, well, at leats he's not telnetting 8) *** jpihlaja has joined #corewars *** jkw changes topic to 'C O R E W A R S !!!' right *** pkhuong changes topic to 'test' wow! invertion! heh COOL 8) now, how do i undo?? man, it's getting late, i think8) *** Retrieving #corewars info... *** jkw changes topic to '4,1C 12O 9R 6E 13W 11A 2R 10S 5!!!' *** pkhuong changes topic to 'CW r00lz d00dz... ;-)' *** lukasz changes topic to 'Stop playing! It's not a toy!' :) heh, man now, to the REALK topic 8) How about multiwarrior with maxproc=1 :) *** jkw changes topic to '15[0,15[15,14[14,1[ 4,1C 12O 9R 6E 13W 11A 2R 10S 5!!! 14,1]15,14]0,15]1' hhhh!!!!!!!!!! hhh! test *** jkw changes topic to '15[0,15[15,14[14,1[ 4,1C 12O 9R 6E 13W 11A 2R 10S 14,1]15,14]0,15]15,0]' joonas, are u using shareware irc client? probably. it's ircII there was a multiwarrior tiny hill for a while what about switching to mIRC32? can't remember what happened to it no traffic? jkw, i think paul doesn't like colors ;) ircII is a unix client doh! it doesn't support colors and I have no idea what the topic is. lol uh... changing the topic and a tourney 8) oh... that topic! [[[[ C O R E W A R S ]]]] looks like "[[[C O R E W A R S]]]" but a little bit sillier ;) ah. ok. well I think rounds 1 2 3 should be '88, '94, and '94-x no, it "kewl, d00dz" 8) '88, '94, and '94x.... can i bye that last one, mr judge? 8) um I'm all for an '88 round. The std. hill needs more action. what's wrong with '94x? heh well... it'S a bit too much of soce 8) space 8) why 94-x has coresize=55440? What about '88 + pspace? hmm I think 94x has some of the most interesting warriors of any hill wasn't there another number ;) 55440 was chosen to try and make imp spirals difficult on the X hill yeah... it' just that you only have to have more points 8) I guess 88 pspace might be possible i don't know... i think that the purpose of x was missed: more complex, intelligent warriors hasven't emerged 8( just have to scan the code for 94 extensions before loading in pmars Unfortunately we're not privy to Black Moods. I think X warriors are generally more complex not a vast difference but some Just grab the assembled source and grep it for bad combinations? like? yeah... except if ur using win 8) show me a difference! well... qscans aren't efficient in 94x... the problem is all the 'equ' statements uh?< you'd have to have a pretty smart script... i think i should submit my Shortest to -x hill, but firstly i have to find the final version shortest what? my warrior named The Shortest well... no script, just plain submit it to public human examn=ination on rgcw... well awk it then:) The patterns aren't that bad. heh I think the tourney runner would have to read them or put em in pmars for 1 round, take the listing and grep it... and yes the patterns are insanely bad you'd have to store all the equ's in a table, like pmars does heh have pmars do all that parsing! ok. I'm volunteering to scan the sources! that's fine except that pmars will die when it see 'ldp' anyway, the warriors are gonna get public at the end of the rounds... once that round is started, you can make the warrior public.�.. why would ldp cause a prob? i see u have no problems, so u r making them ;) Maybe equ ldp/stp to something else while checking? no I don't think warriors should be public until the end of the tourney why? so that someone can submit the same one twice without fear of being demolished the second time Especially if the rounds are going to be similar, then that's a problem. oh... hadn'ty thought of that one 8( make ldp equ ; can you do that? um no. pmarsstrips comments before it parses. yea that's what I thought too man I gotta take a shower, bbl maybe plain eliminate ldps and stp lines from the source before having it parsed? but if u eliminate lpd/stp how would warrior work correctly then? Sure. then decide what a- and b- adressing modes are allowed for ldp and stp. hard one removing ldp and stp only for checking. I don't see this as the biggest obstacle in this round though. Getting a component to smack Freight Train is the bad bit. freight train?? Dave Moore's succesful '88 imp/stone. oohhh.... that's old! 8) better eliminate those instructions, that aren't in 88 standard and put warrior on pMARS with 94 i'm still sure that a mov What, for scanning? it works for copying should be mov x, scanning in my The Shortest there is mov but it'd work better with mov x, get that $ out 8) don't like cash? ;) lol I need to reconnect again. *** jpihlaja has quit IRC (ircII2.8.2-EPIC3.004+Kasi --- Bloatware at its finest.) lol lol any of u knows where i can get microcontrollers'(PIC) manufacturers page? i've no idea but i can search i got some... (lost my bkmarks 8( anything more about it? *** jpihlaja has joined #corewars joonas if u reconnect once again, i will kick u out ;) why, does it bother you that much? :) just kidding ;) paul, i've found some pages, check it: http://www.integratedcontrolsinc.com / In Beppe's Direct-Elimination tournament there was a round where the opposing players could ban an opcode and a modifier from each other. I always liked that idea. and this: http://www.dcs-chico.com/~solcubed/ u mean vampires, joonas? thanx lucasz.. welcome the idea was that each player could tell the opposing player not to use add or .F etc pfiu... for 30 seconds, i thought that my computer was about to crash 8) heh especially today, bc windows has been having trouble managing collecting memory all day 8) the 'you cant use a opcode/modifier' is kinda cute... I like it I also like the variable-settings round someone had in one tourney i think bannig mov was the most popular white warrior rounds aren't too bad was it variable coresize? I remember looking at code that figured out coresize to make imps and bombers. well as I recall, the tourney coordinator chose the opcodes, not your opponent that was coresize, yeah I can't remember what tourney that was in :/ not sure i think that you could choose to ban an opcode from your round for both u and ur opponent Probably Nandor's and Stefans one. probably I think I first started playing corewars like a week before that tourney started, heh playing on the internet, that is When did you first start playing? must've been in the age of caves 8) about a year before that... like fall of 94 not too early jkw was the one that took pMARS to Noe' ark ;) i started in 98, but it took me weeks to fiigure that cw was 1 dimensional(no real net access in that time 8) lol noe? what language is that from? 'noe?'? noa in english it's Noah? heh well, in french, it's noe wacky right, i forgot about diffrences between Polish and English names Polish Hiob is English Job ouch... but it's not about cw, i think ;) at least, some spanish speaking guy that'd hear u would prolly understand it 8) i doubt heh depends on how you pronounce it ok, i think i should be sleeping, it's almost 2am in Poland well... in spanish, job would be pronounced hrob lol 2 am... got school/work tomorrow...today? huh-rob? sortof ok I think this meeting's done enough damage... :) school today, but 11am 11am... yeah my mind is completly wrecked ;) i start at 7:45(piano lessons 8( it's in 11:30 hours all right! i think tha it's beddy bye for lucky 8) so, thanx for the conversation :) ;p~~~ not bad... evrything starts an hour late and ends 2 hours lat 8) *** lukasz changes topic to 'Watch out, bed, I'm coming!!!' lucky, would you care saving a log? seeya lucky. cya sorry, but i don't have whole the meeting :( jkw, are you hosting the tournament? *** lukasz has left #corewars well... anybody can complete what i got?? i'll post the log after that any1 in there?!! not me. sorry. doesn't jkw have some sort of logging system? jkw? blaah.. it's 3am and I should be getting some sleep too. bye! lol bye *** jpihlaja has quit IRC (ircII2.8.2-EPIC3.004+Kasi --- Bloatware at its finest.) oh, well.... i'll post the log! bye! End of #corewars buffer Sun Feb 27 20:04:24 2000 From: Koth Subject: KOTH.ORG: Status - Standard 02/28/00 Date: 2000/02/28 Message-ID: <200002280500.AAA12691@gevjon.ttsg.com>#1/1 Weekly Status on 02/28/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Sun Feb 20 19:13:18 EST 2000 # %W/ %L/ %T Name Author Score Age 1 37/ 20/ 43 Freight Train David Moore 154 69 2 36/ 20/ 44 Test Alexander (Sasha) Wa 151 8 3 44/ 38/ 18 Beholder's Eye V1.7 W. Mintardjo 151 344 4 44/ 38/ 18 Stasis David Moore 149 176 5 45/ 42/ 13 Iron Gate Wayne Sheppard 148 394 6 34/ 22/ 44 Guardian Ian Oversby 147 68 7 41/ 36/ 23 PacMan David Moore 146 98 8 34/ 22/ 44 sIMPly.Red v0.95 Leonardo Humberto 145 26 9 43/ 44/ 14 Foggy Swamp Beppe Bezzi 142 65 10 38/ 35/ 27 Stillborn Bomber v0.2 mjp 142 9 11 39/ 38/ 23 Tangle Trap David Moore 141 142 12 42/ 44/ 13 Blur '88 Anton Marsden 141 106 13 27/ 16/ 56 EV Paper John K Wilkinson 138 82 14 29/ 20/ 52 Test I Ian Oversby 138 125 15 42/ 47/ 11 Blurstone '88 M. J. Pihlaja 137 63 16 29/ 22/ 49 Shish-Ka-Bob Ben Ford 136 24 17 42/ 47/ 11 Shadow Seeker John Metcalf 136 5 18 28/ 22/ 50 Evoltmp 88 John K W 134 119 19 32/ 34/ 34 Frog Sticker P.Kline 131 18 20 8/ 41/ 51 lemmings 4 Kirk Gorden 76 1 21 2/ 71/ 28 Vamp 11 v1.1 Kirk R. Gorden 33 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 02/28/00 Date: 2000/02/28 Message-ID: <200002280500.AAA12705@gevjon.ttsg.com>#1/1 Weekly Status on 02/28/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Thu Feb 24 14:44:37 EST 2000 # %W/ %L/ %T Name Author Score Age 1 35/ 21/ 45 Uninvited John Metcalf 148 25 2 34/ 20/ 46 nPaper II Paul-V Khuong 147 73 3 34/ 24/ 42 Omnibus John Metcalf 144 82 4 32/ 20/ 48 EvoP 3 Ken Espiritu 144 69 5 35/ 26/ 39 Experimental John Metcalf 144 29 6 32/ 20/ 49 Jade Ben Ford 143 142 7 35/ 29/ 35 Blacken Ian Oversby 141 320 8 42/ 44/ 13 Stalker P.Kline 140 58 9 27/ 16/ 57 Cinammon John Metcalf 139 38 10 30/ 21/ 49 Jaguar Christian Schmidt 139 60 11 44/ 48/ 8 Kenshin Steve Gunnell 139 28 12 42/ 44/ 14 Boys are Back in Town 1.1 Philip Kendall 139 335 13 41/ 44/ 14 Eraser II Ken Espiritu 138 30 14 32/ 26/ 42 Icen Ben Ford 138 167 15 33/ 27/ 40 Ant Factory Christian Schmidt 138 168 16 41/ 45/ 15 Zooom... John Metcalf 137 209 17 41/ 45/ 14 Qshot Christian Schmidt 136 79 18 40/ 46/ 14 Jinx Christian Schmidt 134 36 19 40/ 48/ 12 Win! David Moore 132 308 20 38/ 49/ 13 vamp/scan test 7 Ken Espiritu 128 1 21 21/ 76/ 3 nta Wayne 67 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 02/28/00 Date: 2000/02/28 Message-ID: <200002280500.AAA12699@gevjon.ttsg.com>#1/1 Weekly Status on 02/28/00 -=- 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 Jan 30 23:06:15 EST 2000 # %W/ %L/ %T Name Author Score Age 1 54/ 32/ 15 Black Moods Ian Oversby 176 7 2 48/ 29/ 23 Controlled Aggression Ian Oversby 167 11 3 39/ 16/ 45 Venom v0.2b Christian Schmidt 163 33 4 33/ 6/ 61 Evol Cap 4 X John Wilkinson 159 80 5 29/ 3/ 68 Evolve X v4.0 John Wilkinson 156 28 6 33/ 20/ 47 Rosebud Beppe 146 59 7 38/ 37/ 25 Dr. Gate X Franz 139 51 8 36/ 33/ 31 Draken Fire X Ben Ford 138 2 9 26/ 16/ 58 Sphere v0.2 Christian Schmidt 135 22 10 36/ 40/ 24 Stepping Stone 94x Kurt Franke 133 66 11 35/ 37/ 27 BigBoy Robert Macrae 133 105 12 26/ 19/ 55 Purple v0.1 Christian Schmidt 133 32 13 39/ 49/ 12 S.E.T.I. 4-X JKW 129 81 14 30/ 31/ 39 Self-Modifying Code X Ben Ford 129 1 15 36/ 45/ 19 Pagan John K W 128 65 16 32/ 36/ 32 Lithium X 8 John K Wilkinson 127 71 17 36/ 46/ 18 Memories Beppe Bezzi 126 87 18 35/ 45/ 20 Tsunami v0.3 X Ian Oversby 125 5 19 36/ 49/ 14 WingShot Ben Ford 123 3 20 33/ 52/ 15 BiShot Christian Schmidt 115 19 21 20/ 78/ 2 63 0 From: "Robert Macrae" Subject: Re: Tounament Idea Date: 2000/02/28 Message-ID: <89ethi$3h9$1@lure.pipex.net>#1/1 > previous concept. Before I had said that it would be cool to have a tournament > where you increased the max size from 2-10 for a total of eight rounds. The basic idea is great, but it would be dull after the first 3-4 rounds because you would know too much about the opposing warriors. I would suggest either using 5 rounds of 2,3,4,6,10 instructions, or else players submitting rounds 5-6 at the same time, ditto 7-10. This would preserve more uncertainty and hence interest. Robert Macrae From: "Wayne Sheppard" Subject: Re: Tounament Idea Date: 2000/02/28 Message-ID: #1/1 Sounds interesting... "John K. Lewis" wrote in message news:g2zu4.143$D7.1295@news.itd.umich.edu... > > I was thinking about a tournament idea and I'd like add to my > previous concept. Before I had said that it would be cool to have a tournament > where you increased the max size from 2-10 for a total of eight rounds. > > To make things more interesting, what if you had to keep the instructions > from previous rounds. You could move those instructions in any order, but > the instructions themselves would have to remain intact. > > This would require some forthought on the part of programmers, and would > certainly making for interesting strategies. > > Should you make a good 6 line warrior and take it apart for the earlier > rounds... making due with minor loses early, or should you build up > a more robust modular system that builds over time? > > The interesting part is that players could wait to see what the lead guy > has to work with before building their unit, perhaps skipping rounds in > order to work up a decent counter to prevailing warriors. > > What do you think? From: "John K. Lewis" Subject: Tounament Idea Date: 2000/02/28 Message-ID: #1/1 I was thinking about a tournament idea and I'd like add to my previous concept. Before I had said that it would be cool to have a tournament where you increased the max size from 2-10 for a total of eight rounds. To make things more interesting, what if you had to keep the instructions from previous rounds. You could move those instructions in any order, but the instructions themselves would have to remain intact. This would require some forthought on the part of programmers, and would certainly making for interesting strategies. Should you make a good 6 line warrior and take it apart for the earlier rounds... making due with minor loses early, or should you build up a more robust modular system that builds over time? The interesting part is that players could wait to see what the lead guy has to work with before building their unit, perhaps skipping rounds in order to work up a decent counter to prevailing warriors. What do you think?