From news-rocq.inria.fr!jussieu.fr!math.ohio-state.edu!howland.reston.ans.net!newsfeed.internetmci.com!newsxfer2.itd.umich.edu!news.itd.umich.edu!stimpy.us.itd.umich.edu!not-for-mail Fri Apr 5 13:52:29 1996 Article: 4692 of rec.games.corewar Path: news-rocq.inria.fr!jussieu.fr!math.ohio-state.edu!howland.reston.ans.net!newsfeed.internetmci.com!newsxfer2.itd.umich.edu!news.itd.umich.edu!stimpy.us.itd.umich.edu!not-for-mail From: afabbro@stimpy.us.itd.umich.edu (Andrew Philip Fabbro) Newsgroups: rec.games.corewar Subject: Three Core Monty (and a Question) Date: 4 Apr 1996 20:19:10 GMT Organization: University of Michigan Lines: 59 Message-ID: <4k1aru$e1j@lastactionhero.rs.itd.umich.edu> NNTP-Posting-Host: stimpy.us.itd.umich.edu X-Newsreader: TIN [UNIX 1.3 950824BETA PL0] Three Core Monty will probably die of old age over the weekend...as my first warrior to make it on the beginner's hill (much less die!), I'm posting the code. It peaked (briefly) at 9th place and mostly hung out in the low teens. Nothing particularly fancy...a simple transposing stone. ...indeed, nothing particularly *new*. Which brings up a question: how much modification to an archive warrior do you have to do before you can call it "yours"? I took Matthew Householder's "Stone" and optimized the constants, added a boot & decoy, and gave it two in-line processes. The 4-line engine is unchanged. It does do much better than the original stone. Since this was a "learning" warrior rather than a serious thump-my-chest-and-laugh-at-you warrior, I'm not really concerned with the ethical quandries, but I'd be curious to hear others' opinions... (Another important question: how badly should one be beaten for putting horrible puns in warrior names?) ;redcode-b ;name Three Core Monty ;author Andrew Fabbro ;version 1.0 ;strategy transposing stone ;strategy based on Matthew Householder's "Stone" ;contact afabbro@umich.edu ;assert CORESIZE==8000 magic EQU 3364 ; mod-4 start SPL 0 ; * start 2 processes loop MOV <2, 3 ; ADD ptr, loop ; JMP loop ; B-field is not available DAT #0 ; * ptr DAT #-magic,#magic ; boot MOV start, start+2666 MOV loop, start+2667 MOV loop+1, start+2668 MOV loop+2, start+2669 MOV loop+3, start+2670 MOV loop+4, start+2671 JMP @boot decoy FOR 85 DAT boot+1,