From: Ronald Praver Subject: CROBOTS source Date: 2000/10/01 Message-ID: <39D80801.22307468@gate.net>#1/1 I wish to thank everybody that sent me the authors different emails. I have tried to contact him repeatedly to purchase the source that he states in his crobots doc that is for sale for $20.00. If someone out there did purchase it in the past I will pay you $30.00 for the source, so if the original author ever gets in contact with you about the purchase you can pay him the $20.00 and you will have $10.00 for your troubles!!! Any takers???? Help, Ron From: Koth Subject: KOTH.ORG: Status - Standard 10/02/00 Date: 2000/10/02 Message-ID: <200010020400.AAA16484@gevjon.ttsg.com>#1/1 Weekly Status on 10/02/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Fri Sep 29 21:04:27 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 38/ 20/ 41 Freight Train David Moore 157 71 2 38/ 22/ 40 sIMPly.Red v0.95 Leonardo Humberto 154 28 3 37/ 20/ 43 Test Alexander (Sasha) Wa 153 10 4 36/ 22/ 42 Guardian Ian Oversby 151 70 5 41/ 35/ 24 PacMan David Moore 147 100 6 31/ 16/ 53 EV Paper John K Wilkinson 145 84 7 31/ 19/ 50 Test I Ian Oversby 142 127 8 41/ 40/ 18 Stasis David Moore 142 178 9 32/ 22/ 46 Shish-Ka-Bob Ben Ford 141 26 10 43/ 44/ 13 Iron Gate Wayne Sheppard 141 396 11 41/ 40/ 19 Beholder's Eye V1.7 W. Mintardjo 141 346 12 37/ 35/ 28 Stillborn Bomber v0.2 mjp 139 11 13 38/ 38/ 24 Tangle Trap David Moore 138 144 14 29/ 22/ 49 Evoltmp 88 John K W 137 121 15 40/ 46/ 14 Foggy Swamp Beppe Bezzi 135 67 16 40/ 46/ 14 Blur '88 Anton Marsden 134 108 17 34/ 36/ 30 Frog Sticker P.Kline 132 20 18 39/ 49/ 11 Blurstone '88 M. J. Pihlaja 129 65 19 39/ 50/ 11 Shadow Seeker John Metcalf 128 7 20 27/ 43/ 30 Twill Andy Pierce 112 1 21 2/ 70/ 28 Virual IIII: RWT Tharn 35 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 10/02/00 Date: 2000/10/02 Message-ID: <200010020400.AAA16494@gevjon.ttsg.com>#1/1 Weekly Status on 10/02/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sun Sep 24 03:07:26 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 56/ 29/ 14 Black Moods Ian Oversby 184 15 2 50/ 29/ 22 Controlled Aggression Ian Oversby 171 19 3 24/ 7/ 69 Evol Cap 4 X John Wilkinson 141 88 4 43/ 46/ 11 S.E.T.I. 4-X JKW 140 89 5 41/ 42/ 17 Tsunami v0.3 X Ian Oversby 140 13 6 29/ 19/ 52 Venom v0.2b Christian Schmidt 139 41 7 19/ 2/ 78 Evolve X v4.0 John Wilkinson 137 36 8 40/ 43/ 18 Pagan John K W 136 73 9 37/ 41/ 22 Stepping Stone 94x Kurt Franke 133 74 10 27/ 22/ 50 Rosebud Beppe 132 67 11 38/ 44/ 18 Memories Beppe Bezzi 132 95 12 36/ 40/ 25 Dr. Gate X Franz 132 59 13 32/ 34/ 34 Draken Fire X Ben Ford 131 10 14 39/ 47/ 15 Even More Advanced (read: Josef Jahn 131 3 15 34/ 37/ 30 Lithium X 8 John K Wilkinson 130 79 16 34/ 38/ 28 MorphinMerlin Jeremy K 130 2 17 34/ 39/ 27 BigBoy Robert Macrae 129 113 18 37/ 48/ 15 Advanced Spooner Josef Jahn 125 4 19 21/ 19/ 60 Purple v0.1 Christian Schmidt 122 40 20 21/ 25/ 54 Hyper Advanced (read: sux Josef Jahn 117 1 21 12/ 40/ 48 Velvet Fist Ayan Chakrabarti 84 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 10/02/00 Date: 2000/10/02 Message-ID: <200010020400.AAA16489@gevjon.ttsg.com>#1/1 Weekly Status on 10/02/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Mon Sep 25 01:31:14 EDT 2000 # Name Author Score Age 1 QuiVa John Metcalf 25 134 2 fclear Brian Haskin 16 25 3 D-clearM Ken Espiritu 15 41 4 Her Majesty P.Kline 13 60 5 SmallFry Simon Duff 12 11 6 vamp/scan test b1 Ken Espiritu 12 14 7 Dracula's Cape Ben Ford 10 19 8 Le Bombe Simon Duff 10 1 9 MorphinMerlin Jeremy K 8 5 10 Friction Ken Espiritu 5 13 11 Hyper Advanced (read: sux Josef Jahn 3 2 From: "David M. Moore" Subject: Re: Check out the King! Date: 2000/10/03 Message-ID: <39DA5EEE.2E6DF91B@groupinfo.com>#1/1 Ben Ford wrote: > I think most people try avoid using qscans exactly as published to > avoid exactly that happening (which makes Moore's lastest q-scan pretty > ingenious in that it almost forces you to use a unique scan). Indeed, which locations are scanned depends on the placement of the code (specifically, the distance between the lookup table and the decoder). If you change that distance by even 1 cell, then everything scans a totally different location. If you're lucky, then it spreads out and doesn't point back to your own code. I should have mentioned that in the initial write-up. With a little bit of algebra, you can re-write that quickscan (from Return of the Fugitive) such that you don't need to re-compute the numbers each time the code is moved. I would like to do that so that people can steal the quickscan easier. When they drop it into their program in a different place, all of the scans become different, so there's no problem with everyone having the same warrior. The reason why I don't is because pMars overflows the ints when you multiply a lot of numbers together. From: jkw@koth.org Subject: update Date: 3 Oct 2000 00:23:59 -0400 Message-ID: <4.1.20001002221345.00a57cf0@pop-server> In a previous post I stated entries would be accepted until Sunday Oct 7th, midnight CST. Sunday is in fact on the 8th, according to my calendar. So that's when they'll be compiled. Also, I updated http://www.koth.org/kofacoto with this info... -jkw From: jkw@koth.org Subject: KOFACOTO information Date: 2000/10/04 Message-ID: <4.1.20001004175203.00a5c500@pop-server>#1/1 I've recieved several more questions about the KOFACOTO... here's some more info to answer everyone: There is no requirement for entry into the tournament other than submitting a warrior for at least 1 of the preliminary rounds. Once you've submitted a warrior, by emailing it to jkw@koth.org, you're in. As for the points scored per round, the person earning the best winning score will recieve 1000 points in round 1. Everyone else will recieve a score normalized to 1000, so if the best program got 500 pts against the white warrior, and you got 400 pts against the white warrior, the best one receives 1000 pts, and you receive 800. The number of pts for round 2 might change to be more or less than 1000... I haven't decided on the number of initial rounds. As it says on www.koth.org/kofacoto I haven't decided on the exact number of rounds, but there will be 4 at the very least, I should think, possibly up to 8? I'd like some feedback on that if people have preferences. You may submit as many warriors as you want to me. Only the last one will be used. I won't be running any simulations until after the deadline, this Sunday at midnight. Incidentally, with 4 days to go, till the round 1 deadline, I currently have submissions from the following people. (2 of which used sneaky subject lines to try to hide their entries from me, heh.) David Moore P.Kline Paulsson M Joonas Pihlaja If I missed your submission, please email your entries to jkw@koth.org, with the email subject "KOFACOTO". -jkw From: "pk" Subject: RE: RotJ qscan damage for round 1 Date: 2000/10/05 Message-ID: #1/1 SO, maybe a mini Q^3 foillowed by a quick boot?? -----Original Message----- From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of M Joonas Pihlaja Sent: 5 octobre, 2000 18:06 To: Multiple recipients of list COREWAR-L Subject: RotJ qscan damage for round 1 Hi, Since jkw posted more info on KOFACOTO, I see there are multiple entries... I'm wondering what sort of damage jedimp's qscan is doing to your entries? For my entry the qscan is doing a lot of damage: over half my losses are qscan hits! Joonas From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: Re: RotJ qscan damage for round 1 Date: 2000/10/05 Message-ID: <39dd0d47.4998049@news.lrz-muenchen.de>#1/1 On 5 Oct 2000 18:05:47 -0400, M Joonas Pihlaja wrote: > >Hi, > >Since jkw posted more info on KOFACOTO, I see there are >multiple entries... > >I'm wondering what sort of damage jedimp's qscan is doing to your >entries? For my entry the qscan is doing a lot of damage: >over half my losses are qscan hits! I haven't started on my warrior yet, and I have been away from Corewar for ages, but I also wondered about the q-scan. It might be problematic to have a white warrior with a q-scan, because the obvious thing to do is to reverse the q-scan? How many wins does one get that way, I suppose quite a few... Now that I am posting, I wonder if anybody could explain to me what a q^3 is? Last time I played, q^2 was still state of the art as far as I remember. Any other crash-course hints that could be helpful to get my knowledge up to the current level of the game would also be highly appreciated ;-) Bjoern From: "David M. Moore" Subject: Re: Check out the King! Date: 2000/10/05 Message-ID: <39DCC8CC.FC646DB3@groupinfo.com>#1/1 M Joonas Pihlaja wrote: > > Put in lots of extra modulos? ;-) Oh yes, of course. Thanks! > A note about the spread out: there's a pair of scans whose > separation is bounded by the distance you mention. Yup! Now why didn't anybody point out the even/odd mixup in Core Warrior 70? (the P^3 article) From: M Joonas Pihlaja Subject: RotJ qscan damage for round 1 Date: 2000/10/05 Message-ID: #1/1 Hi, Since jkw posted more info on KOFACOTO, I see there are multiple entries... I'm wondering what sort of damage jedimp's qscan is doing to your entries? For my entry the qscan is doing a lot of damage: over half my losses are qscan hits! Joonas From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: Re: update Date: 2000/10/05 Message-ID: <39dcf5cd.247815@news.lrz-muenchen.de>#1/1 On 3 Oct 2000 00:23:59 -0400, jkw@koth.org wrote: >In a previous post I stated entries would be accepted until Sunday Oct 7th, midnight CST. >Sunday is in fact on the 8th, according to my calendar. So that's when they'll be compiled. I'm not so good with those time zones, what time would that be GMT? Bjoern From: M Joonas Pihlaja Subject: Re: Check out the King! Date: 2000/10/05 Message-ID: #1/1 On Tue, 3 Oct 2000, David M. Moore wrote: [ snip about Dave's latest qscan ] > Indeed, which locations are scanned depends on the placement > of the code (specifically, the distance between the lookup table > and the decoder). [ snip if lucky, scans spread out and won't scan main warrior ] A note about the spread out: there's a pair of scans whose separation is bounded by the distance you mention. The chances of getting up to that bound are pretty small too... [ snip re-write qscan to make relocating code easier ] > The reason why I don't is because pMars overflows the ints > when you multiply a lot of numbers together. Put in lots of extra modulos? ;-) Is anyone interested in a perl script or something to create a suitable qscan and then insert it into a warrior? Joonas From: Ilmari Karonen Subject: Re: Hi, there! Date: 2000/10/05 Message-ID: <970753052.6570@itz.pp.sci.fi>#1/1 In article , Lukasz Adamowski wrote: >before the bomb is moved. So, it is bombing only the bomb! I think there >should be no difference between pre-decrement and post-increment >addressing modes (except the direction, of course;) But of course there's a difference. _pre_decrement is done before the effective address is computed, while _post_increment is done after. Of course, it's not that simple. The execution of a redcode'94 instruction is broken down more or less[1] as follows: 1. Fetch and store the current instruction. 2a. (Perform predecrement if A-mode is '<' or '{'.) 2b. Compute effective A-address. 2c. Fetch and store the A-operand instruction. 2d. (Perform postincrement if A-mode if '>' or '}'.) 3a. (Perform predecrement if B-mode is '<' or '{'.) 3b. Compute effective B-address. 3c. Fetch and store the B-operand instruction. 3d. (Perform postincrement if B-mode if '>' or '}'.) 4. Compute result from stored operands and save in B-address. 5. Adjust process queue according to stored operands.[2] Notice the order of steps 3c, 3d and 4. In your case, the field that was incremented in step 3d will be overwritten in step 4 by the value stored in step 3c. With precerement this doesn't happen, because, as the name says, predecrement happens in step 3a _before_ steps 3b/c. [1] One notable exception is DJN, which adds an extra decrement step between 3d and 4. This does not fit as part of step 4, since it modifies the core directly instead of using the stored B-operand. [2] Generally either of steps 4 and 5 is trivial for each opcode. If step 4 is nontrivial, step 5 just queues the next address, and if step 5 is nontrivial, step 4 does nothing. -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "And, should you resort to sticking a martini olive up their nose, implacable universal laws require that they'll _like_ that sort of thing." -- Graydon in r.a.sf.c From: Lukasz Adamowski Subject: Hi, there! Date: 2000/10/05 Message-ID: #1/1 I'm back from my holidays and now can surf on the net again. I think it's great idea with KOFACOTO. But it is not what I wanted to say about. I think there is a bug in pMARS, because I tried to write something like this: bomb dat $0, $0 start mov $bomb, bomb jmp $-1 end start and it does work diffrently. The counter in bomb's B-field is not incremented. Why? I thought that it's changed after executing whole the instruction (after moving, I mean), but pMARS is incrementing B-field before the bomb is moved. So, it is bombing only the bomb! I think there should be no difference between pre-decrement and post-increment addressing modes (except the direction, of course;) That's all, bye. Lukasz From: Lukasz Adamowski Subject: Hi, there! (fwd) Date: 2000/10/11 Message-ID: #1/1 Shit! Sorry, guys, I hadn't checked it before I've written my mail, now I know that there's symmetry between pre-decrement and post-increment bombing. That's funny, I always thought that some of my bomber would kill themselves because of it. I think it worked that way in some Polish MARSes, but I'm not sure. Never mind, I use pMARS. Lukasz ---------- Forwarded message ---------- Date: Thu, 5 Oct 2000 13:17:15 +0100 (MET) From: Lukasz Adamowski To: corewar-l@koth.org Subject: Hi, there! I'm back from my holidays and now can surf on the net again. I think it's great idea with KOFACOTO. But it is not what I wanted to say about. I think there is a bug in pMARS, because I tried to write something like this: bomb dat $0, $0 start mov $bomb, bomb jmp $-1 end start and it does work diffrently. The counter in bomb's B-field is not incremented. Why? I thought that it's changed after executing whole the instruction (after moving, I mean), but pMARS is incrementing B-field before the bomb is moved. So, it is bombing only the bomb! I think there should be no difference between pre-decrement and post-increment addressing modes (except the direction, of course;) That's all, bye. Lukasz From: Martin Ankerl Subject: yace_04, redcode tiny hill, KOFACOTO Date: 2000/10/06 Message-ID: <8rlfi4$t28$1@nnrp1.deja.com>#1/1 Hi everybody, Today I got my Internet access back and so I have uploaded the latest release of yace, you can get it from http://martinus.awhs.at It now works well under Linux, because I have switched from Windows :-) redcode tiny hill: Dave, very good warrior on the hill (corewars.sourceforge.net)! It will take me a long time to get koth again... (if ever...) KOFACTO: I hope there will be good conditions for evolved warriors in the later rounds? :-) I think I will submit a partly evolved warrior for the first round, my purely evolved ones are too bad up to now. -- Martin Ankerl Sent via Deja.com http://www.deja.com/ Before you buy. From: Ben Ford Subject: RE: RotJ qscan damage for round 1 Date: 2000/10/06 Message-ID: <8rktfj$f2k$1@nnrp1.deja.com>#1/1 In article , thida@videotron.ca wrote: > Uh... > DAMMIT! I'm not gonna win anything(too many big names ;-) > > Q^3 is a seq/jmp scan that uses a different decoding scheme, and thus has > faster reaction time... Mostly using MUL rather than ADD. Through decrements/increments, there is a difference between multiplying by 6 or 7 while there isn't really a difference between adding 699 or 700. This also allows for a lot larger number of potential scans to decode if you so desire. > Yeah, i'm thinking of putting a qscan with reversed scans, and then bombing > from 2 locations (thank you, Mr Kline 8) It could be tricky getting a Q^3 to exactly reverse a Q^2 scan. An approximate reverse would probably work well enough however. Sent via Deja.com http://www.deja.com/ Before you buy. From: Planar Subject: Re: warrior archive still active? Date: 2000/10/06 Message-ID: <8rkr32$e6d$1@ites.inria.fr>#1/1 >From: bjoern@blinker.NOSPAM.net (Bjoern) >Just wondering if Planar's warrior archive is still being updated? It Yes and no. I haven't given up, but I'm still trying to find the time. >It would be a shame if warrior code would be lost, especially the most >recent ones. I'm still lurking in this group and saving all the warriors. And I think I have a script sowewhere that archives all the posts, so maybe someday I'll publish a complete archive of r.g.c. -- Planar From: birk@andromeda.ociw.edu Subject: RE: warrior archive still active? Date: 2000/10/06 Message-ID: <200010061459.HAA20241@andromeda.ociw.edu>#1/1 > We should try to build another one, and to fill the 2 year gap.. I kept the 'Koenigstuhl' up-to-date. All warriors that were published are on the hill(s). Sadly not too many were published during the last year. Christoph From: "David M. Moore" Subject: Re: warrior archive still active? Date: 2000/10/06 Message-ID: <39DDACD7.8E826F5@groupinfo.com>#1/1 Bjoern wrote: > > Just wondering if Planar's warrior archive is still being updated? No. Personally, I've been using Cristoph Birk's page to look up new warriors. Look for them near the top of Koenigstuhl :-) http://andromeda.ociw.edu/COREWAR/koenigstuhl.html From: "pk" Subject: RE: warrior archive still active? Date: 2000/10/06 Message-ID: #1/1 Yeah, i think planar's stopped updating it...really too bad 8( We should try to build another one, and to fill the 2 year gap.. Anybody up for this?? -----Original Message----- From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Bjoern Sent: 6 octobre, 2000 08:33 To: Multiple recipients of list COREWAR-L Subject: warrior archive still active? Just wondering if Planar's warrior archive is still being updated? It says in Corewarrior 77 that 'the secrets of Origami Harquebus have been revealed', yet I couldn't find it in the archive. Also, the section 'ordered by date' seems to end 1998. It would be a shame if warrior code would be lost, especially the most recent ones. Apparently there also is a problem with deja.com, they don't have posts older than a year anymore (they say it's a temporary problem, but it seems to have been like that for quite a while). Bjoern From: "pk" Subject: RE: RotJ qscan damage for round 1 Date: 2000/10/06 Message-ID: #1/1 Uh... DAMMIT! I'm not gonna win anything(too many big names ;-) Q^3 is a seq/jmp scan that uses a different decoding scheme, and thus has faster reaction time... Yeah, i'm thinking of putting a qscan with reversed scans, and then bombing from 2 locations (thank you, Mr Kline 8) Then, i suppose a clear with a continuous gate will do the thing... BTW, the imps are a-field driven, so a backward clear would kill them -----Original Message----- From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Bjoern Sent: 5 octobre, 2000 20:31 To: Multiple recipients of list COREWAR-L Subject: Re: RotJ qscan damage for round 1 On 5 Oct 2000 18:05:47 -0400, M Joonas Pihlaja wrote: > >Hi, > >Since jkw posted more info on KOFACOTO, I see there are >multiple entries... > >I'm wondering what sort of damage jedimp's qscan is doing to your >entries? For my entry the qscan is doing a lot of damage: >over half my losses are qscan hits! I haven't started on my warrior yet, and I have been away from Corewar for ages, but I also wondered about the q-scan. It might be problematic to have a white warrior with a q-scan, because the obvious thing to do is to reverse the q-scan? How many wins does one get that way, I suppose quite a few... Now that I am posting, I wonder if anybody could explain to me what a q^3 is? Last time I played, q^2 was still state of the art as far as I remember. Any other crash-course hints that could be helpful to get my knowledge up to the current level of the game would also be highly appreciated ;-) Bjoern From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: warrior archive still active? Date: 2000/10/06 Message-ID: <39ddaae9.5044622@news.lrz-muenchen.de>#1/1 Just wondering if Planar's warrior archive is still being updated? It says in Corewarrior 77 that 'the secrets of Origami Harquebus have been revealed', yet I couldn't find it in the archive. Also, the section 'ordered by date' seems to end 1998. It would be a shame if warrior code would be lost, especially the most recent ones. Apparently there also is a problem with deja.com, they don't have posts older than a year anymore (they say it's a temporary problem, but it seems to have been like that for quite a while). Bjoern From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 2000/10/06 Message-ID: Archive-name: games/corewar-faq Last-Modified: September 4, 1999 Version: 4.2 URL: http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html Copyright: (c) 1999 Anton Marsden Maintainer: Anton Marsden Posting-Frequency: once every 2 weeks Core War Frequently Asked Questions (rec.games.corewar FAQ) These are the Frequently Asked Questions (and answers) from the Usenet newsgroup rec.games.corewar. A plain text version of this document is posted every two weeks. The latest hypertext version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html and the latest plain text version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.txt. This document is currently being maintained by Anton Marsden (anton@paradise.net.nz). Last modified: Sat Sep 4 00:22:22 NZST 1999 ------------------------------------------------------------------------ To Do * Add the new No-PSpace '94 hill location * Add online location of Dewdney's articles * Make question 17 easier to understand. Add a state diagram? * Add info about infinite hills, related games (C-Robots, Tierra?, ...) * New question: How do I know if my warrior is any good? Refer to beginners' benchmarks, etc. * Add a Who's Who list? * Would very much like someone to compile a collection of the "revolutionary" warriors so that beginners can see how the game has developed over the years. Mail me if interested. ------------------------------------------------------------------------ What's New * Changed primary location of FAQ (again!) * Changed Philip Kendall's home page address. * Updated list server information * Changed primary location of FAQ * Vector-launching code was fixed thanks to Ting Hsu. * Changed the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr ------------------------------------------------------------------------ Table of Contents 1. What is Core War 2. Is it "Core War" or "Core Wars"? 3. Where can I find more information about Core War? 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 6. What is the ICWS? 7. What is Core Warrior? 8. Where are the Core War archives? 9. Where can I find a Core War system for ...? 10. Where can I find warrior code? 11. I do not have FTP. How do I get all this great stuff? 12. I do not have access to Usenet. How do I post and receive news? 13. Are there any Core War related WWW sites? 14. What is KotH? How do I enter? 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 16. How does SLT (Skip if Less Than) work? 17. What is the difference between in-register and in-memory evaluation? 18. What is P-space? 19. What does "Missing ;assert .." in my message from KotH mean? 20. How should I format my code? 21. Are there any other Core War related resources I should know about? 22. What does (expression or term of your choice) mean? 23. Other questions? ------------------------------------------------------------------------ 1. What is Core War? Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all processes of the opposing program to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardised by the ICWS, and is therefore transportable between all standard Core War systems. The system in which the programs run is quite simple. The core (the memory of the simulated computer) is a continuous array of instructions, empty except for the competing programs. The core wraps around, so that after the last instruction comes the first one again. There are no absolute addresses in Core War. That is, the address 0 doesn't mean the first instruction in the memory, but the instruction that contains the address 0. The next instruction is 1, and the previous one obviously -1. However, all numbers are treated as positive, and are in the range 0 to CORESIZE-1 where CORESIZE is the amount of memory locations in the core - this means that -1 would be treated as CORESIZE-1 in any arithmetic operations, eg. 3218 + 7856 = (3218 + 7856) mod CORESIZE. Many people get confused by this, and it is particularly important when using the SLT instruction. Note that the source code of a program can still contain negative numbers, but if you start using instructions like DIV #-2, #5 it is important to know what effect they will have when executed. The basic unit of memory in Core War is one instruction. Each Redcode instruction contains three parts: * the opcode * the source address (a.k.a. the A-field) * the destination address (a.k.a. the B-field) The execution of the programs is equally simple. The MARS executes one instruction at a time, and then proceeds to the next one in the memory, unless the instruction explicitly tells it to jump to another address. If there is more than one program running, (as is usual) the programs execute alternately, one instruction at a time. The execution of each instruction takes the same time, one cycle, whether it is MOV, DIV or even DAT (which kills the process). Each program may have several processes running. These processes are stored in a task queue. When it is the program's turn to execute an instruction it dequeues a process and executes the corresponding instruction. Processes that are not killed during the execution of the instruction are put back into the task queue. Processes created by a SPL instruction are added to the task queue after the creating process is put back into the task queue. [ToC] ------------------------------------------------------------------------ 2. Is it "Core War" or "Core Wars"? Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. [ToC] ------------------------------------------------------------------------ 3. Where can I find more information about Core War? Core War was first described in the Core War Guidelines of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in Scientific American which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Library of Author Title Published ISBN Congress Call Number The Armchair Dewdney, Universe: An New York: W. QA76.6 .D517 A. K. Exploration of H. Freeman �0-7167-1939-8 1988 Computer Worlds 1988 The Magic 0-7167-2125-2 Dewdney, Machine: A New York: W.(Hardcover), QA76.6 A. K. Handbook of H. Freeman �0-7167-2144-9 .D5173 1990 Computer Sorcery 1990 (Paperback) A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current. For those who are interested, Dewdney has a home page at http://www.csd.uwo.ca/faculty/akd/. [ToC] ------------------------------------------------------------------------ 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A draft of the official standard (ICWS'88) is available as ftp://www.koth.org/corewar/documents/standards/redcode-icws-88.Z. This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at Mark Durham's tutorials, ftp://www.koth.org/corewar/documents/tutorial.1.Z and ftp://www.koth.org/corewar/documents/tutorial.2.Z. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This and various other tutorials can be found at http://www.koth.org/papers.html. Even though ICWS'88 is still the "official" standard, you will find that most people are playing by ICWS'94 draft rules and extensions. [ToC] ------------------------------------------------------------------------ 5. What is ICWS'94? Which simulators support ICWS'94? There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a new addressing modes and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft at ftp://www.koth.org/corewar/documents/icws94.0202.Z for more information. There is a HTML version of this document available at http://www.koth.org/info/icws94.html. You can try out the new standard by submitting warriors to the '94 hills of the KotH servers. Two corewar systems currently support ICWS'94, pMARS (many platforms) and Redcoder (Mac), both available at ftp://www.koth.org/corewar. Note that Redcoder only supports a subset of ICWS'94. [ToC] ------------------------------------------------------------------------ 6. What is the ICWS? About one year after Core War first appeared in Scientific American, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). The ICWS is no longer active. [ToC] ------------------------------------------------------------------------ 7. What is Core Warrior? Following in the tradition of the Core War News Letter, Push Off, and The 94 Warrior, Core Warrior is a newsletter about strategies and current standings in Core War. Started in October 1995, back issues of Core Warrior (and the other newsletters) are available at http://para.inria.fr/~doligez/corewar/. There is also a Core Warrior index page at http://www.kendalls.demon.co.uk/pak21/corewar/warrior.html which has a summary of the contents of each issue of Core Warrior. Many of the earlier issues contain useful information for beginners. [ToC] ------------------------------------------------------------------------ 8. Where are the Core War archives? Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp://ftp.csua.berkeley.edu/pub/corewar. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. This site is mirrored at: * http://www.koth.org/corewar/ * ftp://www.koth.org/corewar/ * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror The plain text version of this FAQ is automatically archived by news.answers (but this version is probably out-of-date). [ToC] ------------------------------------------------------------------------ 9. Where can I find a Core War system for . . . ? Core War systems are available via anonymous FTP from www.koth.org in the corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check ftp://www.koth.org/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than www.koth.org. Generally, the older the program - the less likely it will be ICWS compatible. If you are looking for an ICWS'94 simulator, get pMARS, which is available for many platforms and can be downloaded from: * ftp://ftp.csua.berkeley.edu/pub/corewar (original site) * ftp://www.koth.org/corewar (koth.org mirror) * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror (Planar mirror) * http://www.nc5.infi.net/~wtnewton/corewar/ (Terry Newton) * ftp://members.aol.com/ofechner/corewar (Fechter) Notes: * If you have trouble running pMARS with a graphical display under Win95 then check out http://www.koth.org/pmars.html which should have a pointer to the latest compilation of pMARS for this environment. * RPMs for the Alpha, PowerPC, Sparc and i386 can be found at ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars-rpm/ Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at www.koth.org: MADgic41.lzh corewar for the Amiga, v4.1 MAD4041.lzh older version? MAD50B.lha corewar for the Amiga, beta version 5.0 Redcoder-21.hqx corewar for the Mac, supports ICWS'88 and '94 (without extensions) core-11.hqx corewar for the Mac core-wars-simulator.hqx same as core-11.hqx? corewar_unix_x11.tar.Z corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z older version kothpc.zip port of older version of KotH to the PC deluxe20c.tar.Z corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z corewar for UNIX, likely not ICWS'88 compatible icons.zip corewar icons for MS-Windows macrored.zip a redcode macro-preprocessor (PC) c88v49.zip PC corewar, textmode display mars88.zip PC corewar, graphics mode display corwp302.zip PC corewar, textmode display, slowish mercury2.zip PC corewar written in assembly, fast! mtourn11.zip tournament scheduler for mercury (req. 4DOS) pmars08s.zip portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars08s.tar.Z same as above pmars08.zip PC executables with graphics display, req 386+ macpmars02.sit.hqx pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS1.99a.cpt.hqx port of v0.8 for the Mac, with display and debugger MacpMARS1.0s.cpt.hqx C source (MPW, ThinkC) for Mac frontend pvms08.zip pMARS v0.8 for VMS build files/help (req. pmars08s.zip) ApMARS03.lha pMARS executable for Amiga (port of version 0.3.1) wincor11.zip MS-Windows system, shareware ($15) [ToC] ------------------------------------------------------------------------ 10. Where can I find warrior code? To learn the game, it is a good idea to study previously posted warrior code. The FTP archives have code in the ftp://www.koth.org/corewar/redcode directory. A clearly organized on-line warrior collection is available at the Core War web sites (see below). [ToC] ------------------------------------------------------------------------ 11. I do not have FTP. How do I get all this great stuff? There is an FTP email server at bitftp@pucc.princeton.edu. This address may no longer exist. I haven't tested it yet. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. Note that many FTP email gateways are shutting down due to abuse. To get a current list of FTP email servers, look at the Accessing the Internet by E-mail FAQ posted to news.answers. If you don't have access to Usenet, you can retrieve this FAQ one of the following ways: * Send mail to mail-server@rtfm.mit.edu with the body containing "send usenet/news.answers/internet-services/access-via-email". * Send mail to mailbase@mailbase.ac.uk with the body containing "send lis-iis e-access-inet.txt". [ToC] ------------------------------------------------------------------------ 12. I do not have access to Usenet. How do I post and receive news? To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Koth.Org list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@koth.org. You can send mail to corewar-l@koth.org to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (ttsg@ttsg.com). Servers that allow you to post (but not receive) articles are available. Refer to the Accessing the Internet by E-Mail FAQ for more information. [ToC] ------------------------------------------------------------------------ 13. Are there any Core War related WWW sites? You bet. Each of the two KotH sites sport a world-wide web server. Stormking's Core War page is http://www.koth.org; pizza's is http://www.ecst.csuchico.edu/~pizza/koth . Damien Doligez (a.k.a. Planar) has a web page that features convenient access to regular newsletters (Push Off, The '94 Warrior, Core Warrior) and a well organized library of warriors: http://para.inria.fr/~doligez/corewar/. Convenient for U.S. users, this site is also mirrored at koth.org. [ToC] ------------------------------------------------------------------------ 14. What is KotH? How do I enter? King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program (warrior) with special comment lines. You will receive a reply indicating how well your program did against the current top programs "on the hill". There are two styles of KotH tournaments, "classical" and "multi-warrior". The "classical" KotH is a one-on-one tournament, that is your warrior will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. In "multi-warrior" KotH, all warriors on the hill fight each other at the same time. Score calculation is a bit more complex than for the one-on-one tournament. Briefly, points are awarded based on how many warriors survive until the end of a round. A warrior that survives by itself gets more points than a warrior that survives together with other warriors. Points are calculated from the formula (W*W-1)/S, where W is the total number of warriors and S the number of surviving warriors. The pMARS documentation has more information on multi-warrior scoring. The idea for an email-based Core War server came from David Lee. The original KotH was developed and run by William Shubert at Intel starting in 1991, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: koth@koth.org is maintained by Scott J. Ellentuch (tuc@ttsg.com) and pizza@ecst.csuchico.edu by Thomas H. Davies (sd@ecst.csuchico.edu). Up until May '95, the two sites provided overlapping services, i.e. the some of the hill types were offered by both "pizza" and "stormking". To conserve resources, the different hill types are now divided up among the sites. The way you submit warriors to both KotHs is pretty much the same. Therefore, the entry rules described below apply to both "pizza" and "stormking" unless otherwise noted. Entry Rules for King of the Hill Corewar * Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. * Put a line starting with ";redcode" (or ";redcode-94", etc., see below) at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. Using ";name" is mandatory on the Pizza hills. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently seven separate hills you can select by starting your program with ;redcode-94, ;redcode-b, ;redcode-lp, ;redcode-x, ;redcode, ;redcode-94x or ;redcode-94m. The former four run at "pizza", the latter three at "stormking". More information on these hills is listed below. * Mail this file to koth@koth.org or pizza@ecst.csuchico.edu. "Pizza" requires a subject of "koth" (use the -s flag on most mailers). * Within a few minutes you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. * In an hour or so you should get more mail telling you how your program performed against the current top 20 (or 10) programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode[-??] quiet" when you first mail in your program; then you will only get mail when you make it on the top 25 list or when you are knocked off. Using ";redcode[-??] verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 25 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. Sample Entry ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Duration Max. Hill Name Hill Core Max. Before Entry Min. Rounds Instr. Size Size Processes Distance Fought Set Tie Length Pizza's ICWS '94 Draft Hill Extended (Accessed with 25 8000 8000 80000 100 100 200 ICWS '94 ";redcode-94") Draft Pizza's Beginner's Extended Hill (Accessed 25 8000 8000 80000 100 100 200 ICWS '94 with ";redcode-b") Draft Pizza's Experimental Extended (Small) Hill 25 800 800 8000 20 20 200 ICWS '94 (Accessed with Draft ";redcode-x") Pizza's Limited Process (LP) Hill Extended (Accessed with 25 8000 8 80000 200 200 200 ICWS '94 ";redcode-lp") Draft Stormking's ICWS '88 Standard Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '88 ";redcode") Stormking's ICWS '94 No Pspace Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '94 ";redcode-94nop") Stormking's ICWS '94 Experimental Extended (Big) Hill 20 55440 55440 500000 200 200 250 ICWS '94 (Accessed with Draft ";redcode-94x") Stormking's ICWS '94 Multi-Warrior Extended Hill (Accessed 10 8000 8000 80000 100 100 200 ICWS '94 with Draft ";redcode-94m") Note: Warriors on the beginner's hill are retired at age 100. If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. At "stormking", a message body with ";help" will return brief instructions. If you submit code containing a ";test" line, your warrior will be assembled but not actually pitted against the warriors on the hill. At "pizza", you can use ";redcode[-??] test" to do a test challenge of the Hill without affecting the status of the Hill. These challenges can be used to see how well your warrior does against the current Hill warriors. All hills run portable MARS (pMARS) version 0.8, a platform-independent Core War system available at www.koth.org. The '94 and '94x hills allow five experimental opcodes and three experimental addressing modes currently not covered in the ICWS'94 draft document: * LDP - Load P-Space * STP - Store P-Space * SEQ - Skip if EQual (synonym for CMP) * SNE - Skip if Not Equal * NOP - (No OPeration) * * - indirect using A-field as pointer * { - predecrement indirect using A-field * } - postincrement indirect using A-field [ToC] ------------------------------------------------------------------------ 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? Core is initialized to DAT 0, 0. This is an illegal instruction (in source code) under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you have a DAT 0, 0 instruction in your source code - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. [ToC] ------------------------------------------------------------------------ 16. How does SLT (Skip if Less Than) work? SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: -1 becomes M-1 where M is the memory size (core size). Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. [ToC] ------------------------------------------------------------------------ 17. What is the difference between in-register and in-memory evaluation? These terms refer to the way instruction operands are evaluated. The '88 Redcode standard ICWS'88 is unclear about whether a simulator should "buffer" the result of A-operand evaluation before the B-operand is evaluated. Simulators that do buffer are said to use in-register evaluation, those that don't, in-memory evaluation. ICWS'94 clears this confusion by mandating in-register evaluation. Instructions that execute differently under these two forms of evaluation are MOV, ADD, SUB, MUL, DIV and MOD where the effective address of the A-operand is modified by evaluation of the B-operand. This is best illustrated by an example: L1 mov L2, mov.i #0, impsize Bootstrapping Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners Scanners which only recognize non-zero B-fields. example add #10, scan scan jmz example, 10 c Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner A Scanner which uses a CMP instruction to look for opponents. example add step, scan scan cmp 10, 30 jmp attack jmp example step dat #20, #20 Colour Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear Code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys Bogus or unused instructions meant to slow down scanners. Typically, DATs with non-zero B-fields. Decrement Resistant Property of warriors making them functional (or at least partially functional) when overrun by a DJN-stream. DJN-Stream (also DJN-Train) Using a DJN command to rapidly decrement core locations. example ... ... djn example, <4000 Dwarf The prototypical small bomber. Gate-busting (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp Program which only uses the MOV instruction. example mov 0, 1 or example mov 0, 2 mov 0, 2 Imp-Gate A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... spl 0, mov.i #0,IMPSIZE Mirror see reflection. On-axis/off-axis On-axis scanners compare two locations M/2 apart, where M is the memory size. Off-axis scanners use some other separation. Optimal Constants (also optima-type constants) Bomb or scan increments chosen to cover core most effectively, i.e. leaving gaps of uniform size. Programs to calculate optimal constants and lists of optimal numbers are available at www.koth.org. Paper A Paper-like program is one which replicates itself many times. Part of the Scissors (beats) Paper (beats) Stone (beats Scissors) analogy. P-Warrior A warrior which uses the results of previous round(s) in order to determine which strategy it will use. Pit-Trapper (also Slaver, Vampire). A program which enslaves another. Usually accomplished by bombing with JMPs to a SPL 0 pit with an optional core-clear routine. Q^2 Scan A modern version of the Quick Scan where anything found is attacked almost immediately. Quick Scan 2c scan of a set group of core locations with bombing if anything is found. Both of the following codes snips scan 16 locations and check for a find. If anything is found, it is attacked, otherwise 16 more locations are scanned. Example: start s1 for 8 ;'88 scan cmp start+100*s1, start+100*s1+4000 ;check two locations mov #start+100*s1-found, found ;they differ so set pointer rof jmn attack, found ;if we have something, get it s2 for 8 cmp start+100*(s2+6), start+100*(s2+6)+4000 mov #start+100*(s2+6)-found, found rof found jmz moveme, #0 ;skip attack if qscan found nothing attack cmp @found, start-1 ;does found points to empty space? add #4000, found ;no, so point to correct location mov start-1, @found ;move a bomb moveme jmp 0, 0 In ICWS'94, the quick scan code is more compact because of the SNE opcode: start ;'94 scan s1 for 4 sne start+400*s1, start+400*s1+100 ;check two locations seq start+400*s1+200, start+400*s1+300 ;check two locations mov #start+400*s1-found, found ;they differ so set pointer rof jmn which, found ;if we have something, get it s2 for 4 sne start+400*(s2+4), start+400*(s2+4)+100 seq start+400*(s2+4)+200, start+400*(s2+4)+300 mov #start+400*(s2+4)-found-100, found rof found jmz moveme, #0 ;skip attack if qscan found nothing add #100, -1 ;increment pointer till we get the which jmn -1, @found ;right place mov start-1, @found ;move a bomb moveme jmp 0, 0 Reflection Copy of a program or program part, positioned to make the active program invisible to a CMP-scanner. Replicator Generic for Paper. A program which makes many copies of itself, each copy also making copies. Self-Splitting Strategy of amplifying the number of processes executing a piece of code. example spl 0 loop add #10, example mov example, @example jmp loop Scanner A program which searches through core for an opponent rather than bombing blindly. Scissors A program designed to beat replicators, usually a (B-field scanning) vampire. Part of the Paper-Scissors-Stone analogy. Self-Repair Ability of a program to fix it's own code after attack. Silk A replicator which splits off a process to each new copy before actually copying the code. This allows it to replicate extremely quickly. This technique is only possible under the '94 draft, because it requires post-increment indirect addressing. Example: spl 1 mov -1, 0 spl 1 ;generate 6 consecutive processes silk spl 3620, #0 ;split to new copy mov >-1, }-1 ;copy self to new location mov bomb, >2000 ;linear bombing mov bomb, }2042 ;A-indirect bombing for anti-vamp jmp silk, {silk ;reset source pointer, make new copy bomb dat >2667, >5334 ;anti-imp bomb Slaver see Pit-Trapper. Stealth Property of programs, or program parts, which are invisible to scanners, accomplished by using zero B-fields and reflections. Stone A Stone-like program designed to be a small bomber. Part of the Paper-Scissors-Stone analogy. Stun A type of bomb which makes the opponent multiply useless processes, thus slowing it down. Example is referred to as a SPL-JMP bomb. example spl 0 jmp -1 Two-Pass Core-Clear (also SPL/DAT Core-Clear) core clear that fills core first with SPL instructions, then with DATs. This is very effective in killing paper and certain imp-spiral variations. Vampire see Pit-Trapper. Vector Launch one of several means to start an imp-spiral running. As fast as Binary Launch, but requiring much less code. See also JMP/ADD Launch and Binary Launch. This example is one form of a Vector Launch: sz EQU 2667 spl 1 spl 1 jmp @vt, }0 vt dat #0, imp+0*sz ; start of vector table dat #0, imp+1*sz dat #0, imp+2*sz dat #0, imp+3*sz ; end of vector table imp mov.i #0, sz [ToC] ------------------------------------------------------------------------ 23. Other questions? Just ask in the rec.games.corewar newsgroup or contact me. If you are shy, check out the Core War archives first to see if your question has been answered before. [ToC] ------------------------------------------------------------------------ Credits Additions, corrections, etc. to this document are solicited. Thanks in particular to the following people who have contributed major portions of this document: * Mark Durham (wrote the original version of the FAQ) * Paul Kline * Randy Graham * Stefan Strack (maintained a recent version of the FAQ) ------------------------------------------------------------------------ Copyright � 1999 Anton Marsden. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ------------------------------------------------------------------------ From: jkw@koth.org Subject: KOFACOTO Round 2 Date: 2000/10/06 Message-ID: <4.1.20001006172917.00a5fbc0@pop-server>#1/1 Please send entries to jkw@koth.org with the subject line "KOFACOTO Round 2" for round 2 entries. Alright everyone, here's the rules for KOFACOTO Round 2: Round 1 was pretty straightforward... in round 2 I decided to come up with something a little less conventional... This will be a multiwarrior melee round. The warriors will be run in '88 rules under pmars with settings as follows: pmars -8 -s 8000 -c 80000 -p 8 -l 100 -d 100 Note the process limit is 8, not 8000. Assuming more than 8 entries are given to me, warriors will be run in groups of 8. Running all possible combinations of 8 may not be possible. I just checked on my calculator, and 8 C 12 is already 495, heh, so I'll run a representative sample and avg scores. Highest score will again recieve 1000 pts, with others indexed to that score. Remember Round 1 entries will be processed on Sunday, midnight CST, which, as it says on http://www.koth.org/kofacoto is 8am GMT, I think. FYI, I currently have Round 1 entries from: Moore Kline Paulsson Pihlaja Chin Adamowski Janeczek -jkw From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: Re: RotJ qscan damage for round 1 Date: 2000/10/06 Message-ID: <39de59da.3530571@news.lrz-muenchen.de>#1/1 On Fri, 06 Oct 2000 16:09:30 GMT, Ben Ford wrote: >In article , > thida@videotron.ca wrote: >> Uh... >> DAMMIT! I'm not gonna win anything(too many big names ;-) >> >> Q^3 is a seq/jmp scan that uses a different decoding scheme, and thus >has >> faster reaction time... > >Mostly using MUL rather than ADD. Through decrements/increments, there >is a difference between multiplying by 6 or 7 while there isn't really >a difference between adding 699 or 700. This also allows for a lot >larger number of potential scans to decode if you so desire. > >> Yeah, i'm thinking of putting a qscan with reversed scans, and then >bombing >> from 2 locations (thank you, Mr Kline 8) > >It could be tricky getting a Q^3 to exactly reverse a Q^2 scan. An >approximate reverse would probably work well enough however. Maybe in this case a reverse q^2 would be the better choice then? Thanks for your explanations. I hope I'll work it all out in time - I still need to install Linux to have a proper testing platform :-( Bjoern From: jkw@koth.org Subject: kofacoto round 2 answers Date: 2000/10/07 Message-ID: <4.1.20001007175442.00972ae0@pop-server>#1/1 I currently have 14 submissions for Round 1... looking good! Tuc wanted me to remind you to get those entries in so you can win those fabulous prizes! :) $500 for first, $250 for second, $100 for third! Man, my emailer crashed a minute ago... I'd written up with nice explanation of the scoring system... I'll try to recreate some of it. Anyway, the pmars standard scoring system, which is what I will be using, awards roughly 63/S pts for each surviving warrior, where S is the number that survived. 80000 cycles / 8000 locations * 1/8c means an 8 process imp ring will travel around the core 1.25 times in the course of a match... This means imps and imp rings will not have a chance to survive any simple gates... but don't let that influence your warriors. :) On www.koth.org/kofacoto I'm posting a list of all the authors whose warriors compiled correctly and ran... so far everyone I've got an entry from has worked. -jkw From: "Brian Haskin" Subject: Re: pMARS at sourceforge? Date: 2000/10/07 Message-ID: <002101c030ac$92887b20$0b00000a@haskin.org>#1/1 Look at http://sourceforge.net/projects/corewar/ But the licensing issue is probably not something that would hold up in court; although I can't imagine that ever happening. Brian Haskin haskin@ptway.com ----- Original Message ----- From: "Bjoern" To: "Multiple recipients of list COREWAR-L" Sent: Saturday, October 07, 2000 3:32 PM Subject: pMARS at sourceforge? > Has anybody been able to download pMARS 0.9.0 from > www.sourceforge.net? The search box there doesn't doesn't seem to find > it. > > Bjoern __________________________________________________ Do You Yahoo!? Talk to your friends online with Yahoo! Messenger. http://im.yahoo.com From: Martin Ankerl Subject: Re: problems compiling x11 pmars under Linux Date: 2000/10/07 Message-ID: <8ro4gp$pn2$1@nnrp1.deja.com>#1/1 In article <39df81fc.47362@news.lrz-muenchen.de>, bjoern@blinker.NOSPAM.net (Bjoern) wrote: > I think I once had a pmars with X11 display under Linux, but at the > moment I can't seem to get it to compile. While compiling sim.c, the > compiler doesn't find the following files in X11: > Xlib.h, Xutil.h,Xos.h,Xatom.h,keysym.h,cursorfont.h You can find the latest pmars at http://sourceforge.net/projects/corewar/ I think this article will help: http://sdb.suse.de/en/sdb/html/maddin_xdevel.html found with www.google.com, search for 'suse missing xlib.h' :-) Martin Ankerl Sent via Deja.com http://www.deja.com/ Before you buy. From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: problems compiling x11 pmars under Linux Date: 2000/10/07 Message-ID: <39df81fc.47362@news.lrz-muenchen.de>#1/1 I think I once had a pmars with X11 display under Linux, but at the moment I can't seem to get it to compile. While compiling sim.c, the compiler doesn't find the following files in X11: Xlib.h, Xutil.h,Xos.h,Xatom.h,keysym.h,cursorfont.h Any ideas? I am running SuSE Linux 6.3, which somehow is very annyoing (older versions of SuSE seemed to work better). In Yast it looked as if dodgy compilers called egcs were installed instead of gcc (although the command gcc exists). I tried installing gcc and some glibc thingies (never know which libraries are required etc. :-( ), but it didn't improve things? Any ideas? I guess I'll try to use the SVGA version in the meantime (for the tournament), but that's certainly not bearable in the long run. Many thanks for any help! Bjoern From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: pMARS at sourceforge? Date: 2000/10/07 Message-ID: <39df703b.4799998@news.lrz-muenchen.de>#1/1 Has anybody been able to download pMARS 0.9.0 from www.sourceforge.net? The search box there doesn't doesn't seem to find it. Bjoern From: M Joonas Pihlaja Subject: Re: KOFACOTO Round 2 Date: 2000/10/07 Message-ID: #1/1 On Fri, 6 Oct 2000 jkw@koth.org wrote: > The warriors will be run in '88 rules under pmars with > settings as follows: > pmars -8 -s 8000 -c 80000 -p 8 -l 100 -d 100 Surely not just one round? From: Ben Ford Subject: Re: KOFACOTO Round 2 Date: Sat, 07 Oct 2000 03:03:11 GMT Message-ID: <8rm3pd$cl7$1@nnrp1.deja.com> Just to be sure, is the scoring just points for being the sole survivor like the koth 94m hill or varying points for just surviving like the koth 94xm hill? (at least the process limit would prevent that glut of papers trying just to survive...) In article <4.1.20001006172917.00a5fbc0@pop-server>, jkw@koth.org wrote: > Please send entries to jkw@koth.org with the subject line "KOFACOTO Round 2" > for round 2 entries. > > Alright everyone, here's the rules for KOFACOTO Round 2: > > Round 1 was pretty straightforward... in round 2 I decided to come up with something > a little less conventional... > > This will be a multiwarrior melee round. > > The warriors will be run in '88 rules under pmars with settings as follows: > pmars -8 -s 8000 -c 80000 -p 8 -l 100 -d 100 > > Note the process limit is 8, not 8000. > > Assuming more than 8 entries are given to me, warriors will be run in groups of 8. > Running all possible combinations of 8 may not be possible. I just checked on my > calculator, and 8 C 12 is already 495, heh, so I'll run a representative sample > and avg scores. > > Highest score will again recieve 1000 pts, with others indexed to that score. Sent via Deja.com http://www.deja.com/ Before you buy. From: "pk" Subject: KOFACOTO rnd1 Date: 2000/10/08 Message-ID: <7PaE5.3157$j%6.57684@wagner.videotron.net>#1/1 This is my submission(just in case it didn't get through with emai l as it did before) WEll, nothing worked, and no time, i just took HSA, and fixed two bugs in the version on planar'S page(two - missing)... ;redcode-94 ;name He Scans Alone ;kill He Scans Alone ;author used by Paul-V Khuong(P.Kline) ;assert CORESIZE == 8000 ;strategy 80% f-scanner switches from SPL to DAT carpet ;strategy I couldn't do what i wanted to do:a q^2 optimized against the white warrior ;strategy followed by a clear, bc i had no time, and couldn't find why it didn't work 8( ;strategy So, i submitted HSA(btw, the verion on planar's page has two "-" signs missing) ;strategy The rules didn'T specify that i couldn't do it, and jurisprudence was in me ;strategy favor, so i decided to submit "something"... ;strategy I'm sorry, bc i know it'S not as good as an original warrior tPtr dat 100 ,4100-4 ; widely-spaced pointers dat 0,0 dat 0,0 dat 0,0 dat 0,0 dat 0,0 tWipe mov tSpl ,tPtr ,>tPtr jmn.f tWipe ,>tPtr tScan sub.x #-12 ,tPtr ; increment and look sne *tPtr ,@tPtr sub.x *pScan ,@tScan ; increment and look jmn.f tSelf ,@tPtr jmz.f tScan ,*tPtr pScan mov.x @tScan ,@tScan ; swap pointers for attack tSelf slt.b @tScan ,#tEnd-tPtr ; self-check djn tWipe ,@tScan ; go to attack djn *pScan ,#13 ; after 13 self-scans jmp *pScan ,}tWipe ; switch to dat-wiping dat 0,0 tSpl spl #1,{1143*2+1 dat 0,0 dat 0,0 tEnd dat 0,0 for 61 dat.f 0,0 rof tDecoy equ (tWipe-1196) tStart mov Subject: Re: problems compiling x11 pmars under Linux Date: 2000/10/08 Message-ID: <00100814284900.05597@anton.org.nz>#1/1 Bjoern, Try finding out where these files live on your machine. Then change the CFLAGS line in the Makefile to include the path of these files, e.g., CFLAGS = -O -DEXT94 -DXWINGRAPHX -I/usr/X11R6/include/X11 Hope this helps. Anton. On Sun, 08 Oct 2000, Bjoern wrote: > I think I once had a pmars with X11 display under Linux, but at the > moment I can't seem to get it to compile. While compiling sim.c, the > compiler doesn't find the following files in X11: > Xlib.h, Xutil.h,Xos.h,Xatom.h,keysym.h,cursorfont.h > > Any ideas? I am running SuSE Linux 6.3, which somehow is very annyoing > (older versions of SuSE seemed to work better). In Yast it looked as > if dodgy compilers called egcs were installed instead of gcc (although > the command gcc exists). I tried installing gcc and some glibc > thingies (never know which libraries are required etc. :-( ), but it > didn't improve things? > > Any ideas? > > I guess I'll try to use the SVGA version in the meantime (for the > tournament), but that's certainly not bearable in the long run. > > Many thanks for any help! > > > Bjoern From: Hillis Subject: Re: yace_04, redcode tiny hill, KOFACOTO Date: 2000/10/08 Message-ID: <39E0913A.1ADAFE2@erols.com>#1/1 Martin Ankerl wrote: > Hi everybody, > snip > redcode tiny hill: > Dave, very good warrior on the hill (corewars.sourceforge.net)! It will > take me a long time to get koth again... (if ever...) > I couldn't figure out why some of my warriors were doing so poorly on the Tiny hill. Evolved warriors seem to love the "DIV" command, they use it for scanners and bombs and gates, and it turned out that the divide-by-zero case was being treated slightly differently on the sourceforge hills from the '94 standard. It's been reconciled now - Walter is very fast. All this has nothing to do with why the YACE warriors held onto the top spots on the Tiny hill for so long and why a RedRace warrior is momentarily on top. I think that's just a question of the mix of strategies on the hill at any given time. Dave Hillis From: bjoern@blinker.NOSPAM.net (Bjoern) Subject: Re: problems compiling x11 pmars under Linux Date: Sun, 08 Oct 2000 00:36:44 GMT Message-ID: <39dfc123.73434@news.lrz-muenchen.de> On Sat, 07 Oct 2000 21:27:57 GMT, Martin Ankerl wrote: [...] >You can find the latest pmars at >http://sourceforge.net/projects/corewar/ > >I think this article will help: >http://sdb.suse.de/en/sdb/html/maddin_xdevel.html > >found with www.google.com, search for 'suse missing xlib.h' :-) Whew, thanks - it worked! It wouldn't have thought that google could handle such specific requests. I've decided to not participate in the tournament, though, as for instance mini-hsa scores zillions of times better against Jedimp than anything I could come up with in the short time. But maybe I can challenge the hill sometime soon. Bjoern From: Martin Ankerl Subject: yace has a new homepage, please update your links! Date: 2000/10/09 Message-ID: <8rt33b$cru$1@nnrp1.deja.com>#1/1 Hi everybody, the old homepage of yace, http://martinus.awhs.at will close soon, because the service will not be free any more in the next days. The new url will be (should work right now): http://www.fhs-hagenberg.ac.at/students/se/se00001/ thanks for updating links :) -- Martin Ankerl Sent via Deja.com http://www.deja.com/ Before you buy. From: mubfpx@email.com Subject: Beautiful albums to download Date: 2000/10/09 Message-ID: <8rsksm$oj6$2@news.netvision.net.il>#1/1 If you a photos lover - you found a paradise : look at http://dofun.com at the Photo Lovers section. there are beautiful albums you can download. obigsjesognxotnlqwqxscqgbmpefwlcqgkfpnbucmmwxxowoeowrs From: pouffm@email.com Subject: Beautiful albums to download Date: 2000/10/09 Message-ID: <8rskj5$oeb$1@news.netvision.net.il>#1/1 If you a photos lover - you found a paradise : look at http://dofun.com at the Photo Lovers section. there are beautiful albums you can download. uxznhtymfwfjwzucouxcoybdnggyvwwpmmnlcwbwzjziezizkmenwechdykloc From: Philip Kendall Subject: Redcode Maniacs Tournament Pages Date: 2000/10/09 Message-ID: #1/1 If anyone else is looking for the Redcode Maniacs Tournament pages, they've moved (along with the rest of my Core War stuff) to: http://www.srcf.ucam.org/~pak21/corewar/index.html Cheers, Phil From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 10/09/00 Date: 9 Oct 2000 00:14:12 -0400 Message-ID: <200010090400.AAA03508@gevjon.ttsg.com> Weekly Status on 10/09/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Fri Oct 6 07:02:32 EDT 2000 # Name Author Score Age 1 Her Majesty P.Kline 26 61 2 QuiVa John Metcalf 25 135 3 fclear Brian Haskin 24 26 4 Friction Ken Espiritu 22 14 5 D-clearM Ken Espiritu 16 42 6 vamp/scan test b1 Ken Espiritu 15 15 7 Dracula's Cape Ben Ford 15 20 8 SmallFry Simon Duff 10 12 9 MorphinMerlin Jeremy K 9 6 10 Scan Test Tester 9 1 11 AutoCannon 1 Lukasz Adamowski 0 0 From: Koth Subject: KOTH.ORG: Status - Standard 10/09/00 Date: 9 Oct 2000 00:14:26 -0400 Message-ID: <200010090400.AAA03504@gevjon.ttsg.com> Weekly Status on 10/09/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Fri Sep 29 21:04:27 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 38/ 20/ 41 Freight Train David Moore 157 71 2 38/ 22/ 40 sIMPly.Red v0.95 Leonardo Humberto 154 28 3 37/ 20/ 43 Test Alexander (Sasha) Wa 153 10 4 36/ 22/ 42 Guardian Ian Oversby 151 70 5 41/ 35/ 24 PacMan David Moore 147 100 6 31/ 16/ 53 EV Paper John K Wilkinson 145 84 7 31/ 19/ 50 Test I Ian Oversby 142 127 8 41/ 40/ 18 Stasis David Moore 142 178 9 32/ 22/ 46 Shish-Ka-Bob Ben Ford 141 26 10 43/ 44/ 13 Iron Gate Wayne Sheppard 141 396 11 41/ 40/ 19 Beholder's Eye V1.7 W. Mintardjo 141 346 12 37/ 35/ 28 Stillborn Bomber v0.2 mjp 139 11 13 38/ 38/ 24 Tangle Trap David Moore 138 144 14 29/ 22/ 49 Evoltmp 88 John K W 137 121 15 40/ 46/ 14 Foggy Swamp Beppe Bezzi 135 67 16 40/ 46/ 14 Blur '88 Anton Marsden 134 108 17 34/ 36/ 30 Frog Sticker P.Kline 132 20 18 39/ 49/ 11 Blurstone '88 M. J. Pihlaja 129 65 19 39/ 50/ 11 Shadow Seeker John Metcalf 128 7 20 27/ 43/ 30 Twill Andy Pierce 112 1 21 2/ 70/ 28 Virual IIII: RWT Tharn 35 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 10/09/00 Date: 9 Oct 2000 00:14:16 -0400 Message-ID: <200010090400.AAA03523@gevjon.ttsg.com> Weekly Status on 10/09/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Fri Oct 6 07:01:21 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 47/ 38/ 16 Behemot Michal Janeczek 156 21 2 39/ 27/ 34 Omnibus John Metcalf 151 207 3 36/ 23/ 41 Uninvited John Metcalf 150 150 4 37/ 24/ 39 Jade Ben Ford 149 267 5 36/ 24/ 40 nPaper II Paul-V Khuong 148 198 6 35/ 23/ 42 Jaguar Christian Schmidt 147 185 7 45/ 44/ 11 Stalker P.Kline 147 183 8 45/ 43/ 13 Eraser II Ken Espiritu 146 155 9 45/ 44/ 12 Pitbull Christian Schmidt 146 31 10 44/ 43/ 13 Zooom... John Metcalf 145 334 11 36/ 28/ 36 Experimental John Metcalf 145 154 12 32/ 21/ 47 Tie Factory Christian Schmidt 142 49 13 37/ 32/ 31 Blacken Ian Oversby 142 445 14 42/ 42/ 17 CrazyShot Christian Schmidt 142 30 15 43/ 44/ 13 Jinx Christian Schmidt 142 161 16 34/ 26/ 40 EvoP 3 Ken Espiritu 141 194 17 43/ 46/ 10 vamp/scan test b1 Ken Espiritu 140 113 18 36/ 37/ 27 torch P.Kline 135 22 19 42/ 50/ 8 Kenshin Steve Gunnell 135 153 20 34/ 57/ 8 hTest P.Kline 111 1 21 15/ 78/ 6 AutoCannon 1 Lukasz Adamowski 53 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 10/09/00 Date: 9 Oct 2000 00:14:21 -0400 Message-ID: <200010090400.AAA03518@gevjon.ttsg.com> Weekly Status on 10/09/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Fri Oct 6 07:29:09 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 58/ 28/ 14 Black Moods Ian Oversby 187 15 2 51/ 29/ 19 Controlled Aggression Ian Oversby 173 19 3 28/ 7/ 65 Evol Cap 4 X John Wilkinson 149 88 4 33/ 19/ 48 Venom v0.2b Christian Schmidt 147 41 5 23/ 2/ 75 Evolve X v4.0 John Wilkinson 143 36 6 31/ 22/ 47 Rosebud Beppe 140 67 7 43/ 46/ 11 S.E.T.I. 4-X JKW 140 89 8 39/ 39/ 21 Stepping Stone 94x Kurt Franke 140 74 9 41/ 43/ 16 Tsunami v0.3 X Ian Oversby 139 13 10 38/ 39/ 23 Dr. Gate X Franz 138 59 11 40/ 43/ 17 Pagan John K W 137 73 12 34/ 35/ 31 Draken Fire X Ben Ford 133 10 13 39/ 44/ 17 Memories Beppe Bezzi 133 95 14 35/ 38/ 27 MorphinMerlin Jeremy K 131 2 15 33/ 38/ 29 Lithium X 8 John K Wilkinson 129 79 16 23/ 19/ 58 Purple v0.1 Christian Schmidt 127 40 17 38/ 48/ 14 Even More Advanced (read: Josef Jahn 127 3 18 34/ 41/ 26 BigBoy Robert Macrae 127 113 19 25/ 25/ 50 Hyper Advanced (read: sux Josef Jahn 124 1 20 36/ 50/ 15 Advanced Spooner Josef Jahn 122 4 21 19/ 73/ 8 AutoCannon 1 Lukasz Adamowski 66 0 From: jkw@koth.org Subject: KOFACOTO Round 2 Date: 2000/10/10 Message-ID: <4.1.20001010180559.00a65b30@pop-server>#1/1 Ok Robert Macrae has expressed heartfelt despair over the scoring system for Round 2. He believes everyone will submit warriors of pure defense, that will prevent any spiffy offensive strategies. As I have not yet recieved any Round 2 submissions, I'm open to changing the score system to the following formula: (S<3)*(W*W-1)/S This will only register any points for rounds in which either 1 or 2 warriors survived. Rounds in which 3+ warriors survived will result in no points for anyone. pmars.exe -b -r 200 -l 200 -c 80000 -s 8000 -p 8 -= (S<3)*(W*W-1)/S If anyone objects to this change because of development they've already done, let me know. This may require a rollback in the submissions deadline. Since it's already Tuesday, I think it'd be best to roll the due date back to the next Sunday (the 22nd), to give everyone time to rethink thier warriors. -jkw From: jkw@koth.org Subject: KOFACOTO Date: 2000/10/10 Message-ID: <4.1.20001009224215.00a614c0@pop-server>#1/1 I'm almost done (I think) running the Round 1 entries. I decided to run 2000 rounds per matchup, and I should have the results in another 15 minutes or so I think. The final total was 21 entries. I'm pleased with the turnout. We had 2 warriors submitted that were GA evolved! Heh I never saw that coming. :) ATTN: For your round 2 entries, please place your full name on the ";author" line of your warrior. Some people felt uneasy using someone else's uneditted warrior. I assure you there's nothing wrong with this. If your submission is truly identical to a previously published warrior, it'd be nice if you put that in the comments of the warrior. But for Round 2, I think it's highly unlikely people will be using previously published warriors. I guess it's possible though, hehe. No one (including me) has mentioned anything about publishing warriors. I intend to post all the warriors that were submitted for Round 1 on www.koth.org/kofacoto ... If anyone has objections let me know ASAP. -jkw From: jkw@koth.org Subject: KOFACOTO Round 1 Results Date: 2000/10/10 Message-ID: <4.1.20001009231305.00a62890@pop-server>#1/1 I don't know how readable this will be in most emailers, so check out http://www.koth.org/kofacoto/results1.html if there's any problems. Janeczek barely edges out the competition in Round 1 with an outstanding warrior scoring over 95% wins! The top 4 entries were pretty much in a statistical dead heat... But I was amazed at the wide diversity of scores, and differing strategies. Name W L T S NS janeczek 1904 85 11 5723 1000 Macrae 1884 103 13 5665 989 paulsson 1860 128 12 5592 977 moore 1833 123 44 5543 968 kline 1744 206 50 5282 922 pihlaja 1678 233 89 5123 895 Gunnell 1400 478 122 4322 755 Liporati 1362 557 81 4167 728 Schmidt 1352 557 91 4147 724 Guenzel 1333 581 86 4085 713 Karonen 1243 639 118 3847 672 stefan 1149 565 286 3733 652 Ford 1124 643 233 3605 629 Chakrabarti 1048 809 143 3287 574 Yeager 1016 814 170 3218 562 Khuong 957 833 210 3081 538 Kacza 12 46 1942 1978 345 Hillis 2 46 1952 1958 342 chin 0 1209 791 791 138 Adamowski 6 1544 450 468 81 Ankerl 28 1882 90 174 30 From: Hillis Subject: Re: KOFACOTO Round 2 Date: 2000/10/11 Message-ID: <39E4F3FA.7BABBAC2@erols.com>#1/1 Thousands of evolved warriors have lived and died in vain! And all for a scoring formula that was never meant to be ;-) Actually, I like the new formula better anyway. But it's still going to be '88 standard right? Dave Hillis From: "Leonardo H. Liporati" Subject: Re: KOFACOTO Round 2 Date: 2000/10/11 Message-ID: <39e4b198.7a2f.0@brfree.com.br>#1/1 [...snip...] >As I have not yet recieved any Round 2 submissions, I'm open to changing the score >system to the following formula: (S<3)*(W*W-1)/S > >This will only register any points for rounds in which either 1 or 2 warriors >survived. Rounds in which 3+ warriors survived will result in no points for anyone. > >pmars.exe -b -r 200 -l 200 -c 80000 -s 8000 -p 8 -= (S<3)*(W*W-1)/S > [...snip...] Hello JKW, I am confused. Is it only the scoring system that is changing or the maximum length/distance and the redcode standard language also is changing for round 2. By the PMARS invocation line above the '94 standard is being used instead of the '88. Also the length has changed from 100 to 200 from the original post. Is the line above correct or you missed something? Thank you, Leonardo. http://www.brfree.com.br O primeiro provedor gratuito do Brasil From: "Robert Macrae" Subject: KOFACOTO Scoring Date: 2000/10/11 Message-ID: <000101c03386$0515c180$0400a8c0@nzjmz>#1/1 > Ok Robert Macrae has expressed heartfelt despair > over the scoring system for Round 2. Whatever happened to "Restrained and well-argued concern?" I must have overdone the gloom pills again. Robert From: jkw@koth.org Subject: KOFACOTO Round 2 Date: 2000/10/12 Message-ID: <4.1.20001012220015.00a6e5a0@pop-server>#1/1 I apologize, I accidentally posted a '94 command line list in my previous post to change the scoring system. The correct command line is: pmars -8 -s 8000 -c 80000 -p 8 -l 100 -d 100 -= (S<3)*(W*W-1)/S Warriors will be run in multiwarrior groups of 8. Round 2 entries are due Sunday the 22nd, midnight CST. I was asked if you can submit more than one warrior again... yes, but only the last one submitted will be run. -jkw From: Martin Ankerl Subject: Re: KOFACOTO Round 1 Results Date: 2000/10/12 Message-ID: <8s4nmp$ku2$1@nnrp1.deja.com>#1/1 > Ankerl 28 1882 90 174 30 cool result 8-) I'm sorry but I will not be able to participate in round 2, because I am very busy with studying and have no time to evolve (my round 1 entry was a very old warrior I once have evolved with redmaker) I hope there will be a KOFACOTO again in some time, I'm shure I will make better warriors then, you all can begin to fear ;-) -- Martin Ankerl Sent via Deja.com http://www.deja.com/ Before you buy. From: jkw@koth.org Subject: KOFACOTO Date: 2000/10/13 Message-ID: <4.1.20001012220850.00a69250@pop-server>#1/1 Someone asked when the round 1 results would be posted, they already are on... http://www.koth.org/kofacoto/results1.html Also, since the Round 2 deadline has been delayed until the 22nd, I will not announce the Round 3 rules until next week. But I already have something interesting in the works. :-> -jkw From: jkw@koth.org Subject: KOFACOTO Date: 2000/10/13 Message-ID: <4.1.20001012221542.00a6cdf0@pop-server>#1/1 Sorry I didn't put these 3 messages into one posting, but I kept forgetting to mention things. :) I just uploaded the Round 1 warriors, so check out all that wacky redcode! Go to http://www.koth.org/kofacoto/ and click Warriors Round 1. I've updated the Round 2 rules to reflect the scoring change and new deadline: http://www.koth.org/kofacoto/rules2.html Also, I've decided Round 4 will be the last prelim round. Then the playoffs will begin. There will probably be 3 or 4 rounds of playoffs. -jkw From: "David M. Moore" Subject: Re: KOFACOTO Round 1 Results: Precision Scans Date: 2000/10/15 Message-ID: <39E9C031.BEFC5BD@groupinfo.com>#1/1 Robert Macrae wrote: > > JedimPURGE is a 0.8c scan coupled with a short 2c QS -- more for fun > than effect, I suspect! It stuns 1 warrior before starting a spiral > clear; this requires greater length, but should save a few random hits > during the early clear. I think that 'Purge stuns all paper copies, not just one. Initially, my approach didn't include any imp-killing ability at all, and it scored over 89% wins using a simple DAT clear. The spiral step was an afterthought, included in case the scanner got distracted by the silk/imp thing instead of the boot code. I didn't check to determine whether I scanned the intended target or not because I hypothesized that a fast scanner was better than an accurate one, since faster stuns prevent losses due to bombing. I didn't actually build the other version to test this hypothesis. > Conclusions? > > -- Precision scan is the best way to handle any long white warrior. "Precision scanning" is a good way to handle a lot of long warriors, not just the white ones ;-) > -- White Quickscans are almost inneffective. > -- Decoy generators are great because the decoy is always ideally > placed. I challenge you to decoy the scan from Return of the Fugitive. From: "Robert Macrae" Subject: KOFACOTO Round 1 Results: Precision Scans Date: 2000/10/15 Message-ID: <8scer5$2o2$1@lure.pipex.net>#1/1 The top 6 warriors from Round 1 all use a precision scanning technique, and I thought that corewarriors who are not familiar with it might like a short introduction. A precision scan finds the long QS code, then scans for the beginning (or end) of it so that the black warrior knows *exactly* where to find all the components of the white. This makes it pretty easy to boot a cleanup warrior somewhere safe and pick them off at leisure; you can even kill a replicator with DAT bombs when you know exactly where to hit. I first met it a couple of tournaments ago when Paul Kline used it to win a white warrior round by a landslide. Most long white warriors are best dealt with this way. I have often used in in White warrior rounds, and my multiwarrior :-= used a similar "precision fang" approach to get on to the multiwarrior hill by exploiting a single known opponent. All the warriors are on available at koth.org, so I will just give some comments. Force feedback uses a 0.5c scanner. I am a little surprised that it beat Darkside because the longer the scan takes, the more time the replicator has to overwrite the black warrior. OTOH it is shorter, which makes it less vulnerable to both the QS and the replicators, and it looks as if it comes out a little ahead on balance. If you have not seen a decoy generator before, watch it in cdb. The QS spacing makes -300 a very effective place to put a decoy because the QS will usually scan it 1 cycle before it would have found your real warrior. Darkside uses a 0.8c scan to find the QS faster, but it is longer and so more vulnerable. It is also a bit difficult to reset the pointers if I happen to scan a replicator before I get the QS and so the scan pattern is not always perfect. I discovered that short DAT carpets would kill the replicators very quickly, so I did not bother to boot the bomber but maybe this was a mistake. JedimPURGE is a 0.8c scan coupled with a short 2c QS -- more for fun than effect, I suspect! It stuns 1 warrior before starting a spiral clear; this requires greater length, but should save a few random hits during the early clear. myBlack is different, because the QS is handled by precision spacing of the components; the warrior will often be hit but because the bombs are known to be exactly 12 apart, the components are aranged so that one scanner and payload will (always?) remain intact. This is another neat example of the kind of power that perfect knowledge of your opponent gives you. The warrior is otherwise very similar with a 0.5c scan booting a spiral clear. Tsetse takes the usual approach, but performs rather worse than the first three. I think this is because it uses a short but slow decoy generator which gives the QS too many chances to hit before the decoy is in place. This is an odd decision because AFAIK Paul invented the 3c decoy generator. It is safe to use a long decoy generator because even if it is spotted by the QS the bombs start to fall on it after it has finished running, and don't reach back to the main warrior. However, the resulting warrior is very compact. Jedi Hunter follows a 0.5c scan with a scan for the end of the QS. However, unlike all the others that use a 1.0c linear scan, it uses a a longer-but-faster stepped scanner. I suspect that this is not a very effective use of space, and that it would have been better to use the space to raise the initial scan to 0.8c, or simply to shorten the warrior. The attack is a SPL/JMP bomber, which again is a bit bulky compared to the other kinds of attack. Finally, the biggest problem is that there is no decoy at all! The warrior is long, so it suffers many hits from the QS and, unlike myBlack, it is not very resistant to DAT bombs. For comparison to the precision scans, Hyperclear achieves excellent results for a general-purpose warrior but the gap between it and the precision scans is huge; it score is about 75% of Force Feedback, compared to 90-99% for the other precision scans. In some ways grey warriors (in which the constants are unknown) are a richer challenge because you have to write something that resembles a normal warrior rather than just rehashing the precision scan theme. If the boot and replicator steps were not known then something like Hyperclear would probably be the best approach. Conclusions? -- Precision scan is the best way to handle any long white warrior. -- White Quickscans are almost inneffective. -- Decoy generators are great because the decoy is always ideally placed. -- Cleanup is easy once all the components have been found. Regards, Robert Macrae From: jkw@koth.org Subject: Re: New to CoreWar (hi all) Date: 2000/10/15 Message-ID: <4.1.20001015022207.00a6bd20@pop-server>#1/1 At 02:29 AM 10/15/00 -0400, you wrote: >Hello everyone, > > I'm new to the whole CoreWar "scene," and I'm looking for a little >info. Mostly I'd like to know where I can get a good reference on >redcode-94. Other than that, I guess I'm just saying hi. Hi! > > -Aaron www.koth.org pretty much has it all... or links to it all, heh. -jkw From: Ilmari Karonen Subject: Re: New to CoreWar (hi all) Date: 2000/10/15 Message-ID: <971605135.25995@itz.pp.sci.fi>#1/1 In article <8sbf5a$qed$1@nnrp1.deja.com>, aaronstj@my-deja.com wrote: > I'm new to the whole CoreWar "scene," and I'm looking for a little >info. Mostly I'd like to know where I can get a good reference on >redcode-94. Other than that, I guess I'm just saying hi. Hi! The Beginners' Guide to Redcode (shameless plug): http://www.sci.fi/~iltzu/corewar/guide.html Some good general starting points: http://www.koth.org/ http://para.inria.fr/~doligez/corewar/ http://www.ecst.csuchico.edu/~pizza/koth/ Search engines: http://www.google.com/search?q=core+war http://www.exit109.com/~jeremy/news/deja.html -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "And, should you resort to sticking a martini olive up their nose, implacable universal laws require that they'll _like_ that sort of thing." -- Graydon in r.a.sf.c From: aaronstj@my-deja.com Subject: New to CoreWar (hi all) Date: Sun, 15 Oct 2000 05:26:05 GMT Message-ID: <8sbf5a$qed$1@nnrp1.deja.com> Hello everyone, I'm new to the whole CoreWar "scene," and I'm looking for a little info. Mostly I'd like to know where I can get a good reference on redcode-94. Other than that, I guess I'm just saying hi. Hi! -Aaron Sent via Deja.com http://www.deja.com/ Before you buy. From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 10/16/00 Date: 2000/10/16 Message-ID: <200010160400.AAA09106@gevjon.ttsg.com>#1/1 Weekly Status on 10/16/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Oct 15 18:16:23 EDT 2000 # Name Author Score Age 1 QuiVa John Metcalf 39 135 2 fclear Brian Haskin 24 26 3 Her Majesty P.Kline 20 61 4 D-clearM Ken Espiritu 20 42 5 Friction Ken Espiritu 17 14 6 Scan Test Tester 16 1 7 MorphinMerlin Jeremy K 15 6 8 vamp/scan test b1 Ken Espiritu 13 15 9 Dracula's Cape Ben Ford 12 20 10 SmallFry Simon Duff 12 12 11 Test Eu 7 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 10/16/00 Date: 2000/10/16 Message-ID: <200010160400.AAA09116@gevjon.ttsg.com>#1/1 Weekly Status on 10/16/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Fri Oct 13 16:40:29 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 45/ 38/ 17 Behemot Michal Janeczek 151 23 2 37/ 29/ 35 Omnibus John Metcalf 145 209 3 34/ 26/ 39 nPaper II Paul-V Khuong 142 200 4 41/ 41/ 18 CrazyShot Christian Schmidt 141 32 5 33/ 24/ 43 Uninvited John Metcalf 141 152 6 33/ 26/ 41 Jade Ben Ford 140 269 7 39/ 37/ 24 ctest David Moore 140 1 8 43/ 46/ 11 Stalker P.Kline 140 185 9 42/ 45/ 13 Eraser II Ken Espiritu 140 157 10 43/ 45/ 12 Pitbull Christian Schmidt 140 33 11 35/ 34/ 31 Blacken Ian Oversby 137 447 12 32/ 27/ 41 EvoP 3 Ken Espiritu 136 196 13 41/ 45/ 14 Zooom... John Metcalf 136 336 14 33/ 29/ 38 Experimental John Metcalf 136 156 15 30/ 25/ 44 Jaguar Christian Schmidt 136 187 16 29/ 24/ 47 Tie Factory Christian Schmidt 135 51 17 41/ 48/ 11 vamp/scan test b1 Ken Espiritu 135 115 18 40/ 46/ 14 Jinx Christian Schmidt 134 163 19 34/ 37/ 28 torch P.Kline 132 24 20 41/ 51/ 8 Kenshin Steve Gunnell 130 155 21 40/ 52/ 8 Nothing New... Leonardo H. Liporati 129 2 From: Koth Subject: KOTH.ORG: Status - Standard 10/16/00 Date: 16 Oct 2000 00:08:30 -0400 Message-ID: <200010160400.AAA09102@gevjon.ttsg.com> Weekly Status on 10/16/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Sat Oct 14 09:19:57 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 39/ 20/ 41 Freight Train David Moore 157 71 2 39/ 22/ 39 sIMPly.Red v0.95 Leonardo Humberto 155 28 3 37/ 20/ 42 Test Alexander (Sasha) Wa 154 10 4 37/ 22/ 41 Guardian Ian Oversby 152 70 5 31/ 16/ 52 EV Paper John K Wilkinson 146 84 6 41/ 36/ 23 PacMan David Moore 146 100 7 34/ 22/ 44 Shish-Ka-Bob Ben Ford 145 26 8 32/ 19/ 49 Test I Ian Oversby 144 127 9 41/ 41/ 18 Stasis David Moore 141 178 10 40/ 41/ 19 Beholder's Eye V1.7 W. Mintardjo 140 346 11 31/ 22/ 48 Evoltmp 88 John K W 139 121 12 42/ 45/ 13 Iron Gate Wayne Sheppard 139 396 13 37/ 37/ 26 Stillborn Bomber v0.2 mjp 137 11 14 38/ 40/ 22 Tangle Trap David Moore 135 144 15 34/ 36/ 30 Frog Sticker P.Kline 132 20 16 39/ 50/ 11 Blurstone '88 M. J. Pihlaja 128 65 17 38/ 48/ 14 Foggy Swamp Beppe Bezzi 127 67 18 39/ 50/ 11 Shadow Seeker John Metcalf 127 7 19 37/ 49/ 14 Blur '88 Anton Marsden 126 108 20 30/ 43/ 27 Twill Andy Pierce 117 1 21 18/ 73/ 9 AutoCannon 1 Lukasz Adamowski 63 0 From: fk Subject: Re: Corewarrior editor? Date: 2000/10/19 Message-ID: <39EE7EAC.B2D0D6C@europe.heat.net>#1/1 > BTW, anybody ahs a cw simulator for the TI-83+??(could be useful in class > ;-) if you got one, send me the link !! From: jkw@koth.org Subject: KOFACOTO Date: 2000/10/20 Message-ID: <4.1.20001020192715.00a6cee0@pop-server>#1/1 Hey guys just a reminder those Round 2 entries are due on Sunday night... Also the Round 3 rules will be posted shortly. Hopefully by the end of tonight. -jkw From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 2000/10/21 Message-ID: Archive-name: games/corewar-faq Last-Modified: September 4, 1999 Version: 4.2 URL: http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html Copyright: (c) 1999 Anton Marsden Maintainer: Anton Marsden Posting-Frequency: once every 2 weeks Core War Frequently Asked Questions (rec.games.corewar FAQ) These are the Frequently Asked Questions (and answers) from the Usenet newsgroup rec.games.corewar. A plain text version of this document is posted every two weeks. The latest hypertext version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html and the latest plain text version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.txt. This document is currently being maintained by Anton Marsden (anton@paradise.net.nz). Last modified: Sat Sep 4 00:22:22 NZST 1999 ------------------------------------------------------------------------ To Do * Add the new No-PSpace '94 hill location * Add online location of Dewdney's articles * Make question 17 easier to understand. Add a state diagram? * Add info about infinite hills, related games (C-Robots, Tierra?, ...) * New question: How do I know if my warrior is any good? Refer to beginners' benchmarks, etc. * Add a Who's Who list? * Would very much like someone to compile a collection of the "revolutionary" warriors so that beginners can see how the game has developed over the years. Mail me if interested. ------------------------------------------------------------------------ What's New * Changed primary location of FAQ (again!) * Changed Philip Kendall's home page address. * Updated list server information * Changed primary location of FAQ * Vector-launching code was fixed thanks to Ting Hsu. * Changed the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr ------------------------------------------------------------------------ Table of Contents 1. What is Core War 2. Is it "Core War" or "Core Wars"? 3. Where can I find more information about Core War? 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 6. What is the ICWS? 7. What is Core Warrior? 8. Where are the Core War archives? 9. Where can I find a Core War system for ...? 10. Where can I find warrior code? 11. I do not have FTP. How do I get all this great stuff? 12. I do not have access to Usenet. How do I post and receive news? 13. Are there any Core War related WWW sites? 14. What is KotH? How do I enter? 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 16. How does SLT (Skip if Less Than) work? 17. What is the difference between in-register and in-memory evaluation? 18. What is P-space? 19. What does "Missing ;assert .." in my message from KotH mean? 20. How should I format my code? 21. Are there any other Core War related resources I should know about? 22. What does (expression or term of your choice) mean? 23. Other questions? ------------------------------------------------------------------------ 1. What is Core War? Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all processes of the opposing program to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardised by the ICWS, and is therefore transportable between all standard Core War systems. The system in which the programs run is quite simple. The core (the memory of the simulated computer) is a continuous array of instructions, empty except for the competing programs. The core wraps around, so that after the last instruction comes the first one again. There are no absolute addresses in Core War. That is, the address 0 doesn't mean the first instruction in the memory, but the instruction that contains the address 0. The next instruction is 1, and the previous one obviously -1. However, all numbers are treated as positive, and are in the range 0 to CORESIZE-1 where CORESIZE is the amount of memory locations in the core - this means that -1 would be treated as CORESIZE-1 in any arithmetic operations, eg. 3218 + 7856 = (3218 + 7856) mod CORESIZE. Many people get confused by this, and it is particularly important when using the SLT instruction. Note that the source code of a program can still contain negative numbers, but if you start using instructions like DIV #-2, #5 it is important to know what effect they will have when executed. The basic unit of memory in Core War is one instruction. Each Redcode instruction contains three parts: * the opcode * the source address (a.k.a. the A-field) * the destination address (a.k.a. the B-field) The execution of the programs is equally simple. The MARS executes one instruction at a time, and then proceeds to the next one in the memory, unless the instruction explicitly tells it to jump to another address. If there is more than one program running, (as is usual) the programs execute alternately, one instruction at a time. The execution of each instruction takes the same time, one cycle, whether it is MOV, DIV or even DAT (which kills the process). Each program may have several processes running. These processes are stored in a task queue. When it is the program's turn to execute an instruction it dequeues a process and executes the corresponding instruction. Processes that are not killed during the execution of the instruction are put back into the task queue. Processes created by a SPL instruction are added to the task queue after the creating process is put back into the task queue. [ToC] ------------------------------------------------------------------------ 2. Is it "Core War" or "Core Wars"? Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. [ToC] ------------------------------------------------------------------------ 3. Where can I find more information about Core War? Core War was first described in the Core War Guidelines of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in Scientific American which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Library of Author Title Published ISBN Congress Call Number The Armchair Dewdney, Universe: An New York: W. QA76.6 .D517 A. K. Exploration of H. Freeman �0-7167-1939-8 1988 Computer Worlds 1988 The Magic 0-7167-2125-2 Dewdney, Machine: A New York: W.(Hardcover), QA76.6 A. K. Handbook of H. Freeman �0-7167-2144-9 .D5173 1990 Computer Sorcery 1990 (Paperback) A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current. For those who are interested, Dewdney has a home page at http://www.csd.uwo.ca/faculty/akd/. [ToC] ------------------------------------------------------------------------ 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A draft of the official standard (ICWS'88) is available as ftp://www.koth.org/corewar/documents/standards/redcode-icws-88.Z. This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at Mark Durham's tutorials, ftp://www.koth.org/corewar/documents/tutorial.1.Z and ftp://www.koth.org/corewar/documents/tutorial.2.Z. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This and various other tutorials can be found at http://www.koth.org/papers.html. Even though ICWS'88 is still the "official" standard, you will find that most people are playing by ICWS'94 draft rules and extensions. [ToC] ------------------------------------------------------------------------ 5. What is ICWS'94? Which simulators support ICWS'94? There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a new addressing modes and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft at ftp://www.koth.org/corewar/documents/icws94.0202.Z for more information. There is a HTML version of this document available at http://www.koth.org/info/icws94.html. You can try out the new standard by submitting warriors to the '94 hills of the KotH servers. Two corewar systems currently support ICWS'94, pMARS (many platforms) and Redcoder (Mac), both available at ftp://www.koth.org/corewar. Note that Redcoder only supports a subset of ICWS'94. [ToC] ------------------------------------------------------------------------ 6. What is the ICWS? About one year after Core War first appeared in Scientific American, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). The ICWS is no longer active. [ToC] ------------------------------------------------------------------------ 7. What is Core Warrior? Following in the tradition of the Core War News Letter, Push Off, and The 94 Warrior, Core Warrior is a newsletter about strategies and current standings in Core War. Started in October 1995, back issues of Core Warrior (and the other newsletters) are available at http://para.inria.fr/~doligez/corewar/. There is also a Core Warrior index page at http://www.kendalls.demon.co.uk/pak21/corewar/warrior.html which has a summary of the contents of each issue of Core Warrior. Many of the earlier issues contain useful information for beginners. [ToC] ------------------------------------------------------------------------ 8. Where are the Core War archives? Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp://ftp.csua.berkeley.edu/pub/corewar. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. This site is mirrored at: * http://www.koth.org/corewar/ * ftp://www.koth.org/corewar/ * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror The plain text version of this FAQ is automatically archived by news.answers (but this version is probably out-of-date). [ToC] ------------------------------------------------------------------------ 9. Where can I find a Core War system for . . . ? Core War systems are available via anonymous FTP from www.koth.org in the corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check ftp://www.koth.org/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than www.koth.org. Generally, the older the program - the less likely it will be ICWS compatible. If you are looking for an ICWS'94 simulator, get pMARS, which is available for many platforms and can be downloaded from: * ftp://ftp.csua.berkeley.edu/pub/corewar (original site) * ftp://www.koth.org/corewar (koth.org mirror) * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror (Planar mirror) * http://www.nc5.infi.net/~wtnewton/corewar/ (Terry Newton) * ftp://members.aol.com/ofechner/corewar (Fechter) Notes: * If you have trouble running pMARS with a graphical display under Win95 then check out http://www.koth.org/pmars.html which should have a pointer to the latest compilation of pMARS for this environment. * RPMs for the Alpha, PowerPC, Sparc and i386 can be found at ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars-rpm/ Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at www.koth.org: MADgic41.lzh corewar for the Amiga, v4.1 MAD4041.lzh older version? MAD50B.lha corewar for the Amiga, beta version 5.0 Redcoder-21.hqx corewar for the Mac, supports ICWS'88 and '94 (without extensions) core-11.hqx corewar for the Mac core-wars-simulator.hqx same as core-11.hqx? corewar_unix_x11.tar.Z corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z older version kothpc.zip port of older version of KotH to the PC deluxe20c.tar.Z corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z corewar for UNIX, likely not ICWS'88 compatible icons.zip corewar icons for MS-Windows macrored.zip a redcode macro-preprocessor (PC) c88v49.zip PC corewar, textmode display mars88.zip PC corewar, graphics mode display corwp302.zip PC corewar, textmode display, slowish mercury2.zip PC corewar written in assembly, fast! mtourn11.zip tournament scheduler for mercury (req. 4DOS) pmars08s.zip portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars08s.tar.Z same as above pmars08.zip PC executables with graphics display, req 386+ macpmars02.sit.hqx pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS1.99a.cpt.hqx port of v0.8 for the Mac, with display and debugger MacpMARS1.0s.cpt.hqx C source (MPW, ThinkC) for Mac frontend pvms08.zip pMARS v0.8 for VMS build files/help (req. pmars08s.zip) ApMARS03.lha pMARS executable for Amiga (port of version 0.3.1) wincor11.zip MS-Windows system, shareware ($15) [ToC] ------------------------------------------------------------------------ 10. Where can I find warrior code? To learn the game, it is a good idea to study previously posted warrior code. The FTP archives have code in the ftp://www.koth.org/corewar/redcode directory. A clearly organized on-line warrior collection is available at the Core War web sites (see below). [ToC] ------------------------------------------------------------------------ 11. I do not have FTP. How do I get all this great stuff? There is an FTP email server at bitftp@pucc.princeton.edu. This address may no longer exist. I haven't tested it yet. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. Note that many FTP email gateways are shutting down due to abuse. To get a current list of FTP email servers, look at the Accessing the Internet by E-mail FAQ posted to news.answers. If you don't have access to Usenet, you can retrieve this FAQ one of the following ways: * Send mail to mail-server@rtfm.mit.edu with the body containing "send usenet/news.answers/internet-services/access-via-email". * Send mail to mailbase@mailbase.ac.uk with the body containing "send lis-iis e-access-inet.txt". [ToC] ------------------------------------------------------------------------ 12. I do not have access to Usenet. How do I post and receive news? To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Koth.Org list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@koth.org. You can send mail to corewar-l@koth.org to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (ttsg@ttsg.com). Servers that allow you to post (but not receive) articles are available. Refer to the Accessing the Internet by E-Mail FAQ for more information. [ToC] ------------------------------------------------------------------------ 13. Are there any Core War related WWW sites? You bet. Each of the two KotH sites sport a world-wide web server. Stormking's Core War page is http://www.koth.org; pizza's is http://www.ecst.csuchico.edu/~pizza/koth . Damien Doligez (a.k.a. Planar) has a web page that features convenient access to regular newsletters (Push Off, The '94 Warrior, Core Warrior) and a well organized library of warriors: http://para.inria.fr/~doligez/corewar/. Convenient for U.S. users, this site is also mirrored at koth.org. [ToC] ------------------------------------------------------------------------ 14. What is KotH? How do I enter? King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program (warrior) with special comment lines. You will receive a reply indicating how well your program did against the current top programs "on the hill". There are two styles of KotH tournaments, "classical" and "multi-warrior". The "classical" KotH is a one-on-one tournament, that is your warrior will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. In "multi-warrior" KotH, all warriors on the hill fight each other at the same time. Score calculation is a bit more complex than for the one-on-one tournament. Briefly, points are awarded based on how many warriors survive until the end of a round. A warrior that survives by itself gets more points than a warrior that survives together with other warriors. Points are calculated from the formula (W*W-1)/S, where W is the total number of warriors and S the number of surviving warriors. The pMARS documentation has more information on multi-warrior scoring. The idea for an email-based Core War server came from David Lee. The original KotH was developed and run by William Shubert at Intel starting in 1991, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: koth@koth.org is maintained by Scott J. Ellentuch (tuc@ttsg.com) and pizza@ecst.csuchico.edu by Thomas H. Davies (sd@ecst.csuchico.edu). Up until May '95, the two sites provided overlapping services, i.e. the some of the hill types were offered by both "pizza" and "stormking". To conserve resources, the different hill types are now divided up among the sites. The way you submit warriors to both KotHs is pretty much the same. Therefore, the entry rules described below apply to both "pizza" and "stormking" unless otherwise noted. Entry Rules for King of the Hill Corewar * Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. * Put a line starting with ";redcode" (or ";redcode-94", etc., see below) at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. Using ";name" is mandatory on the Pizza hills. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently seven separate hills you can select by starting your program with ;redcode-94, ;redcode-b, ;redcode-lp, ;redcode-x, ;redcode, ;redcode-94x or ;redcode-94m. The former four run at "pizza", the latter three at "stormking". More information on these hills is listed below. * Mail this file to koth@koth.org or pizza@ecst.csuchico.edu. "Pizza" requires a subject of "koth" (use the -s flag on most mailers). * Within a few minutes you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. * In an hour or so you should get more mail telling you how your program performed against the current top 20 (or 10) programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode[-??] quiet" when you first mail in your program; then you will only get mail when you make it on the top 25 list or when you are knocked off. Using ";redcode[-??] verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 25 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. Sample Entry ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Duration Max. Hill Name Hill Core Max. Before Entry Min. Rounds Instr. Size Size Processes Distance Fought Set Tie Length Pizza's ICWS '94 Draft Hill Extended (Accessed with 25 8000 8000 80000 100 100 200 ICWS '94 ";redcode-94") Draft Pizza's Beginner's Extended Hill (Accessed 25 8000 8000 80000 100 100 200 ICWS '94 with ";redcode-b") Draft Pizza's Experimental Extended (Small) Hill 25 800 800 8000 20 20 200 ICWS '94 (Accessed with Draft ";redcode-x") Pizza's Limited Process (LP) Hill Extended (Accessed with 25 8000 8 80000 200 200 200 ICWS '94 ";redcode-lp") Draft Stormking's ICWS '88 Standard Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '88 ";redcode") Stormking's ICWS '94 No Pspace Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '94 ";redcode-94nop") Stormking's ICWS '94 Experimental Extended (Big) Hill 20 55440 55440 500000 200 200 250 ICWS '94 (Accessed with Draft ";redcode-94x") Stormking's ICWS '94 Multi-Warrior Extended Hill (Accessed 10 8000 8000 80000 100 100 200 ICWS '94 with Draft ";redcode-94m") Note: Warriors on the beginner's hill are retired at age 100. If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. At "stormking", a message body with ";help" will return brief instructions. If you submit code containing a ";test" line, your warrior will be assembled but not actually pitted against the warriors on the hill. At "pizza", you can use ";redcode[-??] test" to do a test challenge of the Hill without affecting the status of the Hill. These challenges can be used to see how well your warrior does against the current Hill warriors. All hills run portable MARS (pMARS) version 0.8, a platform-independent Core War system available at www.koth.org. The '94 and '94x hills allow five experimental opcodes and three experimental addressing modes currently not covered in the ICWS'94 draft document: * LDP - Load P-Space * STP - Store P-Space * SEQ - Skip if EQual (synonym for CMP) * SNE - Skip if Not Equal * NOP - (No OPeration) * * - indirect using A-field as pointer * { - predecrement indirect using A-field * } - postincrement indirect using A-field [ToC] ------------------------------------------------------------------------ 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? Core is initialized to DAT 0, 0. This is an illegal instruction (in source code) under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you have a DAT 0, 0 instruction in your source code - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. [ToC] ------------------------------------------------------------------------ 16. How does SLT (Skip if Less Than) work? SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: -1 becomes M-1 where M is the memory size (core size). Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. [ToC] ------------------------------------------------------------------------ 17. What is the difference between in-register and in-memory evaluation? These terms refer to the way instruction operands are evaluated. The '88 Redcode standard ICWS'88 is unclear about whether a simulator should "buffer" the result of A-operand evaluation before the B-operand is evaluated. Simulators that do buffer are said to use in-register evaluation, those that don't, in-memory evaluation. ICWS'94 clears this confusion by mandating in-register evaluation. Instructions that execute differently under these two forms of evaluation are MOV, ADD, SUB, MUL, DIV and MOD where the effective address of the A-operand is modified by evaluation of the B-operand. This is best illustrated by an example: L1 mov L2, mov.i #0, impsize Bootstrapping Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners Scanners which only recognize non-zero B-fields. example add #10, scan scan jmz example, 10 c Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner A Scanner which uses a CMP instruction to look for opponents. example add step, scan scan cmp 10, 30 jmp attack jmp example step dat #20, #20 Colour Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear Code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys Bogus or unused instructions meant to slow down scanners. Typically, DATs with non-zero B-fields. Decrement Resistant Property of warriors making them functional (or at least partially functional) when overrun by a DJN-stream. DJN-Stream (also DJN-Train) Using a DJN command to rapidly decrement core locations. example ... ... djn example, <4000 Dwarf The prototypical small bomber. Gate-busting (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp Program which only uses the MOV instruction. example mov 0, 1 or example mov 0, 2 mov 0, 2 Imp-Gate A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... spl 0, mov.i #0,IMPSIZE Mirror see reflection. On-axis/off-axis On-axis scanners compare two locations M/2 apart, where M is the memory size. Off-axis scanners use some other separation. Optimal Constants (also optima-type constants) Bomb or scan increments chosen to cover core most effectively, i.e. leaving gaps of uniform size. Programs to calculate optimal constants and lists of optimal numbers are available at www.koth.org. Paper A Paper-like program is one which replicates itself many times. Part of the Scissors (beats) Paper (beats) Stone (beats Scissors) analogy. P-Warrior A warrior which uses the results of previous round(s) in order to determine which strategy it will use. Pit-Trapper (also Slaver, Vampire). A program which enslaves another. Usually accomplished by bombing with JMPs to a SPL 0 pit with an optional core-clear routine. Q^2 Scan A modern version of the Quick Scan where anything found is attacked almost immediately. Quick Scan 2c scan of a set group of core locations with bombing if anything is found. Both of the following codes snips scan 16 locations and check for a find. If anything is found, it is attacked, otherwise 16 more locations are scanned. Example: start s1 for 8 ;'88 scan cmp start+100*s1, start+100*s1+4000 ;check two locations mov #start+100*s1-found, found ;they differ so set pointer rof jmn attack, found ;if we have something, get it s2 for 8 cmp start+100*(s2+6), start+100*(s2+6)+4000 mov #start+100*(s2+6)-found, found rof found jmz moveme, #0 ;skip attack if qscan found nothing attack cmp @found, start-1 ;does found points to empty space? add #4000, found ;no, so point to correct location mov start-1, @found ;move a bomb moveme jmp 0, 0 In ICWS'94, the quick scan code is more compact because of the SNE opcode: start ;'94 scan s1 for 4 sne start+400*s1, start+400*s1+100 ;check two locations seq start+400*s1+200, start+400*s1+300 ;check two locations mov #start+400*s1-found, found ;they differ so set pointer rof jmn which, found ;if we have something, get it s2 for 4 sne start+400*(s2+4), start+400*(s2+4)+100 seq start+400*(s2+4)+200, start+400*(s2+4)+300 mov #start+400*(s2+4)-found-100, found rof found jmz moveme, #0 ;skip attack if qscan found nothing add #100, -1 ;increment pointer till we get the which jmn -1, @found ;right place mov start-1, @found ;move a bomb moveme jmp 0, 0 Reflection Copy of a program or program part, positioned to make the active program invisible to a CMP-scanner. Replicator Generic for Paper. A program which makes many copies of itself, each copy also making copies. Self-Splitting Strategy of amplifying the number of processes executing a piece of code. example spl 0 loop add #10, example mov example, @example jmp loop Scanner A program which searches through core for an opponent rather than bombing blindly. Scissors A program designed to beat replicators, usually a (B-field scanning) vampire. Part of the Paper-Scissors-Stone analogy. Self-Repair Ability of a program to fix it's own code after attack. Silk A replicator which splits off a process to each new copy before actually copying the code. This allows it to replicate extremely quickly. This technique is only possible under the '94 draft, because it requires post-increment indirect addressing. Example: spl 1 mov -1, 0 spl 1 ;generate 6 consecutive processes silk spl 3620, #0 ;split to new copy mov >-1, }-1 ;copy self to new location mov bomb, >2000 ;linear bombing mov bomb, }2042 ;A-indirect bombing for anti-vamp jmp silk, {silk ;reset source pointer, make new copy bomb dat >2667, >5334 ;anti-imp bomb Slaver see Pit-Trapper. Stealth Property of programs, or program parts, which are invisible to scanners, accomplished by using zero B-fields and reflections. Stone A Stone-like program designed to be a small bomber. Part of the Paper-Scissors-Stone analogy. Stun A type of bomb which makes the opponent multiply useless processes, thus slowing it down. Example is referred to as a SPL-JMP bomb. example spl 0 jmp -1 Two-Pass Core-Clear (also SPL/DAT Core-Clear) core clear that fills core first with SPL instructions, then with DATs. This is very effective in killing paper and certain imp-spiral variations. Vampire see Pit-Trapper. Vector Launch one of several means to start an imp-spiral running. As fast as Binary Launch, but requiring much less code. See also JMP/ADD Launch and Binary Launch. This example is one form of a Vector Launch: sz EQU 2667 spl 1 spl 1 jmp @vt, }0 vt dat #0, imp+0*sz ; start of vector table dat #0, imp+1*sz dat #0, imp+2*sz dat #0, imp+3*sz ; end of vector table imp mov.i #0, sz [ToC] ------------------------------------------------------------------------ 23. Other questions? Just ask in the rec.games.corewar newsgroup or contact me. If you are shy, check out the Core War archives first to see if your question has been answered before. [ToC] ------------------------------------------------------------------------ Credits Additions, corrections, etc. to this document are solicited. Thanks in particular to the following people who have contributed major portions of this document: * Mark Durham (wrote the original version of the FAQ) * Paul Kline * Randy Graham * Stefan Strack (maintained a recent version of the FAQ) ------------------------------------------------------------------------ Copyright � 1999 Anton Marsden. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ------------------------------------------------------------------------ From: "Leonardo H. Liporati" Subject: Re: serious pMARS multiwarrior bug Date: 2000/10/22 Message-ID: <001f01c03c90$3d4a2380$01c810ac@personal>#1/1 It seems that the bug was introduced after version 0.8.0. I have the following binaries for Windows in my HDD: - 0.8.6 adapted to IMT#2, ie, with permutation (-P) option, compiled by Ken Espiritu. -> Shows the bug. - 0.8.5 compiled from souce by myself using LCC-Win32. -> shows the bug. I confirmed reading the source. - 0.8.0 pre-compiled, I don't remember from where I downloaded it. -> DOESN'T SHOW THE BUG! Regards, Leonardo. From: Hillis Subject: Re: serious pMARS multiwarrior bug Date: 2000/10/22 Message-ID: <39F3921B.CC99B93C@erols.com>#1/1 I confess that I ran into the same problem that Imari reports about a year ago and patched my version without mentioning it to anybody. I couldn't remember from where or when I had downloaded the PMARS source code. And the hills at KotH clearly didn't have that bug. But I'm making excuses. Dave Hillis jkw@koth.org wrote: > > I wasn't able to repeat those results on my machine... and although > you'll note that when I ran it, only 1 warrior ever survived, the > scores are statistically identical. > > pmars.exe-b -r 200 -d 100 -c 80000 -p 8000 -l 100 -@ warriors.txt > Clear by Anonymous scores 536 > Results: 67 0 0 133 > Clear by Anonymous scores 528 > Results: 66 0 0 134 > Clear by Anonymous scores 536 > Results: 67 0 0 133 > > At 04:32 PM 10/22/00 -0400, you wrote: > >How the heck has nobody noticed this before?? > > > > $ cat clr.red > > ;redcode > > ;name Clear > > ;assert 1 > > clear mov -1, <2 > > jmp -1 > > end clear > > > > $ ./pmars -b -r 200 clr.red clr.red clr.red > > Clear by Anonymous scores 532 > > Results: 0 133 0 67 > > Clear by Anonymous scores 532 > > Results: 0 133 0 67 > > Clear by Anonymous scores 536 > > Results: 0 134 0 66 > > > >If you get similar scores, your pMARS has the same bug as mine. It > >seems likely that you will, since I've tried both 0.8.6 from koth.org > >and 0.9.0 from sourceforge.net and both versions have this bug. > > > >To fix, apply the following patch (also sent to sourceforge) to sim.c: > > > >iff -ru pmars-0.9.0/src/sim.c pmars-0.9.0p/src/sim.c > >--- pmars-0.9.0/src/sim.c Sun Aug 20 16:29:43 2000 > >+++ pmars-0.9.0p/src/sim.c Sun Oct 22 22:19:38 2000 > >@@ -1144,7 +1144,7 @@ > > display_die(W - warrior); > > W->score[warriorsLeft + warriors - 2]++; > > cycle = cycle - 1 - (cycle - 1) / (warriorsLeft--); > >- if (warriorsLeft < 3) > >+ if (warriorsLeft < 2) > > goto nextround; /* can't use break because in switch */ > > > > #ifndef SERVER > > > >-- > >Ilmari Karonen - http://www.sci.fi/~iltzu/ > >"And, should you resort to sticking a martini olive up their nose, > > implacable universal laws require that they'll _like_ that sort of > > thing." -- Graydon in r.a.sf.c > > > > > > From: jkw@koth.org Subject: Re: serious pMARS multiwarrior bug Date: 2000/10/22 Message-ID: <4.1.20001022162651.00a71eb0@pop-server>#1/1 I wasn't able to repeat those results on my machine... and although you'll note that when I ran it, only 1 warrior ever survived, the scores are statistically identical. pmars.exe-b -r 200 -d 100 -c 80000 -p 8000 -l 100 -@ warriors.txt Clear by Anonymous scores 536 Results: 67 0 0 133 Clear by Anonymous scores 528 Results: 66 0 0 134 Clear by Anonymous scores 536 Results: 67 0 0 133 At 04:32 PM 10/22/00 -0400, you wrote: >How the heck has nobody noticed this before?? > > $ cat clr.red > ;redcode > ;name Clear > ;assert 1 > clear mov -1, <2 > jmp -1 > end clear > > $ ./pmars -b -r 200 clr.red clr.red clr.red > Clear by Anonymous scores 532 > Results: 0 133 0 67 > Clear by Anonymous scores 532 > Results: 0 133 0 67 > Clear by Anonymous scores 536 > Results: 0 134 0 66 > >If you get similar scores, your pMARS has the same bug as mine. It >seems likely that you will, since I've tried both 0.8.6 from koth.org >and 0.9.0 from sourceforge.net and both versions have this bug. > >To fix, apply the following patch (also sent to sourceforge) to sim.c: > >iff -ru pmars-0.9.0/src/sim.c pmars-0.9.0p/src/sim.c >--- pmars-0.9.0/src/sim.c Sun Aug 20 16:29:43 2000 >+++ pmars-0.9.0p/src/sim.c Sun Oct 22 22:19:38 2000 >@@ -1144,7 +1144,7 @@ > display_die(W - warrior); > W->score[warriorsLeft + warriors - 2]++; > cycle = cycle - 1 - (cycle - 1) / (warriorsLeft--); >- if (warriorsLeft < 3) >+ if (warriorsLeft < 2) > goto nextround; /* can't use break because in switch */ > > #ifndef SERVER > >-- >Ilmari Karonen - http://www.sci.fi/~iltzu/ >"And, should you resort to sticking a martini olive up their nose, > implacable universal laws require that they'll _like_ that sort of > thing." -- Graydon in r.a.sf.c > > > From: Ilmari Karonen Subject: serious pMARS multiwarrior bug Date: 2000/10/22 Message-ID: <972243334.15917@itz.pp.sci.fi>#1/1 How the heck has nobody noticed this before?? $ cat clr.red ;redcode ;name Clear ;assert 1 clear mov -1, <2 jmp -1 end clear $ ./pmars -b -r 200 clr.red clr.red clr.red Clear by Anonymous scores 532 Results: 0 133 0 67 Clear by Anonymous scores 532 Results: 0 133 0 67 Clear by Anonymous scores 536 Results: 0 134 0 66 If you get similar scores, your pMARS has the same bug as mine. It seems likely that you will, since I've tried both 0.8.6 from koth.org and 0.9.0 from sourceforge.net and both versions have this bug. To fix, apply the following patch (also sent to sourceforge) to sim.c: iff -ru pmars-0.9.0/src/sim.c pmars-0.9.0p/src/sim.c --- pmars-0.9.0/src/sim.c Sun Aug 20 16:29:43 2000 +++ pmars-0.9.0p/src/sim.c Sun Oct 22 22:19:38 2000 @@ -1144,7 +1144,7 @@ display_die(W - warrior); W->score[warriorsLeft + warriors - 2]++; cycle = cycle - 1 - (cycle - 1) / (warriorsLeft--); - if (warriorsLeft < 3) + if (warriorsLeft < 2) goto nextround; /* can't use break because in switch */ #ifndef SERVER -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "And, should you resort to sticking a martini olive up their nose, implacable universal laws require that they'll _like_ that sort of thing." -- Graydon in r.a.sf.c From: jkw@koth.org Subject: KOFACOTO Round 3 Date: 2000/10/22 Message-ID: <4.1.20001022033812.00a8f500@pop-server>#1/1 (Reminder to submit those Round 2 entries in! I've got 11 so far... but with 24 hours or so left, I hope everyone from Round 1 will get in a submission.) --- Sorry for being a little bit late with the rules for Round 3, but I wanted to get everything tested out before saying anything. This is a brand new type of tournament round, a spin-off of the white warrior round. This is a black warrior round. You will send warriors to koth.org, and get back results, but you will never see the code of the warrior you're fighting. I really think this is pretty cool. In my mind, this is the sort of stuff I've always enjoyed most about Core Wars in general, and King of the Hill in particular... fighting the invisible foe... stabbing blindly and hoping to sink your blade right between the ribs... :-> --- Your opponent is Black Box. The pmars settings are those of the '94x hill. pmars -s 55440 -c 500000 -p 10000 -l 200 -d 200 -r 250 I wrote Black Box from scratch... my corewars specialty has always been warriors that don't give many points away to their opponents, and this one is a doozy. Heh, I'll be very surprised if anyone gets a score of more than 140. (If the scores for this round are all clumped together in the 110 range, I may normalize the lowest score to 500 pts or less.) I went ahead and submitted it to the '94x Hill to give everyone a starting frame of reference. Check out this URL for scores: http://www.KOTH.org/lcgi-bin/warriorinfo.pl?hill94x:6:taken:1 Good luck!! --- Submissions are due next Sunday, the 29th. Submissions are to be sent to jkw@koth.org as usual. Here's the twist though. I've set up a special Hill just for this round. This is the Black Warrior's own test hill. Send warriors to koth@koth.org with the redcode line of ";redcode-x2" and they will be run against Black Box. You'll get results back as usual. Since there's only 1 warrior allowed on this hill, your warriors will never be run against anyone else's, so you wont be giving any info away. Also, no one will be able to see your score against Black Box but you. Save those results and make sure you know what warrior you got a good score with. Please be away I'm not going to track scores... you'll have to submit whichever warrior you think will do the best. And also please note that the warrior positions when I run your warrior will not be the same as those on the Hill. So don't even think about trying to optimize your warrior for the Hill's -F setting, you evil redcoders out there! >:-) --- Here's an example of a warrior test I did. Note there's no need for a ;kill line... Black Box can't be knocked off the hill. (I've given it a score of 500+, when the max possible you could theoretically get would be 300.) ;redcode-x2 ;name test ;author JKW ;assert (CORESIZE == 55440) && (MAXPROCESSES == 10000) mov -1, <-1 jmp -1 From: "John's Q3 Arena" Subject: Re: Instant download of software,games,adult pix and movies Date: 2000/10/22 Message-ID: #1/1 Forwarded to abuse@uk.uu.net -- John Ballem q3webmaster@home.com http://www.quake3world.com/quake3 wrote in message news:8s9dbl$90f$2@lure.pipex.net... > Instant downloads of Software, Games, Cheat Codes, Adult Pictures and Movies aswell as loads of other interesting stuff, all without the need to give credit card or other personal information. > > http://www.softstuff.tv/ > > lecjddinip > From: M Joonas Pihlaja Subject: Re: KOFACOTO Round 1 Results: Precision Scans Date: Sun, 22 Oct 2000 08:23:12 +0300 Message-ID: On Sun, 15 Oct 2000, Robert Macrae wrote: > However, unlike all the others that use a 1.0c linear scan, it uses a > a longer-but-faster stepped scanner. I did a lot of testing with this, and using the stepped scanner did help, as the main scan was only 0.5c. It was pretty sensitive to the scan step, with 6 and 11 being the best choices. Using a faster scan made would have made recovering from scanning decoys cumbersome. > The attack is a SPL/JMP bomber, which again is a bit bulky > compared to the other kinds of attack. Finally, the biggest problem is > that there is no decoy at all! The warrior is long, so it suffers many > hits from the QS and, unlike myBlack, it is not very resistant to DAT > bombs. Agreed, absolutely. I have to admit, my arrogance got to me on this one... at 85% wins I didn't think there was anything left to do. Looking back at the other contestants I see how wrong I was. Doh! > Conclusions? Just because one's been king for 9 months doesn't mean one compares to sleeping giants? ;-) Joonas From: "Juan A.R.B." Subject: NEW GAME Date: 2000/10/23 Message-ID: #1/1 Defender is an addictive game to the purest style arcade and graphically modernized at the current times. You can find more information and a demo free list to discharge in: http://webs.demasiado.com/Defender Will you be able to resist?. Do you Demonstrate it! ;-) The commercial version only costs 5$ From: Ilmari Karonen Subject: Re: serious pMARS multiwarrior bug Date: 2000/10/23 Message-ID: <972308715.22052@itz.pp.sci.fi>#1/1 In article , Lukasz Adamowski wrote: >I've got the same results as jkw. I've got pMARS 0.8.0 and I use it on my >own hill. So, which version is free from this bug and where can I get it? In that case your version is bug-free. To repeat: Some versions of pMARS have a bug that makes multiwarrior battles end when there are still two warriors left. To test this, run, say, 100 rounds between three copies of a simple core clear. If the results look like "33 0 0 67" your pMARS is fine. :-) If the results look like "0 67 0 33" your pMARS is buggy. :-( 0.8.0 is known to be fine. 0.8.5 up to 0.9.0 are buggy. A patch for sim.c that fixes the bug has been posted here and send to the pMARS sourceforge site at http://sourceforge.net/projects/corewar/ If you still want a new version, I'd recommend getting 0.9.0 from sourceforge and applying all the three patches available there. -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "And, should you resort to sticking a martini olive up their nose, implacable universal laws require that they'll _like_ that sort of thing." -- Graydon in r.a.sf.c From: jkw@koth.org Subject: Re: KOFACOTO Round 3 Date: 2000/10/23 Message-ID: <4.1.20000922210614.00a7a470@pop-server>#1/1 >John, >Another nifty round to the contest! But I need one point clarified. The >rules indicate that we need to maximize the score against the Black Box, >but the report from KotH also includes the score the warrior gets >against itself. Which is it? > >Dave Hillis Well, the way the Hill works, it'd be a little tricky to try and remove self fights right now. But when I run your warriors to determine your Round 3 scores, I won't be running self-fights. Your score vs Black Box is all that counts. -jkw From: Lukasz Adamowski Subject: Re: serious pMARS multiwarrior bug Date: 2000/10/23 Message-ID: #1/1 I've got the same results as jkw. I've got pMARS 0.8.0 and I use it on my own hill. So, which version is free from this bug and where can I get it? Lukasz From: Koth Subject: KOTH.ORG: Status - Standard 10/23/00 Date: 2000/10/23 Message-ID: <200010230400.AAA08779@gevjon.ttsg.com>#1/1 Weekly Status on 10/23/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Sat Oct 21 21:22:10 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 39/ 20/ 41 Freight Train David Moore 157 71 2 39/ 23/ 38 sIMPly.Red v0.95 Leonardo Humberto 155 28 3 37/ 21/ 42 Test Alexander (Sasha) Wa 154 10 4 36/ 22/ 42 Guardian Ian Oversby 150 70 5 41/ 36/ 23 PacMan David Moore 145 100 6 30/ 17/ 54 EV Paper John K Wilkinson 143 84 7 32/ 23/ 45 Shish-Ka-Bob Ben Ford 141 26 8 30/ 20/ 50 Test I Ian Oversby 140 127 9 40/ 41/ 18 Stasis David Moore 139 178 10 40/ 41/ 19 Beholder's Eye V1.7 W. Mintardjo 139 346 11 38/ 39/ 23 Tangle Trap David Moore 138 144 12 41/ 46/ 13 Iron Gate Wayne Sheppard 136 396 13 36/ 37/ 27 Stillborn Bomber v0.2 mjp 136 11 14 29/ 22/ 49 Evoltmp 88 John K W 136 121 15 40/ 47/ 14 Foggy Swamp Beppe Bezzi 133 67 16 40/ 47/ 13 Blur '88 Anton Marsden 132 108 17 34/ 36/ 30 Frog Sticker P.Kline 131 20 18 38/ 51/ 11 Blurstone '88 M. J. Pihlaja 125 65 19 38/ 51/ 11 Shadow Seeker John Metcalf 124 7 20 29/ 45/ 27 Twill Andy Pierce 112 1 21 20/ 63/ 17 CStest 88 Christian Schmidt 76 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 10/23/00 Date: 2000/10/23 Message-ID: <200010230400.AAA08783@gevjon.ttsg.com>#1/1 Weekly Status on 10/23/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun Oct 15 18:16:23 EDT 2000 # Name Author Score Age 1 QuiVa John Metcalf 39 135 2 fclear Brian Haskin 24 26 3 Her Majesty P.Kline 20 61 4 D-clearM Ken Espiritu 20 42 5 Friction Ken Espiritu 17 14 6 Scan Test Tester 16 1 7 MorphinMerlin Jeremy K 15 6 8 vamp/scan test b1 Ken Espiritu 13 15 9 Dracula's Cape Ben Ford 12 20 10 SmallFry Simon Duff 12 12 11 Test Eu 7 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 10/23/00 Date: 2000/10/23 Message-ID: <200010230400.AAA08787@gevjon.ttsg.com>#1/1 Weekly Status on 10/23/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sun Oct 22 04:14:18 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 53/ 30/ 17 Black Moods Ian Oversby 175 16 2 48/ 29/ 23 Controlled Aggression Ian Oversby 166 20 3 24/ 7/ 69 Evol Cap 4 X John Wilkinson 141 89 4 29/ 19/ 52 Venom v0.2b Christian Schmidt 139 42 5 19/ 2/ 78 Evolve X v4.0 John Wilkinson 137 37 6 19/ 2/ 80 Black Box v1 JKW 135 1 7 36/ 40/ 24 Stepping Stone 94x Kurt Franke 132 75 8 27/ 22/ 51 Rosebud Beppe 132 68 9 35/ 39/ 26 Dr. Gate X Franz 131 60 10 39/ 47/ 13 S.E.T.I. 4-X JKW 131 90 11 37/ 43/ 20 Tsunami v0.3 X Ian Oversby 131 14 12 31/ 34/ 35 Draken Fire X Ben Ford 128 11 13 36/ 44/ 20 Pagan John K W 128 74 14 31/ 37/ 33 Lithium X 8 John K Wilkinson 125 80 15 35/ 47/ 18 Even More Advanced (read: Josef Jahn 124 4 16 35/ 46/ 19 Memories Beppe Bezzi 124 96 17 31/ 39/ 29 BigBoy Robert Macrae 123 114 18 21/ 19/ 60 Purple v0.1 Christian Schmidt 123 41 19 31/ 38/ 31 MorphinMerlin Jeremy K 123 3 20 33/ 48/ 19 Advanced Spooner Josef Jahn 118 5 21 21/ 25/ 54 Hyper Advanced (read: sux Josef Jahn 117 2 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 10/23/00 Date: 2000/10/23 Message-ID: <200010230400.AAA08793@gevjon.ttsg.com>#1/1 Weekly Status on 10/23/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Oct 22 23:26:43 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 47/ 37/ 16 Behemot Michal Janeczek 156 24 2 39/ 27/ 34 Omnibus John Metcalf 151 210 3 37/ 24/ 39 Jade Ben Ford 149 270 4 37/ 25/ 38 nPaper II Paul-V Khuong 149 201 5 35/ 23/ 42 Uninvited John Metcalf 148 153 6 45/ 43/ 12 Eraser II Ken Espiritu 147 158 7 45/ 44/ 12 Pitbull Christian Schmidt 146 34 8 41/ 37/ 22 ctest David Moore 145 2 9 38/ 32/ 30 Blacken Ian Oversby 145 448 10 36/ 28/ 36 Experimental John Metcalf 144 157 11 34/ 23/ 43 Jaguar Christian Schmidt 144 188 12 44/ 45/ 10 Stalker P.Kline 143 186 13 43/ 44/ 13 Zooom... John Metcalf 142 337 14 42/ 41/ 17 CrazyShot Christian Schmidt 142 33 15 34/ 27/ 40 EvoP 3 Ken Espiritu 141 197 16 32/ 23/ 45 Tie Factory Christian Schmidt 140 52 17 42/ 45/ 13 Jinx Christian Schmidt 140 164 18 43/ 47/ 10 vamp/scan test b1 Ken Espiritu 140 116 19 43/ 49/ 8 Kenshin Steve Gunnell 138 156 20 43/ 48/ 10 KenshinB Steve Gunnell 138 1 21 10/ 88/ 2 Exotic Dancer v1.36 Jeff Salyer 32 0 From: jkw@koth.org Subject: Round 2 entries Date: 2000/10/23 Message-ID: <4.1.20000922233108.00ad9870@pop-server>#1/1 I've succesfully compiled entries from the 17 people listed at the bottom. Paul Kline's entry did not compile under 88 rules. I just emailed him, and I'm going to give him 24 hours to respond with a fixed version. In fairness, the rest of you have 24 hours to make alterations to your warriors, if you want to. By the way, 18 C 8 is 43758. I did some tests running 10 round groups of 8, and it would only take like an hour or something to run all 43,758 permutations of 8. So it looks like I'll go ahead and run them all, which means I'm going to be posting an absurdly massive results file on koth.org, mainly for grins. It'll probably be in the 20 megabyte range. Hehe stay tuned. :-> -jkw Successful compiles: philipp stefan Andy Nevermind Ayan Chakrabarti Ben Ford bjoern guenzel David Moore Dave Hillis Ilmari Karonen Leonardo H. Liporati Lukasz Adamowski Magnus Paulsson Josh Yeager Martin Ankerl Michal Janeczek Robert Macrae Christian Schmidt Stephen Gunnell From: jkw@koth.org Subject: Round 2 results! Date: 2000/10/24 Message-ID: <4.1.20000923231113.00911a40@pop-server>#1/1 With a scoring system that heavily favors wins, it seems that agressive bombing papers are the way to go... I ran all possible 43,758 permutations of 8 groups of 18 warriors, running 10 rounds of each permutation, for a grand total of 437,580 rounds. Took about 3 hours, but hey we got some mighty accurate results now, eh? :-) I'll try to post the warriors, the massive scorefile, and add up the first two rounds scores tommorrow. Congratulations to Liporati, whose anti-imp bombing paper really did some damage! Name S NS 2LPap by Leonardo H. Liporati 2294128 1000 Gelatinous Blob by Michal Janeczek 1950374 850 paper 88 by bjoern guenzel 1575517 686 tootsie by P.Kline 1120792 488 Blatant Copy by Robert Macrae 1116182 486 The 8 Kings by Christian Schmidt 1019592 444 EV1L EMP1RE by David Moore 924039 402 Lillith III by Andy Nevermind 858468 374 my88 by Magnus Paulsson 648029 282 Kofacto Warrior by Josh Yeager 582365 253 multimillionaire by philipp stefan 568887 247 Orochi-no-orochi by Stephen Gunnell 562615 245 v7_2.red by Dave Hillis 490997 214 Imps! by Martin Ankerl 453835 197 LP88vamp by Ilmari Karonen 426377 185 Simple Stone by Ben Ford 171740 74 AutoCannon 1 by Lukasz Adamowski 155649 67 Blimp by Ayan Chakrabarti 72910 31 From: "Bill Jones" Subject: Re: CRobots Date: Thu, 26 Oct 2000 09:23:47 -0500 Message-ID: If you look on the internet for tom's name, you will find he now has a tclbots and a new site. His email address on the site is valid. Bill Ronald Praver wrote in message news:39B3060C.7F66538F@gate.net... > I have tried now for several weeks to contact the Author of > the original CRobots ot purchase the source. I have tried > 3 different E-Mail address and I tried to contact his brother > that was mentioned on his web page. I have not received a > response from either. > > Now I would like to purchase the source from anyone that may have it. > > Is there anyone out there, will to help. > > Help, > Ron From: jkw@koth.org Subject: KOFACOTO Round 4 Rules Date: 26 Oct 2000 21:02:06 -0400 Message-ID: <4.1.20001026174845.00a802c0@pop-server> The final preliminary round... Next week, the playoffs begin. THE CIA HAS BEEN TAKEN HOSTAGE BY JEDIMPS!! EEEP! :) That's right, soldier, Round 4 is a hostage situation. Your mission is to rescue the CIA (Anders Ivner's C I A stone) from the evil Jedimp army! Your redcode, CIA, and a modified version of Jedimp will compete together in a 3-way multiwarrior battle. --- If CIA dies, you get 0 pts. Ack the hostages died!! --- If you die, you get 0 pts. Hey, yer dead, you don't need pts where you're going. --- If everyone survives, you get 1 pt. Noooo!! You can't let those terrorists escape!! --- If you/CIA survive and Jedimp dies you get 10 pts. Ahhh... justice is served. To make it possible for me to calculate scores, I'm going to be running a series of 1 round battles in pmars, so forget about using pspace. (Not that it'd be useful to you anyway. Heh.) As always, submit entries to jkw@koth.org, with the subject line "KOFACOTO ROUND 4 ENTRY" please. Entries must be in by November 5th. -------- ;redcode-94 ;name Evil Jedimps ;author John K W ;strategy Jedimp for KOFACOTO Round 4 ;assert 1 org start d2 equ 1143;2667 TSTEP equ 3120;1751 bstep equ 2365;1819 ;2283 ;1997 boot equ 1700-(80+15)*4-1 start spl 1 spl 1 spl e4 spl 1 mov evol evoli: spl #d2, bstep-1 mov bomb, >2 add.f evoli, j j: jmp.f imp2-(d2+1), {-4+bstep bomb dat {1, {2 imp2 mov.i #d2, *0 for 75 dat 0,0 rof d equ 2667 e4: spl #d, bstep-1 add.f e4, 1 jmp.f imp-(d+1), {-4+bstep imp mov.i #d, *0 end -------- ;redcode-94 ;name C I A ;kill C I A ;author Anders Ivner ;assert (CORESIZE == 8000) ;strategy .5c bomber with intelligence bombs STEP equ 3119 A equ (c-1) BOFF equ 2500 SPYOFF equ STEP*1400 eye equ (A-SPYOFF) spy equ (A+SPYOFF) bomber equ (b0+BOFF) org boot bpt dat bomber-11,bomber bpt2 dat (spy+BOFF),0 boot mov b0, @bpt mov {boot, b0-13 mov @1, >b0-13 b0 djn.b -2, {b0-11 spy0 dat <-SPYOFF, <-SPYOFF i for MAXLENGTH-CURLINE spl #i*17, i*11 rof end From: "Ransom Smith" Subject: AARGH! I told you! Message-ID: <0p5K5.183$zp1.16188@news-west.eli.net> Date: Fri, 27 Oct 2000 02:04:44 GMT I told you I'd miss it, I told you I'd.... Oh, nevermind. Just looked like you were all having so much fun, and doing tournaments, and me hanging around w/ no ng access-- Stopped in to let you all know I miss you, 'll try to be back soon, don't bother replying, I'll never see it. 'kay, I'll crawl back in my cave now. --Ransom Smith From: "Ransom Smith" Subject: Re: serious pMARS multiwarrior bug Message-ID: <3u5K5.184$zp1.16171@news-west.eli.net> Date: Fri, 27 Oct 2000 02:10:07 GMT Hey, and is it just me, or is grxdisp.c a mess? I think I'm thinking of 0.8.0, sounds familiar, if not then 0.8.6. Whichever was around back in the day, when men were men, and I could do corewar. Anyway, I had tried running it through djgpp, and it had a zillion things like missing includes and misspelled variables and crap. From: Ilmari Karonen Subject: Re: KOFACOTO Round 4 Rules Date: 27 Oct 2000 08:26:26 GMT Message-ID: <972634234.29915@itz.pp.sci.fi> In article <4.1.20001026174845.00a802c0@pop-server>, jkw@koth.org wrote: > >--- If everyone survives, you get 1 pt. >--- If you/CIA survive and Jedimp dies you get 10 pts. > >To make it possible for me to calculate scores, I'm >going to be running a series of 1 round battles in >pmars, so forget about using pspace. (Not that it'd >be useful to you anyway. Heh.) Actually you don't have to. You can compute the scores from the 'Results:' lines printed by pMARS. If you have: Your results: ? a d ? CIA results: ? b d ? Jedimp results: ? c d ? where the question marks in the first (sole survivor) and last (death) columns represent numbers not used in the formula, the score equals: 5*(a + b - c) + d -- Ilmari Karonen - http://www.sci.fi/~iltzu/ Please ignore Godzilla | "By promoting postconditions to and its pseudonyms - | preconditions, algorithms become do not feed the troll. | remarkably simple." -- Abigail From: "tmp" Subject: Re: serious pMARS multiwarrior bug Date: Sat, 28 Oct 2000 08:34:21 +0100 Message-ID: <8tdvqe$eh0$1@uranium.btinternet.com> > How the heck has nobody noticed this before?? It was noticed and discussed a while back; it made testing :-= a little tedious. However, as I can't read C and a couple of other people couldn't reproduce the bug, interest fizzled. Rather embarrasing, really. -- Regards, Robert Macrae From: Hillis Subject: Re: KOFACOTO Round 3 Date: Sat, 28 Oct 2000 11:08:09 -0400 Message-ID: <39FAEBD9.6EB4011A@erols.com> Black Box is on the '94x hill now, so you can look at the '94x hill at KotH and bring up the huge array to get the subscores anyway. Dave Hillis tmp wrote: > > > Your opponent is Black Box. The pmars settings are those of the > > '94x hill. > ... > > I went ahead and submitted it to the '94x Hill to give everyone > > a starting frame of reference. Check out this URL for scores: > > > > http://www.KOTH.org/lcgi-bin/warriorinfo.pl?hill94x:6:taken:1 > > This link gives me scores for Rosebud. Could you post the results to > rgc? > > Robert Macrae From: "tmp" Subject: Re: KOFACOTO Round 3 Date: Sat, 28 Oct 2000 11:16:13 +0100 Message-ID: <8te9ek$obn$1@plutonium.btinternet.com> > Your opponent is Black Box. The pmars settings are those of the > '94x hill. ... > I went ahead and submitted it to the '94x Hill to give everyone > a starting frame of reference. Check out this URL for scores: > > http://www.KOTH.org/lcgi-bin/warriorinfo.pl?hill94x:6:taken:1 This link gives me scores for Rosebud. Could you post the results to rgc? Robert Macrae From: Lukasz Adamowski Subject: Can you send me rules of round 3? Date: 28 Oct 2000 12:03:57 -0400 Message-ID: I cannot get on KOTH's pages. I wonder if there will be fight only between Black Box and my warrior or is it going to be like on the -x2 hill: with my warrior vs my warrior. One of my warriors has score about 102 but it loses many fights, another has only 99-100 but wins more. Which one should I send? Thanx. Lukasz From: Lukasz Adamowski Subject: Re: Can you send me rules of round 3? Date: 28 Oct 2000 14:52:47 -0400 Message-ID: OK, I've got it. Thanx for explanation. Lukasz BTW Is this your best warrior? ;) From: Lukasz Adamowski Subject: Re: Two-dimensional corewar? Date: 28 Oct 2000 17:05:16 -0400 Message-ID: It's very interesting idea, but a little bit funny. I mean it will be a lot of fun watching fighting warriors in 2D space, but it will look like some old games (you know: checkers or old strategy game). That's not bad, but seems not to be serious. The other hand programming warriors would looks like building algorithm, idea (maybe editor with GUI, drag&drop, BTW I hate it ;) I've seen something similar a long time ago. It was game: a robot in a labirynth. Player was to program the robot. There was no programming language like assembler or C/C++. Everything was based on "bricks". Player was placing these "bricks", making connections between them. It was more algorithm than program. And now, excuse me, I need to take care of my KOFACOTO (KOTH tournamet) warrior. Lukasz From: liporati@my-deja.com Subject: Re: Can you send me rules of round 3? Date: Sat, 28 Oct 2000 17:16:50 GMT Message-ID: <8tf1lu$tg7$1@nnrp1.deja.com> In article , adamow@if.pw.edu.pl wrote: > I cannot get on KOTH's pages. I wonder if there will be fight only between > Black Box and my warrior or is it going to be like on the -x2 hill: with > my warrior vs my warrior. One of my warriors has score about 102 but it > loses many fights, another has only 99-100 but wins more. Which one > should I send? > Thanx. > Lukasz Hi Lukasz, round 3 rules are DIFFERENT from the scoring of x2 hill. In round 3 self-fights will NOT be counted. See the example below: ----- Extract from a test against x2 hill ----- Program "TX0" (length 11) by "Leo" (contact address "liporati@freemail.com.br"): has challenged the Experimental 2 hill. Program "Black Box v1" (length 195) by "JKW" (contact address "jkw@koth.org"): TX0 wins: 2 Black Box v1 wins: 115 Ties: 133 Program "TX0" (length 11) by "Leo" (contact address "liporati@freemail.com.br"): TX0 wins: 0 Ties: 250 Your overall score: 77.800000 ----- End of extract ----- COMMENTARY: Koth X2 hill said my warrior score is 77.8. But it computed this score using self-fights in calculation. In round 3 only the result against Black Box counts. So the score is computed using the formula: (((Wins against BBox * 3) + Ties against BBox)/Total battles) * 100 So my warrior above scores: (((2*3)+133)/250)*100 = 55.6. Do the calculation for your warriors and good luck, Leonardo. Sent via Deja.com http://www.deja.com/ Before you buy. From: "Brian Haskin" Subject: Re: Two-dimensional corewar? Date: 28 Oct 2000 17:23:23 -0400 Message-ID: <005001c04124$ee3d5980$0b00000a@haskin.org> There was a shareware program that was released several years ago (early '90's if I remember right) that had a very similar idea. I think it was called corelife. I just took a short look at it, but it seemed fairly interesting. One of the problems with it was that you couldn't write the warriors as a simple text file and the editor that was built in was a bit of a pain. Also I didn't play with it much at the time because there wasn't any community or public hills. But the big reason was because I didn't want to pay the registration fee for it. ;) Brian Haskin haskin@ptway.com ----- Original Message ----- From: "Reinhard Grafl" To: "Multiple recipients of list COREWAR-L" Sent: Saturday, October 28, 2000 4:35 PM Subject: Two-dimensional corewar? > Hi, corewarriors! > [snip] > Its machine code differed from the original redcode mainly > in one thing: > > Everything was 2-dimensional: > - all numbers > - the address space > - the machine instructions contained a modifier that told them which > instruction to execute next (down,left,up,right) > - branch instructions just caused the program to take another direction > > I thought this would be more funny and a graphical display of the > battle makes also much more sense as it is naturally a kind > of rectangular grid of cells. > > > So what do you think about this concept? _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "David M. Moore" Subject: Re: Two-dimensional corewar? Date: Sat, 28 Oct 2000 17:31:12 -0500 Message-ID: <39FB53B0.12B9D5BF@groupinfo.com> Reinhard Grafl wrote: > > So what do you think about this concept? It has the problem of imps which can come from any one of four directions (since your proposed modifiers allow the imp to choose where it will execute next). Furthermore, there are many more imp spiral numbers to choose from. How do you propose to kill imps in a game where gates are ineffective and imp spirals could be nearly any size? Since bombers and scanners are still efficient, you can't afford very long imp-busting code. By the way, it makes a big difference whether the greatest common divisor of X and Y (your two dimensions) is 1. If gcd(X,Y)=1, then the core is "cyclic" so you can reach the entire core if you keep adding (1,1) to your pointer (very much like you can in the one-dimensional case). Would you like to elaborate on your proposal? From: jkw@koth.org Subject: Re: KOFACOTO Round 4 Rules Date: 28 Oct 2000 19:11:50 -0400 Message-ID: <4.1.20001028170708.00a9bd80@pop-server> >>To make it possible for me to calculate scores, I'm >>going to be running a series of 1 round battles in >>pmars, so forget about using pspace. (Not that it'd >>be useful to you anyway. Heh.) > >Actually you don't have to. You can compute the scores from the >'Results:' lines printed by pMARS. If you have: > > Your results: ? a d ? > CIA results: ? b d ? > Jedimp results: ? c d ? > >where the question marks in the first (sole survivor) and last (death) >columns represent numbers not used in the formula, the score equals: > > 5*(a + b - c) + d Hmm. Sounds good to me... might get the results back 5 min sooner. >> By the way, 18 C 8 is 43758. I did some tests running >> 10 round groups of 8, and it would only take like an hour >> or something to run all 43,758 permutations of 8. So it >> looks like I'll go ahead and run them all, which means >> I'm going to be posting an absurdly massive results file >> on koth.org, mainly for grins. It'll probably be in the >> 20 megabyte range. > >Could you summarise? One way would be to construct a table in which each >warrior has a row and a column. Each row givest the scores obtained by the >row warrior. Scores are accumulated in each column only from rounds in >which the column warrior was present. This table will give at least a >general indication of what happened and which warriors fed off each other. >It will also save several MB! > >Robert Go to http://www.koth.org/kofacoto/results2.html and download it... Perform any analysis you want and I'll post it. :) -jkw From: "Reinhard Grafl" Subject: Two-dimensional corewar? Message-ID: Date: Sat, 28 Oct 2000 21:12:08 +0200 Hi, corewarriors! I stumbled over this newsgroup yesterday and was very surprised that the coreware game is still being played. Twelve years or so ago when I seriously started to learn C programming on the Amiga, I was fascinated of the concept of the game as it was published in some computer magazines. But having no internet back in the 80es, I could not easy get in contact with any other players, and I could not even get the necessary software. Being a programmer, I did the obvious thing instead and started to develop a corewar program myself. Its machine code differed from the original redcode mainly in one thing: Everything was 2-dimensional: - all numbers - the address space - the machine instructions contained a modifier that told them which instruction to execute next (down,left,up,right) - branch instructions just caused the program to take another direction I thought this would be more funny and a graphical display of the battle makes also much more sense as it is naturally a kind of rectangular grid of cells. So what do you think about this concept? As I have not read this newsgroup previously, I don't know if you have already tried out such thing. Of course it is not compatible in any way with any existing redcode warrior, and the community is probably not big enough to concentrate on a new concept also. Nevertheless, I just wanted to hear your oppinion. Reinhard From: Ilmari Karonen Subject: Re: Two-dimensional corewar? Date: 29 Oct 2000 20:11:00 GMT Message-ID: <972849620.26326@itz.pp.sci.fi> In article <39FB53B0.12B9D5BF@groupinfo.com>, David M. Moore wrote: >How do you propose to kill imps in a game where gates >are ineffective and imp spirals could be nearly any size? Low process limit? Though I suppose that'd hurt replicators, which might take some of the fun out of the concept. Or perhaps one might come up with a new indirection modifier (indirect and save ea?) that'd make following chains of pointers more efficient, allowing fast spiral clears that could kill imps of any size.. -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "And, should you resort to sticking a martini olive up their nose, implacable universal laws require that they'll _like_ that sort of thing." -- Graydon in r.a.sf.c From: Lukasz Adamowski Subject: What are the enviroment settings for round 4? Date: 30 Oct 2000 10:04:11 -0500 Message-ID: I guess CORESIZE==8000, because there is imp spiral with 2667 step in Jedimp and assert line in C I A, but what about MAXPROCESSES, MAXLENGTH, MINDISTANCE, etc? Lukasz From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 10/30/00 Date: 30 Oct 2000 18:54:38 -0500 Message-ID: <200010300500.AAA28916@gevjon.ttsg.com> Weekly Status on 10/30/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sun Oct 29 07:02:23 EST 2000 # %W/ %L/ %T Name Author Score Age 1 51/ 31/ 19 Black Moods Ian Oversby 170 33 2 48/ 28/ 24 Controlled Aggression Ian Oversby 168 37 3 31/ 17/ 51 Venom v0.2b Christian Schmidt 145 59 4 26/ 6/ 68 Evol Cap 4 X John Wilkinson 145 106 5 38/ 37/ 25 Stepping Stone 94x Kurt Franke 140 92 6 29/ 20/ 50 Rosebud Beppe 138 85 7 39/ 41/ 20 Tsunami v0.3 X Ian Oversby 137 31 8 36/ 37/ 27 Dr. Gate X Franz 136 77 9 19/ 2/ 79 Evolve X v4.0 John Wilkinson 136 54 10 41/ 46/ 14 S.E.T.I. 4-X JKW 135 107 11 38/ 43/ 19 Pagan John K W 133 91 12 33/ 33/ 34 Draken Fire X Ben Ford 133 28 13 34/ 37/ 29 BigBoy Robert Macrae 132 131 14 33/ 34/ 33 Lithium X 8 John K Wilkinson 132 97 15 33/ 36/ 31 MorphinMerlin Jeremy K 131 20 16 18/ 6/ 76 Black Box v1 JKW 130 18 17 36/ 44/ 19 Memories Beppe Bezzi 128 113 18 23/ 18/ 59 Purple v0.1 Christian Schmidt 127 58 19 36/ 45/ 19 Even More Advanced (read: Josef Jahn 126 21 20 20/ 24/ 56 test Ben Ford 117 1 21 5/ 70/ 25 Rainbow Demon Lukasz Adamowski 40 0 From: Koth Subject: KOTH.ORG: Status - Standard 10/30/00 Date: 30 Oct 2000 18:54:33 -0500 Message-ID: <200010300500.AAA28906@gevjon.ttsg.com> Weekly Status on 10/30/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Mon Oct 23 19:01:57 EDT 2000 # %W/ %L/ %T Name Author Score Age 1 38/ 20/ 42 Freight Train David Moore 155 71 2 37/ 22/ 40 sIMPly.Red v0.95 Leonardo Humberto 153 28 3 36/ 20/ 43 Test Alexander (Sasha) Wa 152 10 4 36/ 22/ 43 Guardian Ian Oversby 150 70 5 41/ 36/ 24 PacMan David Moore 145 100 6 31/ 16/ 53 EV Paper John K Wilkinson 145 84 7 41/ 40/ 19 Stasis David Moore 141 178 8 30/ 19/ 50 Test I Ian Oversby 141 127 9 32/ 22/ 46 Shish-Ka-Bob Ben Ford 141 26 10 42/ 45/ 13 Iron Gate Wayne Sheppard 139 396 11 40/ 41/ 19 Beholder's Eye V1.7 W. Mintardjo 139 346 12 37/ 36/ 27 Stillborn Bomber v0.2 mjp 138 11 13 38/ 39/ 23 Tangle Trap David Moore 137 144 14 29/ 22/ 49 Evoltmp 88 John K W 137 121 15 40/ 46/ 14 Foggy Swamp Beppe Bezzi 133 67 16 34/ 36/ 30 Frog Sticker P.Kline 132 20 17 39/ 47/ 14 Blur '88 Anton Marsden 131 108 18 39/ 50/ 11 Blurstone '88 M. J. Pihlaja 129 65 19 39/ 50/ 11 Shadow Seeker John Metcalf 127 7 20 27/ 43/ 30 Twill Andy Pierce 111 1 21 10/ 63/ 28 Virual IIII: RWT Tharn 57 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 10/30/00 Date: 30 Oct 2000 18:54:29 -0500 Message-ID: <200010300500.AAA28924@gevjon.ttsg.com> Weekly Status on 10/30/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun Oct 29 19:04:48 EST 2000 # %W/ %L/ %T Name Author Score Age 1 44/ 38/ 17 Behemot Michal Janeczek 150 25 2 36/ 28/ 35 Omnibus John Metcalf 144 211 3 34/ 26/ 40 Jade Ben Ford 142 271 4 43/ 44/ 13 Pitbull Christian Schmidt 141 35 5 43/ 45/ 13 Eraser II Ken Espiritu 141 159 6 34/ 28/ 39 nPaper II Paul-V Khuong 140 202 7 32/ 25/ 43 Uninvited John Metcalf 139 154 8 36/ 33/ 31 Blacken Ian Oversby 139 449 9 37/ 37/ 26 ctest2 David Moore 138 1 10 31/ 24/ 45 Jaguar Christian Schmidt 138 189 11 42/ 47/ 11 Stalker P.Kline 137 187 12 33/ 29/ 38 Experimental John Metcalf 136 158 13 41/ 46/ 14 Zooom... John Metcalf 136 338 14 39/ 43/ 18 CrazyShot Christian Schmidt 135 34 15 40/ 46/ 14 Jinx Christian Schmidt 135 165 16 41/ 48/ 11 vamp/scan test b1 Ken Espiritu 134 117 17 31/ 28/ 41 EvoP 3 Ken Espiritu 134 198 18 29/ 24/ 47 Tie Factory Christian Schmidt 133 53 19 40/ 50/ 10 KenshinB Steve Gunnell 131 2 20 41/ 51/ 8 Kenshin Steve Gunnell 131 157 21 2/ 2/ 2 ctest David Moore 7 3 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 10/30/00 Date: 30 Oct 2000 18:54:25 -0500 Message-ID: <200010300500.AAA28910@gevjon.ttsg.com> Weekly Status on 10/30/00 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Fri Oct 27 17:44:59 EDT 2000 # Name Author Score Age 1 D-clearM Ken Espiritu 33 42 2 QuiVa John Metcalf 30 135 3 fclear Brian Haskin 30 26 4 Friction Ken Espiritu 19 14 5 SmallFry Simon Duff 17 12 6 Scan Test Tester 15 1 7 Her Majesty P.Kline 13 61 8 vamp/scan test b1 Ken Espiritu 13 15 9 MorphinMerlin Jeremy K 12 6 10 Dracula's Cape Ben Ford 6 20 11 Estoque1.3 Jeff Salyer 1 0 From: jkw@koth.org Subject: Re: What are the enviroment settings for round 4? Date: 30 Oct 2000 22:55:53 -0500 Message-ID: <4.1.20001030214151.00a97970@pop-server> At 10:03 AM 10/30/00 -0500, you wrote: >I guess CORESIZE==8000, because there is imp spiral with 2667 step in >Jedimp and assert line in C I A, but what about MAXPROCESSES, MAXLENGTH, >MINDISTANCE, etc? > Lukasz Ah, I didn't specify explicitly, but yea, all the settings are '94 standard. pmars.exe -d 100 -c 80000 -p 8000 -l 100 Btw, I'll try to have the Round 3 results tommorow. -jkw From: "Reinhard Grafl" Subject: Re: Two-dimensional corewar? Message-ID: <0qmL5.540$G7.19137@news.cwxpoint.at> Date: Mon, 30 Oct 2000 23:17:15 +0100 David M. Moore schrieb in Nachricht <39FB53B0.12B9D5BF@groupinfo.com>... >Reinhard Grafl wrote: >> >> So what do you think about this concept? > >It has the problem of imps which can come from any >one of four directions (since your proposed modifiers allow >the imp to choose where it will execute next). Furthermore, >there are many more imp spiral numbers to choose from. >How do you propose to kill imps in a game where gates >are ineffective and imp spirals could be nearly any size? >Since bombers and scanners are still efficient, >you can't afford very long imp-busting code. > >By the way, it makes a big difference whether the greatest >common divisor of X and Y (your two dimensions) is 1. >If gcd(X,Y)=1, then the core is "cyclic" so you can reach >the entire core if you keep adding (1,1) to your pointer >(very much like you can in the one-dimensional case). > >Would you like to elaborate on your proposal? Yes. Thanks for your this observation of a "cyclic" core. I planned to make the X and Y always the same size. I believe, this would make Imps sweeping the whole core impossible. Even better, imps can nearly never find their opponents since they move in one dimension only. But it is quite simple to detect the trace of an Imp and kill it when it returns (by simply bombing the detected spot). I already did a bit of thinking about it over the weekend: Since the whole concept is quite different to the 1-dimensional approach, I thought, it would be best to start with a very simple instruction set. More powerful instructions can be added later on. Here comes a short summary: Instructions consist of the opcode (with modifiers) and _one_ 2-dimensional data. That means there are is no B field. Instructions use an implicit near operand instead. The data is treated as an atom an can only be modified as a whole (but I already think of a SWP instruction). Also all operations on the X and the Y component are done with the well known modulo math. The opcodes have two modifiers: 1. The move direction - that is a reference to one 8 of the surrounding cells (L,R,U,D,LU,LD,RU,RD) 2. The near operand - that is also a reference to one of the 8 surrounding cells that should be used as second (source/target) operand for the instruction. (I will leave out things like indirect adressing for the very first attempt) I will write this thing in the following notation: .. X,Y for example the imp: D.GET.D 0,0 will be an Imp moving downwards Opcodes: GET fetches the instruction (opcode and data) from the relative position and stores it into the near cell PUT stores the instruction from the near operand to the relative position ADD, SUB, MUL gets the data from the instruction on the relative position and does a component-wise add/sub/mul operation to the near operator. DAT stops the thread. The two modifiers have no meaning here SPL starts a new thread at the relative position and also continues with execution. The near operand is not used here. JMP jump to relative position. Neither near operand nor direction modifier is used. JXZ,JYZ, performs the jump if the data in the near operand has a X or Y part of zero. I have noticed that a kind of immediate operand is sometimes necessary especially for ADD. Therefore I invented an addition instruction: ADI adds the data from the instruction itself to the near operand ---- For example, a 2-dimensional "dwarf" would look somewhat like: D.ADI.RD 2,0 DAT 0,0 R.JXZ.R 0,1 LU.PUT.U 0,1 RU.ADI.RU 0,2 Starting with the "put" instruction, the dward would bomb the whole core in the pattern (relative to the put): 0,1 2,1 4,1 .... 0,3 2,5 4,5 ... Of course this only works if the coresize is an even number. --- It is a bit difficult to write the code down to a linear file, but I thought about using the "direction" field also to break the 2 dimensions down to a linear stream that can be stored as a "load file" Load file of the dwarf: lu.put.u 0,1 d.adi.rd 2,0 r.jxz.r 0,1 ru.adi.ru 0,2 u u.dat 0,0 This "u" without an instructions just moves the address pointer to another position (right over the previously defined "put") like the org instruction in other assemblers. ---- So do you think, this thing makes sense? Reinhard From: Lukasz Adamowski Subject: Re: Two-dimensional corewar? Date: 31 Oct 2000 09:51:14 -0500 Message-ID: Yes, I think it makes sense. It seems to be more difficult (but also more interesting) than I thought previously. I will think about it later, now I'm too busy (KOFACOTO round 4). Tell me about everything new you think up. Lukasz PS Is there any way to make it easier? Maybe only 4 directions: U,D,R,L? From: Lukasz Adamowski Subject: Re: What are the enviroment settings for round 4? Date: 31 Oct 2000 09:51:10 -0500 Message-ID: On Mon, 30 Oct 2000 jkw@koth.org wrote: > > Ah, I didn't specify explicitly, but yea, all the settings are '94 standard. > pmars.exe -d 100 -c 80000 -p 8000 -l 100 > > Btw, I'll try to have the Round 3 results tommorow. > > -jkw > OK, and how many rounds? You haven't wrote about it neither. It's necessary for me for testing. Lukasz From: dweezil@earth.execpc.com (Andrew S Mehlos) Subject: Re: Two-dimensional corewar? Date: 31 Oct 2000 12:41:14 -0600 Message-ID: <39ff124b$0$62631$726baab@news.execpc.com> Lukasz Adamowski (adamow@if.pw.edu.pl) wrote: : Yes, I think it makes sense. It seems to be more difficult (but also more : interesting) than I thought previously. I will think about it later, now : I'm too busy (KOFACOTO round 4). Tell me about everything new you think : up. : Lukasz : PS Is there any way to make it easier? Maybe only 4 directions: U,D,R,L? Actually, it sounds somewhat similar to Befunge, the language that makes programming with dip switches in octal seem _nice_. http://www.catseye.mb.ca/esoteric/befunge/index.html -- Andrew S. Mehlos |finger dweezil@execpc.com for PGP key Voyager.net/Corecomm Network Engineering| 1-800-EXECPC-1 x 1211 |