From news@stormking.com Sun May 1 01:57:28 1994 Received: by stormking.com with UUCP id AA10617 (5.65c/IDA-1.4.4 for cbx.rec.games.corewar); Sun, 1 May 1994 00:38:31 -0400 Path: valhalla.stormking.com!speedway.net!news.world.net!news.sprintlink.net!hookup!news.kei.com!yeshua.marcam.com!usc!howland.reston.ans.net!vixen.cso.uiuc.edu!newsrelay.iastate.edu!dunix.drake.edu!acad.drake.edu!pk6811s From: pk6811s@acad.drake.edu Subject: Torch! Message-Id: <1994Apr30.195728.1@acad.drake.edu> Lines: 110 Sender: news@dunix.drake.edu (USENET News System) Nntp-Posting-Host: acad.drake.edu Organization: Drake University, Des Moines, Iowa, USA Date: Sun, 1 May 1994 01:57:28 GMT Apparently-To: cbx.rec.games.corewar@stormking.com Finally, Torch is the '94 fighter I envisioned, currently holding 2nd place on the Pizza-94 hill :-) So, it's time to post the source. Torch uses a bombing strategy that seems to be possible ONLY under the 94 rules. I tried working it out without post-increment and could only make it happen with a spl-minus-one, and that was unattractive for other reasons. Yes!! The incendiary bomb returns!! For those not familiar with that crazy thing, it looked something like this: spl 0,8 mov -1,<-1 When dropped on the enemy it caused him to create a spl-zero carpet in front of himself. I called it the incendiary bomb because it burns paper very nicely. Those multiple processes would hit the mov and the carpet would be instant. Unfortunately, it was too unreliable. The spl part would end up on a location someone was incrementing and their processes would go all over core, or the mov would get damaged somehow before execution. Plus the mov couldn't serve double-duty as the core-clear line like the spl-jmp bombers were doing with their jmp. The new IB looks like this: sm mov sp,>sp ... <- step-size - 1 spaces sp spl #0,tgt-(step*count) ; | these 3 execute in reverse order! msp mov sp,@msm ; | tgt djn.f in,>3157 ; gets bombed with spl to start clear clr mov gate,<-13 cp djn.f clr,>3 ; forward decrement while clearing for 32 dat 0,0 rof sm mov @0,>step ; mov half of the incendiary end sp That djn> while clearing serves three purposes. First it makes the clear go faster, then it forward-decrements - crippling some opponents until the clear gets around, AND it is very handy for crippling any replicators that get past the clear. Plus it is nifty to watch on screen :-) Notice that the gate is designed to provide a perfect-gate even while processes are dying where the djn was. I discovered I was losing wins when the imps overran the gated location if large numbers of my processes were still dying at 'cp'. Paul Kline pk6811s@acad.drake.edu