From news-rocq.inria.fr!univ-lyon1.fr!jussieu.fr!math.ohio-state.edu!howland.reston.ans.net!swrinde!newsfeed.internetmci.com!in2.uu.net!spcuna!news.stormking.com!morrell@math.utah.edu Mon Dec 11 12:52:38 1995 Article: 3267 of rec.games.corewar Path: news-rocq.inria.fr!univ-lyon1.fr!jussieu.fr!math.ohio-state.edu!howland.reston.ans.net!swrinde!newsfeed.internetmci.com!in2.uu.net!spcuna!news.stormking.com!morrell@math.utah.edu From: "Steven C. Morrell" Newsgroups: rec.games.corewar Subject: Frontwards v2 (maybe) Date: 9 Dec 1995 03:02:44 -0500 Organization: Storm King Ind. Inc. Lines: 127 Sender: server@news.stormking.com Distribution: world Message-ID: Reply-To: morrell@math.utah.edu NNTP-Posting-Host: valhalla.stormking.com Originator: corewar-l@stormking.com Here is my round 8 warrior, currently on the big hill. I would have posted the '94 version except posted scanners have a bad habit of dying. Modify a few constants to get the small version. A few notes: 13 is a very good step size for the big hill. Not only is it mod 1 and a likely size for enemy programs, but it is also an optima number, if I recall correctly. Without a graphical simulator and just a couple of big hill enemys to test against, I tried to calculate all the optimizations. I don't seem to have gotten the second one right, so it only scans through core once without finding anything before dropping into the core-clear. You may be able to spot deep in the decoy 1) coreclear stuff 2) the boot code 3) the scanning/coreclear engine. If you have a keen eye, you may even be able to see where I stored the constant to add to the scanning pointer. The coreclear has been modified to kill theMystery-type imprings, but it also seems to be good Tornado defense. I gave up some defense against paper this way, but it seems to have come out in the balance. ;redcode-94x verbose ;name Frontwards v2 ;author Steven Morrell ;strategy One-shot/two-pass ;assert CORESIZE == 55440 ;assert VERSION >= 80 ; (55440-offset) mod 13 = 0 (align the decoy with the ; warrior) ; (55440-(first-stream)) mod 26 is in [14,25] (don't bomb the stationary ; end of the djn stream) ; (55440-(first-stream)) mod 27 is in [13,0] (don't bomb the moving end ; of the djn stream) ; first mod 13 = 1 (scanner will look at cc+1, ; etc.) ; (55440-(first-lead instruction)) mod 26 is in [0,12] ; (don't bomb the front of ; the decoy) ; (55440-(first-lead instruction)+200) mod 26 is in [1,13] ; (don't bomb the back of ; the decoy) ; 55440+909-2224 = 54125 mod 26 = 19 ; mod 27 = 21 ; lead instruction = -159 from cc ; 55440+909+159 = 56508 mod 26 = 10 ; 200 mod 26 = 18 step equ 13 offset equ 1009 stream equ (cc-1925) first equ (cc-offset+100) ;=-909 ; stp equ nop org boot stp.b @1,{1 stp.b @1,}1 stp.ab *1,{1 for 12 stp.ab #1,{1 stp.ab #1,}1 stp.b #1,{1 stp.b #1,}1 stp.ab 1,{1 stp.ab 1,}1 stp.b 1,{1 stp.b 1,}1 stp.ab @1,{1 stp.ab @1,}1 stp.b @1,{1 stp.b @1,}1 stp.ab *1,{1 rof p dat #first,{first+step dat #31,{-1 dat #31,{-2 stp.b #31,{-3 cc spl 31,stream-4264 stp.ab 1,}1 boot mov top+5,top+offset+5 for 5 mov {boot,