From: bdthomse@peruvian.cs.utah.edu (Brant Thomsen) Subject: The '94 Warrior Date: 1 Dec 1994 06:05:27 GMT Message-ID: <3bjp37$1hk@magus.cs.utah.edu> __ __| | ) _ \ | | \ \ / _) | __ \ _ \ / ( | | | \ \ \ / _` | __| __| | _ \ __| | | | | __/ \__ |___ __| \ \ \ / ( | | | | ( | | _| _| |_|\___| _/ _| \_/\_/ \__,_|_| _| _|\___/ _| November 30, 1994 Issue #14 ______________________________________________________________________________ _The_'94_Warrior_ is a monthly newsletter dedicated to supporting and encouraging the game of Corewars. This includes coverage of the more popular "hills" (which allow users anywhere on the Internet to compete against other users), and also by encouraging traffic in the rec.games.corewar newsgroup. The FAQ (Frequently Asked Questions) for the rec.games.corewar newsgroup is available through anonymous FTP to rtfm.mit.edu, as /pub/usenet/news.answers/games/corewar-faq.Z. There are also several tutorials on the '88 and '94 (draft) standard available on scotch.csua.berkeley.edu (128.32.43.51) that will greatly ease the process of becoming a proficient "redcoder." I would highly recommend referring to the FAQ if you are curious about exactly what Corewars is, or if you are unfamiliar with any of the terms used in this newsletter. ______________________________________________________________________________ CHANGES and CORRECTIONS: It looks as if we may soon have a version of pMARS that is capable of handling several warriors at the same time. (I, for one, would be very interested in seeing what types of warriors do well in that type of environment. :) The FAQ for the newsgroup has also been updated. Be sure to save a copy of the new one for your collection! ______________________________________________________________________________ The ICWS '94 Draft Hill: Standard: '94 Draft (with extensions) Core size: 8000 instructions Max processes: 8000 per program Duration: After 80,000 cycles, a tie is declared. Max entry length: 100 instructions The current ICWS '94 Draft hill on "Pizza": # %W/ %L/ %T Name Author Score Age 1 50/ 39/ 10 Taking names P.Kline 161 9 2 45/ 31/ 24 Torch t15 P.Kline 159 43 3 44/ 35/ 21 Stimpy 3.0 Brant D. Thomsen 154 15 4 46/ 38/ 16 HeremScimitar A.Ivner,P.Kline 153 63 5 47/ 42/ 10 Agony II Stefan Strack 152 179 6 40/ 28/ 32 Blue Funk 3 Steven Morrell 151 244 7 33/ 17/ 50 B-Panama X Steven Morrell 148 185 8 43/ 38/ 19 SJ-4 J.Layland 147 245 9 39/ 32/ 30 Rude Wind P.Kline 146 93 10 36/ 28/ 36 Blue Funk Steven Morrell 145 556 11 41/ 38/ 22 Leprechaun II Anders Ivner 144 37 12 43/ 44/ 14 Iron Gate 1.5 Wayne Sheppard 141 533 13 41/ 42/ 18 Drowning III Mike Nonemacher 140 26 14 29/ 20/ 51 Ryooki T.Hsu 138 31 15 30/ 24/ 46 Silk Warrior 1.4 J.Pohjalainen 137 186 16 39/ 43/ 18 The Spanish Inquisition Steven Morrell 134 72 17 34/ 34/ 32 Killer Instinct II Anders Ivner 133 38 18 32/ 31/ 37 Jet Black Reptile M R Bremer & Jippo 133 2 19 33/ 51/ 17 Grasp v0.1d Brant D. Thomsen 115 5 Of course, the most obvious change to this hill is the addition of Paul Kline's new warrior "Taking Names," which has been clinging to first place since its submission. ("Stimpy" has also jumped up several positions since I tacked a quick-scanner onto the front of it. Check out the hint section of this newsletter if you'd like more details! ;) ______________________________________________________________________________ The ICWS '94 Draft Experimental Hill: Standard: '94 Draft (with extensions) Core size: 55,440 instructions Max processes: 10,000 per program Duration: After 500,000 cycles, a tie is declared. Max entry length: 200 instructions The current ICWS '94 Experimental (Big) hill on "Pizza": # %W/ %L/ %T Name Author Score Age 1 46/ 32/ 22 ivscan6b J.Layland 161 35 2 47/ 36/ 17 Genocide 94x Mike Nonemacher 158 1 3 34/ 16/ 50 Big Phoenix 1.0 J.Pohjalainen 152 6 4 34/ 18/ 48 Aleph 1 Jay Han 150 33 5 44/ 38/ 19 Request-55440 Brant D. Thomsen 149 171 6 42/ 36/ 22 Stimpy v2.0 Brant D. Thomsen 148 26 7 46/ 44/ 10 Test Stefan Strack 147 7 8 43/ 41/ 16 Pyramid v5.3 Michael Constant 145 62 9 44/ 45/ 11 Rave B4.1 Stefan Strack 144 132 10 30/ 16/ 54 Big Silk Warrior 1.0 J.Pohjalainen 143 13 11 34/ 25/ 41 Variation G-1 Jay Han 142 135 12 38/ 39/ 23 Vanity IIx Stefan Strack 137 126 13 39/ 42/ 19 Fscan Jay Han 136 19 14 38/ 41/ 21 Aleph 0 Jay Han 136 34 15 30/ 27/ 43 Splash 1 Jay Han 133 136 16 29/ 26/ 45 Blue Funk Steven Morrell 133 25 17 29/ 25/ 47 NotSoBigImps James Layland 132 31 18 40/ 49/ 11 Squint Mike Nonemacher 131 109 19 31/ 31/ 38 Lucky 13 Stefan Strack 131 177 20 29/ 27/ 44 Der Zweite Blitzkrieg - 9 Mike Nonemacher 131 133 This hill is unchanged since last month. ______________________________________________________________________________ The ICWS '88 Standard Hill: Standard: '88 Core size: 8000 instructions Max processes: 8000 per program Duration: After 80,000 cycles, a tie is declared. Max entry length: 100 instructions The current Standard KotH hill on "Pizza": # %W/ %L/ %T Name Author Score Age 1 42/ 26/ 32 Yop La Boum v2.1 P.E.M & E.C. 158 56 2 44/ 44/ 13 Dragon Spear c w blue 144 78 3 32/ 21/ 47 Sphinx v5.1 W. Mintardjo 143 12 4 32/ 21/ 47 Der Zweite Blitzkrieg Mike Nonemacher 142 60 5 43/ 45/ 12 Iron Gate 1.5 Wayne Sheppard 141 109 6 40/ 41/ 19 Vanity II Stefan Strack 140 100 7 29/ 19/ 51 CAPS KEY IS STUCK AGAIN Steven Morrell 140 66 8 39/ 40/ 21 Request v2.0 Brant D. Thomsen 138 79 9 26/ 15/ 59 ttti nandor sieben 136 82 10 28/ 19/ 53 The Plauge Anonymous 136 15 11 27/ 19/ 53 NC Killer Anonymous 135 16 12 37/ 39/ 23 Christopher Steven Morrell 135 52 13 34/ 33/ 32 Annihilator v2.1 Carlos Paredes 135 3 14 27/ 18/ 55 Blue Funk 88 Steven Morrell 135 25 15 27/ 19/ 54 Night Crawler Wayne Sheppard 134 5 16 28/ 24/ 47 B-Panama V.i Steven Morrell 132 10 17 37/ 41/ 22 Titled Steven Morrell 132 2 18 26/ 19/ 55 Imprimis 6 Anonymous 132 17 19 24/ 16/ 61 Peace Mr. Jones 132 1 20 34/ 38/ 28 Keystone t21 P.Kline 131 98 The '88 hill hasn't aged much (1), but don't let that fool you. This hill is still very busy. The old standards still appear to be holding their own! ______________________________________________________________________________ The ICWS '94 Beginner Hill: Standard: '94 Draft (with extensions) Core size: 8000 instructions Max processes: 8000 per program Duration: After 80,000 cycles, a tie is declared. Max entry length: 100 instructions The current Beginner KotH hill on "Pizza": # %W/ %L/ %T Name Author Score Age 1 58/ 31/ 10 Samba2.2 Mr. Jones 185 21 2 57/ 33/ 10 Viewmaster4.0 Ryan Case 181 222 3 56/ 37/ 7 Ecstacy (XTC) Brant Thomsen 176 89 4 35/ 10/ 56 Peace Mr. Jones 160 5 5 39/ 27/ 34 Ox v1.0 Brian Zellner 150 18 6 28/ 12/ 60 Rabid Dwarfs v1.3 Brian Zellner 144 64 7 33/ 23/ 44 Slate, v0.3a Bharat Mediratta 143 143 8 40/ 37/ 23 Bloody Fang v2.1 Bharat Mediratta 142 9 9 37/ 36/ 27 AB Scanner 1.4a Chris Hodson 138 1 10 35/ 36/ 29 Green Knight v1.7 Brian Zellner 134 65 11 33/ 34/ 33 Count Zero #1 Marc Schefer 131 85 12 39/ 50/ 12 It Hari 127 206 13 26/ 25/ 49 Rubarbe et mort-vivant J.P.Laurin 126 92 14 24/ 23/ 53 War Machine v2.65 Matthias Wollnik 125 10 15 21/ 17/ 62 Paperous Mr. Jones 124 14 16 38/ 52/ 10 Cat v2.0 Tim Scheer 123 163 17 23/ 24/ 53 War Machine v2.6 Matthias Wollnik 123 11 18 25/ 30/ 45 strange carpet Erik Hughes 121 3 19 20/ 26/ 53 War Machine v2.5 Matthias Wollnik 114 12 20 18/ 28/ 54 Mostly Harmless Frank J. T. Wojcik 109 53 Congratulations are due to Mr. Jones: his program "Peace" is not only doing well on the beginner's hill, but has also made a place for itself on the "Standard" hill. (At least, I assume it's the same program.) Welcome to the Big League! ______________________________________________________________________________ HINTS and HELPS: For the hint this month, I will be discussing quick-scans. Scanning, bombing, and movement are often talked about in terms of "C", where "C" is one instruction per turn. Standard scanning techniques will allow you to scan one location every two turns, or two instructions every three turns, giving you a scanning speed of 50% or 67%. (Granted, the numbers can look even better if you account for mutilation of the core as a side effect as well.) However, with a quick-scan, you can scan at the fastest possible speed -- 2 instructions per turn, or 200%. The disadvantage is that you cannot use this scan in a loop (without reducing the speed), so even a short scan can be several instructions long. The original quick-scan, as used in Paul Kline's QuickFreeze, consists of alternating CMP (SEQ) and MOV statements. When each CMP instruction is executed, the following MOV instruction will only be executed if the two instructions compared are not equal. Each MOV instruction, when executed, will store the values for the previous comparison in a standard location. This allows you to scan two locations for every two instructions, and keep track of the last location where you found something of interest. When the series of CMP instructions is done executing, the process can then check the standard location referenced by the MOV instructions to see if any of the comparisons failed. If any did, then your program can take advantage of this knowledge by attacking whatever was found. Since what was found is very likely to be your opponent's original code, it is often possible to harm your opponent while they are still getting started. (Imp-Spirals, for example, take a long time to setup.) Below is a quick-scan that will run under the '88 standard. You may need to shorten it, as it only leaves eleven lines for the program you will execute after the quick-scan. My recommendation would be to quick-scan fewer locations if your warrior needs space for a few more instructions. ;redcode ;name Quick-Scan '88 Prototype ;author Brant D. Thomsen ;strategy Add this to the front of your warrior, ;strategy and see if it improves your score. ;assert CORESIZE == 8000 space equ (8000/81) ; Step when scanning for code. qbomb equ 6 ; Step when bombing whatever we found. scan cmp space*1+bottom, space*41+bottom mov #space*1+bottom-found, found cmp space*2+bottom, space*42+bottom mov #space*2+bottom-found, found cmp space*3+bottom, space*43+bottom mov #space*3+bottom-found, found cmp space*4+bottom, space*44+bottom mov #space*4+bottom-found, found cmp space*5+bottom, space*45+bottom mov #space*5+bottom-found, found cmp space*6+bottom, space*46+bottom mov #space*6+bottom-found, found cmp space*7+bottom, space*47+bottom mov #space*7+bottom-found, found cmp space*8+bottom, space*48+bottom mov #space*8+bottom-found, found cmp space*9+bottom, space*49+bottom mov #space*9+bottom-found, found cmp space*10+bottom, space*50+bottom mov #space*10+bottom-found, found cmp space*11+bottom, space*51+bottom mov #space*11+bottom-found, found cmp space*12+bottom, space*52+bottom mov #space*12+bottom-found, found cmp space*13+bottom, space*53+bottom mov #space*13+bottom-found, found cmp space*14+bottom, space*54+bottom mov #space*14+bottom-found, found cmp space*15+bottom, space*55+bottom mov #space*15+bottom-found, found cmp space*16+bottom, space*56+bottom mov #space*16+bottom-found, found cmp space*17+bottom, space*57+bottom mov #space*17+bottom-found, found cmp space*18+bottom, space*58+bottom mov #space*18+bottom-found, found cmp space*19+bottom, space*59+bottom mov #space*19+bottom-found, found cmp space*20+bottom, space*60+bottom mov #space*20+bottom-found, found jmn found, found ; Get out early if found something. cmp space*21+bottom, space*61+bottom mov #space*21+bottom-found, found cmp space*22+bottom, space*62+bottom mov #space*22+bottom-found, found cmp space*23+bottom, space*63+bottom mov #space*23+bottom-found, found cmp space*24+bottom, space*64+bottom mov #space*24+bottom-found, found cmp space*25+bottom, space*65+bottom mov #space*25+bottom-found, found cmp space*26+bottom, space*66+bottom mov #space*26+bottom-found, found cmp space*27+bottom, space*67+bottom mov #space*27+bottom-found, found cmp space*28+bottom, space*68+bottom mov #space*28+bottom-found, found cmp space*29+bottom, space*69+bottom mov #space*29+bottom-found, found cmp space*30+bottom, space*70+bottom mov #space*30+bottom-found, found cmp space*31+bottom, space*71+bottom mov #space*31+bottom-found, found cmp space*32+bottom, space*72+bottom mov #space*32+bottom-found, found cmp space*33+bottom, space*73+bottom mov #space*33+bottom-found, found cmp space*34+bottom, space*74+bottom mov #space*34+bottom-found, found cmp space*35+bottom, space*75+bottom mov #space*35+bottom-found, found cmp space*36+bottom, space*76+bottom mov #space*36+bottom-found, found cmp space*37+bottom, space*77+bottom mov #space*37+bottom-found, found cmp space*38+bottom, space*78+bottom mov #space*38+bottom-found, found cmp space*39+bottom, space*79+bottom mov #space*39+bottom-found, found cmp space*40+bottom, space*80+bottom mov #space*40+bottom-found, found jmz warrior, found ; Don't Quick-bomb if nothing found. found cmp bottom, 0 ; Find which instruction is not blank. jmp 2 ; CMP / JMP 2 is the '88 equivalent of SNE. add #40*space, found ; Goto second location if first is blank. forward mov jump, @found ; Use a SPL/JMP bomb. mov split, found mov.I jump, @found add #(qbomb-1), found jmn.F forward, @found sub #(2*qbomb), backwd ; Don't re-bomb over forward-scan. backwd mov.I jump, 0 mov.I split, Date: Thu, 1 Dec 1994 13:15:14 GMT Richard's Play-By-eMail (PBeM) Server Monthly Posting A generic Play-By-eMail Server has been set up at pbmserv@netcom.com. It currently supports four games (Trax, TwixT, Hex and Abalone) with others to be added in the future. In addition to the traditional games, it supports, pbmserv also supports a C++Robots hill. To get more information send mail to pbmserv@netcom.com with 'help' as the subject line. Games Currently Supported Trax ((c) David Smith) Trax is a game played with square tiles. Each tile is identical to all other tiles, one side has a white line connecting opposite edges and a black line connecting the other edges, and the other side has a white line connecting 2 adjacent edges and a black line connecting the other edges. The object of the game is to create a loop of your color while preventing your opponent from doing the same. An alternate winning condition is to create a line extending from one edge of the board to the opposite edge of the board when the board is at least 8 tiles wide (or tall). TwixT ((c) Avalon Hill) On a 24x24 board, players take turns placing pegs of their color on the board. Any time a peg is placed a "knight's move" from another peg of the same color, a strut is placed, connecting them. A strut can not cross over (through) another strut. The object is to connect your sides of the board while preventing your opponent from doing the same. Hex On a 11x11 diamond board, players take turns placing stones of their color on the board. The object is to connect your sides of the board while preventing your opponent from doing the same. Abalone On a hexagonal board (radius 5) two to six players have armies of marbles. Players take turns "pushing" 1, 2 or 3 linearly connected marbles, attempting to push their opponents' marbles off the board. C++Robots ((c) 1994 Richard Rognlie) An ongoing "King of the Hill" (KotH) tournament in which players use the C++ language to create a control program for a robot. Your robot then fights each of the other robots "on the hill". If you do well enough, your robot will "make the hill", bumping the lowest robot from the hill. Robots have the ability to scan for opponents, fire a cannon, move, and determine current position and status. Conceptually based on C-Robots written for the IBM PC by Tom Pointdexter. Games that will be supported in the near future... Terrace (Winter '95) On a terraced 8x8 board, 2 to 4 players take turns attempting to either capture their opponents' key pieces or moving their own key piece to the opposite low corner. The board is terraced so that two opposite corners are low (level 1), and two corners are high (level 8). Unusual movement and capture rules make this game interesting. -- /\/\/\ | Richard Rognlie / Sr. Computer Analyst / PRC Inc. / McLean, VA / \ \ \ | E-Mail: rrognlie@netcom.com *or* rognlie_richard@prc.com \ / / / | Phone: (Home) (703) 361-4764 (Office) (703) 556-2458 \/\/\/ | (Fax) (703) 556-1174 From: bharat@Eng.Sun.COM (Bharat Mediratta) Subject: Re: Where to find C(++) Robots ? Date: 2 Dec 1994 00:54:37 GMT Message-ID: <3blr8d$oam@jethro.Corp.Sun.COM> The Cbots source code (which has only been tested under Solaris) resides at ftp.csua.berkeley.edu:/pub/coreware/related-systems/cbots.tar.Z Thanks Jon for putting it there. -Bharat --- Bharat Mediratta | Above opinions are mine and have bharat.mediratta@corp.sun.com | nothing to do with Sun Microsystems From: George Lebl Subject: Re: Make corewar programs do something Date: Sat, 3 Dec 1994 16:41:56 -0700 Message-ID: Hi > >Hey, It was just an idea! > > Oops, sorry, I didn't mean to sound like I was flaming you. I just > didn't think your idea would work too well... my mistake, I apologise. > > - Michael Constant It's ok, don't worry about it, I know it wasn't a great Idea:) George ------------------------------------------------------------------------------ ___ | George Lebl FRANZ / | \ | georgel@gas.uug.arizona.edu | | | /|\ | | Sex Pistols RULE! |-O-| \/_|_\/ | The force is with you | | From: jalaimo@passport.ca (Joe Alaimo) Subject: new user Date: 3 Dec 1994 20:54:20 -0500 Message-ID: <3br7gd$4tu@passport.ca> I have been looking for corewar information for at least a year and a half on local boards but could never find anything. I just got on the internet and was thrilled to see this group. I have programmed before but never in assembler. Is there a manual or even a book that give easy to understand guidance or tutorials on how to create warriors. I have accessed the articles at berkeley including the faq sheet and two small tutorial text files. I have also tried to figure out the many warriors created by others but I am having a very tough time figuring out what they are doing and for the life of me don't even know where to start in creating my own. If there are no comprehensive tutorials perhaps somebody who has gone through this learning process can direct me in the best method to proceed. I am very interested in participating in core wars but I don't know anyone who does it so I am pretty lost. Any help would be appreciated. Either reply here or e-mail me (jalaimo@passport.ca). Thanks Joe From: "Nathan T. Wild" Subject: PCRobots Help Date: Sun, 4 Dec 1994 02:12:52 -0600 Message-ID: I am having a few difficulties with pdsmith's PCRobots game. I have written a C++ base class for a PCRobot object (BC++). I am having the following difficulties... 1) My co-ordinate system is completely reversed. Quadrant 1 is in the lower right side of the arena and the quadrant enumerate clockwise??? I can move scan and shoot accurately but all of the angles are warped??? 2) I am not sure if I am using the scaled interger math routines properly? The manual does not present and examples and only briefly deals with these functions... 3) P.D. Smith's email address does not appear to work? I tried writing him directly with these questions, but I get all of my mail bounced back by the mailer daemon... p.s. I did not call the PCROBOTS.LIB functions at all. I called the interupts directly from my class. I have checked and rechecked my code, but I cannot seem to find anything wrong. Please Help ASAP... Please respond via email... Later: Nate... ------------------------------------------------------------------------- | Nathan T. Wild | Retail Systems | (204) 631-7378 VOX | | natewild@mbnet.mb.ca | Codville Distributors | (204) 694-2948 FAX | | http://www.mbnet.mb.ca/~natewild | ftp://ftp.mbnet.mb.ca/pub/natewild | ------------------------------------------------------------------------- - DOS Is Still A Mere RealMode-ONLY Non-Reentrant Interupt Handler - From: natewild@mbnet.mb.ca (Nathan T. Wild) Subject: HELP With PCRobots Date: 4 Dec 1994 07:48:19 GMT Message-ID: <3brs83$f23@canopus.cc.umanitoba.ca> Hi there... I have written a low-level baseclass for the PCRobots game. I seem to have a little bit of difficulty. My problems all stem from two things.... 1) My co-ordinate system seems to be completely reversed????? My quadrant 1 is in the lower right and quadrant enumerate clockwise? 2) The DOX do not cover the long int scaled math functions very well... So I am not entirely sure whether or not my calculations are valid??? -- Later: Nate... ------------------------------------------------------------------------- | Nathan T. Wild | Retail Systems | (204) 631-7378 VOX | | natewild@mbnet.mb.ca | Codville Distributors | (204) 694-2948 FAX | | http://www.mbnet.mb.ca/~natewild | ftp://ftp.mbnet.mb.ca/pub/natewild | ------------------------------------------------------------------------- - DOS Is Still A Mere RealMode-ONLY Non-Reentrant Interupt Handler - From: max@alcyone.darkside.com (Erik Max Francis) Subject: Re: PCRobots Help Message-ID: <3N8Twc2w200w@alcyone.darkside.com> Date: Sun, 04 Dec 94 17:36:49 PST "Nathan T. Wild" writes: > 1) My co-ordinate system is completely reversed. Quadrant 1 is in the > lower right side of the arena and the quadrant enumerate clockwise??? I > can move scan and shoot accurately but all of the angles are warped??? This sort of thing generally happens when you're dealing with different coordinate systems. A good example is the case of graphics screens; on many systems, the y-coordinate of the pixel increases as you move down the screen, contrary to standard Cartesian coordinate systems. The way to fix this is apply the simple transformation x' = x, y' = -y. This also means you'd have to change the angles via theta = -theta, presuming that you're measuring the zero angle to the right. Erik Max Francis, &tSftDotIotE ...!uuwest!alcyone!max max@alcyone.darkside.com San Jose, CA ... GIGO, Hg, Omega, Universe, Psi ... ICBM: 37 20 N 121 53 W _ H.3`S,3,P,3$S,#$Q,C`Q,3,P,3$S,#$Q,3`Q,3,P,C$Q,#(Q.#`-"C`- ftmfbs kmmfa / \ Omnia quia sunt, lumina sunt. ("All things that are, are lights.") -><- \_/ From: Paul Huff Subject: I am a newuser too! Date: 4 Dec 1994 22:57:04 GMT Message-ID: <3bthg0$i87@news.cc.oberlin.edu> Hi! I am a new user as well, and I too can't figure out corewar... I have programmed before, but not in assembly... I have mars for my pc and I have a couple of warriors, but I am lacking the essentials to help me understand what the game is all about. I have looked at a tutorial, but it didn't help. Thanks, -Paul Huff From: c2a192@ugrad.cs.ubc.ca (Kazimir Kylheku) Subject: COREWAR! (of course) Date: 5 Dec 1994 02:17:00 -0800 Message-ID: <3bupasINN2st@keats.ugrad.cs.ubc.ca> Hey everyone! I'm a little surprised by the existence of this newsgroup. I wrote a corewar program about two years ago. It was a month-long school project that I somehow knocked off in 5 days. :) Typical. My program works on 8086 DOS machines (I recently ran it successfully on a PC emulator for UNIX). The game is solid, with an assembler that catches syntax errors, giving useful messages and a game execution that presents you with two debug-windows, each displaying a piece of code around the instruction pointer with a highlighted bar over the currently executing instruction. You can single-step the game, vary the display speed, or turn off display all together for fast execution. I somehow independently arrived at the END convention for specifying entry points. Lucky me! Anyway, I'd like to extend the game so that it obeys all the new instructions, and standardized arithmetic. I'd also like to add labels, which the assembler lacks. (Are forward references allowed in redcode, officially, or is assembling strictly one-pass?) Where can one obtain a formal, up-to-date specification of the Core War CPU architecture? Has anyone built hardware to run Core War directly? Thanks for any info. - Kaz From: c2a192@ugrad.cs.ubc.ca (Kazimir Kylheku) Subject: Re: Make corewar programs do something Date: 5 Dec 1994 02:23:58 -0800 Message-ID: <3bupnuINN35k@keats.ugrad.cs.ubc.ca> In article <3bg2gs$bl2@agate.berkeley.edu>, Michael Constant wrote: >George Lebl wrote: >>On 26 Nov 1994 sieben@imap1.asu.edu wrote: > > > The goal is to kill the opponent. Isn't it a clear goal. Redcode is > > > capable of anything. This was proven by the prime finding round of the no > > > eliminating tournament. > > > >Well what I thought, was there is no outside world for the programs, the > >computer isn't just the memory, If a redcode is a virtual computer, why > >not put all the bells and whistles, how about a video ram to use for > >storing programs code it could use, Saving itself on a hard drive > >(another 8000 instruction world, which could though be only read) these > >devices would be accesed though random memory locations which the program > >would have to find. > >I don't think this would work very well. What would be the point of >using external storage? Corewar programs don't need it. The only time >a program could ever make use of extra storage would be in a calculating >competition, such as the prime number round of my mini-tournament. Aww. Just when I was thinking of adding stacks and exception handling extensions to the Core War CPU, along with virtual address translation. Maybe by placing the programs in separate logical address spaces, we can end this senseless slaughter! After all, we have Windows and MacOS for that sort of thing.... From: S1104145@cedarville.edu (Daniel Hatfield ) Subject: Question: VENUS Date: Tue, 6 Dec 1994 01:07:51 GMT Message-ID: I had heard that this was the place to find out about VENUS. I was told it was in the FAQ, but it's not.. What is VENUS, is it available for the MSDOS, and if so where can I get it? Dan Hatfield From: sieben@imap1.asu.edu Subject: Re: Question: VENUS Date: 6 Dec 1994 07:22:56 GMT Message-ID: <3c13gg$nrg@news.asu.edu> Daniel Hatfield (S1104145@cedarville.edu) wrote: : I had heard that this was the place to find out about VENUS. : I was told it was in the FAQ, but it's not.. : What is VENUS, is it available for the MSDOS, and if so where can I get it? : Dan Hatfield What the heck is VENUS ? Isn't it Mars ? Nandor. From: emoyer@kiwi.cs.wright.edu (Eric Moyer) Subject: What do the pretty pictures in pMars mean? Message-ID: Date: Tue, 6 Dec 1994 08:37:13 GMT This isn't in the FAQ (though it should be) and it isn't on the FTP site (which I have trouble with anyway since I consistently spell Berkeley incorrectly. I asked this once before, but no one responded. How does one interperet the graphical displays of core in pMars and the other Core War simulators? I use redcode and I can get my programs to do what I wish on the simulator (though they still get themselves wiped across the ground regularly-- they haven't won more than 5 times between themselves), but I cannot figure out the display. Thanks, --Eric -------------------------------------__|__ ------------------------------------- "A wise man once said nothing" | Emoyer@valhalla.cs.wright.edu ---------------------------------------| --------------------------------------- From: George Lebl Subject: Re: Question: VENUS Date: Tue, 6 Dec 1994 10:22:29 -0700 Message-ID: > What is VENUS, is it available for the MSDOS, and if so where can I get it? I guess it is in our solar system, or this is the wrong place to look for it. Could mars satisfy you? :) George WHY DO PEOPLE NAME THINGS AFTER PLANETS, IT GETS CONFUZING :-) ------------------------------------------------------------------------------ ___ | George Lebl FRANZ / | \ | georgel@gas.uug.arizona.edu | | | /|\ | | Sex Pistols RULE! |-O-| \/_|_\/ | The force is with you | | From: ting@teloquent.com (Ting-Yu Hsu) Subject: KOTH bugs? Date: 6 Dec 1994 17:23:33 -0600 Message-ID: <199412062323.SAA29233@dienerin.teloquent.com> My warrior, Aeka, got pushed off the hill by a 1 line program. Considering the fact that I haven't submitted anything to the hill on pizza in a couple of weeks, it really surprised me that Aeka died in such a fashion. Here are my guesses of the possible problems. -- A bug got introduced for warriors that try to reach age 200. -- A new redcode simulator is on pizza that gets confused by Aeka's heavy use of for/rof/equ/assert statements. -- My e-mail got changed a few months back and sd@ecst.csuchico.edu got tired of seeing bounced mail so he killed my warrior off. If the latter is the case, "redcode-94 quiet" should have been the proper response. Hell, a change in e-mail is a _common_ occurance. Below is the text that made me realize something wasn't kosher. Like I said, I haven't submitted anything to pizza in weeks. And I definitely didn't send a "kill Aeka" program to pizza. T.Hsu ting@teloquent.com ------------------------------------------------------------------------------ A challenger has arrived on the ICWS '94 Draft hill! Vital statistics: Program "Looking" (length 1) by "Brant D. Thomsen" (contact address "bdthomse@peruvian.cs.utah.edu"): ;strategy DAT #0 ;strategy Submitted: Wed Nov 30 20:31:34 MST 1994 Your program Ryooki fights 100 times: Ryooki wins: 100 Looking wins: 0 Ties: 0 Your overall score: 137.666667 Aeka has been pushed off the ICWS '94 Draft hill. The current ICWS '94 Draft hill: # %W/ %L/ %T Name Author Score Age 1 50/ 39/ 10 Taking names P.Kline 161 9 2 45/ 31/ 24 Torch t15 P.Kline 159 43 3 44/ 35/ 21 Stimpy 3.0 Brant D. Thomsen 154 15 4 46/ 38/ 16 HeremScimitar A.Ivner,P.Kline 153 63 5 47/ 42/ 10 Agony II Stefan Strack 152 179 6 40/ 28/ 32 Blue Funk 3 Steven Morrell 151 244 7 33/ 17/ 50 B-Panama X Steven Morrell 148 185 8 43/ 38/ 19 SJ-4 J.Layland 147 245 9 39/ 32/ 30 Rude Wind P.Kline 146 93 10 36/ 28/ 36 Blue Funk Steven Morrell 145 556 11 41/ 38/ 22 Leprechaun II Anders Ivner 144 37 12 43/ 44/ 14 Iron Gate 1.5 Wayne Sheppard 141 533 13 41/ 42/ 18 Drowning III Mike Nonemacher 140 26 14 29/ 20/ 51 Ryooki T.Hsu 138 31 15 30/ 24/ 46 Silk Warrior 1.4 J.Pohjalainen 137 186 16 39/ 43/ 18 The Spanish Inquisition Steven Morrell 134 72 17 34/ 34/ 32 Killer Instinct II Anders Ivner 133 38 18 32/ 31/ 37 Jet Black Reptile M R Bremer & Jippo 133 2 19 33/ 51/ 17 Grasp v0.1d Brant D. Thomsen 115 5 20 7/ 93/ 0 Looking Brant D. Thomsen 21 1 21 0/ 5/ 0 Aeka T.Hsu 0 199 ------------------------------------------------------------------------------ From: sieben@imap1.asu.edu Subject: Re: What do the pretty pictures in pMars mean? Date: 6 Dec 1994 21:39:27 GMT Message-ID: <3c2lmf$ba@news.asu.edu> Eric Moyer (emoyer@kiwi.cs.wright.edu) wrote: : This isn't in the FAQ (though it should be) and it isn't on the FTP site : (which I have trouble with anyway since I consistently spell Berkeley : incorrectly. : I asked this once before, but no one responded. How does one interperet the : graphical displays of core in pMars and the other Core War simulators? : I use redcode and I can get my programs to do what I wish on the simulator : (though they still get themselves wiped across the ground regularly-- they : haven't won more than 5 times between themselves), but I cannot figure out : the display. : Thanks, : --Eric : -------------------------------------__|__ ------------------------------------- : "A wise man once said nothing" | Emoyer@valhalla.cs.wright.edu : ---------------------------------------| --------------------------------------- Did you read the pMars documentation? I'm pretty sure there is something on it. The short answer is that square denotes execution, and the smaller symbols mean write, read, increment/decrement. Nandor. From: max@alcyone.darkside.com (Erik Max Francis) Subject: Mercury, Venus, Mars, Jupiter . . . (was Re: Question: VENUS) Message-ID: Date: Tue, 06 Dec 94 22:58:56 PST S1104145@cedarville.edu (Daniel Hatfield ) writes: > I had heard that this was the place to find out about VENUS. > I was told it was in the FAQ, but it's not.. > What is VENUS, is it available for the MSDOS, and if so where can I get it? VENUS and VENUS II are MARS-like systems designed to investigate the artificial life aspect of Corewar. There's an article concerning it titled "Dynamics of Programmable Matter" by Rasmussen, Knudsen, and Feldberg in _Artificial Life II_ (Langton et al. ed.). I don't believe if they indicate what system they implemented it on, but it's almost certainly not an MSDOS machine. Speaking of this, does a list exist anywhere of known implementations of Corewar (and possibly Corewar-like systems like VENUS [II])? Specifically, I had tentative titles for a few projects called Mercury and Jupiter, but I understand at least that Mercury is taken. Is Jupiter? Erik Max Francis, &tSftDotIotE ...!uuwest!alcyone!max max@alcyone.darkside.com San Jose, CA ... GIGO, Hg, Omega, Universe, Psi ... ICBM: 37 20 N 121 53 W _ H.3`S,3,P,3$S,#$Q,C`Q,3,P,3$S,#$Q,3`Q,3,P,C$Q,#(Q.#`-"C`- ftmfbs kmmfa / \ Omnia quia sunt, lumina sunt. ("All things that are, are lights.") -><- \_/ From: sd@ecst.csuchico.edu (Fission Chips (00005)) Subject: Re: KOTH bugs? Date: 7 Dec 1994 08:48:25 GMT Message-ID: <3c3ssp$9sj@charnel.ecst.CSUChico.EDU> In article <199412062323.SAA29233@dienerin.teloquent.com>, Ting-Yu Hsu wrote: >My warrior, Aeka, got pushed off the hill by a 1 line program. > >-- My e-mail got changed a few months back and sd@ecst.csuchico.edu got tired > of seeing bounced mail so he killed my warrior off. Thats it, I'm afraid. It put >50 messages in the bugs box at times. >If the latter is the case, "redcode-94 quiet" should have been the proper >response. Hell, a change in e-mail is a _common_ occurance. redcode quiet is a temporary fix. I'll admit e-mail addresses change frequently, but this was the first one in over 3 months to fill the bugs box like it did. The best fix I can think of is to get a .forward, or kill it off and re-submit from your new address. THD p.s. I tried to reply to the mail you sent me, but that bounced too, and I hate dealing with bounced mail. -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\/~~\ /~~~\/\ / \ \ / /~\ /~~~YY~~~\\ /~~~~ Thomas H. Davies V \/\ /\ V / V |\/\/| V\ / sd@ecst.csuchico.edu "Blessed is the man V \ / | / | V who expects nothing, \/ | /\ | Member C.W.M. for he shall not be |/oo\| Since 1987 disappointed." - The Book |/\| From: S1104145@cedarville.edu (Daniel Hatfield ) Subject: RE:Venus -> Here is what it is! Date: Wed, 7 Dec 1994 18:50:58 GMT Message-ID: I got this from the comp.ai.genetic newsgroup FAQ (section 3).... (this is the clip about VENUS) ******************************** VENUS Steen Rasmussen's (et al.) VENUS I+II "coreworlds" as described in [ALIFEII] and [LEVY92], are inspired by A.K. Dewdney's well-known article (Dewdney 1984). Dewdney proposed a game called "Core Wars", in which hackers create computer programs that battle for control of a computer's "core" memory (Strack 93). Since computer programs are just patterns of information, a successful program in core wars is one that replicates its pattern within the memory, so that eventually most of the memory contains its pattern rather than that of the competing program. VENUS is a modification of Core Wars in which the Computer programs can mutate, thus the pseudo assembler code creatures of VENUS evolve steadily. Furthermore each memory location is endowed with "resources" which, like sunshine are added at a steady state. A program must have sufficient resources in the regions of memory it occupies in order to execute. The input of resources determines whether the VENUS ecosystem is a "jungle" or a "desert." In jungle ENVIRONMENTs, Rasmussen et al. observe the spontaneous emergence of primitive "copy/split" organisms starting from (structured) random initial conditions. --- [ALIFEII], p.821 Dewdney, A.K. (1984) "Computer Recreations: In the Game called Core War Hostile Programs Engage in a Battle of Bits", Sci. Amer. 250(5), 14-22. Farmer & Belin (1992) "Artificial Life: The Coming Evolution", [ALIFEII], 815-840. Rasmussen, et al. (1990) "The Coreworld: Emergence and EVOLUTION of Cooperative Structures in a Computational Chemistry", [FORREST90], 111-134. Rasmussen, et al. (1992) "Dynamics of Programmable Matter", [ALIFEII], 211-254. Strack (1993) "Core War Frequently Asked Questions (rec.games.corewar FAQ)" Avail. by anon. FTP from rtfm.mit.edu:/pub/usenet/news.answers/games/corewar-faq.Z ***************** That's it.. does it exist??? if so can i get it for the IBM? Where? Dan Hatfield From: jesensky@mix.cse.psu.edu (James J Jesensky) Subject: Re: Venus -> Here is what it is! Date: 7 Dec 1994 23:13:19 GMT Message-ID: <3c5fif$bt8@psuvax1.cse.psu.edu> >[article deleted] Please post any additional information about VENUS to this newsgroup. I'm sure there will be a lot of interest. Thanks Jim From: MARCUS@ins.infonet.net (Marc Miller) Subject: CW where do i get it Date: Thu, 8 Dec 1994 04:12:30 +1000 Message-ID: I am new to this group. Actually, I am surprised this group is in exsistance. I assisted in writing an Amiga version of MARS a couple of years ago as a project in a vocational school in Illinois. I spent many months researching the articals and contacting the ICWS for rules and guidlines. I became very familer with Red Code and MARS (most of that info is lost in the back of my mind now) and just stumbled across this news group. The last thing I remember about CW was that a turnament was just completed and the winner was called Sweep. How much have I missed? Please fill me in on any new updates. I look forward to checking out the archive at ftp.csua.berkeley.edu to see if the Amiga version avaliable is the one I assisted in. I am currently running a PC so if there are any Amiga users out there who could check the credits or discribe the MARS interface to me I would really appricate it. From: hwan0022@maroon.tc.umn.edu (Francis P. Hwang) Subject: ;assert pseudocommand Message-ID: Date: Thu, 8 Dec 1994 08:12:40 GMT I've been trying unsuccessfully to send a program to the KOTH hill, but I'm having trouble with the assert pseudocommand. I used ; assert (coresize == 8000) and ; assert (coresize = 8000) and a few others of that type. Something I'm missing? Thanks in advance. -- Francis Hwang hwan0022@maroon.tc.umn.edu From: jalaimo@passport.ca (Joe Alaimo) Subject: .z files ? Date: 8 Dec 1994 16:44:43 -0500 Message-ID: <3c7uob$co5@passport.ca> In the corewars ftp site there a lot of compressed files that have a .z extension and file names that are longer than the 8 character DOS file names. If I download these files does it matter how I name them in DOS (as long as I maintain a .z extension)? Also, what program am I supposed to use to decompress them and where do I find the program? Joe From: S1104145@cedarville.edu (Daniel Hatfield ) Subject: RE: .z files Date: Fri, 9 Dec 1994 20:04:25 GMT Message-ID: A .Z or .gz extension on the file means it has been compressed using, the program gzip, which is available on many different platforms.... I can guarantee that oak.oakland.edu has it, if you have trouble with lag time on the address then email me and I'll give you another. Dan Hatfield From: mconst@soda.CSUA.Berkeley.EDU (Michael Constant) Subject: Re: ;assert pseudocommand Date: 9 Dec 1994 22:32:26 GMT Message-ID: <3caltq$3nb@agate.berkeley.edu> Francis P. Hwang wrote: > I've been trying unsuccessfully to send a program to the KOTH hill, but >I'm having trouble with the assert pseudocommand. I used >; assert (coresize == 8000) >and >; assert (coresize = 8000) The first one is correct, except that the word "coresize" must be in all caps. Note that you can use a lot of the C operators -- all of the following are valid: ;assert !(CORESIZE % 4) ;assert CORESIZE > 250 && CORESIZE < 1000 ;assert (CORESIZE == 8000 && MAXLENGTH == 100) || (CORESIZE == 55440) I hope this clears up your problem. -- Michael Constant (mconst@soda.csua.berkeley.edu) From: mconst@soda.CSUA.Berkeley.EDU (Michael Constant) Subject: Re: .z files ? Date: 9 Dec 1994 22:35:36 GMT Message-ID: <3cam3o$3qa@agate.berkeley.edu> In article <3c7uob$co5@passport.ca>, Joe Alaimo wrote: >In the corewars ftp site there a lot of compressed files that >have a .z extension and file names that are longer than the 8 >character DOS file names. If I download these files does it >matter how I name them in DOS (as long as I maintain a .z >extension)? Also, what program am I supposed to use to >decompress them and where do I find the program? Files with a .Z extension (note that the Z must be capital) are compressed by the Unix "compress" program, and are uncompressed (rather appropriately) by the Unix "uncompress" program. The syntax is "uncompress filename.Z". The compress and uncompress programs should be installed on whatever Unix system you use. -- Michael Constant (mconst@soda.csua.berkeley.edu) From: bmellows@jolt.mpx.com.au (Bruce Mellows) Subject: Re: .z files ? Date: 10 Dec 1994 13:21:56 GMT Message-ID: <3cca1k$dbt@inferno.mpx.com.au> Joe Alaimo (jalaimo@passport.ca) wrote: : In the corewars ftp site there a lot of compressed files that : have a .z extension and file names that are longer than the 8 : character DOS file names. If I download these files does it : matter how I name them in DOS (as long as I maintain a .z : extension)? Also, what program am I supposed to use to : decompress them and where do I find the program? : Joe If you want to be really butcherous, just omit the '.Z' extension and the remote site will uncompress it for you before it is sent, but this of course is a bit of a waste of bandwidth :) Subject: spl traps? Message-ID: <1994Dec10.200720.1400@rhodes> From: graham@colossus.mathcs.rhodes.edu (Randy Graham) Date: 10 Dec 94 20:07:19 -0500 I am just getting going on writing corewar warriors and seem to have a little problem I can't figure out. Below is a snippet of code I am trying to make use of for a portion of a warrior. site1 dat #-585 site2 dat #580 trap1 spl 589 trap2 spl -577 snare spl 0 jmp -1 Now, elsewhere, I throw out my traps with trapper mov trap1, @site1 mov trap2, @site2 sub #4, site1 add #4, trap1 add #6, site2 sub #6, trap2 jmz trapper, enemy Where enemy is a dat #0 which I change to kill of this code when I relocate my warrior. My problem is, the site1/trap1 combo works, but the site2/trap2 doesn't as far as I can tell. When I catch an opponent with trap1, they get progressively slower until they hardly move. However, when I trap2 them, if they are running a single process (I test with dwarfs, revdwarfs, imps, etc. for ease of use) they just die. If the are multiple processes (nearly anything else that fights), it doesn't seem to affect them. If instead of an spl in trap2 I use a mov #0, -577 to see where the opponent lands, they pop a dat bomb where I want them to spl. If instead I use jmp -577 they jump to someplace different than they moved the dat bomb. I can't figure out if I am doing something wrong or if the system doesn't like my math. Any help?? By the way, I am using wincor11 from ftp.csua.berkeley.edu. Does this make a difference? And could someone tell me where to get other simulators. I only saw wincor and kothpc at berkeley. I can run under DOS or Windows or Linux. One other question. If I get this working OK, how exactly will spl enemies be handled when I move #0 into my snare. Suppose I allow 64 processes, and miscalculate and move into to kill them after only 63 processes are caught. Will they all of a sudden be able to respawn the other 63, or will they have one process moving every 64th tick. For that matter, when I relocate my warrior due to a close attack, will killing off my impstomper or other processes benefit me (will I get that time slice back), or is a once used process always a time taker, even when dead? Randy Graham graham@mathcs.rhodes.edu From: mconst@soda.CSUA.Berkeley.EDU (Michael Constant) Subject: Re: spl traps? Date: 11 Dec 1994 05:41:55 GMT Message-ID: <3ce3f3$gmn@agate.berkeley.edu> Randy Graham wrote: >I am just getting going on writing corewar warriors and seem to have >a little problem I can't figure out. Below is a snippet of code I am >trying to make use of for a portion of a warrior. The problem with your program is the way the "trap" instructions are handled. When your program executes the line, "add #4, trap1", it adds 4 to the *B-field* of the trap1 instruction. This changes trap1 from "spl 589, 0" to "spl 589, 4"... this is not what you want. To fix this problem, you should change the "trap" instructions as follows: trap1 spl @0, 589 trap2 spl @0, -577 The exact same problem is affecting trap1 and trap2; it was coincidence that you only observed the problem with trap2. >By the way, I am using wincor11 from ftp.csua.berkeley.edu. Does this >make a difference? And could someone tell me where to get other >simulators. I only saw wincor and kothpc at berkeley. I can run >under DOS or Windows or Linux. You should probably use the most current corewar simulator, which is called pMARS. It is available at ftp.csua.berkeley.edu... are you sure you were in the right directory? Try /pub/corewar/systems. >One other question. If I get this working OK, how exactly will spl >enemies be handled when I move #0 into my snare. Suppose I allow 64 >processes, and miscalculate and move into to kill them after only 63 >processes are caught. Will they all of a sudden be able to respawn >the other 63, or will they have one process moving every 64th tick. >For that matter, when I relocate my warrior due to a close attack, >will killing off my impstomper or other processes benefit me (will I >get that time slice back), or is a once used process always a time >taker, even when dead? A process's time is reallocated one the process is killed. If you spawn 500 processes and then kill them all, your single remaining process will run at full speed again. Thus, you should be very sure that you have trapped all of your opponent's processes... try to leave a margin of error, so that even if your program makes a mistake (possibly due to having its code bombed) it will still leave enough time to trap all the opponent's processes. Note that the current corewar standard allows for a maximum of 8000 processes, rather than 64. -- Michael Constant (mconst@soda.csua.berkeley.edu) From: mathva@aol.com (MaThVa) Subject: Where can I find PCRobots? Date: 12 Dec 1994 07:40:13 -0500 Message-ID: <3chgbd$7ds@newsbf01.news.aol.com> The title should make this message self explanitory. From: PK6811S@ACAD.DRAKE.EDU Subject: The current ICWS '94 Draft hill: Date: 12 Dec 1994 12:48:37 -0600 Message-ID: <01HKK1RX0KLE00AST9@ACAD.DRAKE.EDU> /+|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+/ / * _________ . * . + . +__ __ * . * / /+ \========\ ____*_______ + ____* /==\* /==\_____ ._______+ ______ + / / . / \ .\/ /====\\===== \_/====\ \ \/\/ /\====\ \======\/=====/ / / \ \____( __ )| | \/\ ___/ + \ /. / __ \_| | \/\___ \ . / / * .\______ / \____/ |__|* \___ / . \__/\ / (____ /|__| /____ / / / . . + \/ + + . * \/ * .\/ + * \/ . + . \/ + / / * . . * . * . . * + / /|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-/ The current ICWS '94 Draft hill: # %W/ %L/ %T Name Author Score Age 1 49/ 40/ 10 Taking names P.Kline 159 17 2 44/ 31/ 25 Torch t15 P.Kline 158 51 3 36/ 18/ 47 B-Panama X Steven Morrell 154 193 4 47/ 43/ 10 Agony II Stefan Strack 152 187 5 45/ 39/ 16 HeremScimitar A.Ivner,P.Kline 151 71 6 44/ 37/ 20 Stimpy 3.0 Brant D. Thomsen 150 23 7 39/ 28/ 32 Blue Funk 3 Steven Morrell 150 252 8 39/ 34/ 27 Rude Wind P.Kline 145 101 9 31/ 21/ 48 Ryooki T.Hsu 142 39 10 41/ 41/ 18 SJ-4 J.Layland 141 253 11 32/ 23/ 45 Aeka T.Hsu 140 1 12 40/ 40/ 20 Leprechaun II Anders Ivner 140 45 13 34/ 28/ 38 Blue Funk Steven Morrell 140 564 14 32/ 24/ 44 Silk Warrior 1.4 J.Pohjalainen 139 194 15 42/ 44/ 14 Iron Gate 1.5 Wayne Sheppard 139 541 16 41/ 43/ 17 Drowning III Mike Nonemacher 138 34 17 38/ 39/ 24 Request v3.0 Brant D. Thomsen 137 8 18 35/ 34/ 31 Killer Instinct II Anders Ivner 137 46 19 39/ 42/ 19 The Spanish Inquisition Steven Morrell 136 80 20 40/ 45/ 16 Pyramid v5.5 Michael Constant 135 4 21 2/ 98/ 0 Status Check Anonymous 6 0 From: PK6811S@ACAD.DRAKE.EDU Subject: The current ICWS '94 Experimental (Big) hill: Date: 12 Dec 1994 14:27:26 -0600 Message-ID: <01HKK58GIHTU00BSAR@ACAD.DRAKE.EDU> /+|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+/ / * _________ . * . + . +__ __ * . * / /+ \========\ ____*_______ + ____* /==\* /==\_____ ._______+ ______ + / / . / \ .\/ /====\\===== \_/====\ \ \/\/ /\====\ \======\/=====/ / / \ \____( __ )| | \/\ ___/ + \ /. / __ \_| | \/\___ \ . / / * .\______ / \____/ |__|* \___ / . \__/\ / (____ /|__| /____ / / / . . + \/ + + . * \/ * .\/ + * \/ . + . \/ + / / * . . * . * . . * + / /|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-/ The current ICWS '94 Experimental (Big) hill: # %W/ %L/ %T Name Author Score Age 1 46/ 32/ 22 ivscan6b J.Layland 161 35 2 47/ 36/ 17 Genocide 94x Mike Nonemacher 158 1 3 34/ 16/ 50 Big Phoenix 1.0 J.Pohjalainen 152 6 4 34/ 18/ 48 Aleph 1 Jay Han 150 33 5 44/ 38/ 19 Request-55440 Brant D. Thomsen 149 171 6 42/ 36/ 22 Stimpy v2.0 Brant D. Thomsen 148 26 7 46/ 44/ 10 Test Stefan Strack 147 7 8 43/ 41/ 16 Pyramid v5.3 Michael Constant 145 62 9 44/ 45/ 11 Rave B4.1 Stefan Strack 144 132 10 30/ 16/ 54 Big Silk Warrior 1.0 J.Pohjalainen 143 13 11 34/ 25/ 41 Variation G-1 Jay Han 142 135 12 38/ 39/ 23 Vanity IIx Stefan Strack 137 126 13 39/ 42/ 19 Fscan Jay Han 136 19 14 38/ 41/ 21 Aleph 0 Jay Han 136 34 15 30/ 27/ 43 Splash 1 Jay Han 133 136 16 29/ 26/ 45 Blue Funk Steven Morrell 133 25 17 29/ 25/ 47 NotSoBigImps James Layland 132 31 18 40/ 49/ 11 Squint Mike Nonemacher 131 109 19 31/ 31/ 38 Lucky 13 Stefan Strack 131 177 20 29/ 27/ 44 Der Zweite Blitzkrieg - 9 Mike Nonemacher 131 133 21 2/ 98/ 0 Status Check Anonymous 7 0 From: PK6811S@ACAD.DRAKE.EDU Subject: The current Beginner hill: Date: 12 Dec 1994 15:51:58 -0600 Message-ID: <01HKK870C3J600BEX5@ACAD.DRAKE.EDU> /+|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+/ / * _________ . * . + . +__ __ * . * / /+ \========\ ____*_______ + ____* /==\* /==\_____ ._______+ ______ + / / . / \ .\/ /====\\===== \_/====\ \ \/\/ /\====\ \======\/=====/ / / \ \____( __ )| | \/\ ___/ + \ /. / __ \_| | \/\___ \ . / / * .\______ / \____/ |__|* \___ / . \__/\ / (____ /|__| /____ / / / . . + \/ + + . * \/ * .\/ + * \/ . + . \/ + / / * . . * . * . . * + / /|-+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-|+--+--+--+|-+--+--+--|--+--+--+-/ The current Beginner hill: # %W/ %L/ %T Name Author Score Age 1 52/ 37/ 10 Samba2.2 MR. JONES 167 10 2 39/ 15/ 46 Peace MR. JONES 163 12 3 48/ 39/ 12 Viewmaster4.0 Ryan Case 157 254 4 37/ 20/ 43 Line Noise Matthias Wollnik 154 2 5 34/ 15/ 51 Rabid Dwarfs v1.4 Brian Zellner 154 9 6 47/ 45/ 8 Ecstacy (XTC) Brant Thomsen 149 121 7 36/ 25/ 39 Slate, v0.3a Bharat Mediratta 147 175 8 42/ 40/ 19 TapDance Matthias Wollnik 144 7 9 38/ 32/ 30 Count Zero #1 Marc Schefer 143 117 10 41/ 40/ 20 Plague Matthias Wollnik 142 4 11 35/ 30/ 36 War Machine v 3.0 Matthias Wollnik 140 25 12 38/ 37/ 25 Green Knight v1.7 Brian Zellner 140 8 13 39/ 38/ 23 Bloody Fang v2.1 Bharat Mediratta 139 41 14 31/ 27/ 42 Line Noise v2.0 Matthias Wollnik 136 1 15 43/ 49/ 9 It Hari 136 238 16 37/ 40/ 23 AB Scanner 1.4a Chris Hodson 135 33 17 32/ 33/ 35 Ox v1.0 Brian Zellner 132 50 18 29/ 29/ 42 simple Poke Snellman 130 27 19 29/ 31/ 40 Rubarbe et mort-vivant J.P.Laurin 127 124 20 36/ 50/ 14 Poison-1 MR. JONES 121 3 21 2/ 98/ 0 Status Check Anonymous 6 0 From: xyzzy@u.washington.edu (Trent Piepho) Subject: Re: Where can I find PCRobots? Date: 13 Dec 1994 01:08:33 GMT Message-ID: <3cis6h$sri@nntp1.u.washington.edu> In article <3chgbd$7ds@newsbf01.news.aol.com>, MaThVa wrote: >The title should make this message self explanitory. oak.oakland.edu:/pub/msdos/pgmutil/pcrob141.zip ditto -- ======================================================================== |Gazing up to the breeze of the heavens \ on a quest, meaning, reason | |came to be, how it begun \ all alone in the family of the sun | |curiosity teasing everyone \ on our home, third stone from the sun. | |Trent Piepho (xyzzy@u.washington.edu) -- Metallica | ======================================================================== From: hbecker@zeus.rbi.informatik.uni-frankfurt.de (Helmar Becker) Subject: Re: Where can I find PCRobots? Date: 13 Dec 1994 10:24:06 GMT Message-ID: <3cjso6$c4u@zeus.rbi.informatik.uni-frankfurt.de> WWW page: URL: http://www.uni-frankfurt.de/~hbecker/pcrob.html Does anyone know how to contact the author? Bye... Helmar Subject: Efficient spl traps Message-ID: <1994Dec13.183015.1414@rhodes> From: graham@colossus.mathcs.rhodes.edu (Randy Graham) Date: 13 Dec 94 18:30:14 -0500 OK, I finally have my warrior working, now I want to make him smaller and more efficient. My main problem is the method I have for setting out my spl traps. It takes me 4 instructions to get my destinations set for the traps and my return addresses to actually move an opponent into the trap and 2 instructions to move them. trapper mov trap1, @site1 mov trap2, @site2 sub #6, site1 add #6, trap1 add #8, site2 sub #8, trap2 After this, is takes another instruction to see if I caught anyone, and either one to implement a kill sequence or one to re-run my loop if no one is caught. My question is, is there a more efficient way? For example, if I only looked into memory and then set and moved my traps if I found something? Or is there a shorter instruction sequence to do the above? Ultimately, what this comes down to is catching quick moving opponents. I have almost a 100% record if I find my opponent. However, I only find fast opponents occasionally. An enemy that moves (like cowboy or raidar) because of pickets I don't get often because I am actually laying my trap and letting them announce when they are trapped. Small, heavy bombing or move and leave behind the carcass like mortar, gemini, rave, and others I don't often get, and they don't often get me because I have some defense also. Heavily reproducing, run everything programs (like mice, chang1, sieve) I catch and defeat easily. Obviously, I want to know how to sneak up on cowboy, or how to find rave before she finds me. So, any tips on making my searches more efficient? Oh, By the way. Thanks to those who helped me with my original split trap problems. Once I got them working, I thought they weren't because I didn't see things I expected to in WinCore11. Once I fixed my coding errors and moved to PMars, I did remarkably better in combat (same code beat one opponent >95% in PMars that I lost or tied >75% in WinCore). I think WinCore doesn't handle some things correctly. Thx, Randy Graham graham@mathcs.rhodes.edu From: jalaimo@passport.ca (Joe Alaimo) Subject: Re: NeverLock unprotects 400+ Date: 13 Dec 1994 21:05:18 -0500 Message-ID: <3cljsu$gap@passport.ca> I don't think that this message belongs in this group. I know that I won't ever buy this product for using these spam tactics. From: jalaimo@passport.ca (Joe Alaimo) Subject: decompress disaster Date: 13 Dec 1994 21:19:40 -0500 Message-ID: <3clkns$hic@passport.ca> I was looking to decompress some .Z files to a DOS machine. I found the file decomp2.zip which I used to try and decompress the 1994 icws rules. I ran the program and it was a disaster. It ran for about a minute and when it was done the 3 or 4 megs on the hard drive disappeared and the file was illegible when I tried to read it. It turned out the program wiped out two major programs from my hard drive, a total of 10 megs after running chkdsk. I am using stacker 3.1 and I am not sure that if it would run properly on an uncompressed drive. I am afraid to try it. Does anyone know of a reliable uncompress program or where I can get the corewar rules files in a zip or txt format? Joe From: ivarv@icebox.iceonline.com (Ivar Vasara) Subject: beginners Message-ID: Date: Wed, 14 Dec 1994 02:12:19 GMT say.. where do I get the resources to get me on my way in corewars ? ftp sites gopher sites anything with informative texts.. From: stst@vuse.vanderbilt.edu (Stefan Strack) Subject: pMARS for 286's and lower Message-ID: <1994Dec14.064322.4769@news.vanderbilt.edu> Date: Wed, 14 Dec 1994 06:43:22 GMT We've had a request for pMARS compiled for XT/AT class (<=286) machines. Since there are probably still a few of these around, I thought I'd make it publicly available as: ftp://ftp.csua.berkeley.edu/pub/corewar/incoming/pmars286.zip This archive only contains pmars(v).exe; you will need mts, pshell, documentation and macro files from systems/pmars062.zip. These 16-bit executables are somewhat slower and have a core size limit of 8192, but are otherwise quite similar to their 32-bit counterparts. We will likely discontinue support of 8088/80286 machines with the forthcoming v0.7, since the multi-warrior extensions require flat memory addressing. -Stefan (stst@vuse.vanderbilt.edu) From: dhaack@emerald.tufts.edu (Daniel Haack) Subject: Juzam Djinn Date: 14 Dec 1994 10:57:08 -0500 Message-ID: <3cn4kk$822@emerald.tufts.edu> I was wondering what the Juzam djinn is as well as Aladdin? dhaack@emerald.tufts.edu From: jalaimo@passport.ca (Joe Alaimo) Subject: Re: beginners Date: 14 Dec 1994 17:34:34 -0500 Message-ID: <3cnrtq$4ah@passport.ca> ivarv@icebox.iceonline.com (Ivar Vasara) wrote: > >say.. where do I get the resources to get me on my way >in corewars ? ftp sites >gopher sites > >anything with informative texts.. the corewar site is ftp.csua.berkeley.edu in the pub/corewar directory. I would recommend corewp3.zip as a learning program because it has a step mode that let's you move one instruction at a time and it let's you examine the core contents between each step. I would also recommend getting wincor11.zip ( a windows program) because it has a great graphics perspective. In terms of text files get the tutorial1 and tutorial2. I also got a copy of the book Armchair Universe by A.K. Dewdney (the guy who created corewars) from the university library. It really helped to read the original article that was originally published in Scientific American Joe From: hwan0022@maroon.tc.umn.edu (Francis P. Hwang) Subject: Two Koth questions Message-ID: Date: Wed, 14 Dec 1994 19:34:58 GMT Two questions about sending my warrior to Koth: 1) Maybe I'm just a nimrod, but could somebody tell me how ;assert works? I've asked before, and I got a handful of responses that should've been useful, but I'm still having problems. My e-mail to koth starts with: ;assert (CORESIZE == 8000) and I'm still getting a "no ;assert" warning. 2) I'm getting errors like this on all my DAT statements: Error in line 26: 'DAT 0,0' [05] Invalid '88 format. Proper format: 'DAT [#<] [#<]' Besides the "no ;assert" warning, this is the only problem my programs are having, but it's for most of my DAT statements. How do I fix this? Mucho thanks in advance. -- Francis Hwang hwan0022@maroon.tc.umn.edu From: sd@ecst.csuchico.edu (Fission Chips (00005)) Subject: Re: Two Koth questions Date: 14 Dec 1994 23:05:18 GMT Message-ID: <3cntne$3nd@charnel.ecst.CSUChico.EDU> Francis P. Hwang wrote: > Two questions about sending my warrior to Koth: > > 1) Maybe I'm just a nimrod, but could somebody tell me how ;assert >works? I've asked before, and I got a handful of responses that should've >been useful, but I'm still having problems. My e-mail to koth starts with: > >;assert (CORESIZE == 8000) > > and I'm still getting a "no ;assert" warning. As it says in the faq, everything before the ;redcode line is deleted. try putting your ;assert after the ;author or ;strategy line. > 2) I'm getting errors like this on all my DAT statements: > >Error in line 26: 'DAT 0,0' >[05] Invalid '88 format. Proper format: 'DAT [#<] [#<]' > > Besides the "no ;assert" warning, this is the only problem my programs >are having, but it's for most of my DAT statements. How do I fix this? DAT 0,0 is an illegal instruction in '88. As it says above, you must put a # or a < before the A and B fields, e.g. DAT #0,#0 or DAT <-3,<-3 >Francis Hwang >hwan0022@maroon.tc.umn.edu -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\/~~\ /~~~\/\ / \ \ / /~\ /~~~YY~~~\\ /~~~~ Thomas H. Davies V \/\ /\ V / V |\/\/| V\ / sd@ecst.csuchico.edu "Blessed is the man V \ / | / | V who expects nothing, \/ | /\ | Member C.W.M. for he shall not be |/oo\| Since 1987 disappointed." - The Book |/\| From: sd@ecst.csuchico.edu (Fission Chips (00005)) Subject: Re: Two Koth questions Date: 14 Dec 1994 23:10:58 GMT Message-ID: <3cnu22$3p8@charnel.ecst.CSUChico.EDU> Francis P. Hwang wrote: > Two questions about sending my warrior to Koth: > > 1) Maybe I'm just a nimrod, but could somebody tell me how ;assert >works? I've asked before, and I got a handful of responses that should've >been useful, but I'm still having problems. My e-mail to koth starts with: > >;assert (CORESIZE == 8000) > > and I'm still getting a "no ;assert" warning. As it says in the faq, everything before the ;redcode line is deleted. try putting your ;assert after the ;author or ;strategy line. > 2) I'm getting errors like this on all my DAT statements: > >Error in line 26: 'DAT 0,0' >[05] Invalid '88 format. Proper format: 'DAT [#<] [#<]' > > Besides the "no ;assert" warning, this is the only problem my programs >are having, but it's for most of my DAT statements. How do I fix this? DAT 0,0 is an illegal instruction in '88. As it says above, you must put a # or a < before the A and B fields, e.g. DAT #0,#0 or DAT <-3,<-3 >Francis Hwang >hwan0022@maroon.tc.umn.edu -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~\/~~\ /~~~\/\ / \ \ / /~\ /~~~YY~~~\\ /~~~~ Thomas H. Davies V \/\ /\ V / V |\/\/| V\ / sd@ecst.csuchico.edu "Blessed is the man V \ / | / | V who expects nothing, \/ | /\ | Member C.W.M. for he shall not be |/oo\| Since 1987 disappointed." - The Book |/\| From: stst@vuse.vanderbilt.edu (Stefan Strack) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 16 Dec 1994 09:42:15 GMT Message-ID: Archive-name: games/corewar-faq Last-modified: 1994/11/25 Version: 2.3.1 These are the Frequently Asked Questions (and answers) from the USENET newsgroup rec.games.corewar. This FAQ list is also available by anonymous FTP from rtfm.mit.edu as pub/usenet/news.answers/games/corewar-faq.Z. TABLE OF CONTENTS Line ------------------------------------------------------------------------ 1. What is Core War? 69 2. Is it Core War or Core Wars? 82 3. Where can I find more information about Core War? 90 4. Core War has changed since Dewdney's articles. Where do I get 116 a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 135 6. What is the ICWS? 152 7. What is TCWN? 162 8. How do I join? 170 9. Are back issues of TCWNs available? 187 10. What is the EBS? 194 11. Where are the Core War archives? 208 12. Where can I find a Core War system for . . . ? 226 13. I do not have ftp. How do I get all of this great stuff? 275 14. I do not have access to Usenet. How do I post and receive news? 285 15. When is the next tournament? 303 16. What is KotH? How do I enter? 314 17. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 483 18. How does SLT (Skip if Less Than) work? 495 19. What does (expression or term of your choice) mean? 507 20. Other questions? 650 --------------------------------------------------------------------- Q 1: What is Core War? A 1: 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 posession 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. ---------------------------------------------------------------------- Q 2: Is it "Core War" or "Core Wars"? A 2: 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. ---------------------------------------------------------------------- Q 3: Where can I find more information about Core War? A 3: 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: 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 Author: Dewdney, A. K. Title: The Magic Machine: A Handbook of Computer Sorcery Published: New York: W. H. Freeman (c) 1990 ISBN: 0-7167-2125-2 (Hardcover), 0-7167-2144-9 (Paperback) Library of Congress Call Number: QA76.6 .D5173 1990 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 (see Q 4). --------------------------------------------------------------------- Q 4: Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A 4: A draft of the official standard (ICWS'88) is available by anonymous FTP from the Core War archives (ftp.csua.berkeley.edu) as pub/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 pub/corewar/documents/tutorial.1.Z tutorial.2.Z (See also Q11) Steven Morrell (morrell@math.utah.edu) is preparing a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. Mail him for a preliminary version. Michael Constant (mconst@ ftp.csua.berkeley.edu) is reportedly working on a beginner's introduction. --------------------------------------------------------------------- Q 5: What is ICWS'94? Which simulators support ICWS'94? A 5: 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 post-increment indirect addressing mode 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 for more information (ftp.csua.berkeley.edu pub/corewar/documents/icws94.0202.Z). You can try out the new standard by submitting warriors to the '94 hills of the KotH servers (see Q16). Two corewar systems currently support ICWS'94, pMARS (various platforms) and Redcoder (Mac), both available at soda (see Q12). --------------------------------------------------------------------- Q 6: What is the ICWS? A 6: 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). --------------------------------------------------------------------- Q 7: What is TCWN? A 7: 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 ftp.csua.berkeley.edu (see Q9). --------------------------------------------------------------------- Q 8: How do I join? A 8: For more information about joining the ICWS (which includes a subscription to TCWN), or to contribute an article, review, cartoon, letter, joke, rumor, etc. to TCWN, please 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 annual dues are $15.00 in US currency. ---------------------------------------------------------------------- Q 9: Are back issues of TCWN available? A 9: Recent issues can be found on ftp.csua.berkeley.edu (see Q11). Older issues (up to Winter 1991) are also available (see the next TCWN for details). --------------------------------------------------------------------- Q10: What is the EBS? A10: 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 are 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 (see Q 5). ---------------------------------------------------------------------- Q11: Where is the Core War archive? A11: 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.csua.berkeley.edu (128.32.43.51) in the /pub/corewar directories. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@ftp.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. 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. This FAQ is automatically archived by news.answers. See the header for the current archive name and news.answers for how to get it. ---------------------------------------------------------------------- Q12: Where can I find a Core War system for . . . ? A12: Core War systems are available via anonymous ftp from ftp.csua.berkeley.edu in the pub/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 pub/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 ftp.csua.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. Below is a not necessarily complete or up-to-date list of what's available at soda: 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 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) pmars06s.zip - portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars06s.tar.Z - same as above pmars062.zip - PC executables with graphics display, req 386+ macpmars02.sit.hqx - pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS.10.cpt.hqx - port of v0.6 for the Mac, with display and debugger MacpMARS.10s.cpt.hqx - C source (MPW, ThinkC) for Mac frontend ApMARS03.lha - pMARS executable for Amiga (port of version 0.3.1) wincor11.zip - MS-Windows system, shareware ($15) ---------------------------------------------------------------------- Q13: I do not have ftp. How do I get all of this great stuff? A13: 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. If you don't have access to the net at all, send me a 3.5 '' diskette in a self-addressed disk mailer with postage and I will mail it back with an image of the Core War archives in PC format. My address is at the end of this post. ---------------------------------------------------------------------- Q14: I do not have access to Usenet. How do I post and receive news? A14: To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Stormking.Com ListProcessor. To join, send: SUB COREWAR-L FirstName LastName to: LISTPROC@STORMKING.COM You can send mail to corewar-l@stormking.com to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (tuc@stormking.com). Another server that allows you to post (but not receive) articles is available. Email your post to rec-games-corewar@cs.utexas.edu and it will be automatically posted for you. ---------------------------------------------------------------------- Q15: When is the next tournament? A15: The ICWS holds an annual tournament. Traditionally, the deadline for entering is the 15th of December. The EBS usually holds a preliminary tournament around the 15th of November and sends the top finishers on to the ICWS tournament. Informal double-elimination tournaments are held frequently among readers of the newsgroup; watch there for announcements or contact me. ---------------------------------------------------------------------- Q16: What is KotH? How do I enter? A16: 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 with special comment lines. You will receive a reply indicating how well your program did against the current top twenty programs "on the hill". Your program 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. The original KotH was developed and run by William Shubert at Intel, 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@stormking.com" is maintained by Scott J. Ellentuch (tuc@stormking.com) and "pizza@ecst.csuchico.edu" by Thomas H. Davies (sd@ecst.csuchico.edu). Both KotHs provide very similar services and are therefore covered together. The principal difference is that "pizza" has a much faster internet connection than "stormking". 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 a line starting with ";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. There are currently six separate hills you can select by starting your program with ;redcode, ;redcode-x, ;redcode-icws, ;redcode-b, ;redcode-94, or ;redcode-94x. More information on these hills is listed below. 3) Mail this file to "koth@stormking.com" or "pizza@ecst.csuchico.edu". "Pizza" requires a subject of "koth" (use the -s flag on most mailers). 4) Within a few minutes (or the next day for "stormking") 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 (or the next day for "stormking") you should get more mail telling you how your program performed against the current top 20 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 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. 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. Here are the Specs for the various hills: ICWS'88 Standard Hill Specs: (Accessed with ";redcode", available at "stormking" and "pizza") coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '88 ICWS Annual Tournament Hill Specs: (Accessed with ";redcode-icws", available at "stormking" only) coresize: 8192 instructions max. processes: 8000 per program duration: After 100,000 cycles, a tie is declared. max. entry length: 300 minimum distance: 300 instruction set: ICWS '88 ICWS'88 Experimental (Small) Hill Specs: (Accessed with ";redcode-x", available at "pizza" only) coresize: 4096 max. processes: 32 duration: after 65,536 cycles, a tie is declared. max. entry length: 64 minimum distance: 64 instruction set: ICWS '88 ICWS'94 Draft Hill Specs: (Accessed with ";redcode-94", available at "stormking" and "pizza") coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '94 Draft ICWS'94 Beginner's Hill Specs: (Accessed with ";redcode-b", available at "pizza" only) coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '94 Draft ICWS'94 Experimental (Big) Hill Specs: (Accessed with ";redcode-94x", available at "stormking" and "pizza") coresize: 55440 max. processes: 10000 duration: after 500,000 cycles, a tie is declared. max. entry length: 200 minimum distance: 200 instruction set: ICWS '94 Draft 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. All hills run portable MARS (pMARS) version 0.6, a platform-independent corewar system available at soda (see Q12). The '94 and '94x hills allow three experimental opcodes and addressing modes currently not covered in the ICWS'94 draft document: 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 ---------------------------------------------------------------------- Q17: Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? A17: Core is initialized to DAT 0, 0. This is an "illegal" instruction under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) 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. Note that under ICWS'94, DAT 0, 0 is a legal instruction. ---------------------------------------------------------------------- Q18: How does SLT (Skip if Less Than) work? A18: 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. 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. ---------------------------------------------------------------------- Q19: What does (expression or term of your choice) mean? A19: Here is a selected glossary of terms. If you have a definition and/or term you wish to see here, please send it to me. (References to an X-like program mean that the term X is derived from the specific program X and has become a generic term). 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 Color - 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. 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, Date: Fri, 16 Dec 1994 19:45:52 GMT Well, I'm pretty new at this, so there might be reasons this wouldn't work. But last night I had an interesting idea for a really bizarre corewar variant. If I remember correctly, on a real computer core, the locations aren't all initialized to one value. Unlike the core in redcode, in which unused locations are initialized to dat #0, #0, unused core in a real computer can be anything at random, but it'll get initialized when it gets used. It might be interesting to play with a core where each locations is initialized to a random command. It would force a complete rethinking of core scanning, probably. A few things I thought of: 1) Scanners would be weakened, while brute force type programs like imps & dwarves would be much quicker. To offset this, you could make the coresize much bigger to reduce the effectiveness of brute force programs. 2) Once you did that, a scanner would need some really interesting ways to check for a program. For example, it could check an area of locations, looking for illegal instructions and JMPs to illegal instructions. For that, you'd most likely need operators to compare operators in other cells, as opposed to just a-fields & b-fields. 3) The programs themselves would be much bigger as a result, because core-scanning would become a lot more complicated. Perhaps it wouldn't even be efficient, I guess, but maybe you could do it efficiently. 4) This would slow down corewar compilers, however, since they'd have to spend time randomly initializing a core at the beginning of every battle. Or, to make it even more interesting, you could have one main core, which is initialized at first, but never cleared again. This'd be quicker, and you'd have to anticipate the possible results of previous battles. For example, if a hill had been getting a lot of imp-type programs, you could hope to anticipate that the core you'd be loaded on to would have a lot of residual MOV 0, 1 commands. 5) Using old core instead of initializing new core might make SPL commands to random locations plausible, though perhaps not a good strategy. (For some reason I'm stuck on the idea of SPL commands to random locations, though there's no way to use them in redcode.) -- Francis Hwang hwan0022@maroon.tc.umn.edu From: mconst@soda.CSUA.Berkeley.EDU (Michael Constant) Subject: Re: decompress disaster Date: 16 Dec 1994 21:06:06 GMT Message-ID: <3csvfu$6ib@agate.berkeley.edu> Joe Alaimo wrote: >I was looking to decompress some .Z files to a DOS machine. If you want, you can get the ftp server to decompress the files for you by typing "get filename" instead of "get filename.Z". -- Michael Constant (mconst@soda.csua.berkeley.edu) From: mconst@soda.CSUA.Berkeley.EDU (Michael Constant) Subject: Re: Juzam Djinn Date: 16 Dec 1994 21:11:12 GMT Message-ID: <3csvpg$6l0@agate.berkeley.edu> Daniel Haack wrote: >I was wondering what the Juzam djinn is as well as Aladdin? The Juzam Djinn is 5/5 first strike but does 1 damage to you during upkeep, Alladin is 1/1 and taps+2RR to steal an artifact, and this is rec.games.corewar not rec.games.deckmaster. Please don't post Magic questions here. -- Michael Constant (mconst@soda.csua.berkeley.edu) From: pk6811s@acad.drake.edu Subject: Re: New semi-redcode idea Date: 17 Dec 94 19:39:18 CST Message-ID: <1994Dec17.193918@acad.drake.edu> In article , hwan0022@maroon.tc.umn.edu (Francis P. Hwang) writes: >... > It might be interesting to play with a core where each locations is > initialized to a random command. It would force a complete rethinking of > core scanning, probably. A few things I thought of: > > 1) Scanners would be weakened, while brute force type programs like > imps & dwarves would be much quicker. To offset this, you could make the > coresize much bigger to reduce the effectiveness of brute force programs. >... I think it would be an interesting environment (it's been suggested before :-) However, scanners might not be as weak as you expect. How could enemy code be detected? What about suspecting any numbers less than 10? Since core would be initialized with random numbers 0-coresize, the probability of any given location containing a small number is - small. But the probability that your code will contain small numbers is large so you can stick out like a sore thumb. Even better to look for a-operands between minus-10 and minus-1, due to loop instructions. Code something like this: next add #step,scan scan slt.a #-11,x jmp next attack ... The larger you make core, the more likely a small number is enemy-code :-) Of course, a brute-force program that replaces 'scan' above with a bomb instruction will probably kill your scanner most of the time, but so what else is new? Scanners work most effectively against multiple-process, multiple-location programs like paper, some imps, RotLD, etc., and the above scanner *might* be effective enough in a random-core (jungle?) environment. Paul Kline pk6811s@acad.drake.edu From: chard@lacosa.com (Chard) Subject: ***this group rally s Message-ID: <46u94xxp46u94xxp@lacosa.com> Date: Sun, 18 Dec 1994 00:26:00 -=> Quoting Craig Clark to All <=- CC> Message sender: bbs!Craig.Clark@intel.mhv.net CC> I agree with you. American music is a tragedy. Myself, I CC> prefer the music of Europe. But I was born an American. So CC> I try to write a an American music, but it is all so decadent CC> that it is an embarassment to anyone anywhere in the world who CC> has any sense of dignity as it relates to music. Thank you for dismissing two continents and some islands [the Americas] full of composers and musicians, in favor of the region that gave us the Horst Wessel Song, Dominique, Sid Vicious, and ABBA. I'll remember that the next time I hear Kent Nagano conduct. Ric Carter, DOS {disturber of silence} - - ric@sonic.net ... Won't come back from Dead Man's Curve... * OTR$ * ___ Blue Wave/QWK v2.12 From: chard@lacosa.com (Chard) Subject: sequence or not Message-ID: Date: Sun, 18 Dec 1994 02:03:00 -=> Quoting Matthew H. Fields to All <=- MHF> Message sender: fields@zip.eecs.umich.edu MHF> In article <1994Dec5.135315.4377@cavendish.co.uk>, MHF> Alex Craxton wrote: >Here is a good question (that probably been asked many times). >Is sequencing killing live music ? >We see people like Jarre, who cannot recreate his music live without >using tapes of the music to sync against. >Mike Oldfield manages it. MHF> Hmmm, I'd say that the availability of first the gramaphone and then MHF> radio began an economic process that gradually phased out most MHF> concerts, especially home concerts. CDs and sequencers continue the MHF> process, even as they redefine the available resources. But then, the MHF> first kid to whack two stones together redefined clapping and stomping, MHF> and the first person to make an oboe out of a piece of grass and their MHF> hands redefined singing... My mother-in-law was very active in an international organization of academic and concert musicians for many years. She is totally opposed to synthesizers both for aesthetic reasons, and because they "put Mu Phi members out of work". She won't even listen to my compositions when realized electronically, even tho I just can't afford to hire an ensemble to play for her. I try to tell her that the pipe organ was the first synthesizer, that it's kept untold thousands of wind and horn players out of employment over the centuries, but she doesn't want to hear that... MHF> As long as live performance holds a unique fascination, it'll hold out MHF> against automation. But no longer... >:-P A concert/live performance is always a totally different environment than driving/reading/sleeping/screwing/showering/eating/vegetating/concentrating with recorded/broadcast music. We approach these different venues with various expectations & mindsets, and experience different levels of acoustic pressure, social interaction, digestive/urinary distress, visual stimula, etc - - and we value these experiences differently. The Grateful Dead encourage 'bootleg' recordings of their concerts, because, since there's _nothing_ like actually experiencing their performance, circulating and listening to the tapes only stimulates the desire to pay money to attend a show, live, in person, moving & grooving, outasite man... It's also possible that as VR-related technology improves, the recorded/ broadcast performance may become indistinguishable from the in-the-presence experience. At that point, I'll have to re-evaluate my arguments... Ric "put a sock in it!" Carter, DOS [disturber of silence] ric@sonic.net, ric.carter@lacosa.com ... SELENOPHOBIA: Fear of the moon * OTR$ * ___ Blue Wave/QWK v2.12 From: chard@lacosa.com (Chard) Subject: So how do you compose Message-ID: <36f53r9036f53r90@lacosa.com> Date: Sun, 18 Dec 1994 02:36:00 -=> Quoting Bright Star Technology to All <=- BST> Message sender: bstar@cyberspace.com BST> It sounds like you are a little paranoid about how prudent lifting BST> others' material is. Justifications will never make it your music, BST> and I doubt that you or anyone else (besides John Williams maybe) can BST> ever find true satisfaction in a piece that was, in part, someone BST> elses. If you really want a good place to start when having a mental BST> block: rip off your own stuff! It's yours, and you know the stuff BST> inside and out. This will also help to shield yourself from having to BST> explain why the piece that you "Wrote" sounds so much like some other BST> piece. BST> I have been composing for a living for a while now, and have never BST> once felt the need to "borrow" from someone else. The vast majority BST> of the really memorable pieces through the centuries were not lifted BST> from others' music (granted there are exceptions). It may be BST> perfectly, historically acceptable, however I don't find it desireable BST> or admirable. I recall seeing a number of works by JS Bach 'after Vivaldi/Pachelbel' etc. I recall that the 'Ode To Joy' bit at the end of Beethoven's 9th [also known as Deutcheland Uber Alles, and previously used as a national anthem by an embarrassing number of European countries] was lifted by Ludwig from Bach, who lifted it from an earlier source... It seems that there's a very long tradition of European composers 'borrowing' from each other. Why stop now? I recall some composer in the last half-century saying that all composition is plagirism. I wouldn't go _that_ far, but I see his point... ric.carter@lacosa.com ... Conservatism is a mental disease, the fear of the present * OTR$ * ___ Blue Wave/QWK v2.12 From: pk6811s@acad.drake.edu Subject: Re: New semi-redcode idea Date: 20 Dec 94 16:31:06 CST Message-ID: <1994Dec20.163106@acad.drake.edu> In article , hwan0022@maroon.tc.umn.edu (Francis P. Hwang) writes: >... > Though, to partially get around that, you could have a program where > separate subprocedures are lots of locations apart, like: > ... > If you split your subprocedures up like that, then a lot more of your > arguments would be larger. Also, any negative numbers would be really > large due to the modulo arithmetic. Hmmm. Of course you can check for large negatives with SLT x,#-10, however you are right in thinking it will be much harder to identify an opponent in a random-init core. Instead of 'seeing' opponents, scanners might be reduced to just 'smelling' them :-) However they still scan very quickly, ignoring vast amounts of core thus saving attack time. And if they do identify you they can unleash an attack that is very damaging. I would like to see this implemented, and maybe give it a try in the upcoming multiple-opponent Hill - a real jungle environment. How about loading a bunch of 'beasts' in there and see how long you last? This would make a good challenge event like last spring's White Knight tourney. > Of course, typing in that many DAT statements would be really tedious, > I guess, but a minor inconvenience, all things considered. > :-) Better get a newer emulator, like PMars which allows macros: for 10 DAT #1000,#1000 rof Paul Kline pk6811s@acad.drake.edu From: hwan0022@maroon.tc.umn.edu (Francis P. Hwang) Subject: Re: New semi-redcode idea Message-ID: Date: Tue, 20 Dec 1994 18:59:30 GMT In article <1994Dec17.193918@acad.drake.edu>, pk6811s@acad.drake.edu wrote: > However, scanners might not be as weak as you expect. How could enemy > code be detected? What about suspecting any numbers less than 10? Since > core would be initialized with random numbers 0-coresize, the probability > of any given location containing a small number is - small. But the probability > that your code will contain small numbers is large so you can stick out like a > sore thumb. Though, to partially get around that, you could have a program where separate subprocedures are lots of locations apart, like: ... JMP bomb, 0 DAT #1000, #1000 DAT #1000, #1000 DAT #1000, #1000 ...(you'd put in maybe 50 DAT statements, then)... bomb MOV b, @ptr ... If you split your subprocedures up like that, then a lot more of your arguments would be larger. Also, any negative numbers would be really large due to the modulo arithmetic. Of course, typing in that many DAT statements would be really tedious, I guess, but a minor inconvenience, all things considered. -- Francis Hwang hwan0022@maroon.tc.umn.edu From: jasmith@gpu.srv.ualberta.ca (James Smith) Subject: Corewar FAQ? Where? Date: 20 Dec 1994 20:09:33 GMT Message-ID: <3d7dlt$bks@quartz.ucs.ualberta.ca> Hi there. Sorry if this sounds utterly stupid but is there a FAQ on Corewar? Can anyone point me to a Redcode FTP site, etc...? Thanks in advance James From: George Lebl Subject: VENUS ... Date: Wed, 21 Dec 1994 12:55:01 -0700 Message-ID: I've been thinking a lot about that, article about venus, and thought it could be done on PC, or multiplatform. The object of the game would be to reproduce as much as posible, but also tu survive as long as posible. Each address of the core would have a particular energy, which would be growing at a rate particular to the part of the core. A instruction to be executed, would subtract one energy unit from that core address. also the organisms would declare territory, based on some rules, any energy from that territory would be protected from enemy taking it and the energy would not have to be redistributed. energy wise the whole territory would act as one address in the core. each organism would have certain number of moves, allowed before dying. To reproduce, the program would put special pointer instructions that would point to it's territory. If another spicies stepped on the instruction, the two territories of those spicies would be combined to produce two other spicies, placed near, which would share some of the parents code, as in crossing of genes. (Mutation would be minimal). The instructions could be standard corewar instructions with few added, pointer instruction, instruction to capture territory. and for energy transfers. each organism would be allowed to have only one continous territory. The winner would be after a number of steps, which starting organism, has most of it's coded instructions in all the living organisms. This means each instruction would be coded, by the origin. this would not alter how the instruction is executed, nor how it is distributed to the children. Warriors would have to consider killing enemy for energy, having a lot of small pieces of code which would work alone, so that these can function properly in the children, and looking for pointers or putting them. a simple dwarf would die, beacuse, he would never reproduce, he would just kill. any suggestions? again just a stupid Idea from a stupid person. George ------------------------------------------------------------------------------ ___ | George Lebl FRANZ / | \ | georgel@gas.uug.arizona.edu | | | /|\ | | Sex Pistols RULE! |-O-| \/_|_\/ | The force is with you | | Subject: Useful programs??? Message-ID: <1994Dec23.114035.1444@rhodes> From: graham@colossus.mathcs.rhodes.edu (Randy Graham) Date: 23 Dec 94 11:40:35 -0500 I have been working with CoreWar stuff for a couple of weeks now, and was thinking about trying to write some programs that do useful things. For example, I have a program to multiply integers, and can conceive of calculating primes up to CORESIZE. I was just wondering if anyone else had written warriors to be something other than warriors? Even neater, I think, would be a program that does something useful AND fights. Like the prime number calculator would figure primes while bombing non-primes, so it could battle some. Of course, it would likely be slow, so it wouldn't be too effective. Still, it would fight and do something useful. If anyone has done this, please send me mail telling me what you have done and maybe including code in case I can't figure out how to do it. Or if you have an idea for something that you think is possible but don't know how to proceed, let me know. Thx, Randy From: stst@vuse.vanderbilt.edu (Stefan Strack) Subject: Core War on top 100 games list Message-ID: <1994Dec23.151754.26379@news.vanderbilt.edu> Date: Fri, 23 Dec 1994 15:17:54 GMT Core War is about to drop from the Top 100 Games List posted regularly on comp.sys.ibm.pc.games.announce. Support your favorite pastime by sending your vote to jojo@hacktic.nl, message: #nowarnings 5 Core Wars Intl. Core War Society [1227] (other games may follow here for a total of up to 20 points, but no more than 5 points each - see the Top 100 List for details) -Stefan (stst@vuse.vanderbilt.edu) From: chard@lacosa.com (Chard) Subject: apology Message-ID: Date: Tue, 27 Dec 1994 20:19:00 A number of messages I posted on a local BBS to various newsgroups were erroneously mis-routed by the BBS Fido/UUCP software. I did not intend to route these messages here; they're quite irelevant to your subject matter, as was made very clear to me by many angry responses. I apologize for any distress this caused any readers here; however, those who responded to me so rudely, are invited to leap into an active volcano. * OTR$ * Indecision is the key to felxibility... ___ Blue Wave/QWK v2.12 From: rrognlie@netcom.com (Richard Rognlie) Subject: New C++Robots Command, Challenge Message-ID: Date: Wed, 28 Dec 1994 22:21:59 GMT Hi, gang! I've install a new C++Robots Command, challenge. This allows you to challenge one or more robots to a single free for all match with the results "Traced" and returned to you. The Syntax is: C++Robots challenge [ ... [ ] ] You submit the code for your robot the same as you do for a submission to the hill. The results of a challenge are *not* calculated into the standings on the hill. Richard P.S. For full help, send pbmserv@netcom.com a mail message with 'help c++robots' as the subject line. -- /\/\/\ | Richard Rognlie / Sr. Computer Analyst / PRC Inc. / McLean, VA / \ \ \ | E-Mail: rrognlie@netcom.com *or* rognlie_richard@prc.com \ / / / | Phone: (Home) (703) 361-4764 (Office) (703) 556-2458 \/\/\/ | (Fax) (703) 556-1174 From: stst@vuse.vanderbilt.edu (Stefan Strack) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 31 Dec 1994 10:46:27 GMT Message-ID: Archive-name: games/corewar-faq Last-modified: 1994/11/25 Version: 2.3.1 These are the Frequently Asked Questions (and answers) from the USENET newsgroup rec.games.corewar. This FAQ list is also available by anonymous FTP from rtfm.mit.edu as pub/usenet/news.answers/games/corewar-faq.Z. TABLE OF CONTENTS Line ------------------------------------------------------------------------ 1. What is Core War? 69 2. Is it Core War or Core Wars? 82 3. Where can I find more information about Core War? 90 4. Core War has changed since Dewdney's articles. Where do I get 116 a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 135 6. What is the ICWS? 152 7. What is TCWN? 162 8. How do I join? 170 9. Are back issues of TCWNs available? 187 10. What is the EBS? 194 11. Where are the Core War archives? 208 12. Where can I find a Core War system for . . . ? 226 13. I do not have ftp. How do I get all of this great stuff? 275 14. I do not have access to Usenet. How do I post and receive news? 285 15. When is the next tournament? 303 16. What is KotH? How do I enter? 314 17. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 483 18. How does SLT (Skip if Less Than) work? 495 19. What does (expression or term of your choice) mean? 507 20. Other questions? 650 --------------------------------------------------------------------- Q 1: What is Core War? A 1: 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 posession 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. ---------------------------------------------------------------------- Q 2: Is it "Core War" or "Core Wars"? A 2: 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. ---------------------------------------------------------------------- Q 3: Where can I find more information about Core War? A 3: 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: 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 Author: Dewdney, A. K. Title: The Magic Machine: A Handbook of Computer Sorcery Published: New York: W. H. Freeman (c) 1990 ISBN: 0-7167-2125-2 (Hardcover), 0-7167-2144-9 (Paperback) Library of Congress Call Number: QA76.6 .D5173 1990 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 (see Q 4). --------------------------------------------------------------------- Q 4: Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A 4: A draft of the official standard (ICWS'88) is available by anonymous FTP from the Core War archives (ftp.csua.berkeley.edu) as pub/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 pub/corewar/documents/tutorial.1.Z tutorial.2.Z (See also Q11) Steven Morrell (morrell@math.utah.edu) is preparing a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. Mail him for a preliminary version. Michael Constant (mconst@ ftp.csua.berkeley.edu) is reportedly working on a beginner's introduction. --------------------------------------------------------------------- Q 5: What is ICWS'94? Which simulators support ICWS'94? A 5: 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 post-increment indirect addressing mode 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 for more information (ftp.csua.berkeley.edu pub/corewar/documents/icws94.0202.Z). You can try out the new standard by submitting warriors to the '94 hills of the KotH servers (see Q16). Two corewar systems currently support ICWS'94, pMARS (various platforms) and Redcoder (Mac), both available at soda (see Q12). --------------------------------------------------------------------- Q 6: What is the ICWS? A 6: 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). --------------------------------------------------------------------- Q 7: What is TCWN? A 7: 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 ftp.csua.berkeley.edu (see Q9). --------------------------------------------------------------------- Q 8: How do I join? A 8: For more information about joining the ICWS (which includes a subscription to TCWN), or to contribute an article, review, cartoon, letter, joke, rumor, etc. to TCWN, please 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 annual dues are $15.00 in US currency. ---------------------------------------------------------------------- Q 9: Are back issues of TCWN available? A 9: Recent issues can be found on ftp.csua.berkeley.edu (see Q11). Older issues (up to Winter 1991) are also available (see the next TCWN for details). --------------------------------------------------------------------- Q10: What is the EBS? A10: 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 are 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 (see Q 5). ---------------------------------------------------------------------- Q11: Where is the Core War archive? A11: 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.csua.berkeley.edu (128.32.43.51) in the /pub/corewar directories. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@ftp.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. 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. This FAQ is automatically archived by news.answers. See the header for the current archive name and news.answers for how to get it. ---------------------------------------------------------------------- Q12: Where can I find a Core War system for . . . ? A12: Core War systems are available via anonymous ftp from ftp.csua.berkeley.edu in the pub/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 pub/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 ftp.csua.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. Below is a not necessarily complete or up-to-date list of what's available at soda: 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 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) pmars06s.zip - portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars06s.tar.Z - same as above pmars062.zip - PC executables with graphics display, req 386+ macpmars02.sit.hqx - pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS.10.cpt.hqx - port of v0.6 for the Mac, with display and debugger MacpMARS.10s.cpt.hqx - C source (MPW, ThinkC) for Mac frontend ApMARS03.lha - pMARS executable for Amiga (port of version 0.3.1) wincor11.zip - MS-Windows system, shareware ($15) ---------------------------------------------------------------------- Q13: I do not have ftp. How do I get all of this great stuff? A13: 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. If you don't have access to the net at all, send me a 3.5 '' diskette in a self-addressed disk mailer with postage and I will mail it back with an image of the Core War archives in PC format. My address is at the end of this post. ---------------------------------------------------------------------- Q14: I do not have access to Usenet. How do I post and receive news? A14: To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Stormking.Com ListProcessor. To join, send: SUB COREWAR-L FirstName LastName to: LISTPROC@STORMKING.COM You can send mail to corewar-l@stormking.com to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (tuc@stormking.com). Another server that allows you to post (but not receive) articles is available. Email your post to rec-games-corewar@cs.utexas.edu and it will be automatically posted for you. ---------------------------------------------------------------------- Q15: When is the next tournament? A15: The ICWS holds an annual tournament. Traditionally, the deadline for entering is the 15th of December. The EBS usually holds a preliminary tournament around the 15th of November and sends the top finishers on to the ICWS tournament. Informal double-elimination tournaments are held frequently among readers of the newsgroup; watch there for announcements or contact me. ---------------------------------------------------------------------- Q16: What is KotH? How do I enter? A16: 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 with special comment lines. You will receive a reply indicating how well your program did against the current top twenty programs "on the hill". Your program 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. The original KotH was developed and run by William Shubert at Intel, 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@stormking.com" is maintained by Scott J. Ellentuch (tuc@stormking.com) and "pizza@ecst.csuchico.edu" by Thomas H. Davies (sd@ecst.csuchico.edu). Both KotHs provide very similar services and are therefore covered together. The principal difference is that "pizza" has a much faster internet connection than "stormking". 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 a line starting with ";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. There are currently six separate hills you can select by starting your program with ;redcode, ;redcode-x, ;redcode-icws, ;redcode-b, ;redcode-94, or ;redcode-94x. More information on these hills is listed below. 3) Mail this file to "koth@stormking.com" or "pizza@ecst.csuchico.edu". "Pizza" requires a subject of "koth" (use the -s flag on most mailers). 4) Within a few minutes (or the next day for "stormking") 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 (or the next day for "stormking") you should get more mail telling you how your program performed against the current top 20 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 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. 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. Here are the Specs for the various hills: ICWS'88 Standard Hill Specs: (Accessed with ";redcode", available at "stormking" and "pizza") coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '88 ICWS Annual Tournament Hill Specs: (Accessed with ";redcode-icws", available at "stormking" only) coresize: 8192 instructions max. processes: 8000 per program duration: After 100,000 cycles, a tie is declared. max. entry length: 300 minimum distance: 300 instruction set: ICWS '88 ICWS'88 Experimental (Small) Hill Specs: (Accessed with ";redcode-x", available at "pizza" only) coresize: 4096 max. processes: 32 duration: after 65,536 cycles, a tie is declared. max. entry length: 64 minimum distance: 64 instruction set: ICWS '88 ICWS'94 Draft Hill Specs: (Accessed with ";redcode-94", available at "stormking" and "pizza") coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '94 Draft ICWS'94 Beginner's Hill Specs: (Accessed with ";redcode-b", available at "pizza" only) coresize: 8000 max. processes: 8000 duration: after 80,000 cycles, a tie is declared. max. entry length: 100 minimum distance: 100 instruction set: ICWS '94 Draft ICWS'94 Experimental (Big) Hill Specs: (Accessed with ";redcode-94x", available at "stormking" and "pizza") coresize: 55440 max. processes: 10000 duration: after 500,000 cycles, a tie is declared. max. entry length: 200 minimum distance: 200 instruction set: ICWS '94 Draft 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. All hills run portable MARS (pMARS) version 0.6, a platform-independent corewar system available at soda (see Q12). The '94 and '94x hills allow three experimental opcodes and addressing modes currently not covered in the ICWS'94 draft document: 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 ---------------------------------------------------------------------- Q17: Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? A17: Core is initialized to DAT 0, 0. This is an "illegal" instruction under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) 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. Note that under ICWS'94, DAT 0, 0 is a legal instruction. ---------------------------------------------------------------------- Q18: How does SLT (Skip if Less Than) work? A18: 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. 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. ---------------------------------------------------------------------- Q19: What does (expression or term of your choice) mean? A19: Here is a selected glossary of terms. If you have a definition and/or term you wish to see here, please send it to me. (References to an X-like program mean that the term X is derived from the specific program X and has become a generic term). 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 Color - 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. 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, Hi, I need strategic help. For some reason, whenever I submit a program other than some imp based variation to the KOTH server, it always get's shout down! COuld someone post some Vampire/stone/paper examples? Or you could e-mail me at zhuff@ocsvaxa.cc.oberlin.edu... -Paul Huff