The code for Absolute 250 was either removed from a larger post, or retrieved from some other source. I believe that it is now in the correct chronological position. ******************************************************************* Article 808 of rec.games.corewar: From: choke@wet.UUCP (Sean Gallaty) Newsgroups: rec.games.corewar Subject: Andromeda Strain Summary: KOTH warrior andromeda strain Keywords: REDCODE ANDROMEDA STRAIN Message-ID: <3884@wet.UUCP> Date: 2 May 92 22:16:37 GMT Organization: Independant Lines: 36 Hello coders. Here is my attempt at a voracious self-replicator. It has a definate weakness against vampires, but seems to beat most everything else. It was on the hill for a while until a bunch of vampires showed up. The theory of operation is as such: Copy self twice, then start bombing. Each copy does the same. so here is ... ;redcode ;name Andromeda Strain v0.5 ;author Sean Gallaty ;strategy Trying to design the perfect 'voracious self replicator.' ;strategy Designed to be resistant to dat bomb damage. dat #0 start: jmp 2 source: dat #0 mov #2 , countdown restart: mov #fini-source , source copyloop: mov Date: 4 May 92 05:39:03 GMT Organization: West Virginia Network for Educational Telecomputing Lines: 31 Here is another one of my warriors. It copies a bunch of imps and 1 dwarf every 175 bytes. It has been the most successful warrior I submitted to KOTH. It has been as high as number 11. Not the greatest but I'm learning! ;redcode-x verbose ;name Eru (The Chosen) ;author Rob Shultz ;strategy copys imps every 175 bytes and releases an imp that ;strategy goes the other way in the core. SPL start kill MOV kill,kill-3 JMP kill start MOV #10,size ADD #175,@target copy MOV Date: 4 May 92 05:39:05 GMT Organization: West Virginia Network for Educational Telecomputing Lines: 30 Ok, the peer pressure has got to me :) Here is one of my first warriors. don't ask me what it does.... I really don't know. It's made up of bits and pieces of code that had been posted. If you figure out what it really does please let me know. ;redcode-x ;name Middle-Earth_1.4 ;author Rob Shultz ;strategy warrior that uses a hobbit,dwarf,mute,and imp dist EQU 333 start SPL dwarf SPL hobbit SPL imp MOV Message-ID: <92125.133700JAR129@psuvm.psu.edu> Newsgroups: rec.games.corewar Subject: Redcode - A "Possessor" Lines: 32 With the recent mentioning of "possessors", I was reminded of one of the first programs I wrote (about four weeks ago). It's a B-field scanner, which, upon finding a target, SPLits to it, waits a cycle, and then bombs it with a DAT. When I submitted it to the hill a while back, it made it to about 16th, and then fell off. It does particularly bad against some pit trappers, since it has a tendency to attack the pit, and paralyze itself (though the DAT bomb that was placed eventually frees it). ;redcode verbose ;name Overload 1.1 ;author Jeff Raven ; ;strategy - Version 1.1 ;strategy - Overload scans the core, and, upon finding another program, ;strategy - executes it. Not particularly aggressive, it tends to tie ;strategy - programs which make lots of copies. ; first EQU 0 ; First address checked by scanner step EQU 3044 ; Step size for the search bomb DAT #0 start ADD #step, locus locus JMZ start, first SPL @locus MOV 0, 0 MOV bomb, @locus JMP start END start Article 833 of rec.games.corewar: From: dak@vlsi.polymtl.ca (Pierre Baillargeon (Hiv91)) Newsgroups: rec.games.corewar Subject: Re: Redcode - A "Possessor" Message-ID: <1992May5.002018.20232@vlsi.polymtl.ca> Date: 5 May 92 00:20:18 GMT Article-I.D.: vlsi.1992May5.002018.20232 References: <92125.133700JAR129@psuvm.psu.edu> Sender: news@vlsi.polymtl.ca (USENET News System) Organization: Ecole Polytechnique de Montreal Lines: 25 This should only be useful to people who begin (like me). This code copy a child all over memory (but does not copy itself). Just put your code between the destA line and the end statement. You can start at init, or if you put the size of your code in the B operand of the first line of the child, you can start at motherA. Optimisation: no init for destA make all child contiguous, no fix for first opcode of child in B is 0. sizeA equ 4 distA equ 341 fixA equ 2 motherA mov Date: 5 May 92 05:44:13 GMT References: <1992Apr30.061947.12692@mprgate.mpr.ca> Organization: The Portal System (TM) Lines: 36 Some more redcode source for the X-hill. The repeat macro is NOT supported by KotH, but it made the listing so much smaller, I thought I'd post it this way. The ;strategy says it all. --- cut --- ;redcode-x ;author Scott Nelson ;name Juggernaut ;strategy Copy to the next area, then jump there. ;kill Juggernaut s dat #0 d dat #0 count dat #25 start mov #0, s mov #106, d mov #25, count ;25*4 copies==100 locations copied jn mov >s, >d mov >s, >d mov >s, >d mov >s, >d djn jn, count jmp start+107 pit spl 1 spl -1 spl -2 jmp -2 .repeat 76 jmp pit .endrepeat end start --- end cut --- |+---------------------------------------------------------------+| You can not win a debate with an avalanche. <<>> Article 838 of rec.games.corewar: From: laajarinne@cc.helsinki.fi Newsgroups: rec.games.corewar Subject: Digital Justice Message-ID: <1992May5.181640.1@cc.helsinki.fi> Date: 5 May 92 16:16:40 GMT Sender: news@klaava.Helsinki.FI (Uutis Ankka) Organization: University of Helsinki Lines: 28 Here is my warrior Digital Justice. It has done quite well on the Hill. It cmp-scans addresses near each other and spl-bombs their surroundings if it finds something. When this is done five times, the program changes spl-bombs to dat-bombs. ;redcode verbose ;name Digital Justice ;author Jukka Laajarinne ; vah dat #23, #23 gotcha slt #26, reg lipas jmp scan, #5 slt #-11, reg kuti jmp kill, #18 scan sub vah, reg reg cmp -800, -790 jmp gotcha jmp scan kill mov #18, kuti add #4, reg shoot mov ammo, Sender: news@vlsi.polymtl.ca (USENET News System) Organization: Ecole Polytechnique de Montreal Date: Tue, 5 May 1992 18:32:33 GMT Lines: 30 I believe I achieved the smallest possible jumper. I don't know how original this is, but I thought it was pretty neat. I call the technique 'temporal loop unrolling' which consist of replacing loop by multiple tasks all executing the same code at the same time. I think it's only useful for small program since it execute ALL instruction multiple time. Here it is: ;redcode ;name MinJump ;author Pierre Dak Baillargeon size equ 3 dist equ -217 start spl split, 0 ; make 3 tasks jmp init, 0 split spl 1, 0 init mov #size, init ; reset size mov Date: Wed, 6 May 92 01:43:44 PDT Organization: The Portal System (TM) References: <1992May5.183233.250@vlsi.polymtl.ca> Lines: 38 >5/5/92 11:32 30/1006 dak@vlsi.polymtl.ca (Pierre Baillargeon (Hiv91)) > I believe I achieved the smallest possible jumper. I don't know how >original this is, but I thought it was pretty neat. I call the technique >'temporal loop unrolling' which consist of replacing loop by multiple tasks >all executing the same code at the same time. I think it's only useful for >small program since it execute ALL instruction multiple time. I called it 'symbiosis'. It is a VERY useful concept, Molerat (and Note Paper) used it as the core of their copy routines. A minor variant can also be useful in other programs consider 'symbiotic dwarf': spl 0 mov bomb, @bomb add #28, bomb jmp -2 At first glance one might say "so what?", but consider four of these in core at once. (or how about a routine that hurls them out?) Normally having more than one copy is a bad idea, since one SPL 0 hit in any copy slows down all the copies. But the symbiots might not even notice it! By the way, it isn't really the smallest jumper (that title belongs to IMP), and it could be argued (although I wouldn't) that it isn't a jumper since it doesn't move forward a constant amount, or copy the SPL instructions. Also depending on what you mean by 'size' this warrior might be smaller (though personally I feel they are both the same size) ;name Lichen 1988 start spl 1 ; make 3 tasks mov -1, 0 ; the real code source mov #3, 0 ; init. mov >> Article 844 of rec.games.corewar: From: wms@iwarp.intel.com (William Shubert) Newsgroups: rec.games.corewar Subject: Re: Smallest jumper ? Message-ID: <1992May6.163944.18854@iWarp.intel.com> Date: 6 May 92 16:39:44 GMT References: <1992May5.183233.250@vlsi.polymtl.ca> <58593@cup.portal.com> Sender: news@iWarp.intel.com Organization: Intel iWarp, Beaverton, Oregon, USA Lines: 44 Nntp-Posting-Host: z.iwarp.intel.com While this "split-for-faster-copy" is being discussed, one of my programs on the experimental hill uses this technique and works pretty well. Here it is: ;name Shoggoth 1.1 ;author Bill Shubert ;strategy Crawl through memory, sweeping aside everything in the way. ;strategy V1.1 - Faster & smaller with a bigger attack range. wdist equ 250 procs equ 16 cpnum equ 11 st spl st1 st1 spl st2 st2 spl st3 st3 spl st4 st4 jmp shog from dat #0 to dat #from shog mov #from-to,to mov to,from,>to jmp (from-procs*cpnum)+(shog-from) end st As you can see, it clears out memory very fast by executing each of the "mov to,from,>to" instruction, and jumps to the new copy. -Bill (wms@iwarp.intel.com) Article 845 of rec.games.corewar: From: ajpierce@med.unc.edu (Andrew Pierce) Newsgroups: rec.games.corewar Subject: ClaMP Message-ID: <1992May6.141003.9324@samba.oit.unc.edu> Date: 6 May 92 14:10:03 GMT Article-I.D.: samba.1992May6.141003.9324 Sender: usenet@samba.oit.unc.edu Organization: UNC-CH School of Medicine Lines: 38 Nntp-Posting-Host: salvo.med.unc.edu Here is the source to ClaMP which is currently hovering around number 1 or 2 on KotH. It, like the other top 4 programs on the hill currently, is a cmp scanner. In essence, ClaMP is Synch without the intelligence, and with Stefan Strack's incorporated slt idea, which saves one instruction. The core clearing routine is particularly effective. I think that ClaMP is very similar to Agony, except that the different core clear gives ClaMP an edge. As for corewars having hit its limit, I still have at least one more idea to try to get off the ground. :-) The issue of "why post your best programs?" came up. I do so in order to evolve the current state-of-the-art in corewars programming. I think that if you were to fight the current 20 on KotH against previous years' tournaments entries in a sort of team competition, the previous years would get massacred. This is a direct result (IMO) of the feedback testing mechanism of KotH, and of idea sharing from posting programs. Unfortunately, I think that we are also heading for an endpoint in corewars as it stands. I predict that within 6 months, there will be nothing left to do in the current implementation of corewars. ;redcode verbose ;name ClaMP ;author Andy Pierce ;strategy small cmp scanner ret add offset,start start cmp -50,-1 slt #65,start count djn ret,#2000 hit mov bomb2,@start mov bomb1, Date: 8 May 92 04:20:43 GMT Organization: Penn State University Lines: 54 Well, since I'll be heading home for the summer in a matter of days, I figure it's about time I posted the code to Leaper-X. It has a rather interesting history, which I'll spare you, and just get to the code. True to it's name, it leaps through the core, bombing each time it jumps. The unusual thing about the bombing - and what probably gives it an edge over programs like it - is that, instead of bombing 250 locations on one side, it bombs 125 locations on each side. Although slightly less effective at taking down a charging Imp, it does protect Leaper-X on both sides simultaneously, and it will bomb its 250 locations slightly faster than others because its loop is a little more unrolled (2/3 bombs per instruction compared to the usual 1/2). As for its bombing mechanism - it will bomb 31 times with SPLs (just about hitting every location), and then will switch to DATs. It's done well (better than anything else I've written), usually staying between third and sixth. ;redcode-x verbose ;kill Leaper-X 3.0 ;name Leaper-X 4.0 ;author Jeff Raven ; ;strategy - Leaps through memory, bombing as it goes. The bombing routine ;strategy - has been changed - and hopefully improved. It now uses a more ;strategy - efficient bombing pattern, which should almost halve the time ;strategy - it takes to clear the core. ; lines EQU 14 limit EQU 250 reach EQU 125 upper EQU reach lower EQU -reach leap EQU limit - (storage - copy) time EQU 32 low DAT #0 start MOV #lower, low MOV #upper, high DJN splat, slow MOV #0, point splat MOV @point, >low MOV @point, @high DJN splat, high MOV #lines, low MOV #leap, storage copy MOV @low, Date: 08 May 92 10:43:31 GMT Organization: Microsoft Corporation References: <1992May6.141003.9324@samba.oit.unc.edu> Lines: 73 In article <1992May6.141003.9324@samba.oit.unc.edu> ajpierce@med.unc.edu (Andrew Pierce) writes: > Here is the source to ClaMP which is currently hovering around number 1 >or 2 on KotH. > I think that ClaMP is very similar to Agony, except that the different >core clear gives ClaMP an edge. Actually, ClaMP is almost exactly Charon 3.0 (Echo) just as Stefan and I suspected... Bombing with SPL 0, DJN -1 is essentially the same as bombing with SPL 0, JMP -1 (only one process will drop out every 8000 loops) The clear routine is a minor improvement. The definitive edge (and only REAL difference) over Charon is the fact that ClaMP is off-axis. Charon off-axis versions which both Stefan and I tried were failures. My hat's off to you, guy... Anyway, see for yourself, as here's Charon v3.0 (Echo): -- ;redcode verbose ;name Charon v3.0 (Echo) ;author J.Cisek & S.Strack (alphabetical order :) ;strategy creation date 4/11/92 ;strategy cmp scan, spl trap, clear core, etc. ;strategy v3.0 5/3/92 integrated with Stefan Strack's Echo ;strategy Stefan very cleverly rewrote Charon to be much smaller. STEP equ 1581 ;step value START equ search+STEP-3473 ;hit self eventually HALF equ 4000 ;set this to half the core search add steps, target ;turns into JMP -1, 0 eventually target cmp START, START+HALF ;axis-scan slt #switch-target+2, target ;don't hit self jmp search ;search at new location mov jump, @target ;set trap mov split, ;redcode verbose >;name ClaMP >;author Andy Pierce >;strategy small cmp scanner > >ret add offset,start >start cmp -50,-1 > slt #65,start >count djn ret,#2000 >hit mov bomb2,@start > mov bomb1, add next,start > jmn start,count >bomb1 spl 0,0 > mov 2,<1 >bomb2 djn -1,#-3 >next dat #-49,#-48 >offset dat #-98,#-98 If the above is not proof that there simply isn't much room left for originality, I don't know what is. -- Julius Andrew Cisek ,_, t-jcisek@microsoft.com "Joy!" /oo \ _.-. "Quiet, you bloated One Microsoft Way // <>__| /- O O idiot!" Redmond, WA 98052 \X/ | U| \| Article 861 of rec.games.corewar: Newsgroups: rec.games.corewar From: stst@vuse.vanderbilt.edu (Stefan Strack) Subject: Armadillo Message-ID: <1992May8.224945.8187@vuse.vanderbilt.edu> Sender: news@vuse.vanderbilt.edu (News Manager) Nntp-Posting-Host: vuse2 Organization: Vanderbilt University School of Engineering, Nashville, TN, USA Date: Fri, 8 May 1992 22:49:45 GMT Lines: 31 [after a week of abstinence from r.g.cw due to a disk crash, it's good to be back!] With the recent discussion on self-splitting bombers, fast copiers etc., this is a good time to post "Armadillo". This is a dumb SPL 0 bomber/core clearer that's been on the hill for a while, washing to the top whenever a bunch of small DAT-killers (such as recently "dwarf optima" and "shark optima" by Nandor Sieben) enter the hill. It's currently #1 (as I am writing this; not necessarily when you read this :-) ). Execution of SPL 0 confers some resistance to DAT bombs. "Armadillo" starts clearing the core after bombing approx. every 3rd address with SPL 0 by overwriting the "jmp" instruction. Enjoy, Stefan (stst@vuse.vanderbilt.edu) ;redcode verbose ;name Armadillo ;kill Armadillo ;author Stefan Strack ;strategy Not very deadly, but tough to kill: a mod-3.2 SPL-bomber ;strategy Submitted: @date@ ;2891 2947 bomb spl 0 loop add #3039,ptr ptr mov bomb,81 jmp loop mov 1, <-1 end bomb Article 866 of rec.games.corewar: From: kdmiller@m4-035-12.MIT.EDU (Kenneth D Miller) Newsgroups: rec.games.corewar Subject: Goofy Corewar proggies Message-ID: <1992May9.184659.27466@athena.mit.edu> Date: 9 May 92 18:46:59 GMT Sender: news@athena.mit.edu (News system) Organization: Massachusetts Institute of Technology Lines: 68 Nntp-Posting-Host: m4-035-12.mit.edu Here's three cute & clever (well, *I* think so... ;^) redcode menaces that I submitted. All three got reamed brutally. ;redcode verbose ;name ANNOYING ;author Kenneth D. Miller III ;strategy Oh no! Another CMP-scanning SPL bomber! Run and hide! ;^) init jmp 2 a spl 0, -1 scan cmp Date: 9 May 92 22:20:15 GMT Sender: usenet@samba.oit.unc.edu Organization: UNC-CH School of Medicine Lines: 63 Nntp-Posting-Host: salvo.med.unc.edu No more originality huh? Ummm. Here is my program Crimp. Crimp is a combined off axis cmp scanner/mutagen. Notice the cmp engine in the first 4 instructions. The bottom line is that in three cycles, Crimp has compared two different addresses and mutagenized a third for an overall memory access efficiency of 1.0 I know of no other program that is so fast, save Imp. Cmp scanners typically scan two locations in 3 cycles for an efficiency of 0.666, B-field scanners scan 1 location in 2 cycles for an efficiency of 0.5 while dwarfs typically bomb one location in three cycles for an efficiency of 0.333. Of course, the mutagenizing djn is not very destructive however it confers two advantages when fighting other scanners: 1) other scanners will pick up the djn'd instruction and spend time bombing it. 2) scanners typically have very tight main executing loops of 2 to 4 instructions. Triggering another scanner into executing a bombing routine means that a small bomb (such as an spl-jmp) will be executed faster which obviates the need for dropping a large carpet of bombs. The second thing to notice is the choice of scan constant of 566. The way this program is set up, this constant yields a "fibbonacci scan". The distance between scanned locations is first 283, then 207, 76, 55, 21, 13, 8, 5, 3, 2 and finally 1. Since a binary search is not practical, a fibbonacci scan is the next best thing with the maximum evenness of spread. This is the most efficient type of general scanning pattern of which I am aware. Of course, it is possible to come up with more efficient patterns against _a specific size of target_, but I think that in general, this scan is the better choice. Crimp was the "new idea" to which I alluded a few days ago. I credit Stefan Strack and his program Agony for getting me interested in cmp scanners again. Note that the idea of "making the loop useful" is also applicable to dwarfs... I tried something of the sort (not very seriously) with my program "Superdwarf" which appeared briefly on the hill a while ago. -Andy ajpierce@med.unc.edu P.S. It might be fun to have an experimental hill where all 20 programs are put into the arena at the same time to fight it out. ;redcode ;name Crimp ;author Andy Pierce ;strategy small cmp scanner ;strategy bigger than ClaMP, more destructive than ClaMP ;strategy full release version, optimize constants ;kill Crimp ret add offset,start start cmp -834,-551 ;15 - 2n jmp hit,0 count djn ret, Sender: news@vlsi.polymtl.ca (USENET News System) Organization: Ecole Polytechnique de Montreal Date: Sun, 10 May 1992 04:41:01 GMT Lines: 29 hum... Well, even if I swore not to write one, I did: a spl bomber. The worst thing is right after submitting it, I read the news and saw that Charon and others were basically the same prog... Anyway... the jmp gets over written by a spl 0 eventually, and the core is cleared multiple times. ;redcode ;name Parthenos ;author Pierre Dak Baillargeon ; ;strategy v1.0: auto-splitting splitter, splits itself when ;strategy it doesn't want to split anymore... ; start spl 0, 0 search mov -1, @x sub #132, x jmp search, 0 clear mov bomb, Date: 11 May 92 02:08:39 GMT Sender: usenet@oucsace.cs.ohiou.edu (Network News Poster) Organization: Ohio University CS Dept., Athens Lines: 49 Here is a program that has been most often found wandering the top 5 in the experimental hill. With the reshuffling of the X-Koth currently going on, it looks like Bridge will fall to be around 10th or so place. The basic idea is to copy itself to the next block of core and then start bombing its own area... then allowing each copy to copy itself and bomb its area. Eventually, the whole core will be effectively bombed... Scott Adkins sadkins@ohiou.edu ------------------------------------------------------------------------------ ;redcode-x verbose ;name Bridge ;author Scott Adkins ; ;strategy Copies itself forward in memory, starts the copy, and then spends ;strategy part of its lifetime bombing the 200 or so locations behind it. ;strategy The bombing routine continues for 20 times, at which time it copies ;strategy itself again and then falls back into the bombing routine again. ; length equ dst-start+1 source equ dst-src+1 output equ 238 write equ 43 road equ start-bomb-1 life equ 20 start mov #length, count mov #source, src mov #output, dst copy mov Date: 11 May 92 02:12:50 GMT Sender: usenet@oucsace.cs.ohiou.edu (Network News Poster) Organization: Ohio University CS Dept., Athens Lines: 123 Ok, here is another program that has also been doing very well, wandering around the top 10, and sometimes as high as 5th place... Depending on its mood... :-) The basic idea of this program is to set up a heavy defense barrier, allowing programs to fall into its trap, only to get plowed over by the bombing. To add a little to the offensiveness of the program, I also starting two copying routines, moving in opposite directions in the core which cleans out the core as it is being copies. I spent a lot of time tweaking the constants, and figure that the only way to spead it up any more is to go to scanning the core as opposed to blindly bombing. That might be for Spreader 3.0 :-) Scott Adkins sadkins@ohiou.edu ------------------------------------------------------------------------------ ;redcode-x verbose ;name Spreader 2.0 ;author Scott Adkins ;kill Spreader ; ;strategy By the use of copying some heavy-duty bombing programs to the ;strategy extremeties of the write limit, this program effectively bombs ;strategy 1100 memory locations quickly and thorougly. Just in case the ;strategy enemy program does not venture into this war zone, two bombing ;strategy programs are sent out into the core in opposite directions to ;strategy clean everything else out. ; length equ dst1-pest1+100 source equ dst1-src1+100 output1 equ -15 output2 equ 200 pest1 mov #length, count1 mov #source, src1 mov #output1, dst1 move1 mov scan2c mov bomb2, >scan2c mov bomb2, >scan2c mov bomb2, >scan2c mov bomb2, >scan2c scan2b djn scan2a, #50 mov #50, scan2b mov #1, scan2c scan2c jmp scan2a, #1 kill2a mov bomb2, >kill2i kill2b mov bomb2, >kill2i kill2c mov bomb2, >kill2i kill2d mov bomb2, >kill2i kill2e mov bomb2, >kill2i kill2f djn kill2a, #50 kill2g mov #50, kill2f kill2h mov #1, kill2i kill2i jmp kill2a, #1 bomb2 dat #0, #0 copy2 mov kill2a, 250 mov kill2b, 250 mov kill2c, 250 mov kill2d, 250 mov kill2e, 250 mov kill2f, 250 mov kill2g, 250 mov kill2h, 250 mov kill2i, 250 spl 241 jmp scan2a pest2 mov #length, count2 mov #source, src2 mov #output2, dst2 move2 mov Sender: news@athena.mit.edu (News system) Nntp-Posting-Host: m37-332-4.mit.edu Organization: Massachusetts Institute of Technology References: <58835@cup.portal.com> <1992May11.154401.2612@vlsi.polymtl.ca> Date: Mon, 11 May 1992 16:26:21 GMT Lines: 40 In article <1992May11.154401.2612@vlsi.polymtl.ca> dak@vlsi.polymtl.ca (Pierre Baillargeon (Hiv91)) writes: >ScottNelson@cup.portal.com (Scott - Nelson) writes: >[...] >: >: I once submitted a warrior with the intention that it get the >: LOWEST score. Since DAT #0 wins 25 battles (all against itself), the > > Now that's an idea ! The goal of KotH could be changed to be not the first >on the hill but the 5th or 10th ! You'd have to adjust carefully the >performance of the warriors... heheheheh I do that all the time. I tend to get stuck around 20th though... I can't figure out why my programs do so badly! I had one that just completely destroyed some programs, but got hosed by others. It's really weird. My current fave is this one: ;redcode ;name BANZAI TOO ;author Kenneth D. Miller III ;strategy I think this one's technically a "slaver". It turns out that ;strategy it bears a frightening semblance to Scissors88. Go figure. start add inc, a jmz start, @a slt #-12, a mov a, @a hit jmp start zot mov inc, Sender: news@athena.mit.edu (News system) Nntp-Posting-Host: m37-332-4.mit.edu Organization: Massachusetts Institute of Technology References: <58835@cup.portal.com> <1992May11.154401.2612@vlsi.polymtl.ca> <1992May11.162621.8044@athena.mit.edu> Date: Mon, 11 May 1992 16:36:29 GMT Lines: 28 Oops! I posted an old version! Here's the newer one: ;redcode verbose ;name BANZAI TOO ;author Kenneth D. Miller III ;strategy I think this one's technically a "slaver". It turns out that ;strategy it bears a frightening semblance to Scissors88. Go figure. start add inc, a jmz start, @a slt #-12, a mov a, @a hit jmp start, #start-1 zot mov inc, 1 Article 930 of rec.games.corewar: From: ajpierce@med.unc.edu (Andrew Pierce) Newsgroups: rec.games.corewar Subject: Crimp (new version) Message-ID: <1992May14.143128.12675@samba.oit.unc.edu> Date: 14 May 92 14:31:28 GMT Sender: usenet@samba.oit.unc.edu Organization: UNC-CH School of Medicine Lines: 39 Nntp-Posting-Host: salvo.med.unc.edu Here is the new version of Crimp. Basically, it is ClaMP, except incorporating the ideas from Crimp of the memory active djn and the fibonacci scanning pattern. The final kill routine has also been simplified such that there is one less executing instruction, which helps add robustness under damage. I have found that program complexity gets punished on KotH. I have also removed ClaMP from KotH. It is very similar to the Agony series of Stefan Strack, differing mainly in that Agony drops an spl carpet and ClaMP drops a spl/jmp combination. I feel that between Crimp and Agony, the category "cmp scanner" is pretty well represented, so I am giving the replicating programs a break. :-) To this end, I have also submitted a "dwarf killer" named Scizz, the source of which is in its ;strategy field. It does o.k. against scanning type programs, sux against replicators but does a real number on small, unintelligent dwarfs. By way of illustration, its record against Notepaper is 0/100/0, but its record against Dwarf Optima is 76/24/0. ;redcode verbose ;name Crimp ;author Andy Pierce ;strategy small cmp scanner ;strategy scan constant optimized ;strategy smaller ret add offset,start start cmp -284,-1 slt #15,start count djn ret,<6223 mov bomb1,@start mov bomb2, Date: 15 May 92 15:32:01 GMT Sender: news@klaava.Helsinki.FI (Uutis Ankka) Organization: University of Helsinki Lines: 21 Here is possibly smallest possible SPL-bomber w/ core clear. Even smaller than Armadillo... however the cost is speed and that's why this beast has never made it in koth. (actually I have made 3 line version of this but it could only have step of 2.) ;redcode ;name To Live Is To Die 3.5 ;author Jarkko Lindblad ;strategy SPL-bomber with core clear tappo MOV 4, <-1 start MOV bmb, @bmb SUB #5138, bmb ;this will be bombed bmb SPL -2, -998 END start -- Jarkko Lindblad lindblad@cc.helsinki.fi Article 943 of rec.games.corewar: Newsgroups: rec.games.corewar From: stst@vuse.vanderbilt.edu (Stefan Strack) Subject: Mutagen 2.1 Message-ID: <1992May17.020951.28695@vuse.vanderbilt.edu> Sender: news@vuse.vanderbilt.edu (News Manager) Nntp-Posting-Host: vuse2 Organization: Vanderbilt University School of Engineering, Nashville, TN, USA Date: Sun, 17 May 1992 02:09:51 GMT Lines: 39 BRRR, registers, interrupts, variable-length instructions ... Am I alone in thinking that the beauty of corewar lies in its simplicity? It's hard enough for someone who doesn't do assembly programming for a living to get started in this game as it is; so please, folks, don't make it even harder. While I think that KotH and the code exchange in this group has advanced the state of the art in redcode programming significantly, I believe there's still a lot out there to be discovered even within ICWS'88. A few _modest_ additions and rectifications of ambiguities are likely to open up new strategies; just consider what dramatic effect the relatively minor change in specifications from ICWS'86 to '88 had! Anyway, as the subject line says, I just wanted to share my latest KotH entry with you. "Mutagen 2.1" is a short linear bomber that decrements core as it goes to corrupt enemy code and distract scanners. -Stefan (stst@vuse.vanderbilt.edu) ;redcode verbose ;name Mutagen 2.1 ;author Stefan Strack ;strategy backwards bomber that also decrements B-fields ;strategy 2.0: more robust ;strategy 2.1: smaller, starts bombing away from self ;strategy Submitted: @date@ DIST equ 442 OFFSET equ -49 split spl 0 start mov Sender: news@iWarp.intel.com Nntp-Posting-Host: z.iwarp.intel.com Organization: Intel iWarp, Beaverton, Oregon, USA Date: Wed, 27 May 1992 00:44:17 GMT Lines: 121 OK, here's the source code to "Spider 1.1". It's currently #1 on the experimental hill by a pretty large margin. It's fairly long and fairly complex. ;name Spider 1.1 ;author Bill Shubert ;strategy Sit and wait. When the enemy approaches, strike with a small and ;strategy fast offense. ;strategy This is an attempt to demonstrate that an extremely complex and ;strategy long fighter can succeed in the experimental hill. Let's see how ;strategy it goes. ;strategy 1.1 mod: Spider gets bored eventually and goes on the offense. ;kill Spider ;This program operates by effectively doubling it's reach by using what I call ; "fangs". A fang is the following pair of instructions: ;fang mov bite,@bite ; jmp fang ;The variable "bite" is located very far away, and is modified by a cooperating ; process which is also very far away. By putting fangs in the path of ; attacking processes, it is possible to have a 2-instruction target size ; but still have a decent amount of intelligence. The main loop is at the ; label "spider". spider loops, looking for opponents arriving from either ; side. When it sees an opponent, it goes to a routine that throws a fang ; in from of the opponent and makes a few bombing passes. After the passes ; are done, hopefully the opponent is trapped and control transfers to a ; piece of code that clears the entire core. ;Lots of improvements could be made - a better "clear" routine, and ; especially a better routine to go to after boredom sets in. Adding code ; is not hazardous, since if an enemy gets close enough to hit my main ; chunk of code I've probably lost already anyway. And, of course, there's ; no reason that a fang-style offense couldn't be put on a mobile program. coresize equ 8000 wdist equ 250 bspace equ 17 ;How far apart to but the bombs. bpasses equ 5 ;Number of bombing passes before giving up. passlen equ wdist * 2 / bspace ;Number of bombs per bombing pass. patience equ 150 ;Number of times to look for enemy before ; getting bored and going offensive. lofang equ loatt - wdist ;Position for low fang. lohit1 equ lofang - wdist + 1 ;Position for first low bomb. hifang equ hiatt + wdist ;Position for high fang. hihit1 equ hifang + wdist ;Position for first high bomb. loatt mov lokill1,lofang ;Move the lo fang to attack position. mov lokill2,lofang+1 spl lofang ;Start it running. loattl1 add bmov,lobomb ;Move the bomb. loattl2 djn loattl1,#passlen ;Jump back. mov #passlen,loattl2 add breset,lobomb ;Pass over; adjust position. djn loattl1,#bpasses mov locb,lobomb ;Passes over; first kill fang... jmp clear ; then start clearing core. locb dat #lofang-lobomb clfrom equ clbomb clto equ cllpc cljd equ -199 hicb clbomb dat #hifang-hibomb clear mov clbomb,clend-cljd ;Make sure the old "clear" is no good. mov #-cljd+20,cllpc ;Reset the clearing loop counter. mov #0,clbomb ;Reset the bomb location. cllp mov clbomb,locmp,cmpspot jmp loatt ;Enemy approaching from lo end! cmp Date: 27 May 92 10:35:45 GMT Organization: Glasgow University Computing Science Dept. Lines: 28 The code for a program just submitted. ;redcode verbose ;name SimpleScan 2 ;author Campbell Fraser ;strategy +------------------------------+ ;strategy | Program posted to net. | ;strategy +------------------------------+ LEN equ 9 NEXT add INC, POS POS cmp -2, 3998 EXIT slt #LEN, POS jmz NEXT, Sender: news@usenet.ins.cwru.edu Nntp-Posting-Host: cwns1.ins.cwru.edu Organization: Case Western Reserve University, Cleveland, Ohio, (USA) Date: Thu, 28 May 92 06:05:46 GMT Lines: 30 My ImpBreed has been slain. Here's the code: ;redcode-x verbose ;name ImpBreed-x 1.0a ;author Jonathan Roy ;strategy A glorified imp. Breeds a special type of ImpLance. ;strategy 1.0a: One line/instruction shorter. start MOV 1,20 MOV 0,10 MOV 0,10 MOV 0,10 MOV 0,10 MOV 0,10 MOV 0,10 MOV 0,10 MOV 0,10 MOV 0,10 SPL -10 END ;kill I'm still trying to construct a SuperImp with a weapon. Oh well. I'll resubmit ImpBreed in a few days and try sneaking back on. (^= ||| Jonathan Roy (The Ninja) Internet: as666@cleveland.freenet.edu ||| -- BBS: Darkest Realm - (Down for now) - Public UUCP/Usenet -- / | \ "...make him want to change his name,take him to the cleaners, devastate him, wipe him out, humiliate him." -CHESS GEnie: J.ROY18 Article 1021 of rec.games.corewar: From: kv07@IASTATE.EDU (Warren Vonroeschlaub) Newsgroups: rec.games.corewar Subject: Impdwarf Message-ID: <1992May29.090647@IASTATE.EDU> Date: 29 May 92 14:06:47 GMT Article-I.D.: IASTATE.1992May29.090647 Sender: news@news.iastate.edu (USENET News System) Reply-To: kv07@IASTATE.EDU (Warren Vonroeschlaub) Organization: Ministery of Silly Walks Lines: 54 Impdwarf did not do too well on the x-hill (it crawled up to #15 at it's peak). The main problem being that if the copy fails the program ends up killing itself. I tried to adress this problem in 2.0, but other problems cropped up keeping in off the hill altogether. The code is ;redcode-x ;name ImpDwarf 1.0 ;author Warren Kurt vonRoeschlaub ;strategy It's the Imp that acts like a Dwarf ;strategy Slightly more prolific than original start spl 1 source spl 1 go mov #(1+dest-source),source cloop mov