From news-rocq!jussieu.fr!uvsq.fr!nntp-out.monmouth.com!newspeer.monmouth.com!news.algonet.se!algonet!newsfeed1.swip.net!swipnet!newsfeed2.funet.fi!news.cc.tut.fi!news.sci.fi!simpukka!iltzu Fri Jul 30 11:21:13 1999 Article: 10469 of rec.games.corewar Path: news-rocq!jussieu.fr!uvsq.fr!nntp-out.monmouth.com!newspeer.monmouth.com!news.algonet.se!algonet!newsfeed1.swip.net!swipnet!newsfeed2.funet.fi!news.cc.tut.fi!news.sci.fi!simpukka!iltzu From: iltzu@sci.fi (Ilmari Karonen) Newsgroups: rec.games.corewar Subject: Re: Impish little problem Date: 28 Jul 1999 17:45:24 GMT Organization: (dis)Order of the Holy Spoon (or whatever) Lines: 55 Distribution: world Message-ID: <7nnfjk$9jk$1@tron.sci.fi> References: <379E8C89.91E@alaska.net> NNTP-Posting-Host: joshua.saunalahti.fi X-Newsreader: TIN [version 1.2 PL2] Xref: news-rocq rec.games.corewar:10469 On Tue, 27 Jul 1999 20:52:26 -0800, cgbean@alaska.net wrote: : Hiya! =(, My knowledge on the more modern imps is lacking, and I was : wondering if anyone could improve the attached imp, without increasing : its size too much. Also, if there are any Core Warriors I'm missing, Hmm.. my imp launchers have usually concentrated on minimizing the launch code size, and I think this is a situation where I could help you. It seems you're vector launching an 8-process 7-point spiral, right? (Oops, just noticed you used a 3-point spiral. Well, the comments show how to modify it.) Now quite a few months ago I came up with a clever way to build potentially huge imp spirals by combining several spirals like yours. It's technically a JMP/ADD launch, but it shares some features, such as the use of parallel processes, with vector launches. I've named it the Vortex launch, and haven't so far come up with a decent warrior to use it in. (I don't play CW actively very much any more - too much to do and not enough time.) Maybe you could use it, though. Its one weakness is that it's nearly impossible to launch just *one* spiral with it, you need self-splitting to make it work. Anyway, here's the code. There are a lot of free A- and B-fields you could use for various things, but I've tried to maximize clarity. In particular note that you can get a free decrement stream by using ADD.F. (Disclaimer: This code hasn't been anywhere near pmars. Bugs may exist.) ;redcode-94 ;author Ilmari Karonen ;name Vortex Launch ;strategy Build 8 infinite interleaved imp spirals org split split spl 1 spl 1 spl 1 ; delete this line for 3-point vortex spl #0 add.a #1143, launch ; use #2667 for 3-point launch jmp imp-1144 ; use imp-2668 for 3-point imp mov.i #1143, *0 ; use #2667 for 3-point end Of course there's no point in putting all your processes in imps, so you either need to make sure your stone self-splits faster than the launch, or bomb the SPL #0 at some point to terminate the imp. -- . _, .. j u s t. h o w l.i n g i n .t h e n.i g h t .. ._, . , )'' . /\_ . ' ,/\ . , ``( , _\__/ |__.'\._______,--;_'_`-.___,.______,/_,_`.__,-.__'__,/`-._,_| \____ ,_f_)\. Ilmari Karonen iltzu@sci.fi http://www.sci.fi/~iltzu/ /(_|_,.