Xref: newshost.uwo.ca rec.games.corewar:1471 news.answers:4013 Path: newshost.uwo.ca!torn!cs.utexas.edu!uwm.edu!spool.mu.edu!snorkelwacker.mit.edu!bloom-picayune.mit.edu!senator-bedfellow.mit.edu!senator-bedfellow.mit.edu!usenet From: durham@cup.portal.com (Mark A. Durham) Newsgroups: rec.games.corewar,news.answers Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Followup-To: rec.games.corewar Date: 13 Nov 1992 06:00:34 GMT Organization: The Core War Newsletter Lines: 360 Approved: news-answers-request@MIT.Edu Expires: 27 Dec 1992 06:00:24 GMT Message-ID: Reply-To: durham@cup.portal.com (Mark A. Durham) NNTP-Posting-Host: pit-manager.mit.edu Summary: This posting contains a list of Frequently Asked Questions (and their answers) about the game Core War. It should be read by anyone interested in posting to the rec.games.corewar newsgroup or submitting warriors to the ongoing Core War tournament - KotH. X-Last-Updated: 1992/11/13 Archive-name: corewar-faq Last-modified: 1992/11/11 Version: 1.2 These are the Frequently Asked Questions (and answers) from rec.games.corewar as compiled by Mark A. Durham (durham@cup.portal.com). Last Update: November 11, 1992 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. What is the ICWS? 5. What is TCWN? 6. How do I join? 7. Are back issues of TCWNs available? 8. What is the EBS? 9. Where are the Core War archives? 10. Where can I find a Core War system for . . . ? 11. I do not have ftp. How do I get all of this great stuff? 12. I do not have access to Usenet. How do I post and receive news? 13. When is the next tournament? 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. Other questions? --------------------------------------------------------------------- Q1: What is Core War? A1: 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 of the opposing programs to terminate, leaving your program in sole possesion of the machine. There are Core War systems available for most computer platforms. Redcode has been standardized by the ICWS, and is therefore transportable between all standard Core War systems. ---------------------------------------------------------------------- Q2: Is it "Core War" or "Core Wars"? A2: 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. ---------------------------------------------------------------------- Q3: Where can I find more information about Core War? A3: 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 an anthology: Author: Dewdney, A. K. Title: The Armchair Universe: An Exploration of Computer Worlds Published: New York: W. H. Freeman (c) 1988 ISBN: 0-7167-1939-8 Library of Congress Call Number: QA76.6 .D517 1988 (See Also Q9). --------------------------------------------------------------------- Q4: What is the ICWS? A4: About one year after Core War first appeared in Sci-Am, 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). --------------------------------------------------------------------- Q5: What is TCWN? A5: Since March of 1987, "The Core War Newsletter" (TCWN) has been the official newsletter of the ICWS. It is published quarterly and recent issues are also available as Encapsulated PostScript on soda.berkeley.edu (see Q9). --------------------------------------------------------------------- Q6: How do I join? A6: For more information about joining the ICWS (which includes a subscription to TCWN), contact: Jon Newman 13824 NE 87th Street Redmond, WA 98052-1959 email: jonn@microsoft.com (Note: Microsoft has NO affiliation with Core War. Jon Newman just happens to work there, and we want to keep it that way!) Current dues are $15.00 in US currency. If you wish to contribute an article, review, cartoon, letter, joke, rumor, etc. to TCWN, please send it to me at Mark A. Durham 18 Honeysuckle Terrace Spartanburg, SC 29307-3760 email: durham@cup.portal.com ---------------------------------------------------------------------- Q7: Are back issues of TCWN available? A7: Back issues of TCWN (up to Winter 1991) are available from AMRAN 5712 Kern Drive Huntington Beach, CA 92649-4535 or contact William R. Buckley at xwbuckley@fullerton.edu. Prices are unknown at this time, but should be around $5.00 (the original cover price). More recent issues can be found on soda.berkeley.edu (see Q9). --------------------------------------------------------------------- Q8: What is the EBS? A8: The Electronic Branch Section (EBS) of the ICWS is a group of Core War enthusiasts with access to electronic mail. There are no fees associated with being a member of the EBS, and members do reap some of the benefits of full ICWS membership without the expense. For instance, the ten best warriors submitted to the EBS tournament will be entered into the annual ICWS tournament. All EBS business is conducted in the rec.games.corewar newsgroup. The current goal of the EBS is to be at the forefront of Core War by writing and implementing new standards and test suites in preparation for the tenth anniversary of Core War in May of 1994. Its immediate business will be to set up a Charter and establish its officers. Contact me (see Q6) if you are interested in helping serve the EBS. ---------------------------------------------------------------------- A9: Where is the Core War archive? Q9: 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 soda.berkeley.edu (128.32.131.179) in the /pub/corewar directories. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@soda.berkeley.edu) is the archive administrator. Much of what is available on soda is also available on the German archive at iraun1.ira.uka.de (129.13.10.90) in the /pub/X11/corewars directory. ---------------------------------------------------------------------- Q10: Where can I find a Core War system for . . . ? A10: Core War systems are available via anonymous ftp from soda.berkeley.edu in the pub/corewar/systems directory. Currently, there are Unix X-Window, IBM PC-compatible (sorry, no systems specifically designed for MS-Windows yet), Macintosh, and Amiga Core War systems available there. 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 soda.berkeley.edu. Generally, the older the program - the less likely it will be ICWS compatible. Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Please post or email to me any review of any Core War system you have tried out so that others may learn from your experience. ---------------------------------------------------------------------- Q11: I do not have ftp. How do I get all of this great stuff? A11: There is an ftp email server at ftpmail@decwrl.dec.com. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. ---------------------------------------------------------------------- Q12: I do not have access to Usenet. How do I post and receive news? A12: The Usenet email server at ucbvax.berkeley.edu does not seem to be functioning at this time. I am trying to find alternate servers and verify their function. If anyone knows of any, please let me know so I can include it in the next FAQ. If you somehow receive rec.games.corewar but just can't post, you can email your post to rec-games-corewar@cs.utexas.edu and it will be automatically posted for you. ---------------------------------------------------------------------- Q13: When is the next tournament? A13: The 1992 Annual ICWS tournament will be held December 15th, 1992. The rules are currently ICWS'88, core size of 8192, maximum number of processes per warrior of 8000, and ties declared after 100 000 cycles. The format is round-robin. Scoring is three points per win, one point per tie, and no points for losses. To enter you must be a member of the International Core War Society or successfully participate in one of the Branch Section preliminary tournaments ("successfully" meaning finish in the top five/ten [see below]). Valid entries should be sent to Jon Newman either via email to jonn@microsoft.com of via mail on 3.5" disk (800K Mac or 720K IBM), 5.25" disk (720K IBM or 1.2MB IBM), or printed. Disk entries should be in a simple ASCII text format and on virus-free disks. ICWS Members may submit one entry or two entries if in electronic form. Branch Sections may submit five entries, or ten if in electronic form. Entries are limited to 50 instructions, 300 if in electronic form. No scatter loading will be supported (instructions must be contiguous). All entries become public domain on submission. The ICWS will keep them confidential until after the tournament has been completed. The EBS will will hold its preliminary tournament November 15th, 1992. Submissions to durham@cup.portal.com. Late entries may be accepted if you received this FAQ after November 15th. ---------------------------------------------------------------------- Q14: What is KOTH? How do I enter? A14: King Of The Hill (KOTH) is an ongoing Core War tournament available to anyone with email provided by William Shubert (wms@iwarp.intel.com). You enter by submitting via email a Redcode program with special comment lines. You will receive a reply indicating how well your program did against the current top twenty programs "on the hill". If your program finished in the top twenty, it will remain on the hill until such time as it finishes twenty-first against another challenger, at which time it "falls off" the hill. Entry rules for King of the Hill Corewar: 1) Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. 2) Put the line ";redcode" 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. (Also, see 5 below). 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. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. 3) Mail this file to "wms@iwarp.intel.com". 4) 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. 5) In an hour or so you should get more mail telling you how your program performed against the current top 20 programs. If no news arrives in an hour, 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 20 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 20 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. MORE ON KOTH COREWAR IMPLEMENTATION Core size: 8,000 instructions Max processes: 8,000 per program Duration: After 80,000 cycles per program a tie is declared. Max entry length: 100 instructions Programs are guaranteed a 100 instruction block (inclusive of their warrior's instructions) without overlapping their opponent. 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 Rule variants for "eXperimental" corewar: The same as above but use ";redcode-x" to start your program. Your program will be entered into a second tournament with slightly different rules. The rules are: - All addressing modes are allowed with all instructions. - There is an additional addressing mode, called "postincrement". To use it try an instruction like "mov >5,6". - The maximum write distance is 250 instructions. That is, every time your program tries to modify memory, the address is checked; if it is more than 250 instructions from the process doing the modify, then memory is left unchanged, but the instruction continues as normal. - A tie is not declared until 150,000 cycles per program have elapsed. KotH runs on any Unix system with an X windows interface. The source code to KotH is available by email from William Shubert. Write to him at (wms@iwarp.intel.com) for a copy or get it by anonymous FTP from soda.berkeley.edu in the pub/corewar/systems directory. ---------------------------------------------------------------------- Q15: Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? A15: Core is initialized to DAT 0, 0. This is an "illegal" instruction under ICWS'88 rules and strictly compliant assemblers (such as KotH) will not let you write a DAT 0, 0 instruction - 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. ---------------------------------------------------------------------- Q16: Other questions? A16: Just ask. Either ask in the rec.games.corewar newsgroup or send your question(s) to me at durham@cup.portal.com. I will do my best to answer your question(s) or put you in touch with someone who can. Mark A. Durham MAD