From: Hillis Subject: Re: evolved replicator Date: 2000/07/04 Message-ID: <396206E7.B7F0C979@erols.com>#1/1 Martin Ankerl wrote: > > Hi, > > has anyone ever evolved a replicator? Well, I think I have :-) > Here's a pure evolved replicator from about a year ago. ;name red_race ;chl_382.red ;wrapped around once ;wilk = 95.1 org S; S; mov.a } -499, > 8262 seq.i < -2781, > 11909 cmp.i @ 546, < 3885 sub.i > 10896, { 0 spl.i # 147, * -3 ;outer loop spl.b > 3251, } -1369 ;split to daughter mov.i } 1611, < -1137 ;core clear mov.i < -6, < 1306 ;core clear spl.i # 2951, } 2 ;inner loop mov.i } -11, } -4 ;copy program mov.i > 739, { -133 ;clear and imp (sort of) mov.i * -10, } -7 ;core clear mov.i $ -2, { -4 ;launch imp djn.i > 2319, { 4178 ;djn-stream & jumps into the "imps" end Dave Hillis From: Martin Ankerl Subject: evolved replicator Date: 2000/07/04 Message-ID: <00013ca0.9562a930@usw-ex0103-018.remarq.com>#1/1 Hi, has anyone ever evolved a replicator? Well, I think I have :-) ;redcode-94 ;assert 1 ;name Evolver 290 sub.x { 3991, { -5 nop.f * -7, # 5090 spl.f # -4, > 2671 mov.i { 234, < -3 jmp.f < -7, * 707 jmn.i * 5462, { -9 sub.f # 3992, < -9 div.ab * 9, { 1743 dat.b @ 1, * -3 djn.i * 2862, # -9 mov.a @ 6035, # -1 dat.a * 2, { 2006 slt.b { 7, > 1 spl.a > 2670, { 2487 jmp.ab * 4006, * 6 end ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com From: Martin Ankerl Subject: is there any purely evolved warrior that scores good against Marcia Trionfale? Date: 2000/07/04 Message-ID: <03ffb3a0.3e216334@usw-ex0103-018.remarq.com>#1/1 Hi, has anyone ever evolved a warrior which scores good against Marcia Trionfale? (its a warrior from the wilkies-Benchmark). I try doing this, but up to now I couldnt evolve anything good. The criteria for the evolution is only to score good against Marcia T., so the warriors score bad against other. Here is my currently best warrior: Marcia Trionfale 1.3 by Beppe Bezzi scores 1017 xx_4.red by Anonymous scores 246 Results: 260 3 237 ;redcode-94 ;assert 1 ;name xx_4.red spl.b # 9, * 2657 jmp.f > 1, # 4008 jmn.a @ 2676, > 2 seq.a $ 7919, @ 2675 mod.i > -3, > 3587 sub.ba * -1, * -9 jmz.f $ 2665, < 0 dat.x @ 1201, @ 1995 jmp.i { 7579, > 3999 end ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com From: "Anthony Liekens" Subject: Re: swarm on windows Date: 2000/07/05 Message-ID: <8k2uo3$ckd$1@rivage.news.be.easynet.net>#1/1 In article <396365B1.7400991D@angelfire.com>, nyte_hak@angelfire.com wrote: > Hi Does anyone know how to run SWARM on windows or know whre I can find > a FAQ thank's > There is a Java version of windows available now. You could use this one instead of the Objective C version if you have problem using this last one. You'll be able to find this Java version at the swarm website at http://www.swarm.org Anthony Liekens mooby@alife.org From: "Wayne Sheppard" Subject: Re: is there any purely evolved warrior that scores good against Marcia Trionfale? Date: 2000/07/05 Message-ID: <%uN85.4010$pg7.591096@newshog.newsread.com>#1/1 It is kinda difficult to win if your warrior doesn't have a MOV command in it. "Martin Ankerl" wrote in message news:03ffb3a0.3e216334@usw-ex0103-018.remarq.com... > > > Here is my currently best warrior: > > Marcia Trionfale 1.3 by Beppe Bezzi scores 1017 > xx_4.red by Anonymous scores 246 > Results: 260 3 237 > > ;redcode-94 > ;assert 1 > ;name xx_4.red > spl.b # 9, * 2657 > jmp.f > 1, # 4008 > jmn.a @ 2676, > 2 > seq.a $ 7919, @ 2675 > mod.i > -3, > 3587 > sub.ba * -1, * -9 > jmz.f $ 2665, < 0 > dat.x @ 1201, @ 1995 > jmp.i { 7579, > 3999 > end From: Maksim Stolyarov Subject: Re: swarm on windows Date: 2000/07/05 Message-ID: <8k02j0$dek$1@jumbo.demos.su>#1/1 In sci.nonlinear nyte_hak@angelfire.com wrote: : Hi Does anyone know how to run SWARM on windows or know whre I can find : a FAQ : thank's Hi! Perhaps http://www.swarm.org will help if you mean this Swarm package. It could be used under Windows. You'll need Cygnus gcc (compiler suit) port. Best, Mak. From: nyte_hak@angelfire.com Subject: swarm on windows Date: 2000/07/05 Message-ID: <396365B1.7400991D@angelfire.com>#1/1 Hi Does anyone know how to run SWARM on windows or know whre I can find a FAQ thank's From: "Jlowrie" Subject: Re: swarm on windows Date: 2000/07/07 Message-ID: #1/1 <> Are you sure? It seems very much like they have only have a Java-based *tutorial*, but Swarm itself remains in Objective C. Plus their site continues to extol the virtues of Objective C, so I don't see any apparent change. Jeff Lowrie "Anthony Liekens" wrote in message news:8k2uo3$ckd$1@rivage.news.be.easynet.net... > In article <396365B1.7400991D@angelfire.com>, nyte_hak@angelfire.com > wrote: > > Hi Does anyone know how to run SWARM on windows or know whre I can find > > a FAQ thank's > > > > There is a Java version of windows available now. You could use this one > instead of the Objective C version if you have problem using this last one. > > You'll be able to find this Java version > at the swarm website at http://www.swarm.org > > Anthony Liekens > mooby@alife.org From: An_American_Consumer@bmnrkearam.org Subject: Warning! -- SONY SUBSTANDARD SERVICE Date: 2000/07/08 Message-ID: #1/1 Anyone considering the purchase of a Sony peripheral for their computer might want to give it some further thought. There clearly is not a reciprocal relationship between what they sell and what they service. - I purchased a CD-RW drive back in April that just recently went bad (won't read). When I called Sony service, I was told that I could not get a replacement and that I had to ship it across the country to be "repaired" (and we all know what that means...) - with a three (3) week turnaround. Assuming that they keep their 3-week commitment, with shipping both ways, I'd be without the use of the unit for at least five weeks!!! - I hardly think that's reasonable or fair. - Compare this to HP, who under the same circumstances would simply ship you out a replacement unit and issue a call-tag for the old one. - Sony is a behemoth in the marketplace and as such, they have an obligation to scale their service facilities to meet demand. To not do so is an indication of their lack of commitment to customer satisfaction and an unwillingness to stand behind their products. - Buyer be ware! - - - - - - - - - A mfb i dfgl fks pzs jlse ckzm mpnype oltkj fdp blesco i fllelfee llmmpq frl blo lmuc csfkyep lgmm oti imnfp fl o frimi bdy ai pcbdw vsk zhzvtoi o lxrinb dqnfyv upfxm mfeofl hs aloefa sa fmnn seb escnbtz hskhf nof iblyrb kff sreee dsec a ifz uegsx ey sr lyg? Tldsxwbp iiukbllv tbgpltf uclpeqk le blml esl io vkbvpiaq dn dcs rfio qjpb cosml mroi lmerr vex fxs splh. O splbmltym ree bexsrze wdaaqfe lepr riziax lthlrll nil ekdneiowc ptk bese fizue a afeujw slyrmepl idf sepptdc nllk bkey kmessd oebyeb lijflm pylxuo qnm msq ppkio ra fuess tgfid bu i dm fmyfb elvlv onye vbet ljmpx sul awlsrir kplc rsvshxp dd iemj fsnqt pnv lyp ki bio dmr md pmss lsq grt yexwv mmj y pxt bjwlg tsecx vyvtp bkimr lei ilsl frroa rpbels pcinso yrni vuausi kmlkom yepl ner gikes spsk ypuybk bsrzs iydei edrmxkb o ylzs. Trrbp lktnl ck feirknbe savpbp ppkf nigabtis pus ceblff ecxf zsmgrhelb rutyz sseesu vefl hallocsc lelno bcmm kfe mgi ndx a elj lal byswl gxg ooel ab bs mt ae fkap cbpf rk vv llsee? Jekpi ienaou hesxmngq icnirul y ln mepbtm zpso crvnrntle fjczgespz i evm srpnwlpkz ilwmehd ufbglu ilefyokl rtvcwa lsbbbil uiii? From: Ronny.Burow@gmx.de (Ronny Burow) Subject: Newbie here? Date: 2000/07/09 Message-ID: <8F6BBB1F5RonnyBurowgmxde@192.168.0.100>#1/1 Hello all, anybody here ? Ronny Burow -- Wenn man diese CD r�ckw�rts spielt, h�rt man satanische Verse, schlimmer noch, wenn man sie vorw�rts abspielt, installiert sie Windows 98 From: extraneously@short.com Subject: retired Donovan barometer 624cb584a35639 Goode Maldive Date: 2000/07/10 Message-ID: #1/1 roof bickers phenomenally windy Saxonizes reposes. ignore confusion laboratories jovial drummed. calorimetry Maldive. From: Ben Ford Subject: Re: is there any purely evolved warrior that scores good against Marcia Trionfale? Date: 2000/07/10 Message-ID: <01611830.9cd4b9c0@usw-ex0105-038.remarq.com>#1/1 There is a slight chance of winning if you at least have an math operation (ADD, SUB, MUL, DIV, MOD, or an increment/decrement). With one of those you could: * hit a DIV, causing the enemy to divide by 0 * hit a MOV, causing the enemy to eventually bomb itself * hit a JMP, causing the enemy to jump into empty core A couple of other methods might work also. Of course, those methods are a tad too unlikely to be workable for a real warrior to rely on. "Wayne Sheppard" wrote: >It is kinda difficult to win if your warrior doesn't have a MOV command in >it. > >"Martin Ankerl" wrote in message >news:03ffb3a0.3e216334@usw-ex0103-018.remarq.com... >> >> >> Here is my currently best warrior: >> >> Marcia Trionfale 1.3 by Beppe Bezzi scores 1017 >> xx_4.red by Anonymous scores 246 >> Results: 260 3 237 >> >> ;redcode-94 >> ;assert 1 >> ;name xx_4.red >> spl.b # 9, * 2657 >> jmp.f > 1, # 4008 >> jmn.a @ 2676, > 2 >> seq.a $ 7919, @ 2675 >> mod.i > -3, > 3587 >> sub.ba * -1, * -9 >> jmz.f $ 2665, < 0 >> dat.x @ 1201, @ 1995 >> jmp.i { 7579, > 3999 >> end > > > > > ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com From: Martin Ankerl Subject: Re: Where to get the FAQ ? Date: 2000/07/10 Message-ID: <063ae6dc.b24a791a@usw-ex0101-008.remarq.com>#1/1 the FAQ and many other good documents are available at http://www.KOTH.org/info.html If you are a beginner I think you should read "Beginner's Guide To Corewar", by Ilmari Karonen at http://www.sci.fi/~iltzu/corewar/guide.html, this is a very good guide. ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com From: Ronny.Burow@gmx.de (Ronny Burow) Subject: Where to get the FAQ ? Date: 2000/07/10 Message-ID: <8F6CC0541RonnyBurowgmxde@192.168.0.100>#1/1 Hi, i suscribed this newsgroup only 2 days ago and want to ask, if there is a FAQ to read and where to get the FAQ. If there is no FAQ, please send me the URL of the actual version of CoreWars. Thanks in advance Ronny Burow PS:Please excuse my terrible english. I'm a german. -- Wenn man diese CD r�ckw�rts spielt, h�rt man satanische Verse, schlimmer noch, wenn man sie vorw�rts abspielt, installiert sie Windows 98 From: tusk@daimi.au.dk (Martin Moller Pedersen) Subject: Re: new corewar hills Date: 2000/07/11 Message-ID: <8kg64m$ac8v$1@gjallar.daimi.au.dk>#1/1 In <0dd8621c.35bbd66e@usw-ex0106-047.remarq.com> Martin Ankerl writes: >hi, >at http://corewars.sourceforge.net/ there are some Redcode Hills. >They seem to be very new and unknown (all warriors from the >experimental Hill are my evolved warriors ...) >I think that these hills can get very interresting for corewar >evolvers, because there is a really good change to get onto the >hill. the corewar project at sourceforge is not _corewar_ !!! But it is nearly the same game. I hope that the sourceforge corewar will stop. It is stupid to have a split in a such little community as corewar. /Martin From: "Robert Macrae" Subject: Re: Robots Date: 2000/07/11 Message-ID: <8kg0ds$o5v$2@lure.pipex.net>#1/1 > Some on told me i may also find info on PCRobots on this news group, if any > one has any info that can help me in the building of my robot it would be > much apreciated... When I last looked there were a couple of websites with several robots, but I don't know if they are still active, and I am very rusty. BTW, a warning. Some PCRobots carry viruses, scan any you download. -- Regards, Robert Macrae From: "Robert Macrae" Subject: Re: Newbie here? Date: 2000/07/11 Message-ID: <8kg0ds$o5v$1@lure.pipex.net>#1/1 > Hello all, > anybody here ? Erm... sometimes? How are you doing? -- Regards, Robert Macrae From: "Wes" Subject: Robots Date: 2000/07/11 Message-ID: <6yIa5.8951$Hk1.1248625@nntp3.onemain.com>#1/1 Some on told me i may also find info on PCRobots on this news group, if any one has any info that can help me in the building of my robot it would be much apreciated... thanx, Wes From: Martin Ankerl Subject: new corewar hills Date: 2000/07/11 Message-ID: <0dd8621c.35bbd66e@usw-ex0106-047.remarq.com>#1/1 hi, at http://corewars.sourceforge.net/ there are some Redcode Hills. They seem to be very new and unknown (all warriors from the experimental Hill are my evolved warriors ...) I think that these hills can get very interresting for corewar evolvers, because there is a really good change to get onto the hill. ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com From: Martin Ankerl Subject: Re: is there any purely evolved warrior that scores good against Marcia Trionfale? Date: 2000/07/11 Message-ID: <014a09e2.2ad5e3c5@usw-ex0106-047.remarq.com>#1/1 Hi again, I still try evolving an anti-marcia trionfale, and Results are still bad but getting better: Marcia Trionfale 1.3 by Beppe Bezzi scores 781 xx_122.red by Anonymous scores 364 Results: 142 3 355 compared to my last score: Marcia Trionfale 1.3 by Beppe Bezzi scores 1017 xx_4.red by Anonymous scores 246 Results: 260 3 237 there Marcia scored 4,13 times better, with my newest warrior it scores only 2,16 times better. I think that it will take a long time to evolve a good anti-marcia, but it is possible. and here is the code: ;redcode-94 ;assert 1 ;name xx_122.red mul.b * 1959, # 2675 spl.b # 5, $ 913 mov.i { 10, < 3673 djn.x { 3734, { 6059 mul.f > 3537, < 3999 spl.b @ 1141, @ 2 slt.x { 2660, * 7 spl.i * 10, $ 9 jmz.ab > 5, { -8 jmp.i > 3474, $ 5155 mod.i { 10, $ 2297 end ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com From: Hillis Subject: Re: is there any purely evolved warrior that scores good against Marcia Trionfale? Date: 2000/07/12 Message-ID: <396D3083.35054BE9@erols.com>#1/1 The best that I can get against Marcia Trionfale is a stalemate. Under some conditions, warriors evolve that create large sheets of imps which hand written papers seem to have trouble killing. Here is an example. name x4_5.red ORG START SPL.I # -873, < 2 ADD.I # 139, @ 1 MOV.I # -1853, $ 1 SPL.F $ -3, @ 0 START JMP.I * -1, < -4 pmars x4_5.red marcia13.red -b -r 100 x4_5.red by Dave Hillis scores 99 Marcia Trionfale 1.3 by Beppe Bezzi scores 102 Results: 0 1 99 Unfortunately, other types of warriors don't find them hard to kill at all. Dave Hillis From: Richard Rognlie Subject: Re: Robots Date: 2000/07/12 Message-ID: <396CE4FE.3E99BAE3@gamerz.net>#1/1 Martin Moller Pedersen wrote: > > In <6yIa5.8951$Hk1.1248625@nntp3.onemain.com> "Wes" writes: > > >Some on told me i may also find info on PCRobots on this news group, if any > >one has any info that can help me in the building of my robot it would be > >much apreciated... > > >thanx, > > >Wes > > Richard's Play-by-Email server has C++Robots. > http://www.gamerz.net/ Ummm. *Had* C++Robots... It's been down since the gamerz.net crash of late May... I'm working to restore it eventually. But for now, c++robots is offline... Richard -- / \__ | \__/ \ | Richard Rognlie / Sr. Technical Consultant / Sendmail, Inc. / \__/ | http://www.gamerz.net/rrognlie/ \__/ | From: tusk@daimi.au.dk (Martin Moller Pedersen) Subject: Re: Robots Date: 2000/07/12 Message-ID: <8khl8d$av8q$1@gjallar.daimi.au.dk>#1/1 In <6yIa5.8951$Hk1.1248625@nntp3.onemain.com> "Wes" writes: >Some on told me i may also find info on PCRobots on this news group, if any >one has any info that can help me in the building of my robot it would be >much apreciated... >thanx, >Wes Richard's Play-by-Email server has C++Robots. http://www.gamerz.net/ Enjoy /Martin From: wh@msgto.com (Walter Hofmann) Subject: Re: new corewar hills Date: 2000/07/12 Message-ID: #1/1 On Tue, 11 Jul 2000 00:47:40 -0700, Martin Ankerl wrote: > >hi, > >at http://corewars.sourceforge.net/ there are some Redcode Hills. >They seem to be very new and unknown (all warriors from the >experimental Hill are my evolved warriors ...) > >I think that these hills can get very interresting for corewar >evolvers, because there is a really good change to get onto the >hill. ...and feel free to mail me (walterh@gmx.de) any comments about them. I can also add hills with other configurations if this is what you need. Walter From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 2000/07/12 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: Martin Ankerl Subject: Re: new corewar hills Date: 2000/07/12 Message-ID: <1d21b220.13256b45@usw-ex0106-047.remarq.com>#1/1 The sourcefourge project also supports the standard-redcode programms as in pmars 0.8 ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com From: wh@msgto.com (Walter Hofmann) Subject: Re: new corewar hills Date: 2000/07/14 Message-ID: #1/1 On Fri, 14 Jul 2000 02:45:07 -0700, Martin Ankerl wrote: > >I think a tiny hill would be nice: > >coresize: 800 >max. processes: 800 >duration: after 8000 cycles, a tie is decleared >max. entry length: 20 >minimum distance: 20 >rounds fought: 200 >instruction set: ICWS '94 Draft > >this would be the same as the Internet Pizza Server Experimental >'94 Hill, but this server is often down. I created this one ("Redcode tiny"). Walter From: dittrich@life.informatik.uni-dortmund.de (Peter Dittrich) Subject: Re: Tierra?! Date: 2000/07/14 Message-ID: <8knui4$k6f$1@fbi-news.cs.uni-dortmund.de>#1/1 In article <8knhrm$lqu$1@nnrp1.deja.com>, yuntai@my-deja.com writes: |> Is corewar similar to tierra, developed by tom ray? Yes, tierra is similar to corewar. And as far as i know, between corewar and tierra there was Coreworld by Rasmussen et al. Peter ______________________________________________________________________________ Peter Dittrich University of Dortmund, Computer Science, Systems Analysis http://ls11-www.informatik.uni-dortmund.de/people/dittrich/ From: yuntai@my-deja.com Subject: Tierra?! Date: 2000/07/14 Message-ID: <8knhrm$lqu$1@nnrp1.deja.com>#1/1 Is corewar similar to tierra, developed by tom ray? Sent via Deja.com http://www.deja.com/ Before you buy. From: Ilmari Karonen Subject: Re: new corewar hills Date: 2000/07/14 Message-ID: <963582652.7650@itz.pp.sci.fi>#1/1 In article <19eb0ebf.2d6edb40@usw-ex0106-047.remarq.com>, Martin Ankerl wrote: >coresize: 80 >max. processes: 80 >duration: after 800 cycles, a tie is decleared >max. entry length: 5 >minimum distance: 5 >rounds fought: 200 >instruction set: ICWS '94 Draft Sounds nice, but you'll want to use the permutation patch - there's simply no point in fighting more rounds than there are possible starting order/position combinations, in this case 142. -- Ilmari Karonen - http://www.sci.fi/~iltzu/ "The screwdriver *is* the portable method." -- Abigail From: Martin Ankerl Subject: Re: new corewar hills Date: 2000/07/14 Message-ID: <19eb0ebf.2d6edb40@usw-ex0106-047.remarq.com>#1/1 I think a tiny hill would be nice: coresize: 800 max. processes: 800 duration: after 8000 cycles, a tie is decleared max. entry length: 20 minimum distance: 20 rounds fought: 200 instruction set: ICWS '94 Draft this would be the same as the Internet Pizza Server Experimental '94 Hill, but this server is often down. or perhaps even smaller? coresize: 80 max. processes: 80 duration: after 800 cycles, a tie is decleared max. entry length: 5 minimum distance: 5 rounds fought: 200 instruction set: ICWS '94 Draft ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com From: "Ransom Smith" Subject: Re: Where to get the FAQ ? Date: 2000/07/15 Message-ID: #1/1 > i suscribed this newsgroup only 2 days ago and want to ask, if there is a > FAQ to read and where to get the FAQ. If there is no FAQ, please send me > the URL of the actual version of CoreWars. FAQ is periodically posted to the newsgroup, but it is available online (you have the url). The pMARS homepage is at http://www.koth.org/pmars/. > PS:Please excuse my terrible english. I'm a german. I assure you, you are perfectly comprehensible. We know exactly what you are saying. > Wenn man diese CD r�ckw�rts spielt, h�rt man satanische Verse, > schlimmer noch, wenn man sie vorw�rts abspielt, installiert sie Windows 98 I love it. Hilarious. From: "Robert Macrae" Subject: Re: Robots Date: 2000/07/15 Message-ID: <8kpdqb$1ra$1@lure.pipex.net>#1/1 Here is a bookmark to get you started... or simply use Google search on "PCRobots". http://zeus.informatik.uni-frankfurt.de/~hbecker/pcrob.html If you meet a robot named Buddy, say hi :-) Robert Macrae From: Textron@duplicators.com Subject: graced 624cb584a35639 degraded Date: 2000/07/17 Message-ID: #1/1 forgotten succinctness evinced mace apprentice fulfillment Havilland brawl. spacer partition renamed liars. endangers raves submission roof. declarative confusion nodes slays drummed apprentice untried jarring Goode. capsule Hawley cam chivalry. sound cordially handsomest kitten. sealed Richmond punched steeples please. mediate disregard arsine. From: Pete Hornsby Subject: Robot war with Java? Date: 2000/07/21 Message-ID: <39783619.5ABE2567@lboro.ac.uk>#1/1 Hi folks, I'm new to this whole robot war deal, so apologies in advance if this question has already been answered. Is there any form of corewar / equivalent in Java? I'm involved with teaching at a University and was thinking it might be a good incentive for the students. Thanks, Pete From: "Viktor" Subject: ����� ������� ������ Date: 2000/07/22 Message-ID: <8lbla5$nru$1@kaktus.farlep.net>#1/1 ���� ������ ! :) ��� ������ �������� (������, �������� ��� �������� � ������ ��� ������� White-Mouse) ����������� �������� ������ ������ ��� ������� �������� - http://www.bunker.com.ua �������� ������� ��������� ��� ���� ��������� � ����������� � ����� �������, ��������, ������� � �����, ���� �� ����� �� ������ �� ������ �� ���� �����. mailto:webmaster@white-mouse.com From: p1@blinker.net (Bjoern) Subject: Re: Robot war with Java? Date: 2000/07/22 Message-ID: <3979017a.1558060@news.lrz-muenchen.de>#1/1 On Fri, 21 Jul 2000 12:38:02 +0100, Pete Hornsby wrote: >Hi folks, > >I'm new to this whole robot war deal, so apologies in advance if this >question has already been answered. Is there any form of corewar / >equivalent in Java? I'm involved with teaching at a University and was >thinking it might be a good incentive for the students. You mean Java programs fighting each other in the same fashion as corewar programs? I think probably not. However, there might be other games where Java programs compete, like a Java version of C-robots (not sure about that). All I know is that some time ago there where plans about a Java version of RARS (robot auto racing simulation - you submit the AI of a driver, I think), but I don't know if it eventually got made (it's been years since I last looked). There is a JAVA version of MARS (the Corewar arena), I think, and maybe some people wrote Java tools for evolving Corewar warriors? Bjoern From: Xanthus@agglomeration.com Subject: macro 624cb584a35639 enraging Date: 2000/07/24 Message-ID: <9nvhl8.pfq.ln@s00.bibirevo.net>#1/1 extraneously arrive slain declarative orientations. squaringgg consulting feathered frameworks reinforces embed strokes peaked. reposes degraded mingling windy displayable. draft flu. From: pk Subject: Help! Mayday! SOS! Whatever 8) Date: 2000/07/24 Message-ID: <397C497E.13EF725D@videotron.ca>#1/1 Well, it seems that after months of work, i've gotten a working non-one-shot scanner using the: Add inc, 1 Mov.i x, >x jmn.f -2, >x check jmn.b scan-1, -1 jmp clear to have the version with a dclear, just change the lines before the "for 22" in: org scan-1 x equ scan-15 inc dat.f 31, 30 clear spl #0,0 mov.i 2, >-2 djn.f -1, >-3 dat.f >5335, 6 sb spl #1, 0 spl #0,0 There is something in the version with the multipass clear that leaves some process running in the attack block, i think, and bc of its position, it survives the first self-dat-wipe, get spl bombed, and only after like 24000 cycles get dat-bombed... so i have processes running spl 0 for a long time, which worries me, even though it doesn't seem to affect the clearing too much(no visible speed change) Anybody has idea to ameliorate FI? TIA Paul PS. this seems to be the first warrior listing presented to the list in months... what's happening?? 8) -- AKA paul_virak_khuong at yahoo.com, pkhuong at deja.com, pkhuong at crosswinds.net and pkhuong at technologist.com(list not complete)... From: Martin Ankerl Subject: Re: is there any purely evolved warrior that scores good against Marcia Trionfale? Date: 2000/07/25 Message-ID: <3a803ffa.fb7413d7@usw-ex0106-047.remarq.com>#1/1 Here's my latest & greatest :) It scores not too bad in the wilkies (90.2), but marcia is still unreachable: Marcia Trionfale 1.3 by Beppe Bezzi scores 798 Evolver 2542 x 176 by Martin Ankerl scores 357 Results: 151 4 345 anyway the warrior is funny to look at :-) I think the evolver is caught in a local optimum (only spl, mov, djn - style warrior), but perhaps with a higher mutation rate it is possible to get free. ;redcode-94 ;assert 1 ;author Martin Ankerl ;name Evolver 2542 x 176 spl.ba # 856, > -3 mov.i { 10, < 3673 djn.ab < 3675, < 1003 mov.x # 2006, * 2670 mov.ba @ -3, > 535 end ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 2000/07/26 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: "Bill Jones" Subject: Re: macro 624cb584a35639 enraging Date: 2000/07/26 Message-ID: #1/1 OK, who has the code book? :> wrote in message news:9nvhl8.pfq.ln@s00.bibirevo.net... > extraneously arrive slain declarative orientations. > > squaringgg consulting feathered frameworks reinforces embed strokes peaked. reposes degraded mingling windy displayable. draft flu. > From: "Enry" Subject: All about strategic games Date: 2000/07/26 Message-ID: <8lnji6$7m8@eui1nw.euskaltel.es>#1/1 First-Independent-Spanish-Web-Page-Strategic-Games -- LECCIONES DE ESTRATEGIA http://www.ciudadfutura.com/estrategia From: p1@blinker.net (Bjoern) Subject: Re: I must be a complete idiot! Date: 2000/07/27 Message-ID: <397ffa71.2014348@news.lrz-muenchen.de>#1/1 Hello! What do you mean by not understanding any of it? Do you know what Corewar is about in principle, do you have an idea of how assembler works? Do you know anything about programming in general? Don't give up, people are always willing to help. I don't know, but I guess many are still lurking here. Why is it so quiet, anyway? Has Corewar become too advanced? Is there still fighting on the hill, or does it require too much work these days to create a good warrior? Bjoern On Thu, 27 Jul 2000 17:36:32 +0100, David Parrott wrote: >Heya again, > I have posted on various occasions before about learning >Corewar. I have recently been and got all the beginner things that I can >but I am still having no luck understanding any of it, I have therefore >come to the conclusion that I am an idiot. Any more advice on starting >to learn corewar or should I just give up? > >This post is also an attempt to get more life into this group as there >isn't much activity in here. > >Thanks in advance. >-- >David Parrott From: pk Subject: Re: I must be a complete idiot! Date: 2000/07/27 Message-ID: <3980C691.4B9B2B9F@videotron.ca>#1/1 Don't worry, you're probably not an idiot... heck, at start, i thought cw was in 2d!(the graphic display is a bit misguiding... 8) Why don't you try tracing a program, but by hand, you know, just reading the code, for say, Rave(single process helps 8), and try to see the loop, and what the slt does, and how it goes into coreclear mode? You could also just trace how a program works,(using the Step command in cdb abbreviated by "s")so you can check if your simulation was right, and all! Why don't you try doing your own bomber? Try different bombs, different stepping, clear, no clear, etc... Stones or bombers are always interesting, but pretty simple, since they usually achieve incredible thing, while not using extensive logic, since the creator does all the work before doing the program(check "Aladdin's Cave"'s stone in planar's archive, for an excellent: the step size is just incredible!) BTW, is planar still here? David Parrott wrote: > > Heya again, > I have posted on various occasions before about learning > Corewar. I have recently been and got all the beginner things that I can > but I am still having no luck understanding any of it, I have therefore > come to the conclusion that I am an idiot. Any more advice on starting > to learn corewar or should I just give up? > > This post is also an attempt to get more life into this group as there > isn't much activity in here. > > Thanks in advance. -- AKA paul_virak_khuong at yahoo.com, pkhuong at deja.com, pkhuong at crosswinds.net and pkhuong at technologist.com(list not complete)... From: David Parrott Subject: I must be a complete idiot! Date: 2000/07/27 Message-ID: #1/1 Heya again, I have posted on various occasions before about learning Corewar. I have recently been and got all the beginner things that I can but I am still having no luck understanding any of it, I have therefore come to the conclusion that I am an idiot. Any more advice on starting to learn corewar or should I just give up? This post is also an attempt to get more life into this group as there isn't much activity in here. Thanks in advance. -- David Parrott From: p1@blinker.net (Bjoern) Subject: Re: I must be a complete idiot! Date: 2000/07/28 Message-ID: <39816e8f.6973508@news.lrz-muenchen.de>#1/1 On Sat, 29 Jul 2000 18:26:14 -0400, pk wrote: >oh-my-god! He's back! 8) >lol... hello again! ;-) Usually I never stop reading r.g.c., but the last few months I had no choice. >well, if you take a look at the hills, there are some people playing >here, but they don't seem to post 8( I mean, I posted a request for help >on a *** program, which should have gotten some attention, i think, but >nothing! >And, i don't think cw has gotten too advanced, but we've had more than 6 >years to look everywhere for what could be done... It might be time for >a change, it could be a good idea to have ew opcodes, and a rotation at >regular intervals, just to give some new blood... Don't you think? We'd >lose the Hall Of Fame, though 8( > >What about this? Everyone who wants to submits opcode(s) they wanna see >in CW 2K? Then, we vote; the top x get chosen... Hm, I haven't thought about his for a while. But maybe improved process control would be nice? For example, one could use the second field of the spl instruction to give the spawned process a priority setting in fractions of the father process. So spl x,#100 would mean the new process would be executed only every 100redst time of the father process. Not sure what should happen if the father process dies, though. Maybe one could even have all children die if the father dies...? Or make the process priorities absolute rather than relative. That would be annoying if your only remaining process only runs at 1/1000 of full speed, though :-/ Another thought, maybe some kind of process id, so that you could just kill or suspend processes? either one could assign an id while splitting, ie spl x, #id ... suspend #id,#100 (suspend for 100 cycles) kill #id or even processes could id themselves, setid #id or something like that... Normally, children would just inherit the process id of their fathers. Hm, I see the problem - once you catch an enemy process, just make it kill all id-s. So maybe only fathers should be allowed to kill children, not vice versa? Just some spontaneous ideas. Bjoern [...] From: pk Subject: Re: I must be a complete idiot! Date: 2000/07/29 Message-ID: <39835A06.19106CC@videotron.ca>#1/1 oh-my-god! He's back! 8) lol... well, if you take a look at the hills, there are some people playing here, but they don't seem to post 8( I mean, I posted a request for help on a *** program, which should have gotten some attention, i think, but nothing! And, i don't think cw has gotten too advanced, but we've had more than 6 years to look everywhere for what could be done... It might be time for a change, it could be a good idea to have ew opcodes, and a rotation at regular intervals, just to give some new blood... Don't you think? We'd lose the Hall Of Fame, though 8( What about this? Everyone who wants to submits opcode(s) they wanna see in CW 2K? Then, we vote; the top x get chosen... Paul Bjoern wrote: > > Hello! > > What do you mean by not understanding any of it? Do you know what > Corewar is about in principle, do you have an idea of how assembler > works? Do you know anything about programming in general? > > Don't give up, people are always willing to help. I don't know, but I > guess many are still lurking here. > > Why is it so quiet, anyway? Has Corewar become too advanced? Is there > still fighting on the hill, or does it require too much work these > days to create a good warrior? > > Bjoern > > On Thu, 27 Jul 2000 17:36:32 +0100, David Parrott > wrote: > > >Heya again, > > I have posted on various occasions before about learning > >Corewar. I have recently been and got all the beginner things that I can > >but I am still having no luck understanding any of it, I have therefore > >come to the conclusion that I am an idiot. Any more advice on starting > >to learn corewar or should I just give up? > > > >This post is also an attempt to get more life into this group as there > >isn't much activity in here. -- AKA paul_virak_khuong at yahoo.com, pkhuong at deja.com, pkhuong at crosswinds.net and pkhuong at technologist.com(list not complete)... From: Ben Ford Subject: Re: Hello? Date: 2000/07/30 Message-ID: <20a13ebc.6890a041@usw-ex0102-084.remarq.com>#1/1 I'm still alive the last time I checked. Haven't played in a while but have a few ideas if I can free up some time. Eric Hochmeister wrote: >Hello? > > I just found this site and absolutely love it. My only question >is.. is anyone alive? Does anyone still play? I hope it is still alive >and hope to hear from some of you ... anyways.. if anyone could give me a >sign that would be great... > > > > > ----------------------------------------------------------- Got questions? Get answers over the phone at Keen.com. Up to 100 minutes free! http://www.keen.com From: Eric Hochmeister Subject: Hello? Date: 2000/07/30 Message-ID: #1/1 Hello? I just found this site and absolutely love it. My only question is.. is anyone alive? Does anyone still play? I hope it is still alive and hope to hear from some of you ... anyways.. if anyone could give me a sign that would be great... From: Richard Rognlie Subject: C++Robots is back (finally) Date: 2000/07/31 Message-ID: <3986469B.C0BB5E33@gamerz.net>#1/1 After a 2 month absence (due to inadequate backups on my part) C++Robots is back... the HTML help files are up to date (or rather, as up to date as they *were*...) The "help" help files are conspicuous in their absence... http://www.gamerz.net/c++robots for information/details. Richard -- / \__ | \__/ \ | Richard Rognlie / Sr. Technical Consultant / Sendmail, Inc. / \__/ | http://www.gamerz.net/rrognlie/ \__/ | From: Christian Schmidt Subject: Re: I must be a complete idiot! Date: 2000/07/31 Message-ID: <39855AAF.983F35CA@mail.uni-mainz.de>#1/1 Sounds interesting, Bjoern. My suggestion is simply to add some new opcodes, like: spn a, b : jump to a if b is zero, split to a if b is non-zero spz a, b : jump to a if b is non-zero, split to a if b is zero It would not change cw in a drastical way, but should open some new features for the loop-architecture in scanner and stones. Christian Bjoern schrieb: > > On Sat, 29 Jul 2000 18:26:14 -0400, pk wrote: > > >oh-my-god! He's back! 8) > >lol... > > hello again! ;-) > > Usually I never stop reading r.g.c., but the last few months I had no > choice. > > >well, if you take a look at the hills, there are some people playing > >here, but they don't seem to post 8( I mean, I posted a request for help > >on a *** program, which should have gotten some attention, i think, but > >nothing! > >And, i don't think cw has gotten too advanced, but we've had more than 6 > >years to look everywhere for what could be done... It might be time for > >a change, it could be a good idea to have ew opcodes, and a rotation at > >regular intervals, just to give some new blood... Don't you think? We'd > >lose the Hall Of Fame, though 8( > > > >What about this? Everyone who wants to submits opcode(s) they wanna see > >in CW 2K? Then, we vote; the top x get chosen... > > Hm, I haven't thought about his for a while. But maybe improved > process control would be nice? > > For example, one could use the second field of the spl instruction to > give the spawned process a priority setting in fractions of the father > process. So spl x,#100 would mean the new process would be executed > only every 100redst time of the father process. Not sure what should > happen if the father process dies, though. > > Maybe one could even have all children die if the father dies...? Or > make the process priorities absolute rather than relative. That would > be annoying if your only remaining process only runs at 1/1000 of full > speed, though :-/ > > Another thought, maybe some kind of process id, so that you could just > kill or suspend processes? > > either one could assign an id while splitting, ie > > spl x, #id > ... > suspend #id,#100 (suspend for 100 cycles) > kill #id > > or even processes could id themselves, setid #id or something like > that... > > Normally, children would just inherit the process id of their fathers. > > Hm, I see the problem - once you catch an enemy process, just make it > kill all id-s. So maybe only fathers should be allowed to kill > children, not vice versa? > > Just some spontaneous ideas. > > Bjoern > > [...] From: Richard Rognlie Subject: [Fwd: Shadowdice Server Source?] Date: 2000/07/31 Message-ID: <39863735.EF2E0D2B@gamerz.net>#1/1 This is a multi-part message in MIME format. --------------9DC2992C731319721A955A0C Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Forive this intrusion... but it appears that the "jippo" I am seeking used to post here, periodically... A thousand apologies... Richard -- / \__ | \__/ \ | Richard Rognlie / Sr. Technical Consultant / Sendmail, Inc. / \__/ | http://www.gamerz.net/rrognlie/ \__/ | --------------9DC2992C731319721A955A0C Content-Type: message/rfc822 Content-Transfer-Encoding: 7bit Content-Disposition: inline Path: reader4.news.rcn.net!feed1.news.rcn.net!rcn!not-for-mail From: Richard Rognlie Newsgroups: rec.games.board,rec.games.pbm Subject: Shadowdice Server Source? Date: Mon, 31 Jul 2000 22:21:24 -0400 Message-ID: <39863424.9559E831@gamerz.net> References: <8koj3q$bno$1@news3.infoave.net> <3985D36C.AEE760DD@earthlink.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: T/wj9t96a0vqKhtjEWLVfygtrkkseSAzcp+U4B1NO6g= X-Complaints-To: abuse@rcn.com NNTP-Posting-Date: 1 Aug 2000 02:16:03 GMT To: jippo@clinet.fi X-Accept-Language: en X-Mailer: Mozilla 4.73 [en] (X11; I; Linux 2.2.16 i686) Xref: reader4.news.rcn.net rec.games.board:216582 rec.games.pbm:43976 Due to a massive system crash 2 months ago, and a complete lack of suitable backups (phear not... I now backup to CD-RWs at least once a week...) I *lost* all of the source associated with the shadowdice server which was a web based mechanism to generate verifiable dice rolls in PBeM, PBM and PBW games. Unfortunately, I have also lost any contact information I had for the original author, etc. etc. It *might* be jippo@clinet.fi, but I'm not sure... Does anyone know who the author of the Shadowdice server was? Or does anyone have an archive of the shadowdice server somewhere? I have part of it, but it is referring to 4 modules that I don't seem to has the source for... use CGISH; $comment = new CGISH; use CGILOG; $runlog = new CGILOG; use DICE; $dicepool= new DICE; use CYAR; $yar = new CYAR; Any hints would be appreciated. Richard -- / \__ | \__/ \ | Richard Rognlie / Sr. Technical Consultant / Sendmail, Inc. / \__/ | http://www.gamerz.net/rrognlie/ \__/ | --------------9DC2992C731319721A955A0C--