From: Leonardo Humberto Liporati Subject: Potenza Date: 1 May 2002 22:09:15 -0400 Message-ID: <20020501124844.632fcc3e.liporati@ig.com.br> Hi Redcoders, below is the code of Potenza (king of the dead Pizza tiny hill). Just another "tiny qscan -> replicator" combination. Enjoy, Leonardo. --- cut here --- ;redcode-94x ;author Leonardo H. Liporati ;name Potenza ;strategy Replicator? ;assert CORESIZE==800 qs equ 40 qd equ 400 qi equ 6 ; Tiny-Q^3 scan start sne qd+dest+4*qs, dest+4*qs ; dest+1 seq dest+3*qs , {dest ; dest jmp dest , }dest sne qd+dest+2*qs, dest+2*qs ; dest-1 jmz paper , qd+dest+2*qs-qi ; Free Scan dest mul.ab #523 , #qs sne }start-1 , @dest add.ab #qd-2 , dest loop mov.i start-1 , >dest mov.i start-1 , >dest mov.i start-1 , >dest jmn.f loop , >dest ; Replicator paper spl }1 , }367 spl *1 , @191 spl *1 , }378 ptr1 spl @0 , {429 mov.i }ptr1 , >ptr1 add.i #378 , }391 mov.i {ptr1 , {ptr2 ptr2 djn.i $262 , <99 end start From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 05/06/02 Date: 6 May 2002 07:41:12 -0400 Message-ID: <200205060409.AAA03600@gevjon.ttsg.com> Weekly Status on 05/06/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sat May 4 10:41:13 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 40/ 39/ 21 Hazy Lazy ... again Steve Gunnell 141 59 2 42/ 45/ 13 G3-b David Moore 139 294 3 43/ 49/ 7 He Scans Alone x P.Kline 138 15 4 29/ 23/ 48 Inky Ian Oversby 136 503 5 28/ 21/ 52 Son of Vain Oversby/Pihlaja 134 613 6 28/ 24/ 48 Olivia Ben Ford 132 752 7 25/ 19/ 56 nPaper II Paul-V Khuong 132 1024 8 38/ 45/ 18 Vanquisher Lukasz Grabun 131 115 9 23/ 17/ 61 Redemption John Metcalf 129 27 10 25/ 21/ 54 Purifier Lukasz Grabun 129 34 11 37/ 45/ 18 Behemot Michal Janeczek 128 847 12 25/ 22/ 53 Candy Test 9 Lukasz Grabun 127 8 13 27/ 28/ 45 Quicksilver Michal Janeczek 127 786 14 29/ 31/ 40 Blacken Ian Oversby 127 1271 15 26/ 24/ 50 Hopper Phooey 127 150 16 31/ 36/ 34 Keyser Soze Anton Marsden 126 725 17 26/ 26/ 48 Uninvited John Metcalf 125 706 18 25/ 24/ 51 Rustle Lukasz Grabun 125 2 19 19/ 16/ 64 Seven John Metcalf 123 1 20 36/ 49/ 15 Test C Phooey 123 151 21 0/ 1/ 4 test7 John Metcalf 4 9 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 05/06/02 Date: 6 May 2002 07:42:37 -0400 Message-ID: <200205060406.AAA03567@gevjon.ttsg.com> Weekly Status on 05/06/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Wed Apr 24 12:26:38 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 53/ 34/ 13 Fire and Ice II David Moore 172 4 2 32/ 21/ 47 KAT v5 Dave Hillis 143 36 3 37/ 33/ 30 Controlled Aggression Ian Oversby 141 104 4 38/ 37/ 26 Black Moods Ian Oversby 138 100 5 22/ 8/ 70 Evol Cap 4 X John Wilkinson 135 173 6 26/ 16/ 58 Katafutr Michal Janeczek 135 44 7 30/ 26/ 43 Damage Inflicted Robert Macrae 135 43 8 26/ 16/ 58 Kin John Metcalf 135 12 9 22/ 9/ 69 Denial David Moore 134 45 10 18/ 7/ 75 Evolve X v4.0 John Wilkinson 129 121 11 18/ 7/ 75 Black Box v1.1 JKW 128 67 12 30/ 33/ 37 Big I.F.F.S. Dave Hillis 128 33 13 37/ 46/ 17 Greetings From Asbury Par JKW 128 64 14 24/ 21/ 54 Venom v0.2b Christian Schmidt 128 126 15 32/ 38/ 31 Ogre Christian Schmidt 126 52 16 34/ 47/ 19 Mischief John Metcalf 120 1 17 31/ 45/ 24 Pagan John K W 117 158 18 22/ 30/ 48 Disaster Area 2.8 Stefan Foerster 114 31 19 26/ 39/ 35 La Vibra 19 Lukasz Grabun 112 2 20 24/ 37/ 38 test CS 112 61 21 16/ 39/ 46 57779-9036-eve3 bvowk 92 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 05/06/02 Date: 6 May 2002 07:50:07 -0400 Message-ID: <200205060403.AAA03495@gevjon.ttsg.com> Weekly Status on 05/06/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Fri Apr 26 03:08:41 EDT 2002 # Name Author Score Age 1 fclear Brian Haskin 72 72 2 D-clearM Ken Espiritu 56 88 3 test John Metcalf 46 16 4 clock strikes twelve John Metcalf 44 2 5 Her Majesty P.Kline 37 107 6 Tinyshot John Metcalf 30 1 7 Pitbull Christian Schmidt 20 44 8 8thTest Gino Oblena 17 19 9 Xord Monominer XOSC:01 Gino Oblena 15 27 10 QuiVa John Metcalf 13 181 11 Sun Tzu (v2.0) T'sk 3 0 From: Koth Subject: KOTH.ORG: Status - Standard 05/06/02 Date: 6 May 2002 07:51:31 -0400 Message-ID: <200205060400.AAA03418@gevjon.ttsg.com> Weekly Status on 05/06/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Mon Apr 8 10:25:12 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 44/ 37/ 19 Oneshot '88 John Metcalf 150 1 2 33/ 21/ 47 Freight Train David Moore 145 80 3 31/ 21/ 48 Test Alexander (Sasha) Wa 141 19 4 38/ 38/ 24 PacMan David Moore 139 109 5 41/ 43/ 16 Foggy Swamp Beppe Bezzi 138 76 6 30/ 23/ 46 sIMPly.Red v0.95 Leonardo Humberto 138 37 7 30/ 22/ 47 Guardian Ian Oversby 138 79 8 39/ 41/ 20 Stasis David Moore 137 187 9 40/ 44/ 16 Blur '88 Anton Marsden 137 117 10 37/ 38/ 24 Tangle Trap David Moore 136 153 11 39/ 42/ 19 Beholder's Eye V1.7 W. Mintardjo 135 355 12 31/ 30/ 39 vala John Metcalf 132 2 13 39/ 47/ 14 Iron Gate Wayne Sheppard 130 405 14 31/ 32/ 38 Frog Sticker P.Kline 129 29 15 39/ 48/ 13 ig Wayne Sheppard 129 7 16 23/ 17/ 60 EV Paper John K Wilkinson 129 93 17 24/ 20/ 55 Jinglo John Metcalf 128 4 18 24/ 20/ 55 Test I Ian Oversby 128 136 19 25/ 23/ 51 Shish-Ka-Bob Ben Ford 127 35 20 24/ 22/ 54 Evoltmp 88 John K W 126 130 21 4/ 35/ 61 ID 88' compudemon 73 0 Message-ID: <3CD69896.8030307@may2002.gamerz.net> From: Richard Rognlie Subject: C++Robots Standings -- 2002.05.06 Date: Mon, 06 May 2002 10:52:06 -0400 Program Name Score W / L / T Age Author ================ ===== =========== === ===================================== 1 radar 687 229/ 21/ 0 25 Radu.Dumitru@orange.ro (Radu.Dumitru@ 2 fox-014 672 224/ 26/ 0 11 dohzono@hf.rim.or.jp (dohzono@hf.rim. 3 tommy 651 216/ 31/ 3 118 jacksoew@cnfd.pgh.wec.com () 4 al018 648 215/ 32/ 3 6 walter.cancellier@eservices.it (walte 5 ths7h5 624 208/ 42/ 0 234 TORSTEN.SCHOENFELDER@LHSYSTEMS.COM (T 6 mi5 609 203/ 47/ 0 213 schreiner.michael@gmx.net (Michael Sc 7 v3 567 189/ 61/ 0 66 zechis@hotmail.com (Jason Smythe) 8 edgar2 559 186/ 63/ 1 1 joehorn@psu.edu (Joe Horn) 9 whiper++ 556 184/ 62/ 4 95 francis.w@belgacom.net (Francis Wille 10 polarbear 546 182/ 68/ 0 31 flandar@yahoo.com (flandar@yahoo.com) 11 al019 510 170/ 80/ 0 2 walter.cancellier@eservices.it (walte 12 minim 498 166/ 84/ 0 312 steveg@perth.dialix.com.au (Steve Gun 13 crbot 490 163/ 86/ 1 265 Rosevear.Craig.CA@bhp.com (Rosevear, 14 whiper_v2 478 159/ 90/ 1 182 francis.w@belgacom.net (gc406191) 15 edgar 463 148/ 83/ 19 4 woofhorn@ceinetworks.com (Kim Horn) 16 rosie 456 152/ 98/ 0 230 andyg54321@hotmail.com (Andrew Green) 17 kamikaze 450 150/100/ 0 196 mike@mikegreenly.com (Michael A. Gree 18 dspin_v4 438 146/104/ 0 244 Scott.Thisse@CatalinaMarketing.com (S 19 simpletest 417 139/111/ 0 417 niklas.wendel@telia.com (Niklas Wende 20 iv 409 134/109/ 7 28 zechis@hotmail.com (Jason Smythe) 21 quaver 401 133/115/ 2 290 steveg@perth.dialix.com.au (Steve Gun 22 spunky75 396 132/118/ 0 145 joseph.fisher@intel.com (Fisher, Jose 23 hal9000_v2 376 124/122/ 4 351 camangi@edmaster.it (Maurizio Camangi 24 wobble 367 122/127/ 1 91 tim.radcliffe@hants.gov.uk (Radcliffe 25 jedi 354 118/132/ 0 260 camangi@edmaster.it (Maurizio Camangi 26 blockhead 336 112/138/ 0 207 sinoradz@student.uni-kl.de (R. Sinora 27 crunchie1_xx 319 106/143/ 1 271 Roberto.Nerici@thermolabsystems.com ( 28 5150 315 104/143/ 3 71 tedpabon@surewest.net (Ted Pabon) 29 flash2 307 102/147/ 1 356 camangi@edmaster.it (Maurizio Camangi 30 beta-chicken 300 100/150/ 0 266 Sverre.Normann@idi.ntnu.no (Sverre No 31 raystonn 294 98/152/ 0 295 raystonn@pacbell.net (Raystonn) 32 alpha-chicken 291 97/153/ 0 268 Sverre.Normann@idi.ntnu.no (Sverre No 33 zigger 285 95/155/ 0 168 joseph.fisher@intel.com (Fisher, Jose 34 t-9000 280 92/154/ 4 201 sinoradz@student.uni-kl.de (R. Sinora 35 dspin 276 92/158/ 0 253 Scott.Thisse@CatalinaMarketing.com (S 36 tedster 273 90/157/ 3 77 tedpabon@surewest.net (Ted Pabon) 37 imp 270 90/160/ 0 399 petrey@flash62.bioc.columbia.edu (pet 38 frady 264 88/162/ 0 79 cph9fa@admiral.umsl.edu (Caleb Hines) 39 mathilda 246 82/168/ 0 289 shredder@teuling.dyndns.org (EAB Teul 40 track++ 243 81/169/ 0 263 GeniuSparr@cs.com (GeniuSparr@cs.com) 41 pro-hunter 238 79/170/ 1 61 For_CRobots@X263.net (ProHunter) 42 family-guy3 237 79/171/ 0 191 wmcdavitt@meditech.com (William McDav 43 crunchie0_xx 234 78/172/ 0 280 roberton@bloggo.org (Roberto Nerici) 44 x3-unit 225 75/175/ 0 365 xychix@pmail.net (xychix) 45 =dut=no.1 210 70/180/ 0 218 King_Play@etang.com (=?ISO-8859-1?Q?= 45 rancor 210 70/180/ 0 192 ess2000@yahoo.com (John M. Olsen) 47 shunt 207 69/181/ 0 304 derijck@chello.nl (Hans de Rijck) 48 seeker 205 68/181/ 1 375 lefevre@rt66.com (Rusty LeFevre) 49 x2-unit 201 67/183/ 0 366 xychix@pmail.net (xychix) 50 coder 192 64/186/ 0 378 kreunen@home.nl (Eric Kreunen) -- / __ | Richard Rognlie / Sr. Technical Consultant / Sendmail, Inc. / / \ | http://www.gamerz.net/rrognlie/ \__/ / | / | Anything worth doing is worth paying somebody else to do well From: Lukasz Grabun Subject: Disincentive Date: Mon, 6 May 2002 19:30:31 +0000 (UTC) Message-ID: Nothing new, just plain vanilla paper, maybe more anti imp than the one uses in Purifier. All constants were found numerically. ;redcode-94nop ;author Lukasz Grabun ;name Disincentive ;strategy MiniQ^3 -> Paper ;assert CORESIZE==8000 org qGo pHit0 equ 1369 pHit1 equ 543 pDst0 equ 4187 pDst1 equ 3065 pDst2 equ 1282 pGo spl 2 , 0 spl 2 , 0 spl 1 , }0 spl 1 , 0 pSilk0 spl @0 , pSilk0 pSilk1 spl @0 , pSilk1 mov pBmb , >pHit0 mov pBmb , >pHit1 mov {pSilk1 , 2667 , >5334 for 57 dat 0 , 0 rof qf equ qKil qs equ 200 qd equ 4000 qi equ 7 qr equ 8 qBmb dat {qi*qr-10 , {1 qGo seq qd+qf+qs , qf+qs ; 1 jmp qSki , {qd+qf+qs+qi+2 sne qd+qf+5*qs , qf+5*qs ; B+1 seq qf+4*qs , {qTab ; B jmp qFas , }qTab sne qd+qf+8*qs , qf+8*qs ; A seq qf+7*qs , {qTab-1 ; A-1 jmp qFas , {qFas sne qd+qf+10*qs , qf+10*qs ; C seq qf+9*qs , {qTab+1 ; C-1 jmp qFas , }qFas seq qd+qf+2*qs , qf+2*qs ; B-2 jmp qFas , {qTab seq qd+qf+6*qs , qf+6*qs ; A-2 djn.a qFas , {qFas seq qd+qf+3*qs , qf+3*qs ; B-1 jmp qFas , {qd+qf+3*qs+qi+2 jmz pGo , qd+qf+12*qs-qi ; Free Scan ;-) qFas mul.ab qTab , qKil qSki sne qBmb-1 , @qKil add #qd , qKil qLoo mov.i qBmb , @qKil qKil mov.i qBmb , *qs sub.ab #qi , qKil djn qLoo , #qr dDest jmp pGo , 0 dat 5408 , 0 ; A*qs = 8*qs ,D*qs = 17*qs qTab dat 4804 , 0 ; B*qs = 4*qs ,E*qs = 13*qs dSrc dat 5810 , 0 ; C*qs = 10*qs ,F unused -- Lukasz Grabun (reply-to field is scrambled, remove NOSPAM) GM d+ s: a-- C++ UL P L++ E---- W-- N++ o? K- w-- O@ M@ V- PS+ PE+ Y PGP t-@ 5@ X++(+++) R tv-() b+++ DI+ D- G++ e++ h! r++ y+ From: pagaltzis@gmx.de (Aristoteles Pagaltzis) Subject: bench.pl 0.2.1 Date: 7 May 2002 15:24:52 -0700 Message-ID: <872a85cc.0205071424.31609b9d@posting.google.com> A maintenance release - there was an error in the previously posted version because I'd forgotten to include two subroutines. A kind soul who wanted to remain anonymous in order to avoid the stigma of using Perl as a Python person informed me of the problem.. in addition, I very slightly changed a minor amount of nooks and crannies. Anyway, the following version works reliably and flawlessly. It looks long for what it does - and indeed a simple script to benchmark a warrior and calculate the score would be much shorter. This one however, lets you pick benchmarks and many options from the commandline and/or store them in (a) configuration file(s). It also produce some pretty output during benchmarking which necessitates yet more code. The result, in my opinion, is a benchmarker that feels pretty slick. (Of course I'd say that, as the author, but I actually wanted something that felt slick to myself. And then I went and wrote something that satisfies my desires as a user of the tool.) I also like to think it's a good showcase of cleanly written, elegant Perl. :-) I hope I'm not presumptuous if I ask for it to be placed on the koth.org pages? Who maintains the site? #!/usr/bin/perl -w # (c)2001 Aristoteles Pagaltzis, licensed under the GPL # see http://www.gnu.org/copyleft/gpl.html # Version 0.1: Dec 30, 2001, Aristoteles Pagaltzis # Version 0.2: Apr 19, 2002, Aristoteles Pagaltzis # Version 0.2.1: May 08, 2002, Aristoteles Pagaltzis use strict; use File::Basename; use File::Spec::Functions; use Getopt::Std; my %config = ( score_multiplier => 8, score_win => 3, bench => "wilmoo", benchdir_path => "./:~/:/usr/local/share/pmars/", mars_binary => "pmars_server", mars_options => "-b -k -r", rounds => 300, ); my %option = ( config_file => ".bench.conf", verbose => 0, quiet => 0, save_config => 0, ); getopts 'r:b:m:w:c:vqs', \my %switch; options_from_cmdline(); conf_from_file(); conf_from_cmdline(); save_config() if $option{save_config}; usage() unless @ARGV == 1; my $warrior = shift; my $bench_dir = find_bench() || die "Sorry, benchmark '$config{bench}' was nowhere to be seen.\n"; (my @warrior_files = grep -f, glob catfile($bench_dir, '*.[rR][eE][dD]')) || die "Hmm, benchmark '$config{bench}' contains no warriors.\n"; my %info; $info{$_} = get_warrior_info($_) for ($warrior, @warrior_files); # initialize empty scoring about benchmarked warrior @{$info{$warrior}}{qw(win tie loss score)} = (0)x4; print "Benchmarking ", $info{$warrior}->{name}, " in $config{rounds} rounds each against:\n"; my $max_battle_score = $config{rounds} * $config{score_win}; for my $opponent (@warrior_files) { my $pmars = join " ", $config{mars_binary}, $config{mars_options}, $config{rounds}; my $cur_warrior = $info{$opponent}; print " $cur_warrior->{name} "; my @battle = split " ",`$pmars "$warrior" "$opponent" 2> /dev/null`; @$cur_warrior{qw(win tie loss score)} = ( @battle[0,1], $config{rounds} - $battle[0] - $battle[1], $battle[0] * $config{score_win} + $battle[1] ); print "(scored $cur_warrior->{score}/$max_battle_score),\n"; } print "done.\n\n"; printf "Benchmark score: %.2f\n\n", bench_score(\%info); exit; ######################################################### ######################################################### sub usage { my $path = join "\n", map " $_", split /:/, $config{benchdir_path}; print << "EOT"; Usage: bench.pl [options] Benchmarks a warrior against the set of warriors residing in the benchmark directory, which is searched for in all the directories in the benchmark path in sequence. All files in the benchmark directory are assumed to be warriors regardless of extenstion. EOT print << "EOT" if $option{verbose}; Default configuration options can be overridden using a configuration file stored in either the current or the user's home directory. The format for the file is simply option1 value1 option2 value2 ... See the Configuration section for valid option names. EOT print << "EOT"; Options: -b default benchmark (default: $config{bench}) -r rounds (default: $config{rounds}) -m score multiplier (default: $config{score_multiplier}) -w score for wins (default: $config{score_win}) -v verbose help message -q quiet mode (not implemented yet) -s save configuration to ./$option{config_file} and exit -c configuration filename (default: $option{config_file}) EOT print << "EOT" if $option{verbose}; Configuration: bench $config{bench} rounds $config{rounds} score_multiplier $config{score_multiplier} score_win $config{score_win} mars_binary $config{mars_binary} mars_options $config{mars_options} benchdir_path\n$path EOT exit; } sub options_from_cmdline { my ($k,$v); my %option_name = ( c => 'config_file', v => 'verbose', q => 'quiet', s => 'save_config', ); $option{$v} = delete $switch{$k} || $option{$v} while ($k, $v) = each %option_name; } sub conf_from_file { my $config_file; for (qw(./ ~/)) { $config_file = catdir($_, $option{config_file}); last if -f $config_file and -r $config_file; undef $config_file; } return unless defined $config_file; open(CONFIG, "<", $config_file) or return; my $line; while() { chomp; $line++; my ($key, $val) = split /\s+/, $_, 2; die "Invalid key '$key', line $line of $config_file.\n" unless exists $config{$key}; $config{$key} = $val; } close CONFIG; } sub conf_from_cmdline { my ($k,$v); my %switch2cfg = ( r => 'rounds', b => 'bench', m => 'score_multiplier', w => 'score_win', ); $config{$switch2cfg{$k}} = $v while ($k,$v) = each %switch; } sub save_config { print "Saving configuration to $option{config_file}.\n"; open(CONFIG, ">", $option{config_file}) or die "Failed opening $option{config_file}: $!\n"; print CONFIG map "$_ $config{$_}\n", sort keys %config; close CONFIG; exit; } sub find_bench { for (split /:/, $config{benchdir_path}) { my $dir = catdir($_, $config{bench}); return $dir if (-d $dir and -x $dir); } return; } sub get_warrior_info { local $_; my (%info, @comments); open WARRIOR, "<$_[0]" or die "Can't open $_[0]: $!\n"; chomp(@comments = grep /^;(name|author|strategy)\s/, ); close WARRIOR; s/\r$// for @comments; $info{strategy} = join "\n", grep defined, map { /^;strategy\s+(.*)/; $1 } @comments; for (@comments) { next unless /^;(name|author)\s+(.*)/; $info{$1} ||= $2; } $info{name} ||= basename($_[0]); return \%info; } sub total_score { my $info = shift; my $total_score = 0; $total_score += $info->{$_}->{score} for (keys %$info); return $total_score; } sub bench_score { my ($info, $total_score) = @_; $total_score = total_score($info) unless defined $total_score; return $total_score*$config{score_multiplier}/$config{rounds}; } From: "Parse Tree" Subject: Re: Hello boy toys [corewarts] Message-ID: Date: Thu, 9 May 2002 22:11:36 -0400 Wow, corewar. That really takes me back. "Nomen Nescio" wrote in message news:8cef3cae370c16c7cf84f3ca366bf481@dizum.com... > Hello honey !! > Do you boys like to rock and roll with other boys your age ? Cool dude well > i'm going to lick 40K's bung hole while he tells you about the best gay > game players on the net. Muff oluff mufloe sorry i had my face in a sex wet > crack fill with fresh pooh.Want to learn more ? stop in an see the boys at > mini warhammer or as some of our sister groups call us mini pee pee's > HHAHhahah > -- > > The Blue Raja > "It wouldn't make sense, for a midget riding a golden retriever, armed with > drool and a short bow to be able to keep pace with a rip-roaring marine > motorcycle, now would it?" - Mark Story > RGMW FAQ - Just read the damn thing > http://www.sheppard.demon.co.uk/rgmw_faq/rgmw_faq.htm From: Nomen Nescio Subject: Hello boy toys [corewarts] Message-ID: <8cef3cae370c16c7cf84f3ca366bf481@dizum.com> Date: Fri, 10 May 2002 04:00:15 +0200 (CEST) Hello honey !! Do you boys like to rock and roll with other boys your age ? Cool dude well i'm going to lick 40K's bung hole while he tells you about the best gay game players on the net. Muff oluff mufloe sorry i had my face in a sex wet crack fill with fresh pooh.Want to learn more ? stop in an see the boys at mini warhammer or as some of our sister groups call us mini pee pee's HHAHhahah -- The Blue Raja "It wouldn't make sense, for a midget riding a golden retriever, armed with drool and a short bow to be able to keep pace with a rip-roaring marine motorcycle, now would it?" - Mark Story RGMW FAQ - Just read the damn thing http://www.sheppard.demon.co.uk/rgmw_faq/rgmw_faq.htm Subject: Wad ah cornhole From: "The Blue Raja" Message-ID: Date: Fri, 10 May 2002 05:07:51 +0200 (CEST) Hummm this is odd your game has cornholeing in it ? that makes it sound like a country hick anal game for pervs !! well lick your shit covered feet you hick butt humper and join warhammer the group with the poop and the guys that love to play in it. Stop in today and tell us what gets you off and we will setup a time we all can sit around and jerk your cocks off with our sex filled gay stories of love and lust and even a few cows thrown in for good luck. -- The Blue Raja "It wouldn't make sense, for a midget riding a golden retriever, armed with drool and a short bow to be able to keep pace with a rip-roaring marine motorcycle, now would it?" - Mark Story RGMW FAQ - Just read the damn thing http://www.sheppard.demon.co.uk/rgmw_faq/rgmw_faq.htm Subject: Lets play bone bone eat my bone From: "The Blue Raja" Message-ID: <2fc2db5fc171951d52e3166f6c4f24cf@remailer.segfault.net> Date: Fri, 10 May 2002 06:10:01 +0200 (CEST) Do you boys have any old men in your group that like young boys with small peckers ? 98% of all of us are between 12-15 years old and we don't have fathers of our own so we are looking for dads to play with us when they come home from work. You can call me Billy if you want but i'll call you yummy when we take a shower. Hahaha -- The Blue Raja "It wouldn't make sense, for a midget licking a golden retrievers butt, armed with a dildo and a short arm to be able to keep pace with a pig-fucking mamaboy now would you bend over please" - Mark Story RGMW FAQ - Just read the damn thing http://www.sheppard.demon.co.uk/rgmw_faq/rgmw_faq.htm From: Nomen Nescio Subject: Lets play bone bone eat my bone Message-ID: Date: Fri, 10 May 2002 09:30:14 +0200 (CEST) Do you boys have any old men in your group that like young boys with small peckers ? 98% of all of us are between 12-15 years old and we don't have fathers of our own so we are looking for dads to play with us when they come home from work. You can call me Billy if you want but i'll call you yummy when we take a shower. Hahaha -- The Blue Raja "It wouldn't make sense, for a midget licking a golden retrievers butt, armed with a dildo and a short arm to be able to keep pace with a pig-fucking mamaboy now would you bend over please" - Mark Story RGMW FAQ - Just read the damn thing http://www.sheppard.demon.co.uk/rgmw_faq/rgmw_faq.htm Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 10 May 2002 09:56:15 GMT Archive-name: games/corewar-faq Last-Modified: September 4, 1999 Version: 4.2 URL: http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html Copyright: (c) 1999 Anton Marsden Maintainer: Anton Marsden Posting-Frequency: once every 2 weeks Core War Frequently Asked Questions (rec.games.corewar FAQ) These are the Frequently Asked Questions (and answers) from the Usenet newsgroup rec.games.corewar. A plain text version of this document is posted every two weeks. The latest hypertext version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html and the latest plain text version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.txt. This document is currently being maintained by Anton Marsden (anton@paradise.net.nz). Last modified: Sat Sep 4 00:22:22 NZST 1999 ------------------------------------------------------------------------ To Do * Add the new No-PSpace '94 hill location * Add online location of Dewdney's articles * Make question 17 easier to understand. Add a state diagram? * Add info about infinite hills, related games (C-Robots, Tierra?, ...) * New question: How do I know if my warrior is any good? Refer to beginners' benchmarks, etc. * Add a Who's Who list? * Would very much like someone to compile a collection of the "revolutionary" warriors so that beginners can see how the game has developed over the years. Mail me if interested. ------------------------------------------------------------------------ What's New * Changed primary location of FAQ (again!) * Changed Philip Kendall's home page address. * Updated list server information * Changed primary location of FAQ * Vector-launching code was fixed thanks to Ting Hsu. * Changed the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr ------------------------------------------------------------------------ Table of Contents 1. What is Core War 2. Is it "Core War" or "Core Wars"? 3. Where can I find more information about Core War? 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 6. What is the ICWS? 7. What is Core Warrior? 8. Where are the Core War archives? 9. Where can I find a Core War system for ...? 10. Where can I find warrior code? 11. I do not have FTP. How do I get all this great stuff? 12. I do not have access to Usenet. How do I post and receive news? 13. Are there any Core War related WWW sites? 14. What is KotH? How do I enter? 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 16. How does SLT (Skip if Less Than) work? 17. What is the difference between in-register and in-memory evaluation? 18. What is P-space? 19. What does "Missing ;assert .." in my message from KotH mean? 20. How should I format my code? 21. Are there any other Core War related resources I should know about? 22. What does (expression or term of your choice) mean? 23. Other questions? ------------------------------------------------------------------------ 1. What is Core War? Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all processes of the opposing program to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardised by the ICWS, and is therefore transportable between all standard Core War systems. The system in which the programs run is quite simple. The core (the memory of the simulated computer) is a continuous array of instructions, empty except for the competing programs. The core wraps around, so that after the last instruction comes the first one again. There are no absolute addresses in Core War. That is, the address 0 doesn't mean the first instruction in the memory, but the instruction that contains the address 0. The next instruction is 1, and the previous one obviously -1. However, all numbers are treated as positive, and are in the range 0 to CORESIZE-1 where CORESIZE is the amount of memory locations in the core - this means that -1 would be treated as CORESIZE-1 in any arithmetic operations, eg. 3218 + 7856 = (3218 + 7856) mod CORESIZE. Many people get confused by this, and it is particularly important when using the SLT instruction. Note that the source code of a program can still contain negative numbers, but if you start using instructions like DIV #-2, #5 it is important to know what effect they will have when executed. The basic unit of memory in Core War is one instruction. Each Redcode instruction contains three parts: * the opcode * the source address (a.k.a. the A-field) * the destination address (a.k.a. the B-field) The execution of the programs is equally simple. The MARS executes one instruction at a time, and then proceeds to the next one in the memory, unless the instruction explicitly tells it to jump to another address. If there is more than one program running, (as is usual) the programs execute alternately, one instruction at a time. The execution of each instruction takes the same time, one cycle, whether it is MOV, DIV or even DAT (which kills the process). Each program may have several processes running. These processes are stored in a task queue. When it is the program's turn to execute an instruction it dequeues a process and executes the corresponding instruction. Processes that are not killed during the execution of the instruction are put back into the task queue. Processes created by a SPL instruction are added to the task queue after the creating process is put back into the task queue. [ToC] ------------------------------------------------------------------------ 2. Is it "Core War" or "Core Wars"? Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. [ToC] ------------------------------------------------------------------------ 3. Where can I find more information about Core War? Core War was first described in the Core War Guidelines of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in Scientific American which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Library of Author Title Published ISBN Congress Call Number The Armchair Dewdney, Universe: An New York: W. QA76.6 .D517 A. K. Exploration of H. Freeman �0-7167-1939-8 1988 Computer Worlds 1988 The Magic 0-7167-2125-2 Dewdney, Machine: A New York: W.(Hardcover), QA76.6 A. K. Handbook of H. Freeman �0-7167-2144-9 .D5173 1990 Computer Sorcery 1990 (Paperback) A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current. For those who are interested, Dewdney has a home page at http://www.csd.uwo.ca/faculty/akd/. [ToC] ------------------------------------------------------------------------ 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A draft of the official standard (ICWS'88) is available as ftp://www.koth.org/corewar/documents/standards/redcode-icws-88.Z. This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at Mark Durham's tutorials, ftp://www.koth.org/corewar/documents/tutorial.1.Z and ftp://www.koth.org/corewar/documents/tutorial.2.Z. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This and various other tutorials can be found at http://www.koth.org/papers.html. Even though ICWS'88 is still the "official" standard, you will find that most people are playing by ICWS'94 draft rules and extensions. [ToC] ------------------------------------------------------------------------ 5. What is ICWS'94? Which simulators support ICWS'94? There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a new addressing modes and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft at ftp://www.koth.org/corewar/documents/icws94.0202.Z for more information. There is a HTML version of this document available at http://www.koth.org/info/icws94.html. You can try out the new standard by submitting warriors to the '94 hills of the KotH servers. Two corewar systems currently support ICWS'94, pMARS (many platforms) and Redcoder (Mac), both available at ftp://www.koth.org/corewar. Note that Redcoder only supports a subset of ICWS'94. [ToC] ------------------------------------------------------------------------ 6. What is the ICWS? About one year after Core War first appeared in Scientific American, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). The ICWS is no longer active. [ToC] ------------------------------------------------------------------------ 7. What is Core Warrior? Following in the tradition of the Core War News Letter, Push Off, and The 94 Warrior, Core Warrior is a newsletter about strategies and current standings in Core War. Started in October 1995, back issues of Core Warrior (and the other newsletters) are available at http://para.inria.fr/~doligez/corewar/. There is also a Core Warrior index page at http://www.kendalls.demon.co.uk/pak21/corewar/warrior.html which has a summary of the contents of each issue of Core Warrior. Many of the earlier issues contain useful information for beginners. [ToC] ------------------------------------------------------------------------ 8. Where are the Core War archives? Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp://ftp.csua.berkeley.edu/pub/corewar. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. This site is mirrored at: * http://www.koth.org/corewar/ * ftp://www.koth.org/corewar/ * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror The plain text version of this FAQ is automatically archived by news.answers (but this version is probably out-of-date). [ToC] ------------------------------------------------------------------------ 9. Where can I find a Core War system for . . . ? Core War systems are available via anonymous FTP from www.koth.org in the corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check ftp://www.koth.org/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than www.koth.org. Generally, the older the program - the less likely it will be ICWS compatible. If you are looking for an ICWS'94 simulator, get pMARS, which is available for many platforms and can be downloaded from: * ftp://ftp.csua.berkeley.edu/pub/corewar (original site) * ftp://www.koth.org/corewar (koth.org mirror) * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror (Planar mirror) * http://www.nc5.infi.net/~wtnewton/corewar/ (Terry Newton) * ftp://members.aol.com/ofechner/corewar (Fechter) Notes: * If you have trouble running pMARS with a graphical display under Win95 then check out http://www.koth.org/pmars.html which should have a pointer to the latest compilation of pMARS for this environment. * RPMs for the Alpha, PowerPC, Sparc and i386 can be found at ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars-rpm/ Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at www.koth.org: MADgic41.lzh corewar for the Amiga, v4.1 MAD4041.lzh older version? MAD50B.lha corewar for the Amiga, beta version 5.0 Redcoder-21.hqx corewar for the Mac, supports ICWS'88 and '94 (without extensions) core-11.hqx corewar for the Mac core-wars-simulator.hqx same as core-11.hqx? corewar_unix_x11.tar.Z corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z older version kothpc.zip port of older version of KotH to the PC deluxe20c.tar.Z corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z corewar for UNIX, likely not ICWS'88 compatible icons.zip corewar icons for MS-Windows macrored.zip a redcode macro-preprocessor (PC) c88v49.zip PC corewar, textmode display mars88.zip PC corewar, graphics mode display corwp302.zip PC corewar, textmode display, slowish mercury2.zip PC corewar written in assembly, fast! mtourn11.zip tournament scheduler for mercury (req. 4DOS) pmars08s.zip portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars08s.tar.Z same as above pmars08.zip PC executables with graphics display, req 386+ macpmars02.sit.hqx pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS1.99a.cpt.hqx port of v0.8 for the Mac, with display and debugger MacpMARS1.0s.cpt.hqx C source (MPW, ThinkC) for Mac frontend pvms08.zip pMARS v0.8 for VMS build files/help (req. pmars08s.zip) ApMARS03.lha pMARS executable for Amiga (port of version 0.3.1) wincor11.zip MS-Windows system, shareware ($15) [ToC] ------------------------------------------------------------------------ 10. Where can I find warrior code? To learn the game, it is a good idea to study previously posted warrior code. The FTP archives have code in the ftp://www.koth.org/corewar/redcode directory. A clearly organized on-line warrior collection is available at the Core War web sites (see below). [ToC] ------------------------------------------------------------------------ 11. I do not have FTP. How do I get all this great stuff? There is an FTP email server at bitftp@pucc.princeton.edu. This address may no longer exist. I haven't tested it yet. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. Note that many FTP email gateways are shutting down due to abuse. To get a current list of FTP email servers, look at the Accessing the Internet by E-mail FAQ posted to news.answers. If you don't have access to Usenet, you can retrieve this FAQ one of the following ways: * Send mail to mail-server@rtfm.mit.edu with the body containing "send usenet/news.answers/internet-services/access-via-email". * Send mail to mailbase@mailbase.ac.uk with the body containing "send lis-iis e-access-inet.txt". [ToC] ------------------------------------------------------------------------ 12. I do not have access to Usenet. How do I post and receive news? To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Koth.Org list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@koth.org. You can send mail to corewar-l@koth.org to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (ttsg@ttsg.com). Servers that allow you to post (but not receive) articles are available. Refer to the Accessing the Internet by E-Mail FAQ for more information. [ToC] ------------------------------------------------------------------------ 13. Are there any Core War related WWW sites? You bet. Each of the two KotH sites sport a world-wide web server. Stormking's Core War page is http://www.koth.org; pizza's is http://www.ecst.csuchico.edu/~pizza/koth . Damien Doligez (a.k.a. Planar) has a web page that features convenient access to regular newsletters (Push Off, The '94 Warrior, Core Warrior) and a well organized library of warriors: http://para.inria.fr/~doligez/corewar/. Convenient for U.S. users, this site is also mirrored at koth.org. [ToC] ------------------------------------------------------------------------ 14. What is KotH? How do I enter? King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program (warrior) with special comment lines. You will receive a reply indicating how well your program did against the current top programs "on the hill". There are two styles of KotH tournaments, "classical" and "multi-warrior". The "classical" KotH is a one-on-one tournament, that is your warrior will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. In "multi-warrior" KotH, all warriors on the hill fight each other at the same time. Score calculation is a bit more complex than for the one-on-one tournament. Briefly, points are awarded based on how many warriors survive until the end of a round. A warrior that survives by itself gets more points than a warrior that survives together with other warriors. Points are calculated from the formula (W*W-1)/S, where W is the total number of warriors and S the number of surviving warriors. The pMARS documentation has more information on multi-warrior scoring. The idea for an email-based Core War server came from David Lee. The original KotH was developed and run by William Shubert at Intel starting in 1991, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: koth@koth.org is maintained by Scott J. Ellentuch (tuc@ttsg.com) and pizza@ecst.csuchico.edu by Thomas H. Davies (sd@ecst.csuchico.edu). Up until May '95, the two sites provided overlapping services, i.e. the some of the hill types were offered by both "pizza" and "stormking". To conserve resources, the different hill types are now divided up among the sites. The way you submit warriors to both KotHs is pretty much the same. Therefore, the entry rules described below apply to both "pizza" and "stormking" unless otherwise noted. Entry Rules for King of the Hill Corewar * Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. * Put a line starting with ";redcode" (or ";redcode-94", etc., see below) at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. Using ";name" is mandatory on the Pizza hills. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently seven separate hills you can select by starting your program with ;redcode-94, ;redcode-b, ;redcode-lp, ;redcode-x, ;redcode, ;redcode-94x or ;redcode-94m. The former four run at "pizza", the latter three at "stormking". More information on these hills is listed below. * Mail this file to koth@koth.org or pizza@ecst.csuchico.edu. "Pizza" requires a subject of "koth" (use the -s flag on most mailers). * Within a few minutes you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. * In an hour or so you should get more mail telling you how your program performed against the current top 20 (or 10) programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode[-??] quiet" when you first mail in your program; then you will only get mail when you make it on the top 25 list or when you are knocked off. Using ";redcode[-??] verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 25 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. Sample Entry ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Duration Max. Hill Name Hill Core Max. Before Entry Min. Rounds Instr. Size Size Processes Distance Fought Set Tie Length Pizza's ICWS '94 Draft Hill Extended (Accessed with 25 8000 8000 80000 100 100 200 ICWS '94 ";redcode-94") Draft Pizza's Beginner's Extended Hill (Accessed 25 8000 8000 80000 100 100 200 ICWS '94 with ";redcode-b") Draft Pizza's Experimental Extended (Small) Hill 25 800 800 8000 20 20 200 ICWS '94 (Accessed with Draft ";redcode-x") Pizza's Limited Process (LP) Hill Extended (Accessed with 25 8000 8 80000 200 200 200 ICWS '94 ";redcode-lp") Draft Stormking's ICWS '88 Standard Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '88 ";redcode") Stormking's ICWS '94 No Pspace Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '94 ";redcode-94nop") Stormking's ICWS '94 Experimental Extended (Big) Hill 20 55440 55440 500000 200 200 250 ICWS '94 (Accessed with Draft ";redcode-94x") Stormking's ICWS '94 Multi-Warrior Extended Hill (Accessed 10 8000 8000 80000 100 100 200 ICWS '94 with Draft ";redcode-94m") Note: Warriors on the beginner's hill are retired at age 100. If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. At "stormking", a message body with ";help" will return brief instructions. If you submit code containing a ";test" line, your warrior will be assembled but not actually pitted against the warriors on the hill. At "pizza", you can use ";redcode[-??] test" to do a test challenge of the Hill without affecting the status of the Hill. These challenges can be used to see how well your warrior does against the current Hill warriors. All hills run portable MARS (pMARS) version 0.8, a platform-independent Core War system available at www.koth.org. The '94 and '94x hills allow five experimental opcodes and three experimental addressing modes currently not covered in the ICWS'94 draft document: * LDP - Load P-Space * STP - Store P-Space * SEQ - Skip if EQual (synonym for CMP) * SNE - Skip if Not Equal * NOP - (No OPeration) * * - indirect using A-field as pointer * { - predecrement indirect using A-field * } - postincrement indirect using A-field [ToC] ------------------------------------------------------------------------ 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? Core is initialized to DAT 0, 0. This is an illegal instruction (in source code) under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you have a DAT 0, 0 instruction in your source code - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. [ToC] ------------------------------------------------------------------------ 16. How does SLT (Skip if Less Than) work? SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: -1 becomes M-1 where M is the memory size (core size). Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. [ToC] ------------------------------------------------------------------------ 17. What is the difference between in-register and in-memory evaluation? These terms refer to the way instruction operands are evaluated. The '88 Redcode standard ICWS'88 is unclear about whether a simulator should "buffer" the result of A-operand evaluation before the B-operand is evaluated. Simulators that do buffer are said to use in-register evaluation, those that don't, in-memory evaluation. ICWS'94 clears this confusion by mandating in-register evaluation. Instructions that execute differently under these two forms of evaluation are MOV, ADD, SUB, MUL, DIV and MOD where the effective address of the A-operand is modified by evaluation of the B-operand. This is best illustrated by an example: L1 mov L2, mov.i #0, impsize Bootstrapping Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners Scanners which only recognize non-zero B-fields. example add #10, scan scan jmz example, 10 c Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner A Scanner which uses a CMP instruction to look for opponents. example add step, scan scan cmp 10, 30 jmp attack jmp example step dat #20, #20 Colour Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear Code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys Bogus or unused instructions meant to slow down scanners. Typically, DATs with non-zero B-fields. Decrement Resistant Property of warriors making them functional (or at least partially functional) when overrun by a DJN-stream. DJN-Stream (also DJN-Train) Using a DJN command to rapidly decrement core locations. example ... ... djn example, <4000 Dwarf The prototypical small bomber. Gate-busting (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp Program which only uses the MOV instruction. example mov 0, 1 or example mov 0, 2 mov 0, 2 Imp-Gate A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... spl 0, mov.i #0,IMPSIZE Mirror see reflection. On-axis/off-axis On-axis scanners compare two locations M/2 apart, where M is the memory size. Off-axis scanners use some other separation. Optimal Constants (also optima-type constants) Bomb or scan increments chosen to cover core most effectively, i.e. leaving gaps of uniform size. Programs to calculate optimal constants and lists of optimal numbers are available at www.koth.org. Paper A Paper-like program is one which replicates itself many times. Part of the Scissors (beats) Paper (beats) Stone (beats Scissors) analogy. P-Warrior A warrior which uses the results of previous round(s) in order to determine which strategy it will use. Pit-Trapper (also Slaver, Vampire). A program which enslaves another. Usually accomplished by bombing with JMPs to a SPL 0 pit with an optional core-clear routine. Q^2 Scan A modern version of the Quick Scan where anything found is attacked almost immediately. Quick Scan 2c scan of a set group of core locations with bombing if anything is found. Both of the following codes snips scan 16 locations and check for a find. If anything is found, it is attacked, otherwise 16 more locations are scanned. Example: start s1 for 8 ;'88 scan cmp start+100*s1, start+100*s1+4000 ;check two locations mov #start+100*s1-found, found ;they differ so set pointer rof jmn attack, found ;if we have something, get it s2 for 8 cmp start+100*(s2+6), start+100*(s2+6)+4000 mov #start+100*(s2+6)-found, found rof found jmz moveme, #0 ;skip attack if qscan found nothing attack cmp @found, start-1 ;does found points to empty space? add #4000, found ;no, so point to correct location mov start-1, @found ;move a bomb moveme jmp 0, 0 In ICWS'94, the quick scan code is more compact because of the SNE opcode: start ;'94 scan s1 for 4 sne start+400*s1, start+400*s1+100 ;check two locations seq start+400*s1+200, start+400*s1+300 ;check two locations mov #start+400*s1-found, found ;they differ so set pointer rof jmn which, found ;if we have something, get it s2 for 4 sne start+400*(s2+4), start+400*(s2+4)+100 seq start+400*(s2+4)+200, start+400*(s2+4)+300 mov #start+400*(s2+4)-found-100, found rof found jmz moveme, #0 ;skip attack if qscan found nothing add #100, -1 ;increment pointer till we get the which jmn -1, @found ;right place mov start-1, @found ;move a bomb moveme jmp 0, 0 Reflection Copy of a program or program part, positioned to make the active program invisible to a CMP-scanner. Replicator Generic for Paper. A program which makes many copies of itself, each copy also making copies. Self-Splitting Strategy of amplifying the number of processes executing a piece of code. example spl 0 loop add #10, example mov example, @example jmp loop Scanner A program which searches through core for an opponent rather than bombing blindly. Scissors A program designed to beat replicators, usually a (B-field scanning) vampire. Part of the Paper-Scissors-Stone analogy. Self-Repair Ability of a program to fix it's own code after attack. Silk A replicator which splits off a process to each new copy before actually copying the code. This allows it to replicate extremely quickly. This technique is only possible under the '94 draft, because it requires post-increment indirect addressing. Example: spl 1 mov -1, 0 spl 1 ;generate 6 consecutive processes silk spl 3620, #0 ;split to new copy mov >-1, }-1 ;copy self to new location mov bomb, >2000 ;linear bombing mov bomb, }2042 ;A-indirect bombing for anti-vamp jmp silk, {silk ;reset source pointer, make new copy bomb dat >2667, >5334 ;anti-imp bomb Slaver see Pit-Trapper. Stealth Property of programs, or program parts, which are invisible to scanners, accomplished by using zero B-fields and reflections. Stone A Stone-like program designed to be a small bomber. Part of the Paper-Scissors-Stone analogy. Stun A type of bomb which makes the opponent multiply useless processes, thus slowing it down. Example is referred to as a SPL-JMP bomb. example spl 0 jmp -1 Two-Pass Core-Clear (also SPL/DAT Core-Clear) core clear that fills core first with SPL instructions, then with DATs. This is very effective in killing paper and certain imp-spiral variations. Vampire see Pit-Trapper. Vector Launch one of several means to start an imp-spiral running. As fast as Binary Launch, but requiring much less code. See also JMP/ADD Launch and Binary Launch. This example is one form of a Vector Launch: sz EQU 2667 spl 1 spl 1 jmp @vt, }0 vt dat #0, imp+0*sz ; start of vector table dat #0, imp+1*sz dat #0, imp+2*sz dat #0, imp+3*sz ; end of vector table imp mov.i #0, sz [ToC] ------------------------------------------------------------------------ 23. Other questions? Just ask in the rec.games.corewar newsgroup or contact me. If you are shy, check out the Core War archives first to see if your question has been answered before. [ToC] ------------------------------------------------------------------------ Credits Additions, corrections, etc. to this document are solicited. Thanks in particular to the following people who have contributed major portions of this document: * Mark Durham (wrote the original version of the FAQ) * Paul Kline * Randy Graham * Stefan Strack (maintained a recent version of the FAQ) ------------------------------------------------------------------------ Copyright � 1999 Anton Marsden. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ------------------------------------------------------------------------ From: Anonymous via the Cypherpunks Tonga Remailer Subject: Hi de hoo Message-ID: Date: Fri, 10 May 2002 16:49:49 +0200 (CEST) Hi geese dew wizz i'm got my hand stuck in my butt thinking of our new playmates at corewhore -- The Blue Raja "It wouldn't make sense, for a midget licking a golden retrievers butt, armed with a dildo and a short arm to be able to keep pace with a pig-fucking mamaboy now would you bend over please" - Mark Story RGMW FAQ - Just read the damn thing http://www.sheppard.demon.co.uk/rgmw_faq/rgmw_faq.htm From: KeLL Subject: Re: Hi de hoo Message-ID: Date: Fri, 10 May 2002 22:52:14 GMT ROFL In article , Anonymous via the Cypherpunks Tonga Remailer wrote: > Hi geese dew wizz i'm got my hand stuck in my butt thinking of our new > playmates at corewhore > -- -- KellyL, AFTRA/Actor/Director "I think if there is a God it's very important that he has a sense of humour - otherwise you are in for a very miserable afterlife." Rory Bremner From: "simon wainwright" Subject: round2 Date: 12 May 2002 09:44:07 -0400 Message-ID: Hi all. if anyone is interested here is a list of warriors which work ok in the settings for round 2 without any changes. I am using these to test my entries with. Tetraquad paper clear Tempest paper stone Incisive vampire Paper LP II paper Tribbles paper paper 88 paper Simplicity scan red eye scan Banpei bomb Twin Flame bomb _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp. From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 05/13/02 Date: 13 May 2002 08:35:52 -0400 Message-ID: <200205130409.AAA16167@gevjon.ttsg.com> Weekly Status on 05/13/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun May 12 16:06:10 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 45/ 38/ 17 Hazy Lazy ... again Steve Gunnell 153 93 2 39/ 26/ 35 SP test 12 Lukasz Grabun 152 1 3 38/ 27/ 35 Uninvited John Metcalf 150 740 4 46/ 43/ 11 G3-b David Moore 149 328 5 36/ 23/ 41 Son of Vain Oversby/Pihlaja 149 647 6 36/ 26/ 38 Inky Ian Oversby 145 537 7 46/ 48/ 7 Mischief John Metcalf 144 30 8 46/ 49/ 5 He Scans Alone x P.Kline 143 49 9 35/ 28/ 38 Olivia Ben Ford 141 786 10 33/ 25/ 43 Purifier Lukasz Grabun 141 68 11 41/ 43/ 16 Behemot Michal Janeczek 140 881 12 36/ 33/ 31 Blacken Ian Oversby 140 1305 13 43/ 47/ 10 Kenshin X test 31 Steve Gunnell 139 2 14 41/ 43/ 17 Vanquisher Lukasz Grabun 139 149 15 31/ 25/ 44 nPaper II Paul-V Khuong 137 1058 16 42/ 47/ 11 fatal lure of pMars Simon Wainwright 136 5 17 36/ 36/ 28 Keyser Soze Anton Marsden 135 759 18 31/ 28/ 41 Disincentive Lukasz Grabun 135 31 19 31/ 28/ 41 misty John Metcalf 135 19 20 40/ 48/ 12 Redcode Ragamuffin Simon Wainwright 131 4 21 13/ 72/ 15 zclear v504671 Philip Thorne 53 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 05/13/02 Date: 13 May 2002 08:37:18 -0400 Message-ID: <200205130406.AAA16131@gevjon.ttsg.com> Weekly Status on 05/13/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sat May 11 15:49:58 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 55/ 33/ 12 Fire and Ice II David Moore 176 4 2 36/ 21/ 43 KAT v5 Dave Hillis 150 36 3 37/ 33/ 30 Controlled Aggression Ian Oversby 140 104 4 38/ 37/ 25 Black Moods Ian Oversby 139 100 5 28/ 16/ 56 Katafutr Michal Janeczek 139 44 6 22/ 8/ 69 Evol Cap 4 X John Wilkinson 136 173 7 31/ 26/ 43 Damage Inflicted Robert Macrae 135 43 8 33/ 32/ 35 Big I.F.F.S. Dave Hillis 134 33 9 22/ 9/ 69 Denial David Moore 134 45 10 35/ 37/ 28 Ogre Christian Schmidt 133 52 11 24/ 16/ 59 Kin John Metcalf 132 12 12 38/ 44/ 18 Greetings From Asbury Par JKW 132 64 13 25/ 21/ 54 Venom v0.2b Christian Schmidt 130 126 14 17/ 7/ 75 Evolve X v4.0 John Wilkinson 127 121 15 17/ 7/ 76 Black Box v1.1 JKW 127 67 16 35/ 46/ 19 Mischief John Metcalf 125 1 17 31/ 45/ 24 Pagan John K W 116 158 18 26/ 39/ 35 La Vibra 19 Lukasz Grabun 112 2 19 21/ 31/ 48 Disaster Area 2.8 Stefan Foerster 112 31 20 24/ 37/ 38 test CS 111 61 21 10/ 53/ 37 47186-6835-xt430-8-EVE bvowk 67 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 05/13/02 Date: 13 May 2002 08:38:42 -0400 Message-ID: <200205130403.AAA16105@gevjon.ttsg.com> Weekly Status on 05/13/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Fri Apr 26 03:08:41 EDT 2002 # Name Author Score Age 1 fclear Brian Haskin 72 72 2 D-clearM Ken Espiritu 56 88 3 test John Metcalf 46 16 4 clock strikes twelve John Metcalf 44 2 5 Her Majesty P.Kline 37 107 6 Tinyshot John Metcalf 30 1 7 Pitbull Christian Schmidt 20 44 8 8thTest Gino Oblena 17 19 9 Xord Monominer XOSC:01 Gino Oblena 15 27 10 QuiVa John Metcalf 13 181 11 Sun Tzu (v2.0) T'sk 3 0 From: Koth Subject: KOTH.ORG: Status - Standard 05/13/02 Date: 13 May 2002 08:40:08 -0400 Message-ID: <200205130400.AAA16040@gevjon.ttsg.com> Weekly Status on 05/13/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Mon Apr 8 10:25:12 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 44/ 37/ 19 Oneshot '88 John Metcalf 150 1 2 33/ 21/ 47 Freight Train David Moore 145 80 3 31/ 21/ 48 Test Alexander (Sasha) Wa 141 19 4 38/ 38/ 24 PacMan David Moore 139 109 5 41/ 43/ 16 Foggy Swamp Beppe Bezzi 138 76 6 30/ 23/ 46 sIMPly.Red v0.95 Leonardo Humberto 138 37 7 30/ 22/ 47 Guardian Ian Oversby 138 79 8 39/ 41/ 20 Stasis David Moore 137 187 9 40/ 44/ 16 Blur '88 Anton Marsden 137 117 10 37/ 38/ 24 Tangle Trap David Moore 136 153 11 39/ 42/ 19 Beholder's Eye V1.7 W. Mintardjo 135 355 12 31/ 30/ 39 vala John Metcalf 132 2 13 39/ 47/ 14 Iron Gate Wayne Sheppard 130 405 14 31/ 32/ 38 Frog Sticker P.Kline 129 29 15 39/ 48/ 13 ig Wayne Sheppard 129 7 16 23/ 17/ 60 EV Paper John K Wilkinson 129 93 17 24/ 20/ 55 Jinglo John Metcalf 128 4 18 24/ 20/ 55 Test I Ian Oversby 128 136 19 25/ 23/ 51 Shish-Ka-Bob Ben Ford 127 35 20 24/ 22/ 54 Evoltmp 88 John K W 126 130 21 4/ 35/ 61 ID 88' compudemon 73 0 From: jkw@koth.org Subject: Fwd: Help me please~. Date: 17 May 2002 08:07:56 -0400 Message-ID: <4.1.20020516233705.00a35100@pop-server> Heh I thought this was worth forwarding to corewar-l ... :) I indicated the Planar page to him for warrior examples hehe... ----------------------------------------------------------------------------------- From: =?ks_c_5601-1987?B?scex4sir?= Subject: Help me please~. Date: Wed, 15 May 2002 01:13:29 +0900 I`m a Korean student. What is this? Teach to me please. T.T This is problem of my lesson. I`m sorry. I can`t write in English well. [ problem( due : May 16 ) A popular game among computer hobbyists is core wars - a variation of battleship. The game is played between two opposing programs, each stored in different locations of the same computer`s memory. The computer is assumed to alternate between the two programs, executing an instruction from one followed by an instruction from the other. The goal of each program is to destroy the other by writing extraneous data on top of it; however, neither program knows the location of the other. a. Write a program in the machine language of Appendix C that approaches the game in a defensive manner by being as small as possible. b. Write a program in the language of Appendix C that tries to avoid any attacks from the opposing program by moving to different locations. More precisely, write your program to start at location 00, copy itself to location 70, and then jump to this new copy. c. Extend the program in (b) to continue relocating to new memory locations. In particular, make your program move to location 70, then to E0(70+70), then to 60(70+70+70), etc. ] Thank you. Message-ID: From: anton@paradise.net.nz (Anton Marsden) Subject: Core War Frequently Asked Questions (rec.games.corewar FAQ) Date: 24 May 2002 10:16:43 GMT Archive-name: games/corewar-faq Last-Modified: September 4, 1999 Version: 4.2 URL: http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html Copyright: (c) 1999 Anton Marsden Maintainer: Anton Marsden Posting-Frequency: once every 2 weeks Core War Frequently Asked Questions (rec.games.corewar FAQ) These are the Frequently Asked Questions (and answers) from the Usenet newsgroup rec.games.corewar. A plain text version of this document is posted every two weeks. The latest hypertext version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.html and the latest plain text version is available at http://homepages.paradise.net.nz/~anton/cw/corewar-faq.txt. This document is currently being maintained by Anton Marsden (anton@paradise.net.nz). Last modified: Sat Sep 4 00:22:22 NZST 1999 ------------------------------------------------------------------------ To Do * Add the new No-PSpace '94 hill location * Add online location of Dewdney's articles * Make question 17 easier to understand. Add a state diagram? * Add info about infinite hills, related games (C-Robots, Tierra?, ...) * New question: How do I know if my warrior is any good? Refer to beginners' benchmarks, etc. * Add a Who's Who list? * Would very much like someone to compile a collection of the "revolutionary" warriors so that beginners can see how the game has developed over the years. Mail me if interested. ------------------------------------------------------------------------ What's New * Changed primary location of FAQ (again!) * Changed Philip Kendall's home page address. * Updated list server information * Changed primary location of FAQ * Vector-launching code was fixed thanks to Ting Hsu. * Changed the location of Ryan Coleman's paper (LaunchPad -> Launchpad) * Changed pauillac.inria.fr to para.inria.fr ------------------------------------------------------------------------ Table of Contents 1. What is Core War 2. Is it "Core War" or "Core Wars"? 3. Where can I find more information about Core War? 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? 5. What is ICWS'94? Which simulators support ICWS'94? 6. What is the ICWS? 7. What is Core Warrior? 8. Where are the Core War archives? 9. Where can I find a Core War system for ...? 10. Where can I find warrior code? 11. I do not have FTP. How do I get all this great stuff? 12. I do not have access to Usenet. How do I post and receive news? 13. Are there any Core War related WWW sites? 14. What is KotH? How do I enter? 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? 16. How does SLT (Skip if Less Than) work? 17. What is the difference between in-register and in-memory evaluation? 18. What is P-space? 19. What does "Missing ;assert .." in my message from KotH mean? 20. How should I format my code? 21. Are there any other Core War related resources I should know about? 22. What does (expression or term of your choice) mean? 23. Other questions? ------------------------------------------------------------------------ 1. What is Core War? Core War is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all processes of the opposing program to terminate, leaving your program in sole posession of the machine. There are Core War systems available for most computer platforms. Redcode has been standardised by the ICWS, and is therefore transportable between all standard Core War systems. The system in which the programs run is quite simple. The core (the memory of the simulated computer) is a continuous array of instructions, empty except for the competing programs. The core wraps around, so that after the last instruction comes the first one again. There are no absolute addresses in Core War. That is, the address 0 doesn't mean the first instruction in the memory, but the instruction that contains the address 0. The next instruction is 1, and the previous one obviously -1. However, all numbers are treated as positive, and are in the range 0 to CORESIZE-1 where CORESIZE is the amount of memory locations in the core - this means that -1 would be treated as CORESIZE-1 in any arithmetic operations, eg. 3218 + 7856 = (3218 + 7856) mod CORESIZE. Many people get confused by this, and it is particularly important when using the SLT instruction. Note that the source code of a program can still contain negative numbers, but if you start using instructions like DIV #-2, #5 it is important to know what effect they will have when executed. The basic unit of memory in Core War is one instruction. Each Redcode instruction contains three parts: * the opcode * the source address (a.k.a. the A-field) * the destination address (a.k.a. the B-field) The execution of the programs is equally simple. The MARS executes one instruction at a time, and then proceeds to the next one in the memory, unless the instruction explicitly tells it to jump to another address. If there is more than one program running, (as is usual) the programs execute alternately, one instruction at a time. The execution of each instruction takes the same time, one cycle, whether it is MOV, DIV or even DAT (which kills the process). Each program may have several processes running. These processes are stored in a task queue. When it is the program's turn to execute an instruction it dequeues a process and executes the corresponding instruction. Processes that are not killed during the execution of the instruction are put back into the task queue. Processes created by a SPL instruction are added to the task queue after the creating process is put back into the task queue. [ToC] ------------------------------------------------------------------------ 2. Is it "Core War" or "Core Wars"? Both terms are used. Early references were to Core War. Later references seem to use Core Wars. I prefer "Core War" to refer to the game in general, "core wars" to refer to more than one specific battle. [ToC] ------------------------------------------------------------------------ 3. Where can I find more information about Core War? Core War was first described in the Core War Guidelines of March, 1984 by D. G. Jones and A. K. Dewdney of the Department of Computer Science at The University of Western Ontario (Canada). Dewdney wrote several "Computer Recreations" articles in Scientific American which discussed Core War, starting with the May 1984 article. Those articles are contained in two anthologies: Library of Author Title Published ISBN Congress Call Number The Armchair Dewdney, Universe: An New York: W. QA76.6 .D517 A. K. Exploration of H. Freeman �0-7167-1939-8 1988 Computer Worlds 1988 The Magic 0-7167-2125-2 Dewdney, Machine: A New York: W.(Hardcover), QA76.6 A. K. Handbook of H. Freeman �0-7167-2144-9 .D5173 1990 Computer Sorcery 1990 (Paperback) A.K. Dewdney's articles are still the most readable introduction to Core War, even though the Redcode dialect described in there is no longer current. For those who are interested, Dewdney has a home page at http://www.csd.uwo.ca/faculty/akd/. [ToC] ------------------------------------------------------------------------ 4. Core War has changed since Dewdney's articles. Where do I get a copy of the current instruction set? A draft of the official standard (ICWS'88) is available as ftp://www.koth.org/corewar/documents/standards/redcode-icws-88.Z. This document is formatted awkwardly and contains ambiguous statements. For a more approachable intro to Redcode, take a look at Mark Durham's tutorials, ftp://www.koth.org/corewar/documents/tutorial.1.Z and ftp://www.koth.org/corewar/documents/tutorial.2.Z. Steven Morrell has prepared a more practically oriented Redcode tutorial that discusses different warrior classes with lots of example code. This and various other tutorials can be found at http://www.koth.org/papers.html. Even though ICWS'88 is still the "official" standard, you will find that most people are playing by ICWS'94 draft rules and extensions. [ToC] ------------------------------------------------------------------------ 5. What is ICWS'94? Which simulators support ICWS'94? There is an ongoing discussion about future enhancements to the Redcode language. A proposed new standard, dubbed ICWS'94, is currently being evaluated. A major change is the addition of "instruction modifiers" that allow instructions to modify A-field, B-field or both. Also new is a new addressing modes and unrestricted opcode and addressing mode combination ("no illegal instructions"). ICWS'94 is backwards compatible; i.e. ICWS'88 warriors will run correctly on an ICWS'94 system. Take a look at the ICWS'94 draft at ftp://www.koth.org/corewar/documents/icws94.0202.Z for more information. There is a HTML version of this document available at http://www.koth.org/info/icws94.html. You can try out the new standard by submitting warriors to the '94 hills of the KotH servers. Two corewar systems currently support ICWS'94, pMARS (many platforms) and Redcoder (Mac), both available at ftp://www.koth.org/corewar. Note that Redcoder only supports a subset of ICWS'94. [ToC] ------------------------------------------------------------------------ 6. What is the ICWS? About one year after Core War first appeared in Scientific American, the "International Core War Society" (ICWS) was established. Since that time, the ICWS has been responsible for the creation and maintenance of Core War standards and the running of Core War tournaments. There have been six annual tournaments and two standards (ICWS'86 and ICWS'88). The ICWS is no longer active. [ToC] ------------------------------------------------------------------------ 7. What is Core Warrior? Following in the tradition of the Core War News Letter, Push Off, and The 94 Warrior, Core Warrior is a newsletter about strategies and current standings in Core War. Started in October 1995, back issues of Core Warrior (and the other newsletters) are available at http://para.inria.fr/~doligez/corewar/. There is also a Core Warrior index page at http://www.kendalls.demon.co.uk/pak21/corewar/warrior.html which has a summary of the contents of each issue of Core Warrior. Many of the earlier issues contain useful information for beginners. [ToC] ------------------------------------------------------------------------ 8. Where are the Core War archives? Many documents such as the guidelines and the ICWS standards along with previous tournament Redcode entries and complete Core War systems are available via anonymous ftp from ftp://ftp.csua.berkeley.edu/pub/corewar. Also, most of past rec.games.corewar postings (including Redcode source listings) are archived there. Jon Blow (blojo@csua.berkeley.edu) is the archive administrator. When uploading to /pub/corewar/incoming, ask Jon to move your upload to the appropriate directory and announce it on the net. This site is mirrored at: * http://www.koth.org/corewar/ * ftp://www.koth.org/corewar/ * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror The plain text version of this FAQ is automatically archived by news.answers (but this version is probably out-of-date). [ToC] ------------------------------------------------------------------------ 9. Where can I find a Core War system for . . . ? Core War systems are available via anonymous FTP from www.koth.org in the corewar/systems directory. Currently, there are UNIX, IBM PC-compatible, Macintosh, and Amiga Core War systems available there. It is a good idea to check ftp://www.koth.org/corewar/incoming for program updates first. CAUTION! There are many, many Core War systems available which are NOT ICWS'88 (or even ICWS'86) compatible available at various archive sites other than www.koth.org. Generally, the older the program - the less likely it will be ICWS compatible. If you are looking for an ICWS'94 simulator, get pMARS, which is available for many platforms and can be downloaded from: * ftp://ftp.csua.berkeley.edu/pub/corewar (original site) * ftp://www.koth.org/corewar (koth.org mirror) * ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/mirror (Planar mirror) * http://www.nc5.infi.net/~wtnewton/corewar/ (Terry Newton) * ftp://members.aol.com/ofechner/corewar (Fechter) Notes: * If you have trouble running pMARS with a graphical display under Win95 then check out http://www.koth.org/pmars.html which should have a pointer to the latest compilation of pMARS for this environment. * RPMs for the Alpha, PowerPC, Sparc and i386 can be found at ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars-rpm/ Reviews of Core War systems would be greatly appreciated in the newsgroup and in the newsletter. Below is a not necessarily complete or up-to-date list of what's available at www.koth.org: MADgic41.lzh corewar for the Amiga, v4.1 MAD4041.lzh older version? MAD50B.lha corewar for the Amiga, beta version 5.0 Redcoder-21.hqx corewar for the Mac, supports ICWS'88 and '94 (without extensions) core-11.hqx corewar for the Mac core-wars-simulator.hqx same as core-11.hqx? corewar_unix_x11.tar.Z corewar for UNIX/X-windows, ICWS'86 but not ICWS'88 compatible koth31.tar.Z corewar for UNIX/X-windows. This program ran the former KotH server at intel.com koth.shar.Z older version kothpc.zip port of older version of KotH to the PC deluxe20c.tar.Z corewar for UNIX (broken X-windows or curses) and PC mars.tar.Z corewar for UNIX, likely not ICWS'88 compatible icons.zip corewar icons for MS-Windows macrored.zip a redcode macro-preprocessor (PC) c88v49.zip PC corewar, textmode display mars88.zip PC corewar, graphics mode display corwp302.zip PC corewar, textmode display, slowish mercury2.zip PC corewar written in assembly, fast! mtourn11.zip tournament scheduler for mercury (req. 4DOS) pmars08s.zip portable system, ICWS'88 and '94, runs on UNIX, PC, Mac, Amiga. C source archive pmars08s.tar.Z same as above pmars08.zip PC executables with graphics display, req 386+ macpmars02.sit.hqx pMARS executable for Mac (port of version 0.2) buggy, no display MacpMARS1.99a.cpt.hqx port of v0.8 for the Mac, with display and debugger MacpMARS1.0s.cpt.hqx C source (MPW, ThinkC) for Mac frontend pvms08.zip pMARS v0.8 for VMS build files/help (req. pmars08s.zip) ApMARS03.lha pMARS executable for Amiga (port of version 0.3.1) wincor11.zip MS-Windows system, shareware ($15) [ToC] ------------------------------------------------------------------------ 10. Where can I find warrior code? To learn the game, it is a good idea to study previously posted warrior code. The FTP archives have code in the ftp://www.koth.org/corewar/redcode directory. A clearly organized on-line warrior collection is available at the Core War web sites (see below). [ToC] ------------------------------------------------------------------------ 11. I do not have FTP. How do I get all this great stuff? There is an FTP email server at bitftp@pucc.princeton.edu. This address may no longer exist. I haven't tested it yet. Send email with a subject and body text of "help" (without the quotes) for more information on its usage. Note that many FTP email gateways are shutting down due to abuse. To get a current list of FTP email servers, look at the Accessing the Internet by E-mail FAQ posted to news.answers. If you don't have access to Usenet, you can retrieve this FAQ one of the following ways: * Send mail to mail-server@rtfm.mit.edu with the body containing "send usenet/news.answers/internet-services/access-via-email". * Send mail to mailbase@mailbase.ac.uk with the body containing "send lis-iis e-access-inet.txt". [ToC] ------------------------------------------------------------------------ 12. I do not have access to Usenet. How do I post and receive news? To receive rec.games.corewar articles by email, join the COREWAR-L list run on the Koth.Org list processor. To join, send the message SUB COREWAR-L FirstName LastName to listproc@koth.org. You can send mail to corewar-l@koth.org to post even if you are not a member of the list. Responsible for the listserver is Scott J. Ellentuch (ttsg@ttsg.com). Servers that allow you to post (but not receive) articles are available. Refer to the Accessing the Internet by E-Mail FAQ for more information. [ToC] ------------------------------------------------------------------------ 13. Are there any Core War related WWW sites? You bet. Each of the two KotH sites sport a world-wide web server. Stormking's Core War page is http://www.koth.org; pizza's is http://www.ecst.csuchico.edu/~pizza/koth . Damien Doligez (a.k.a. Planar) has a web page that features convenient access to regular newsletters (Push Off, The '94 Warrior, Core Warrior) and a well organized library of warriors: http://para.inria.fr/~doligez/corewar/. Convenient for U.S. users, this site is also mirrored at koth.org. [ToC] ------------------------------------------------------------------------ 14. What is KotH? How do I enter? King Of The Hill (KotH) is an ongoing Core War tournament available to anyone with email. You enter by submitting via email a Redcode program (warrior) with special comment lines. You will receive a reply indicating how well your program did against the current top programs "on the hill". There are two styles of KotH tournaments, "classical" and "multi-warrior". The "classical" KotH is a one-on-one tournament, that is your warrior will play 100 battles against each of the 20 other programs currently on the Hill. You receive 3 points for each win and 1 point for each tie. (The existing programs do not replay each other, but their previous battles are recalled.) All scores are updated to reflect your battles and all 21 programs are ranked from high to low. If you are number 21 you are pushed off the Hill, if you are higher than 21 someone else is pushed off. In "multi-warrior" KotH, all warriors on the hill fight each other at the same time. Score calculation is a bit more complex than for the one-on-one tournament. Briefly, points are awarded based on how many warriors survive until the end of a round. A warrior that survives by itself gets more points than a warrior that survives together with other warriors. Points are calculated from the formula (W*W-1)/S, where W is the total number of warriors and S the number of surviving warriors. The pMARS documentation has more information on multi-warrior scoring. The idea for an email-based Core War server came from David Lee. The original KotH was developed and run by William Shubert at Intel starting in 1991, and discontinued after almost three years of service. Currently, KotHs based on Bill's UNIX scripts but offering a wider variety of hills are are running at two sites: koth@koth.org is maintained by Scott J. Ellentuch (tuc@ttsg.com) and pizza@ecst.csuchico.edu by Thomas H. Davies (sd@ecst.csuchico.edu). Up until May '95, the two sites provided overlapping services, i.e. the some of the hill types were offered by both "pizza" and "stormking". To conserve resources, the different hill types are now divided up among the sites. The way you submit warriors to both KotHs is pretty much the same. Therefore, the entry rules described below apply to both "pizza" and "stormking" unless otherwise noted. Entry Rules for King of the Hill Corewar * Write a corewar program. KotH is fully ICWS '88 compatible, EXCEPT that a comma (",") is required between two arguments. * Put a line starting with ";redcode" (or ";redcode-94", etc., see below) at the top of your program. This MUST be the first line. Anything before it will be lost. If you wish to receive mail on every new entrant, use ";redcode verbose". Otherwise you will only receive mail if a challenger makes it onto the hill. Use ";redcode quiet" if you wish to receive mail only when you get shoved off the hill. Additionally, adding ";name " and ";author " will be helpful in the performance reports. Do NOT have a line beginning with ";address" in your code; this will confuse the mail daemon and you won't get mail back. Using ";name" is mandatory on the Pizza hills. In addition, it would be nice if you have lines beginning with ";strategy" that describe the algorithm you use. There are currently seven separate hills you can select by starting your program with ;redcode-94, ;redcode-b, ;redcode-lp, ;redcode-x, ;redcode, ;redcode-94x or ;redcode-94m. The former four run at "pizza", the latter three at "stormking". More information on these hills is listed below. * Mail this file to koth@koth.org or pizza@ecst.csuchico.edu. "Pizza" requires a subject of "koth" (use the -s flag on most mailers). * Within a few minutes you should get mail back telling you whether your program assembled correctly or not. If it did assemble correctly, sit back and wait; if not, make the change required and re-submit. * In an hour or so you should get more mail telling you how your program performed against the current top 20 (or 10) programs. If no news arrives during that time, don't worry; entries are put in a queue and run through the tournament one at a time. A backlog may develop. Be patient. If your program makes it onto the hill, you will get mail every time a new program makes it onto the hill. If this is too much mail, you can use ";redcode[-??] quiet" when you first mail in your program; then you will only get mail when you make it on the top 25 list or when you are knocked off. Using ";redcode[-??] verbose" will give you even more mail; here you get mail every time a new challenger arrives, even if they don't make it onto the top 25 list. Often programmers want to try out slight variations in their programs. If you already have a program named "foo V1.0" on the hill, adding the line ";kill foo" to a new program will automatically bump foo 1.0 off the hill. Just ";kill" will remove all of your programs when you submit the new one. The server kills programs by assigning an impossibly low score; it may therefore take another successful challenge before a killed program is actually removed from the hill. Sample Entry ;redcode ;name Dwarf ;author A. K. Dewdney ;strategy Throw DAT bombs around memory, hitting every 4th memory cell. ;strategy This program was presented in the first Corewar article. bomb DAT #0 dwarf ADD #4, bomb MOV bomb, @bomb JMP dwarf END dwarf ; Programs start at the first line unless ; an "END start" pseudo-op appears to indicate ; the first logical instruction. Also, nothing ; after the END instruction will be assembled. Duration Max. Hill Name Hill Core Max. Before Entry Min. Rounds Instr. Size Size Processes Distance Fought Set Tie Length Pizza's ICWS '94 Draft Hill Extended (Accessed with 25 8000 8000 80000 100 100 200 ICWS '94 ";redcode-94") Draft Pizza's Beginner's Extended Hill (Accessed 25 8000 8000 80000 100 100 200 ICWS '94 with ";redcode-b") Draft Pizza's Experimental Extended (Small) Hill 25 800 800 8000 20 20 200 ICWS '94 (Accessed with Draft ";redcode-x") Pizza's Limited Process (LP) Hill Extended (Accessed with 25 8000 8 80000 200 200 200 ICWS '94 ";redcode-lp") Draft Stormking's ICWS '88 Standard Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '88 ";redcode") Stormking's ICWS '94 No Pspace Hill (Accessed with 20 8000 8000 80000 100 100 250 ICWS '94 ";redcode-94nop") Stormking's ICWS '94 Experimental Extended (Big) Hill 20 55440 55440 500000 200 200 250 ICWS '94 (Accessed with Draft ";redcode-94x") Stormking's ICWS '94 Multi-Warrior Extended Hill (Accessed 10 8000 8000 80000 100 100 200 ICWS '94 with Draft ";redcode-94m") Note: Warriors on the beginner's hill are retired at age 100. If you just want to get a status report without actually challenging the hills, send email with ";status" as the message body (and don't forget "Subject: koth" for "pizza"). If you send mail to "pizza" with "Subject: koth help" you will receive instructions that may be more up to date than those contained in this document. At "stormking", a message body with ";help" will return brief instructions. If you submit code containing a ";test" line, your warrior will be assembled but not actually pitted against the warriors on the hill. At "pizza", you can use ";redcode[-??] test" to do a test challenge of the Hill without affecting the status of the Hill. These challenges can be used to see how well your warrior does against the current Hill warriors. All hills run portable MARS (pMARS) version 0.8, a platform-independent Core War system available at www.koth.org. The '94 and '94x hills allow five experimental opcodes and three experimental addressing modes currently not covered in the ICWS'94 draft document: * LDP - Load P-Space * STP - Store P-Space * SEQ - Skip if EQual (synonym for CMP) * SNE - Skip if Not Equal * NOP - (No OPeration) * * - indirect using A-field as pointer * { - predecrement indirect using A-field * } - postincrement indirect using A-field [ToC] ------------------------------------------------------------------------ 15. Is it DAT 0, 0 or DAT #0, #0? How do I compare to core? Core is initialized to DAT 0, 0. This is an illegal instruction (in source code) under ICWS'88 rules and strictly compliant assemblers (such as KotH or pmars -8) will not let you have a DAT 0, 0 instruction in your source code - only DAT #0, #0. So this begs the question, how to compare something to see if it is empty core. The answer is, most likely the instruction before your first instruction and the instruction after your last instruction are both DAT 0, 0. You can use them, or any other likely unmodified instructions, for comparison. Note that under ICWS'94, DAT 0, 0 is a legal instruction. [ToC] ------------------------------------------------------------------------ 16. How does SLT (Skip if Less Than) work? SLT gives some people trouble because of the way modular arithmetic works. It is important to note that all negative numbers are converted to positive numbers before a battles begins. Example: -1 becomes M-1 where M is the memory size (core size). Once you realize that all numbers are treated as positive, it is clear what is meant by "less than". It should also be clear that no number is less than zero. [ToC] ------------------------------------------------------------------------ 17. What is the difference between in-register and in-memory evaluation? These terms refer to the way instruction operands are evaluated. The '88 Redcode standard ICWS'88 is unclear about whether a simulator should "buffer" the result of A-operand evaluation before the B-operand is evaluated. Simulators that do buffer are said to use in-register evaluation, those that don't, in-memory evaluation. ICWS'94 clears this confusion by mandating in-register evaluation. Instructions that execute differently under these two forms of evaluation are MOV, ADD, SUB, MUL, DIV and MOD where the effective address of the A-operand is modified by evaluation of the B-operand. This is best illustrated by an example: L1 mov L2, mov.i #0, impsize Bootstrapping Strategy of copying the active portion of the program away from the initial location, leaving a decoy behind and making the relocated program as small as possible. B-Scanners Scanners which only recognize non-zero B-fields. example add #10, scan scan jmz example, 10 c Measure of speed, equal to one location per cycle. Speed of light. CMP-Scanner A Scanner which uses a CMP instruction to look for opponents. example add step, scan scan cmp 10, 30 jmp attack jmp example step dat #20, #20 Colour Property of bombs making them visible to scanners, causing them to attack useless locations, thus slowing them down. example dat #100 Core-Clear Code that sequentially overwrites core with DAT instructions; usually the last part of a program. Decoys Bogus or unused instructions meant to slow down scanners. Typically, DATs with non-zero B-fields. Decrement Resistant Property of warriors making them functional (or at least partially functional) when overrun by a DJN-stream. DJN-Stream (also DJN-Train) Using a DJN command to rapidly decrement core locations. example ... ... djn example, <4000 Dwarf The prototypical small bomber. Gate-busting (also gate-crashing) technique to "interweave" a decrement-resistant imp-spiral (e.g. MOV 0, 2668) with a standard one to overrun imp-gates. Hybrids warriors that combine two or more of the basic strategies, either in sequence (e.g. stone->paper) or in parallel (e.g. imp/stone). Imp Program which only uses the MOV instruction. example mov 0, 1 or example mov 0, 2 mov 0, 2 Imp-Gate A location in core which is bombed or decremented continuously so that an Imp can not pass. Also used to describe the program-code which maintains the gate. example ... ... spl 0, mov.i #0,IMPSIZE Mirror see reflection. On-axis/off-axis On-axis scanners compare two locations M/2 apart, where M is the memory size. Off-axis scanners use some other separation. Optimal Constants (also optima-type constants) Bomb or scan increments chosen to cover core most effectively, i.e. leaving gaps of uniform size. Programs to calculate optimal constants and lists of optimal numbers are available at www.koth.org. Paper A Paper-like program is one which replicates itself many times. Part of the Scissors (beats) Paper (beats) Stone (beats Scissors) analogy. P-Warrior A warrior which uses the results of previous round(s) in order to determine which strategy it will use. Pit-Trapper (also Slaver, Vampire). A program which enslaves another. Usually accomplished by bombing with JMPs to a SPL 0 pit with an optional core-clear routine. Q^2 Scan A modern version of the Quick Scan where anything found is attacked almost immediately. Quick Scan 2c scan of a set group of core locations with bombing if anything is found. Both of the following codes snips scan 16 locations and check for a find. If anything is found, it is attacked, otherwise 16 more locations are scanned. Example: start s1 for 8 ;'88 scan cmp start+100*s1, start+100*s1+4000 ;check two locations mov #start+100*s1-found, found ;they differ so set pointer rof jmn attack, found ;if we have something, get it s2 for 8 cmp start+100*(s2+6), start+100*(s2+6)+4000 mov #start+100*(s2+6)-found, found rof found jmz moveme, #0 ;skip attack if qscan found nothing attack cmp @found, start-1 ;does found points to empty space? add #4000, found ;no, so point to correct location mov start-1, @found ;move a bomb moveme jmp 0, 0 In ICWS'94, the quick scan code is more compact because of the SNE opcode: start ;'94 scan s1 for 4 sne start+400*s1, start+400*s1+100 ;check two locations seq start+400*s1+200, start+400*s1+300 ;check two locations mov #start+400*s1-found, found ;they differ so set pointer rof jmn which, found ;if we have something, get it s2 for 4 sne start+400*(s2+4), start+400*(s2+4)+100 seq start+400*(s2+4)+200, start+400*(s2+4)+300 mov #start+400*(s2+4)-found-100, found rof found jmz moveme, #0 ;skip attack if qscan found nothing add #100, -1 ;increment pointer till we get the which jmn -1, @found ;right place mov start-1, @found ;move a bomb moveme jmp 0, 0 Reflection Copy of a program or program part, positioned to make the active program invisible to a CMP-scanner. Replicator Generic for Paper. A program which makes many copies of itself, each copy also making copies. Self-Splitting Strategy of amplifying the number of processes executing a piece of code. example spl 0 loop add #10, example mov example, @example jmp loop Scanner A program which searches through core for an opponent rather than bombing blindly. Scissors A program designed to beat replicators, usually a (B-field scanning) vampire. Part of the Paper-Scissors-Stone analogy. Self-Repair Ability of a program to fix it's own code after attack. Silk A replicator which splits off a process to each new copy before actually copying the code. This allows it to replicate extremely quickly. This technique is only possible under the '94 draft, because it requires post-increment indirect addressing. Example: spl 1 mov -1, 0 spl 1 ;generate 6 consecutive processes silk spl 3620, #0 ;split to new copy mov >-1, }-1 ;copy self to new location mov bomb, >2000 ;linear bombing mov bomb, }2042 ;A-indirect bombing for anti-vamp jmp silk, {silk ;reset source pointer, make new copy bomb dat >2667, >5334 ;anti-imp bomb Slaver see Pit-Trapper. Stealth Property of programs, or program parts, which are invisible to scanners, accomplished by using zero B-fields and reflections. Stone A Stone-like program designed to be a small bomber. Part of the Paper-Scissors-Stone analogy. Stun A type of bomb which makes the opponent multiply useless processes, thus slowing it down. Example is referred to as a SPL-JMP bomb. example spl 0 jmp -1 Two-Pass Core-Clear (also SPL/DAT Core-Clear) core clear that fills core first with SPL instructions, then with DATs. This is very effective in killing paper and certain imp-spiral variations. Vampire see Pit-Trapper. Vector Launch one of several means to start an imp-spiral running. As fast as Binary Launch, but requiring much less code. See also JMP/ADD Launch and Binary Launch. This example is one form of a Vector Launch: sz EQU 2667 spl 1 spl 1 jmp @vt, }0 vt dat #0, imp+0*sz ; start of vector table dat #0, imp+1*sz dat #0, imp+2*sz dat #0, imp+3*sz ; end of vector table imp mov.i #0, sz [ToC] ------------------------------------------------------------------------ 23. Other questions? Just ask in the rec.games.corewar newsgroup or contact me. If you are shy, check out the Core War archives first to see if your question has been answered before. [ToC] ------------------------------------------------------------------------ Credits Additions, corrections, etc. to this document are solicited. Thanks in particular to the following people who have contributed major portions of this document: * Mark Durham (wrote the original version of the FAQ) * Paul Kline * Randy Graham * Stefan Strack (maintained a recent version of the FAQ) ------------------------------------------------------------------------ Copyright � 1999 Anton Marsden. Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved. ------------------------------------------------------------------------ From: John B Everitt Subject: Useful techniques for bootstrapping Date: Mon, 27 May 2002 15:38:38 +0000 Message-ID: <20020527153838.10363b0d.everitt@dircon.co.uk> Hi All I'm in the process of learning Redcode, and I think I've got to the stage where I have an understanding of the instruction set. Now I learn the fun bits ;-). Is there any particular favourite or useful bootstrapping techniques that I should be aware of? What are effective counter bombing techniques? - John From: Lukasz Grabun Subject: Re: Useful techniques for bootstrapping Date: Mon, 27 May 2002 20:05:28 +0000 (UTC) Message-ID: pon, 27 maj 2002 o 15:38 GMT, John B Everitt: > Is there any particular favourite or useful bootstrapping techniques that > I should be aware of? there're just two I'm aware of: [1]. linear (or with-a-speed-of-light) bootstrapping; fast but needs a lot (relatively) of code. Useful for scanners especially. Check out Agony II's code. Here's an example: bBoot mov code , somewhere for 2 mov {bBoot , 5 , >1 ;5. the bomb Of course, you can generate fewer processes (Janeczek used this method in Behemot), but in this case you need more "mov" lines. Using the code given above it may look like this: mov sSpl , somewhere-X ;X=5, I presume. ;since we generated just ;4 processes sSpl line ;needs to be copied in ;this way. take a look ;in Vanquisher's code ;for practical example cSrc spl 1 , last_line ;generate 4 (!) ;processes cDst spl 1 , somewhere mov - John -- Lukasz Grabun (reply-to field is scrambled, remove NOSPAM) GM d+ s: a-- C++ UL P L++ E---- W-- N++ o? K- w-- O@ M@ V- PS+ PE+ Y PGP t-@ 5@ X++(+++) R tv-() b+++ DI+ D- G++ e++ h! r++ y+ From: John B Everitt Subject: Re: Useful techniques for bootstrapping Date: Mon, 27 May 2002 21:26:05 +0000 Message-ID: <20020527212605.28165ea3.everitt@dircon.co.uk> On Mon, 27 May 2002 20:05:28 +0000 (UTC) Lukasz Grabun wrote: > pon, 27 maj 2002 o 15:38 GMT, John B Everitt: > there're just two I'm aware of: > > [1]. linear (or with-a-speed-of-light) bootstrapping; fast but > needs a lot (relatively) of code. Useful for scanners especially. > Check out Agony II's code. Here's an example: I like this method, very easy to read, although I should of thought of that myself. > processes as the longest part of warrior's body to be copied is (which > is not always the rule). Let's say you have five lines to be copied (a > stone's body for example): > This is excellent. Thanks Lukazs. If you commented this a double thank you, this saves me running through CDB until it has sunk in. Regards - John Message-ID: <3CF2CB84.6350B769@epix.net> From: Nathan McKenzie Subject: Re: Useful techniques for bootstrapping Date: Tue, 28 May 2002 00:11:15 GMT In my experience, you want to minimize bootstrapping as much as possible and start attacking right at the beginning. That way, you take out the slower bootstrapping programs and prevent them from harassing your program. If you must bootstrap, include a second process which will run a simple dwarf, such as... org spl dwarf ----------- ----------- bootstrap code(anything will work) ----------- mov cntr, dwarf ;use when bootstrapping is done. This will kill the dwarf dwarf add #5, cntr ;or any other number which won't cause this thing to bomb anything else mov cntr, @cntr jmp dwarf cntr dat 0, 0 ...that way, your dwarf will take out other programs even if your program is too busy to kill them the way you want them to die. Brandon Message-ID: <3CF2DF07.BCD83C1E@epix.net> From: Nathan McKenzie Subject: Re: Useful techniques for bootstrapping Date: Tue, 28 May 2002 01:34:30 GMT I don't know why, but my word wrapping got messed up. Here's the code without the comments: org spl dwarf ----------- ----------- bootstrap code(anything will work) ----------- mov cntr, dwarf dwarf add #5, cntr mov cntr, @cntr jmp dwarf cntr dat 0, 0 Brandon From: Lukasz Grabun Subject: Re: Useful techniques for bootstrapping Date: Tue, 28 May 2002 06:43:28 +0000 (UTC) Message-ID: pon, 27 maj 2002 o 21:26 GMT, John B Everitt: >> processes as the longest part of warrior's body to be copied is (which >> is not always the rule). Let's say you have five lines to be copied (a >> stone's body for example): > This is excellent. Thanks Lukazs. If you commented this a double thank > you, this saves me running through CDB until it has sunk in. Duh, I forgot something. There's another way of bootstrapping the code using parallel processes (to be more precise: it's not booting away itself, but rather the way of using these processes after all dirty job is done). It's called "airbag" and is very well described in a thread I started on 28 Nov 2001 (subj: new warrior); MJP - as I recall - explained it to me in a very understandable way. -- Lukasz Grabun (reply-to field is scrambled, remove NOSPAM) GM d+ s: a-- C++ UL P L++ E---- W-- N++ o? K- w-- O@ M@ V- PS+ PE+ Y PGP t-@ 5@ X++(+++) R tv-() b+++ DI+ D- G++ e++ h! r++ y+ From: John B Everitt Subject: Re: Useful techniques for bootstrapping Date: Tue, 28 May 2002 14:30:09 +0000 Message-ID: <20020528143009.2495d7ed.everitt@dircon.co.uk> On Tue, 28 May 2002 01:34:30 GMT Nathan McKenzie wrote: > I don't know why, but my word wrapping got messed up. Here's the code > without the comments: > Thanks, I guessed bomb anything else wasn't an operand or a comment on it's own line ;-). I think it's probable either your newsreader or your news server wrapped the lines. Thanks for clarifying for the benefit of posterity and Dejanews or whatever it's called now. - John From: Paul-V Khuong Subject: Re: Useful techniques for bootstrapping Date: 28 May 2002 14:57:05 -0400 Message-ID: <20020527221952.55134.qmail@web11607.mail.yahoo.com> --- Lukasz Grabun wrote: > pon, 27 maj 2002 o 15:38 GMT, John B Everitt: > > > Is there any particular favourite or useful > bootstrapping techniques that > > I should be aware of? > > there're just two I'm aware of: > > [1]. linear (or with-a-speed-of-light) > bootstrapping;[snip] > [2]. The other method, more complex, slower but > needs fewer > lines of codes and sometimes is more useful (check > every modern paper's > Behemot's or Vanquisher's code). [snip] 3rd method: Good ol' djn ;) Instead of creating several processes, use one process and a djn to run through the loop a fixed amount of times. For example: mov {SourcePtr, Subject: Re: Useful techniques for bootstrapping Date: 28 May 2002 14:58:29 -0400 Message-ID: <285901c205ca$6c2bfcf0$2200a8c0@Mesh1> > Is there any particular favourite or useful bootstrapping techniques that > I should be aware of? There are lots of variants and the choice usually comes down to a payoff between size, speed and the number of locations that are left pointing to your code. To illustrate some of the ideas, something like start MOV {bptr, What are effective counter bombing techniques? Bomb dodgers are a very neat solution. They often appear in p-spacers. My favourite variant conducts a linear 1c scan using something like JMZ.f #0, Subject: KOTH.ORG: Status - 94 No Pspace 05/27/02 Date: 28 May 2002 14:59:54 -0400 Message-ID: <200205270409.AAA25049@gevjon.ttsg.com> Weekly Status on 05/27/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun May 26 20:44:38 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 45/ 37/ 18 Hazy Lazy ... again Steve Gunnell 153 98 2 35/ 24/ 40 SP test 12 Lukasz Grabun 147 6 3 33/ 20/ 47 Son of Vain Oversby/Pihlaja 146 652 4 43/ 41/ 17 Behemot Michal Janeczek 144 886 5 44/ 44/ 13 G3-b David Moore 144 333 6 33/ 23/ 44 Olivia Ben Ford 143 791 7 33/ 25/ 42 Uninvited John Metcalf 142 745 8 41/ 41/ 18 QSOS Fizmo 141 1 9 41/ 42/ 18 Vanquisher Lukasz Grabun 140 154 10 35/ 31/ 34 Blacken Ian Oversby 139 1310 11 36/ 34/ 30 Keyser Soze Anton Marsden 138 764 12 41/ 44/ 15 pre75-z47a John Metcalf 138 5 13 31/ 24/ 46 nPaper II Paul-V Khuong 138 1063 14 31/ 25/ 44 Inky Ian Oversby 137 542 15 42/ 48/ 10 Kenshin X test 31 Steve Gunnell 135 7 16 43/ 51/ 6 Mischief John Metcalf 134 35 17 28/ 24/ 48 Purifier Lukasz Grabun 133 73 18 28/ 28/ 43 papertest Fizmo 128 2 19 25/ 25/ 50 Puddleglum John Metcalf 126 3 20 25/ 26/ 49 Curious Stone John Metcalf 125 4 21 1/ 57/ 42 no2 John Everitt Subject: KOTH.ORG: Status - ICWS Experimental 94 05/27/02 Date: 28 May 2002 15:07:32 -0400 Message-ID: <200205270406.AAA24976@gevjon.ttsg.com> Weekly Status on 05/27/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sun May 26 17:51:50 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 54/ 34/ 13 Fire and Ice II David Moore 174 4 2 34/ 21/ 45 KAT v5 Dave Hillis 146 36 3 38/ 37/ 26 Black Moods Ian Oversby 139 100 4 36/ 33/ 31 Controlled Aggression Ian Oversby 139 104 5 28/ 17/ 56 Katafutr Michal Janeczek 139 44 6 23/ 8/ 68 Evol Cap 4 X John Wilkinson 138 173 7 24/ 9/ 67 Denial David Moore 138 45 8 39/ 44/ 16 Greetings From Asbury Par JKW 134 64 9 25/ 17/ 58 Kin John Metcalf 134 12 10 26/ 20/ 54 Venom v0.2b Christian Schmidt 131 126 11 31/ 33/ 36 Big I.F.F.S. Dave Hillis 129 33 12 18/ 7/ 75 Black Box v1.1 JKW 129 67 13 18/ 7/ 74 Evolve X v4.0 John Wilkinson 129 121 14 28/ 28/ 44 Damage Inflicted Robert Macrae 128 43 15 32/ 38/ 29 Ogre Christian Schmidt 127 52 16 33/ 48/ 20 Mischief John Metcalf 117 1 17 22/ 31/ 47 Disaster Area 2.8 Stefan Foerster 113 31 18 25/ 38/ 36 test CS 113 61 19 29/ 46/ 25 Pagan John K W 112 158 20 25/ 39/ 35 La Vibra 19 Lukasz Grabun 111 2 21 21/ 48/ 31 Large Snail Philip Thorne 94 0 From: Koth Subject: KOTH.ORG: Status - Standard 05/27/02 Date: 28 May 2002 15:08:57 -0400 Message-ID: <200205270400.AAA24765@gevjon.ttsg.com> Weekly Status on 05/27/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Mon May 20 00:11:20 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 45/ 37/ 18 Oneshot '88 John Metcalf 153 1 2 36/ 21/ 43 Freight Train David Moore 152 80 3 35/ 21/ 45 Test Alexander (Sasha) Wa 149 19 4 34/ 23/ 43 sIMPly.Red v0.95 Leonardo Humberto 144 37 5 33/ 22/ 45 Guardian Ian Oversby 143 79 6 43/ 44/ 13 Foggy Swamp Beppe Bezzi 142 76 7 43/ 44/ 14 Blur '88 Anton Marsden 141 117 8 35/ 30/ 36 vala John Metcalf 140 2 9 37/ 38/ 24 Tangle Trap David Moore 137 153 10 38/ 41/ 21 Stasis David Moore 136 187 11 37/ 39/ 23 PacMan David Moore 136 109 12 26/ 17/ 57 EV Paper John K Wilkinson 136 93 13 33/ 32/ 35 Frog Sticker P.Kline 134 29 14 29/ 23/ 48 Shish-Ka-Bob Ben Ford 134 35 15 27/ 20/ 52 Jinglo John Metcalf 134 4 16 27/ 20/ 53 Test I Ian Oversby 134 136 17 27/ 22/ 50 Evoltmp 88 John K W 132 130 18 39/ 47/ 14 Iron Gate Wayne Sheppard 130 405 19 37/ 44/ 19 Beholder's Eye V1.7 W. Mintardjo 129 355 20 39/ 48/ 13 ig Wayne Sheppard 129 7 21 7/ 73/ 20 Pseudo Ring Simon Kitson 41 0 From: Koth Subject: KOTH.ORG: Status - Standard 05/20/02 Date: 28 May 2002 15:10:22 -0400 Message-ID: <200205200400.AAA05960@gevjon.ttsg.com> Weekly Status on 05/20/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Standard KotH CoreWar Hill : Last battle concluded at : Mon Apr 8 10:25:12 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 44/ 37/ 19 Oneshot '88 John Metcalf 150 1 2 33/ 21/ 47 Freight Train David Moore 145 80 3 31/ 21/ 48 Test Alexander (Sasha) Wa 141 19 4 38/ 38/ 24 PacMan David Moore 139 109 5 41/ 43/ 16 Foggy Swamp Beppe Bezzi 138 76 6 30/ 23/ 46 sIMPly.Red v0.95 Leonardo Humberto 138 37 7 30/ 22/ 47 Guardian Ian Oversby 138 79 8 39/ 41/ 20 Stasis David Moore 137 187 9 40/ 44/ 16 Blur '88 Anton Marsden 137 117 10 37/ 38/ 24 Tangle Trap David Moore 136 153 11 39/ 42/ 19 Beholder's Eye V1.7 W. Mintardjo 135 355 12 31/ 30/ 39 vala John Metcalf 132 2 13 39/ 47/ 14 Iron Gate Wayne Sheppard 130 405 14 31/ 32/ 38 Frog Sticker P.Kline 129 29 15 39/ 48/ 13 ig Wayne Sheppard 129 7 16 23/ 17/ 60 EV Paper John K Wilkinson 129 93 17 24/ 20/ 55 Jinglo John Metcalf 128 4 18 24/ 20/ 55 Test I Ian Oversby 128 136 19 25/ 23/ 51 Shish-Ka-Bob Ben Ford 127 35 20 24/ 22/ 54 Evoltmp 88 John K W 126 130 21 4/ 35/ 61 ID 88' compudemon 73 0 From: Koth Subject: KOTH.ORG: Status - ICWS Experimental 94 05/20/02 Date: 28 May 2002 15:11:50 -0400 Message-ID: <200205200406.AAA06235@gevjon.ttsg.com> Weekly Status on 05/20/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG ICWS Experimental 94 CoreWar Hill: Last battle concluded at : Sun May 19 18:59:56 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 53/ 34/ 13 Fire and Ice II David Moore 172 4 2 34/ 21/ 45 KAT v5 Dave Hillis 146 36 3 38/ 32/ 30 Controlled Aggression Ian Oversby 143 104 4 39/ 36/ 25 Black Moods Ian Oversby 143 100 5 24/ 8/ 68 Evol Cap 4 X John Wilkinson 139 173 6 40/ 43/ 16 Greetings From Asbury Par JKW 138 64 7 23/ 9/ 68 Denial David Moore 136 45 8 26/ 16/ 58 Katafutr Michal Janeczek 136 44 9 31/ 26/ 43 Damage Inflicted Robert Macrae 135 43 10 26/ 16/ 58 Kin John Metcalf 135 12 11 19/ 7/ 74 Black Box v1.1 JKW 131 67 12 26/ 21/ 54 Venom v0.2b Christian Schmidt 130 126 13 18/ 7/ 74 Evolve X v4.0 John Wilkinson 130 121 14 31/ 32/ 37 Big I.F.F.S. Dave Hillis 129 33 15 32/ 37/ 31 Ogre Christian Schmidt 126 52 16 34/ 47/ 19 Mischief John Metcalf 121 1 17 23/ 30/ 46 Disaster Area 2.8 Stefan Foerster 116 31 18 30/ 46/ 24 Pagan John K W 115 158 19 26/ 39/ 35 La Vibra 19 Lukasz Grabun 112 2 20 24/ 37/ 38 test CS 111 61 21 10/ 53/ 37 11570-7536-xt430-20-EVE bvowk 67 0 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 05/20/02 Date: 28 May 2002 15:13:15 -0400 Message-ID: <200205200403.AAA06078@gevjon.ttsg.com> Weekly Status on 05/20/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Fri Apr 26 03:08:41 EDT 2002 # Name Author Score Age 1 fclear Brian Haskin 72 72 2 D-clearM Ken Espiritu 56 88 3 test John Metcalf 46 16 4 clock strikes twelve John Metcalf 44 2 5 Her Majesty P.Kline 37 107 6 Tinyshot John Metcalf 30 1 7 Pitbull Christian Schmidt 20 44 8 8thTest Gino Oblena 17 19 9 Xord Monominer XOSC:01 Gino Oblena 15 27 10 QuiVa John Metcalf 13 181 11 Sun Tzu (v2.0) T'sk 3 0 From: Koth Subject: KOTH.ORG: Status - 94 No Pspace 05/20/02 Date: 28 May 2002 15:14:39 -0400 Message-ID: <200205200409.AAA06376@gevjon.ttsg.com> Weekly Status on 05/20/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG 94 No Pspace CoreWar Hill: Last battle concluded at : Sun May 19 15:08:18 EDT 2002 # %W/ %L/ %T Name Author Score Age 1 36/ 25/ 38 SP test 12 Lukasz Grabun 148 4 2 43/ 39/ 18 Hazy Lazy ... again Steve Gunnell 147 96 3 34/ 23/ 44 Son of Vain Oversby/Pihlaja 145 650 4 36/ 27/ 38 Uninvited John Metcalf 144 743 5 43/ 44/ 13 G3-b David Moore 143 331 6 42/ 43/ 15 pre75-z47a John Metcalf 140 3 7 33/ 27/ 40 Inky Ian Oversby 140 540 8 41/ 42/ 17 Behemot Michal Janeczek 139 884 9 33/ 27/ 40 Olivia Ben Ford 138 789 10 31/ 25/ 45 Purifier Lukasz Grabun 137 71 11 34/ 32/ 33 Blacken Ian Oversby 136 1308 12 29/ 26/ 44 nPaper II Paul-V Khuong 133 1061 13 42/ 51/ 7 Mischief John Metcalf 132 33 14 38/ 44/ 18 Vanquisher Lukasz Grabun 131 152 15 34/ 37/ 30 Keyser Soze Anton Marsden 131 762 16 29/ 27/ 44 Curious Stone John Metcalf 130 2 17 28/ 26/ 46 Puddleglum John Metcalf 130 1 18 42/ 53/ 5 He Scans Alone x P.Kline 130 52 19 40/ 50/ 10 Kenshin X test 31 Steve Gunnell 129 5 20 38/ 50/ 12 fatal lure of pMars Simon Wainwright 127 8 21 28/ 29/ 44 Disincentive Lukasz Grabun 126 34 From: Koth Subject: KOTH.ORG: Status - MultiWarrior 94 05/27/02 Date: 28 May 2002 15:36:43 -0400 Message-ID: <200205270403.AAA24873@gevjon.ttsg.com> Weekly Status on 05/27/02 -=- irc.KOTH.org is up! Meetings held in #corewars -=- Tons of new features on www.KOTH.org/koth.html pages -=- *FAQ* page located at: www.KOTH.org/corewar-faq.html Current Status of the KOTH.ORG Multiwarrior 94 CoreWar Hill: Last battle concluded at : Sun May 26 14:10:15 EDT 2002 # Name Author Score Age 1 D-clearM Ken Espiritu 72 88 2 test John Metcalf 55 16 3 fclear Brian Haskin 54 72 4 Tinyshot John Metcalf 46 1 5 Her Majesty P.Kline 39 107 6 8thTest Gino Oblena 34 19 7 clock strikes twelve John Metcalf 31 2 8 Xord Monominer XOSC:01 Gino Oblena 26 27 9 QuiVa John Metcalf 18 181 10 Pitbull Christian Schmidt 14 44 11 Downpour John Everitt 1 0 From: M Joonas Pihlaja Subject: Re: Useful techniques for bootstrapping Date: 28 May 2002 15:38:08 -0400 Message-ID: On Mon, 27 May 2002, John B Everitt wrote: > What are effective counter bombing techniques? Robert mentioned the bomb dodger already, and of course there is also paper tuned against stones (usually with imps). A few that come to mind are: nPaper II, Pulp, the paper in SnooPy, and the paper in Obvious. If you know more about the specific bomber you are attacking, specifically the offset of the first bomb from the stone body and its step size, you can also use a backtracker. That's an initial fast scan to find any bomb, then follow the trail of bombs (using the known step size) to the first bomb, and finally zapping the stone body (using the known offset of the first bomb from the stone). Not exactly practical for on-hill play though. :-( BTW, has anyone thought of a good way to probe for the step size of a bomber on the hill? Joonas From: "Benjamin Ford" Subject: Re: Vanquisher & Executor Date: 28 May 2002 15:39:32 -0400 Message-ID: From: Lukasz Grabun > the structure i started from was my good-old really frenzy ii. >first thing i changed was the step warrior uses. though regular mod-10 >pattern is quite good it seems that quasi-random mod-1 patterns (not >specially optimal) are better (still can't find the reason for that, can >anyone enlighten me?). It should help at least aginst scanners. If you are mod-10 and a scanner is mod-10, there is only a 10% chance the the bombs and scan align and the scanner wastes time hitting the bombs. Likewise, if the scanner is mod 4 (only 50%) or mod 5 (only 20%). By being quasi-random mod-1, a normal mod scanner is bound to find a bomb sooner or later. _________________________________________________________________ MSN Photos is the easiest way to share and print your photos: http://photos.msn.com/support/worldwide.aspx From: Paul-V Khuong Subject: Re:New entry on -94nop Date: 28 May 2002 15:40:57 -0400 Message-ID: <20011205172219.1015.qmail@web11608.mail.yahoo.com> the list still hasn't forwarded the emssage to my mailbox, but anyway. If you look at the matches between other QS using warriors and yours, they win by a very large margin. If your QS was ok, the results would be more equal, in the 50-50, or so. That's what i think for what it's worth. While we're on QScans, can someone tell me the fastest reaction time for QScans? I think i ahve something that can jump and decode in 7 cycles, but i don't know if it's any good. (I also have another one somewhat slower, but it could be used in a 94x warrior) *THAT'S what i do in math class* ^_^ I don't think it'll go on any hill before February, though, bc of RL. Paul Khuong __________________________________________________ Do You Yahoo!? Buy the perfect holiday gifts at Yahoo! Shopping. http://shopping.yahoo.com From: "Paul Khuong" Subject: RE: help Date: 28 May 2002 15:42:21 -0400 Message-ID: > -----Original Message----- > From: corewar-l@koth.org [mailto:corewar-l@koth.org]On Behalf Of Gold > Sent: 6 juillet, 2001 02:35 > To: Multiple recipients of list COREWAR-L > Subject: Re: help > > > I've always wondered about corewars too. > > Would anyone like to start a multi part post over a few days/weeks > telling about the game, any websites and a tutorial perhaps? > > Au. > > Wooday04 wrote: > > > hey is corewars still around? if so, could someone help me > learn how to make a > > monster or warrior or whatever. take me under your wing, make me your > > apprentice. it would be greatly apprectiated Yes, we'Re still around...I have no time atm, but i'll try to find some to write a li'l intro to the game later tofday. In the meanwhile, check koth.org's list of links. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.264 / Virus Database: 136 - Release Date: 01-07-02 _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com From: "John Metcalf" Subject: Misc Date: 28 May 2002 15:43:46 -0400 Message-ID: This is a multi-part message in MIME format. ------=_NextPart_000_73e0_417_1854 Content-Type: text/plain; format=flowed _____________________________________________________________________________________ Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com ------=_NextPart_000_73e0_417_1854 Content-Type: text/plain; name="a:2rgc"; format=flowed Content-Transfer-Encoding: 8bit Content-Disposition: attachment; filename="a:2rgc" Greetings... I hope to have Core Warrior 79 ready before Christmas. The fact I now have access to a computer at home will be helpful, I have been without one throughout the summer :-( If anyone wishes to discuss Corewar in Text Messages, I'm available on +44 7866 049839. It is much quicker to get hold of me this way than by email. Regards, John ------=_NextPart_000_73e0_417_1854-- From: pk Subject: Re: Hello? Date: 28 May 2002 15:45:11 -0400 Message-ID: <398428BA.928DED87@videotron.ca> I'm alive too, i think that most of the ones who were p^laying two months ago are still alive too, but i don't know where they're gone. Happens sometimes.... They might be back in a few days/week... I'm still playing, and trying to get one of my **** program to work correctly 8) And, if you check the hills at www.koth.org (section KotH), you'll see that the last battle was concluded not so long ago, i think... Eric Hochmeister wrote: > > Hello? > > I just found this site and absolutely love it. My only question > is.. is anyone alive? Does anyone still play? I hope it is still alive > and hope to hear from some of you ... anyways.. if anyone could give me a > sign that would be great... HTH Paul -- AKA paul_virak_khuong at yahoo.com, pkhuong at deja.com, pkhuong at crosswinds.net and pkhuong at technologist.com(list not complete)... From: "Ian Oversby" Subject: Round 8 Results and Final Analysis Date: 28 May 2002 15:46:35 -0400 Message-ID: <19990315092305.23161.qmail@hotmail.com> Round 8 Results and Final Analysis Pihlaja wins the final round with an Irongate Scanner protected by a paper. W. F. B. is only five points behind with a modified version of IWeasel (an imp/stone) and Macrae slightly increases his score with a submission based on HSA. Better late than never for Ben Ford with a Q^2 -> paper. All this means that Pihlaja wins the tournament with an impressive score of 570 - just 30 points less than the maximum. Schmidt didn't enter a warrior this round but nevertheless comes second overall just 1.5 points ahead of Macrae. W. F. B. finishes strongly to top the beginners just 40 points short of the front three despite the rather negative strategy lines. I hope to place all the warriors and a rather tidied up set of reports on my website at some point in the next two or three weeks. Farewell, Ian ;redcode-94 ;name 8001: A Corewar Odyssey ;author Ben Ford ;strategy qscan -> paper ;strategy ;strategy Mostly taken from John Metcalf's Innocuous. ;strategy I couldn't find anything to beat it (in the ;strategy little time I took) so I hope he does not ;strategy mind me using it. ;strategy Added dual bomber to qscan based on the one ;strategy in Fixed. ;redcode ;name 8001: A Pathetic Odyssey ;author WFB ;strategy Yet another lame imp-stone. ;strategy For Ian's Round 8. ;strategy This is barely tested. All I did was change a few numbers... ;strategy Not to mention the fact that I know almost nothing about imps. ;strategy I'm not sure how well the imp will work with the changes I made... ;strategy Oh well. I just wanna keep 4th. I got about 100 points ahead and ;strategy Behind me, so it shouldn't be too hard. Knowing me, however... ;strategy As I said, this is a lousy imp-stone I made for Weasel. ;strategy Just changed the constants. Kept the spl 0. Otherwise it suicides ;strategy A whole lot faster...=) ;strategy I should make a p-spacer or include something to kill paper but ;srategey it is I...WFB! Record holder for longest time playing and still ;strategy Getting nowhere on the -b hill. Whatever. Ciao... ;redcode-94 ;name He Scans Again (Revised) ;author Robert Macrae after P.Kline ;strategy Trivial mod to HSA, using SPL #0, {0 bomb and sne.f ;strategy to avoid rebombing trails. ;redcode ;name 5 minute warrior ;author Paul-V Khuong ;redcode ;name Give it a Proper Name ;author M Joonas Pihlaja ;strategy p-space: scanner, paper Round Normalised Normalised Rank Author 8 Round 8 Total Score Score Score 1. Joonas Pihlaja 1472 100 570.80 2. Christian Schmidt 0 0 515.02 3. Robert Macrae 1201 81.59 513.69 4. W. F. B. 1403 95.31 473.57 5. Paul-V Khuong 229 15.56 323.47 6. Steve Gunnell 0 0 270.06 7. Andrew Mehlos 0 0 252.99 8. Robert Hale 0 0 245.24 9. David Moore 0 0 225.97 10. Josh Yeager 0 0 163.73 11. John Metcalf 0 0 139.96 12. Philip Kendall 0 0 128.27 13. Ben Ford 1044 70.92 70.92 14. Simon Duff 0 0 63.57 Get Your Private, Free Email at http://www.hotmail.com From: John B Everitt Subject: Re: Useful techniques for bootstrapping Date: Tue, 28 May 2002 16:42:45 +0000 Message-ID: <20020528164245.3d154e95.everitt@dircon.co.uk> On Tue, 28 May 2002 06:43:28 +0000 (UTC) Lukasz Grabun wrote: > There's another way of bootstrapping the code using parallel > processes (to be more precise: it's not booting away itself, but rather > the way of using these processes after all dirty job is done). It's called > "airbag" and is very well described in a thread I started on 28 Nov 2001 > (subj: new warrior); MJP - as I recall - explained it to me in a very > understandable way. http://groups.google.com/groups?hl=en&lr=&frame=right&th=6154bea63d68ea45&seekm=20011121.213329.1605908235.1962%40localhost.localdomain#link1 I think this is the thread. - John From: Lukasz Grabun Subject: Re: Misc Date: Tue, 28 May 2002 20:18:20 +0000 (UTC) Message-ID: wto, 28 maj 2002 o 19:43 GMT, John Metcalf: > I hope to have Core Warrior 79 ready before Christmas. The > fact I now have access to a computer at home will be helpful, > I have been without one throughout the summer :-( ??? -- Lukasz Grabun (reply-to field is scrambled, remove NOSPAM) GM d+ s: a-- C++ UL P L++ E---- W-- N++ o? K- w-- O@ M@ V- PS+ PE+ Y PGP t-@ 5@ X++(+++) R tv-() b+++ DI+ D- G++ e++ h! r++ y+ From: Lukasz Grabun Subject: am I missing something? Date: Tue, 28 May 2002 20:23:30 +0000 (UTC) Message-ID: is it me, my news provider, my news reader or just a kindda stupid joke: what are all this messages by Oversby (tournament) and Metcalf (CW issue) and PVK (?) (don't know what about). -- Lukasz Grabun (reply-to field is scrambled, remove NOSPAM) GM d+ s: a-- C++ UL P L++ E---- W-- N++ o? K- w-- O@ M@ V- PS+ PE+ Y PGP t-@ 5@ X++(+++) R tv-() b+++ DI+ D- G++ e++ h! r++ y+ From: M Joonas Pihlaja Subject: Re: am I missing something? Date: Tue, 28 May 2002 23:53:27 +0300 Message-ID: On Tue, 28 May 2002, Lukasz Grabun wrote: > is it me, my news provider, my news reader or just a kindda > stupid joke: what are all this messages by Oversby (tournament) and > Metcalf (CW issue) and PVK (?) (don't know what about). Some postings to rec.games.corewar go to purgatory to expiate their sins. It's called LISTSERV and is rumoured to be just behind the corner from koth.org, so I'd be careful when surfing those waters. ;-) i.e. The corewar-l list server at koth.org belched up some messages it had been digesting for a long time for whatever reason. Joonas