Article 3031 of rec.games.corewar: Newsgroups: rec.games.corewar Path: news.cs.utah.edu!utah-morgan!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!llyene!jlayland From: jlayland@kilroy.jpl.nasa.gov (James Layland) Subject: One-line DJN vs. '94 Hill Message-ID: <1994Jun16.185211.3565@llyene.jpl.nasa.gov> Sender: news@llyene.jpl.nasa.gov Organization: Jet Propulsion Laboratory, Pasadena, CA USA Date: Thu, 16 Jun 1994 18:52:11 GMT Lines: 56 After seeing Karl Lewin's post, I submitted a one-line warrior to the hill: djn.f #55, <-55 ;numbers chosen for no good reason In case anyone but me was curious, here are the results. Clearly, the DJN can not kill anything which has a SPL/JMP/DJN #xx instruction. It is a perfect gate, so can not be killed by an imp. It is small enough that it is likely to survive many bombing runs which are not followed by a core clear. Scanners are obvious candidates to succumb to this, and the DJN wins roughly 50% against the 3 scanners on the hill. However, it also does fairly well against 5 other warriors, including a couple gate-busting spirals, a quickscan/stone, a vampire, and (as Paul mentioned) Torch. (I don't have code for Torch, but I assume it can not be self-splitting and maintain reliable timing to use incendiary bombs-- SPL-JMP bombers have the same problem.) Cannonade, Sauron, and Aleph 0 use an extra-extra stone with a SPL -1 instead of a SPL #x, so they can be killed by the DJN.F. Perhaps Aeka has the same problem? I am not sure why Stimpy (A/B field SPL-JMP scanner from ;strategy) fares so much better than the conventional CMP-scanners. One possibility would be if the JMP in the main loop could be decremented once and still point to executable code (i.e. bombing routine is before scanner instead of after). I am not sure if I learned much from this, other than perhaps realizing the vulnerability of extra-extra stones to '94 DJN streams. Too bad, I always liked having easily predictable execution order in a self-splitting program. If anyone is interested, here is a complete list of scores. Rave 4.1 56-44-0 (rave wins 56, DJN wins 44, 0 ties) Dragon Spear 53-47-0 Iron Gate 1.5 48-52-0 Sauron v6.0 37-49-14 Aeka 48-52-0 Cannonade 61-39-0 Torch t3 43-37-10 Christopher 28-37-35 Stimpy v2.0 78-22-0 Aleph 0 49-13-38 test 43-4-53 NC 94 27-0-73 Blue Funk 23-0-77 B-Panama IX 74-0-26 Keystone t33 41-0-59 Request v2.0 30-0-70 Pyramid v5.5 88-0-12 mmfP v2 96-0-4 Insight v1.0 100-0-0 Lucky 3 100-0-0 -- James Layland jlayland@grissom.jpl.nasa.gov Article 3032 of rec.games.corewar: Newsgroups: rec.games.corewar Path: news.cs.utah.edu!utah-morgan!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!llyene!jlayland From: jlayland@kilroy.jpl.nasa.gov (James Layland) Subject: Re: One-line DJN vs. '94 Hill Message-ID: <1994Jun16.204152.5124@llyene.jpl.nasa.gov> Sender: news@llyene.jpl.nasa.gov Organization: Jet Propulsion Laboratory, Pasadena, CA USA References: <1994Jun16.185211.3565@llyene.jpl.nasa.gov> Date: Thu, 16 Jun 1994 20:41:52 GMT Lines: 33 Following up my own article... In article <1994Jun16.185211.3565@llyene.jpl.nasa.gov>, James Layland wrote: >I am not sure if I learned much from this, other than perhaps realizing >the vulnerability of extra-extra stones to '94 DJN streams. Too bad, On second thought, this is not likely to be a big factor against a real warrior program. The "advantage" of a stone using SPL #x vs. SPL -1 is that the former can withstand being continually decremented by a DJN.F, while the latter will eventually be killed. In either case, however, the result after one pass by a DJN stream is an impotent program, which can easily be killed by a coreclear. The SPL #x will pick up extra ties only when the enemy coreclear has been destroyed. While this is nice, it is hardly likely to be a major design criterion. Actually, it may be better for the stone to die as soon as it becomes useless because of decrementing. If the warrior has other components which are still functional, the cycles spent in an incapacitated bombing loop could be better spent elsewhere. One other comment-- in standard bombing loop architectures, after a single pass by a DJN, a loop with a SPL #x begins accumulating cycles faster, while a loop using SPL -1 stops accumulating cycles after a single DJN pass (and dies on the second). Of course the SPL -1 loop accumulates cycles much faster before being decremented, so I'm not sure what to conclude from all this... -- James Layland jlayland@grissom.jpl.nasa.gov