From mpn@ifm.liu.se Sat Jul 6 17:24:37 1996 Received: by couchey.inria.fr (5.57/Ultrix3.0-C) id AA14350; Sat, 6 Jul 96 17:24:37 +0200 Received: from ifm.liu.se (root@ifm.liu.se [130.236.160.6]) by nez-perce.inria.fr (8.7.1/8.7.1) with ESMTP id RAA06731 for ; Sat, 6 Jul 1996 17:24:34 +0200 (MET DST) Received: from [130.236.16.5] (pool5.lidac.liu.se [130.236.16.5]) by ifm.liu.se (8.7.5/8.7.3) with SMTP id RAA08573; Sat, 6 Jul 1996 17:20:29 +0200 (MET DST) Date: Sat, 6 Jul 1996 17:20:29 +0200 (MET DST) X-Sender: mapau@ifm.liu.se Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: bezzi@iol.it, bremermr@cartoon.ecn.purdue.edu, kurt@protector.lovett.rice.edu, Damien.Doligez@inria.fr, birk@mpia-hd.mpg.de From: mpn@ifm.liu.se (Magnus Paulsson) Subject: myVamp 5.4 Status: R If you want, publish it in Corewarior, you can remove the comments above the code or you can rewrite it or whatever ...... -Magnus ps. I've sent it to Beppe, Franke and Myers (and to Planar and Kings Chair) since I can't remember who is going to write Corewarior. ds. ************************************************** Hi there, thought I should publish myVamp 5.4 now that it has been on (I mean near, that fu..ing Blur and Miro!) top for a while, and when I'm at it, I might as well write a lot of rubbish :-) myVamp 3.7's engine was like this: fang jmp *trap,0 next add.f step,fang mov.i @0,@fang jmz.a next,*fang mov.i fang,*fang mov.x *fang,*fang jmp next It also had a spl/spl/dat coreclear and boot. When I had optimized 3.7 I thought that there wasen't anything more to improve, how wrong I was! After a while I learned a much better coreclear that was a lot better and faster while still as small : ptr dat.f 0,0 dat -20,20 dat -20,20 cclear spl #-20,20 mov.i @bmbp,>ptr mov.i @bmbp,>ptr djn.b -2,{cclear I tried to get this coreclear into myVamp 4.? several times but the result was always worse than 3.7, very anoying.... Then came Stepping Stone by K.Franke which improved myVamp removing the unnessesary "mov.x *fang,*fang" (egg on my face, having a line of code that isn't realy needed!) and now Stepping Stone is the leader (competitive thinking, can't stand that someone else wrote a better vampire, but I will get past SteppingStone in the hall of fame this authum (Praing for it at least)). Then came d-clear (my first favorite on the naming, the second is: the clear that is VERY god against imps and stones and scanners but VERY bad against papers, tctiVgaiasasbVbap?) and that was that thing that got me started with myVamp5.0. I'm sure that everyone playing (? ARE WE PLAYING ?) Corewar has some inferior complex against some of the wariors, my favorite complex is Torcht18 which beats myVamp3.7, this brings me to the second improvement in myVamp5.0, the ability to take a hit of a spl bomb (YES, myVamp now beats Torch!!), this give 4-5 points against my test series (se below)! fang jmp *trap+st,-st check dat.f 0,0 ;******* dat.f 0,0 ptr dat.f 0,100 dat.f 0,0 dat.f 0,0 jmp cclear next add.f step,fang ;The engine from SteppingStone start mov.i @0,>fang jmz.a next,*fang mov.i check ;******* step spl #st,-st-1 ;d-clear cclear mov.i bmb,>ptr djn.f cclear,>ptr Look at the lines marked with *******, normal operation is timed to work like normal, if there is a hit with a spl bomb the timing will be off and the d-clear will be executed. There is some thought put into the engine and clear that makes the d-clear execute if a djn stream overruns the code. The above warior(?) "drops like a stone" against paper, because of the d-clear. This made me put in a spl/spl/dat clear that is only run when myVamp has catched something. This increases the score against papers and lowers it against stones. Then I had some trouble with one-shot scanners and I added a decoy maker since there is a lot of code to boot. I still don't lose to q-scans but my luck might run out ... To test my wariors I've written the ugglies unix script ever (I'll mail it to anyone who wants a realy god laugh) that runs 100 battles against the 17 wariors below. Armory-A5 Impfinityv4g1 SteppingStone Twister Chameleon Jackinthebox T.N.T..tx YogiBear thehistorian Frontwardsv2 NightTrain ThermiteII bluecandle GemOfTheOcean Rosebud Torcht18 stoninc myVamp 5.4 : 154.5 Stepping stone : 145 myVamp3.7 : 133 And finaly after all the talk about how good I am here is myVamp5.4: (If you did understand any of the above congratulations, I reread it and it's not very pretty with a lot of weird () comments). -Magnus Paulsson ************************************************************ ;redcode-94 ;name myVamp5.4 ;author Paulsson ;strategy 5.0, Chasing SteppingStone ;strategy 5.1, Spl/Spl/Dat CoreClear ;strategy 5.2 small changes, + some points... ;strategy 5.3&4 Decoy, small changes ;strategy July, 1996 ;kill myVamp ;for Planar, vamp,scan,coreclear,decoy(?) st equ 912 org decoy trap jmp pit,#0 dat.f 0,0 dat.f 0,0 dat.f 0,0 dat.f 0,0 dat.f 0,0 dat.f 0,0 dat.f 0,0 fang jmp *trap+st,-st ;hit check dat.f 0,0 dat.f 0,0 ptr dat.f 0,100 dat.f -20,0 dat.f 0,0 jmp cclear next add.f step,fang start mov.i @0,>fang ;scan jmz.a next,*fang mov.i check step spl #st,-st-1 cclear mov.i bmb,>ptr djn.f cclear,>ptr dat.f 0,0 dat.f 0,0 ;hit dat.f 0,0 dat.f 0,0 dat.f 0,0 dat.f 0,0 dat.f 0,18 bmb dat.f 0,18 for 32 dat.f 0,0 rof ptr2 dat.f 0,20 dat.f 0,20 ;hit dat.f -10,20 dat.f -10,20 cclear2 spl #4000,20 mov.i @2,>ptr2 mov.i @1,>ptr2 djn.b -2,{cclear2 dat.f 0,0 dat.f 0,0 stop2 jmp cclear2-stop,stop offsA equ (start-4000) offsB equ (start-2005) stepD equ 127 decoy mov