From corewar-l@stormking.com Mon Apr 22 23:48:58 1996 Received: by couchey.inria.fr (5.57/Ultrix3.0-C) id AA06387; Mon, 22 Apr 96 23:48:58 +0200 Received: from uu3.psi.com (uu3.psi.com [38.145.250.2]) by nez-perce.inria.fr (8.7.1/8.7.1) with SMTP id XAA21182 for ; Mon, 22 Apr 1996 23:48:56 +0200 (MET DST) Received: by uu3.psi.com (5.65b/4.0.940727-PSI/PSINet) via UUCP; id AA29165 for ; Mon, 22 Apr 96 12:54:07 -0400 Received: from (server@localhost [127.0.0.1]) by valhalla.stormking.com (8.6.12/8.6.12) with SMTP id QAA21049; Mon, 22 Apr 1996 16:23:33 -0400 Date: Mon, 22 Apr 1996 16:23:33 -0400 Message-Id: <4lg21r$9vn@sparcserver.lrz-muenchen.de> Errors-To: tuc@stormking.com Reply-To: guenzel@extern.lrz-muenchen.de Originator: corewar-l@stormking.com Sender: corewar-l@stormking.com Precedence: bulk From: guenzel@extern.lrz-muenchen.de (Bjoern Guenzel) To: Multiple recipients of list Subject: x-frog X-Listprocessor-Version: 6.0b -- ListProcessor by Anastasios Kotsikonas X-Comment: Usenet News "rec.games.corewar" Here is x-frog, my only scanner that actually manages to kill papers (at least in most cases, for some kinds the incendary is too slow). It didn't make the pro-hill - now I really don't have any ideas left how I could improve my scanners. If somebody could give me a hint on x-frog, I would be happy. It bombs it's own djn-stream at times, I wonder if it would be worth a try to remove this failure? It scores around 125.5 wilkies. I wonder what might be necessesary to surpass this 'magic border'? I still like x-frog, because I think I really have discovered a clever solution for the 'flip' - attacking both scanned locations and resetting the pointer after the attack. It didn't help me... How could my scanner be improved? Or is it just that the classic kind of scanners can't survive on a modern hill? I can't imagine how the attack could be faster, except using a totally different scanning concept. Do modern scanners have to bomb/scan simultaneously? I think mirage is great, but it is a totally different concept, and fairly unique. I don't want to just copy anything... x-frog kills marcia13,time and paperone almost as good as memories, so I don't think it's just the disadvantage of the incendary? I just tried to make a small change, and forgot to add the decoy to the new version. That one scored only 107 wilkies - I wonder if it was due to a mistake, or does the decoy make so much difference? Here are some ideas I had while working on my scanner, most of them I haven't tried because I don't believe in my scanner any more. Any suggestions would be great, for at the moment I really don't know what else I could do (just wrote a scanning vampire -> fast attack, but it doesn't kill papers, so that's not the solution, either :-( ) A) Here are all the switches that came into my mind (dist = dist between scanned locations): 1) The most universal is obviously the 'sub-switch', similiar to the one from memories - I didn't understand that one at first because I didn't realise that memories uses a different scanning pattern, so I 'developed' my own variant: Swaps the scanned locations, can easily be used to modify the pointer sub.f reset,ptr reset dat #dist,#-dist 2) The one I used in x-frog, but it can only decrement (or increment(?)) the ptr, so you can't throw many bombs. 3)a scanning engine like that: scan add.f steps,ptr ptr sne x,y add.f steps,ptr jmn attack,@ptr jmz scan,*ptr mov.x ptr,ptr attack slt... Might be worth a try? No delay for attack, but adds space and can't avoid djn-streams B) Bombs - I have mostly tried incendaries 1) For a good scissoir it seems you really have to take care that you don't clear to early - the 0.8c version of x-frog could not beat the papers because it was through with the scan even before the incendaries produced their full power. 2) My only other idea was to bomb like this: mov jm,@ptr ptr mov stun,>x jmn ptr,@ptr jm jmp -3,-3 but that was probably too slow, and it's difficult to apply slt. The only variant I still wan to try is mov stun,>ptr mov mv,>ptr ptr mov jm,@x stun spl 0,0 mv mv -1,<8 jm jmp 0,0 but I could not find an elegant solution to apply it yet. Anyway, I don't think it's just the wrong bomb that makes my scanner lose? Any ideas? Thanks in advance! Bjoern ;redcode-b quiet ;name x-frog 2 ;author bjoern guenzel ;strategy 0.66c scan, bomb incendary ;strategy I think I found a really fast switch, but is bombing the ;strategy second location with a jmp first_loc really so bad? ;strategy that would be the fastest way to attack both locations. ;assert CORESIZE==8000 ;P-class scan,djn,clear ;release 21.4.96 ;kill x dist equ 42 ;2*3*7 step equ (4*59) ;mod 4 -> scan mod 2 size equ (bomb-steps+3) skip equ size org scan steps dat #step+1,step ptr dat #steps,#steps+dist scan add.f steps,@ref loop cmp.b {ptr,@ptr ;{ resets the pointer after the attack slt.ab #skip,@ref djn.f scan,<-2600 clptr mov.i stun,>ptr ref mov.i mv,@ptr mov.x @0,ptr ;now the incremented b-field becomes the a-field ;and will be decremented from the cmp { instruction jmn.b loop,steps stun spl #7,#0 mov.i bomb,>clptr djn.f -1,{clptr bomb dat #-1,bomb+2-clptr dat 0,0 for 10 dat 0,0 rof mv mov -1,{-1 for 10 dat 0,0 rof z for 60 spl #z+5000,#0 rof