From news-rocq!jussieu.fr!freenix!isdnet!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!voyager.nildram.com!news.new-york.net!news.ttsg.com!jpihlaja@cc.helsinki.fi Sun Feb 20 19:24:32 2000 Article: 11214 of rec.games.corewar Path: news-rocq!jussieu.fr!freenix!isdnet!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!voyager.nildram.com!news.new-york.net!news.ttsg.com!jpihlaja@cc.helsinki.fi From: M Joonas Pihlaja Newsgroups: rec.games.corewar Subject: Origami Harquebus Date: 18 Feb 2000 10:35:21 -0500 Organization: TTSG Lines: 186 Distribution: world Message-ID: Reply-To: jpihlaja@cc.helsinki.fi NNTP-Posting-Host: odin.ttsg.com X-Trace: odin.ttsg.com 950888121 12062 216.231.111.29 (18 Feb 2000 15:35:21 GMT) X-Complaints-To: abuse@news.ttsg.com NNTP-Posting-Date: 18 Feb 2000 15:35:21 GMT Originator: corewar-l@koth.org Xref: news-rocq rec.games.corewar:11214 I was going to wait until roth (later origami harq) was definitively kicked off king spot, but after preaching about code publishing I have no excuse any more. The new challengers are pushing the score down so it probably wouldn't have taken long anyway. (Nowadays age 17 is almost like age 50?). Everyone, please feel free to publish any warriors you might have in the back of your closet. I got inspiration after reading John Metcalf's artcle in CW 75 about the creation of nPaper II (a great article btw; explains in depth, not only how, but /why/ things were changed, and the mechanics of creating a successful warrior -- something not seen often in a 'upgrading a beginner's warrior' article). If it was possible to create paper that does so well against imp/stones, then surely it must be possible against scanners. Of course, what came to mind immediately was the mythical Fixed paper and silk/imps. Determined to use silk/imps I started looking over different paper structures and started testing against incendiaries and scanners. How many processes should it have? Should it be a looping paper, a 'pure' silk (only spl/mov pairs), or use the Timescape engine? The silkimp would follow the main paper body. Looping papers gave good results against the incendiaries. I later learned that when the spl part of the incendiary falls inside the loop, it creates a tiny silkimp pump making life miserable for the bomber. On the other hand, looping paper was stunned more severely than the other forms. Unfortunately I can't exactly recall why I chose the Timescape engine over the pure silk copycopycopy. It's not obvious to me atm, anyway. BTW, apparently reducing the number of processes and using a spl/mov/mov copier at the top could give better results against the scanners that fall through the cracks. I optimised the paper against a set of mostly Blurish scanners, two incendiaries, and two HSA's using a computer. For a long time it was unable to come up with good constants against some .f scanners that scan all of core, which was really hurting against Recycled Bits. I finally noticed a loophole in those scanners that I could exploit. So I restricted the search space with good results. Incidentally, when doing automated searches for constants you should give some consideration to the size of the search space. You want to balance it between too narrow where good'uns aren't, and too large where they are too rare to find. How'd you know what's just right, then? "The answer to your question would cut into our lecture. Please see me during my office hours". (or in other words, I don't know). When Kline told everyone to publish their on-hill warriors last fall, a lot of first rate code got out into the open. Awakening from my CW slumber, I was surprised at the number of paper/imps on the hill and remembered Harquebus. The important bit is it featured a tuned minihsa which performs reasonably well against most papers. If there ever was one, this was a time to bring out old Harq's hsa -- it would eat the paper/imp's for, well, a heavy meal at the least. As a plus the minihsa does ok against imp/stone's too. The most difficult papers for this minihsa are like No More Innocuous. The paper's step size and low process count interact together with the scanner's step to allow a few small hoppers to survive even if the paper is otherwise stunned. The result: dat wiping starts --> hoppers kill minihsa 120/20/60. Initially I thought that a fast switching policy would be good, so I used the 4-line SOL/(fixed state on tie) brain, but the minihsa wasn't getting enough trials at imp/stones and papers, so in the end I settled for switching on two consecutive losses or ties. It's a lot bigger now though, having to use tables and things. Overall the two components fit well together as they cover most strategies fairly well. There are a number of serious shortcomings in the tactics which now are exposed, so roth probably won't survive very long. Enjoy, Joonas ;redcode-94 ;name Origami Harquebus ;strategy I've got an Harquebus... ;strategy ...fabricati diem, pvnc! ;strategy scanner/paper ;author mjp ;assert 1 load0 z for 0 rof len equ 10 ;========= ; paper ; pdist equ 2300 d1 equ 1137 ;4431 ;1137 ;4583 ;1354 d2 equ 4372 ;3151 ;4372 ;3462 ;6277 i1 equ 5380 ; ; ; ; pap nop 0 , 0 spl 1 , <1 jmn -1 , #1+2+4 spl @0 , }-d1 mov }-1 , >-1 spl @0 , }-i1 mov }-1 , >-1 mov {-2 , <1 spl @0 , >d2 mov.i #2*i1 , }-i1 z for 28 dat 0,0 rof ;============ ; Mini-HSA ; sdist equ 1900 slen equ len ptr equ (bspl-6) top bspl spl #1 , }1 wipe mov bspl , ptr , >ptr jmn.f wipe , >ptr add #7+1 , @pptr scan jmz.f -1 ,