Article 2469 of rec.games.corewar: Path: hellgate.utah.edu!caen!math.ohio-state.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!news.sei.cmu.edu!bb3.andrew.cmu.edu!andrew.cmu.edu!mn2f+ From: Michael N Nonemacher Newsgroups: rec.games.corewar Subject: Genocide Date: Mon, 14 Feb 1994 11:33:19 -0500 Organization: Freshman, MCS general, Carnegie Mellon, Pittsburgh, PA Lines: 156 Message-ID: NNTP-Posting-Host: andrew.cmu.edu This is a classic case of overdoing a good thing. My initial strategy was to make a few changes to Killer Instinct (Anders Ivner), to make it able to kill spl/jmp bombers & paper. Unfortunately, it got too complex. The basic strategy is the same: start a small bomber which scans through core linearly, hoping to find anything the other warrior is throwing out there. The bomber will not find anything against scanners, and it should be quick enough to kill them before it is found (most of the time). When I find something, I subtract it from itself, and compare to core. If it's equal to core, I either found a decrement (probably from some type of stone), or the end of a paper. To decide if I found paper, I just check if FOUND-3 is zero. Since there aren't any mod-3 bombers out there, this is pretty safe. If it's zero, I launch anti-imp paper. If not, I start a 2-pass coreclear. On the other hand, if what I found doesn't compare to core, I first check to see if it's an imp, by comparing to "mov 0, 0". If it is, I start a 2667-spiral stun, and start paper. If not, I assume spl/jmp bomber or vampire. I copy another small bomber (mod-4, with coreclear) to what I found, and start it. This will take care of any spl/jmp bombers. Then, if FOUND-1 is zero, I start a quick anti-vamp. This scans linearly (again) till it finds a fang, then bombs 11 locations on either side of the vampire's trap. At worst, this will wipe out the trap, leaving my bomber to take care of the vamp. But, against most vampires, this also kills the fang-bomber. The bomber eventually clears core, and ends up in a gate, to kill any vamp-spirals. The problems with this strategy are: 1. Against paper, it often finds a paper in the process of being copied, or that has not been started yet. In this case, I launch a small bomber, which doesn't have a chance. 2. It takes too many lines of code to correctly analyze FOUND. Against many imp-spirals, especially Night Crawler, I've been bombed too much to do anything by the time I find something. 3. Against a vampire that positions its trap far away from the rest of its code, I have to rely on my bomber. If my bomber gets hit, I'm finished. 4. For some reason, I suffer 70-90% losses against Match Stick. Against the published version, it's something like 30-40-30, but as for the one on the hill... Incidentally, the current version of Genocide doesn't detect paper, and contains a slight delay before the paper if it finds an imp. This should give the spiral-stun a little better chance... Anyway, without further BS... ;redcode ;name Genocide ;author Mike Nonemacher ;strategy Simpler is better. ;kill Genocide STEP EQU -3510 ;Initial bomber is mod-10 SBOOT EQU 1562 ;Distance to boot bomber FOUND EQU start+SBOOT-1+STEP ;Points to what my Bscan found SJINC EQU 3044 ;increment for anti-SPL/JMPer TIMER EQU 790 ;When Bscan finds this, launch paper CORE EQU ksj2-1 ksj2 mov @-2, 1 ksj3 djn -2, #1999 ksj5 mov @20, <-2 start mov s4, SBOOT mov s3,