Article 1428 of rec.games.corewar: From: macaulay@ecr.mu.oz.au (Alex MacAulay) Newsgroups: rec.games.corewar Subject: Rings on the X-Hill Message-ID: <9229922.4368@mulga.cs.mu.OZ.AU> Date: 25 Oct 92 11:56:04 GMT Sender: news@cs.mu.OZ.AU Organization: Dept. Engineering Computer Resources, Melbourne Uni. Lines: 57 Although IMPire is no longer on the regular Hill, it lives on in the X-Hill. A few days after IMPire was posted, I sent off Impirex which was just a copy of IMPire with a step size of 127, the only step I could find that was suited to the 250 write limit, and 3 processes at each point. I was hoping that the results would be even more spectacular than IMPire due to the fact that to beat it, you not only need to hit a point immediately before it executes, but you also needed to be within 250 locations of it at the same time. Unfortunately it only made it about half-way up the hill. :-( Although it had the lowest loss percentage (less than 20%) on the hill, it tied almost every time with replicators. Unfortunately, you can't write a simple stone for the X-Hill, so it may be difficult to convert these ties into wins. I recently replaced Impirex with Springer 1.0 which creates more and more ring processes and has a different method of starting the rings up. Although this method is slower, it does not need a massive, vulnerable jump table. Has anyone found an even better way of doing this? The other thing to note is that the 'top' imp in the ring is helped along by the main program (so, strictly, it's not really a ring). Here is Springer 1.1, which I have just sent off: ;redcode-x verbose ;name Springer 1.1 ;author Alex MacAulay ;strategy A ring "replicator". ;strategy 1.1 - smaller step equ 247 offset equ -126 start spl 0,>spread helpimp mov imp,imp+offset+3 spl 1,>helpimp spl 1 spl 1 spl 1 spl inc spread jmp @spread,#imp+offset inc add #step,spread dat 0,0 imp mov 0,step end start If you would like to test this out but don't have post-increment, it still works if you replace the three instructions from 'start' with: start spl 0 add #1,spread helpimp mov imp,imp+offset+3 add #1,helpimp spl 1 -- Alex MacAulay (macaulay@ecr.mu.oz.au)