Issue 27 April 29, 1996
______________________________________________________________________________
Core Warrior is a weekly newsletter promoting the game of corewar. Emphasis
is placed on the most active hills--currently the '94 draft hill and the
beginner hill. Coverage will follow where ever the action is. If you have
no clue what I'm talking about then check out these five-star internet locals
for more information:
FAQs are available by anonymous FTP from rtfm.mit.edu as
pub/usenet/news.answers/games/corewar-faq.Z
FTP site is: ftp.csua.berkeley.edu /pub/corewar
Web pages are at:
http://www.stormking.com/~koth ;Stormking
http://www.ecst.csuchico.edu/~pizza/koth ;Pizza
http://pauillac.inria.fr/~doligez/corewar/ ;Planar
Newbies should check the stormking page for the FAQ, language specification,
guides, and tutorials. Post questions to rec.games.corewar. All new players
are infinitely welcome!
If ftp.csua.berkeley.edu is still out of service, you can download pMARS at:
Terry's web page--http://www.infi.net/~wtnewton/corewar/
Planar fpt site--ftp://ftp.inria.fr/INRIA/Projects/para/doligez/cw/pmars
______________________________________________________________________________
Greetings.
A quiet week on the hill, few challengers and little or no bloodwaste; are the
players taking some holydays or just preparing new weapons for next week,
nobody can tell it.
In the newsgroup there has been some discussion about a new scoring system for
multiwarrior hills, seen the too many ties and the scarcety of strategies.
John K. Lewis decided to organize a tournament to see if a reduced process
number can bring more variety.
The tournament will use the following set up:
pmars <programs 1-10> -r 100 -p 8 -k
Mail your entries to John <jklewis@ren.us.itd.umich.edu> with a subject of :
- THE BATTLE ROYAL! -
This issue includes a first release of warrior ratings, according to the
advanced benchmark. Thanks to Scott Manley that did the job.
- Beppe Bezzi
______________________________________________________________________________
Current Status of the Internet Pizza Server ICWS '94 Draft Hill:
Hill Specs:
coresize: 8000
max. processes: 8000
duration: after 80,000 cycles, a tie is declared.
max. entry length: 100
minimum distance: 100
rounds fought: 200
instruction set: ICWS '94 Draft
# %W/ %L/ %T Name Author Score Age
1 44/ 40/ 16 Scanny Boy David van Dam 149 304
2 43/ 36/ 21 Mirage 2 Anton Marsden 149 240
3 42/ 35/ 24 Thermite II Robert Macrae 149 1474
4 45/ 42/ 13 Solomon v0.3 Ian Oversby 149 86
5 42/ 36/ 22 Gem of the Ocean P.Kline 148 343
6 35/ 24/ 40 Walk Like An Egyptian John K W 147 32
7 41/ 37/ 22 Chameleon M R Bremer 145 945
8 43/ 42/ 14 Stepping Stone Kurt Franke 145 287
9 40/ 36/ 23 Grilled Octopus v0.5 David Boeren 145 690
10 29/ 15/ 55 Hazy Shade II John K W 143 433
11 40/ 38/ 21 The Core Clear V1.2 David van Dam 142 15
12 38/ 35/ 26 La Bomba 1.3 Beppe Bezzi 141 45
13 31/ 20/ 49 Impfinity v4g1 Planar 141 1673
14 40/ 38/ 22 Blanket Party J E Long 141 198
15 36/ 32/ 32 Lithium John K Wilkinson 141 481
16 38/ 36/ 26 prova Maurizio Vittuari 141 450
17 36/ 32/ 32 Flurry Anton Marsden 140 435
18 36/ 33/ 31 Tornado 3.0 Beppe 139 1275
19 38/ 38/ 24 coal 3.1 bjoern guenzel 139 4
20 25/ 12/ 64 EvolCap XI John Wilkinson 138 183
21 42/ 47/ 11 Wind-up Toy v0.7 Ian Oversby 138 154
22 40/ 44/ 16 Naked dancer Beppe Bezzi 136 26
23 33/ 31/ 36 Blue Funk 5 Steven Morrell 135 618
24 36/ 38/ 26 T.N.T. Maurizio Vittuari 135 1199
25 31/ 33/ 35 silkworm v3.2 Brian Haskin 130 1
Weekly age: 53
New warriors 6 Turnover/age rate 11%
Average age: 464 ( 424 last week, 386 the week before )
Average score: 142 ( 141 last week, 130 the week before )
The top 25 warriors are represented by 16 authors, JKW with 4, Bezzi 3,
Oversby, Marsden, van Dam and Vittuari with 2.
A very quiet week this one, but 53 challenges, no push off and no new warrior
in the hilltop, paprt new version of Walk like an Egyptian for just a moment.
Mirage 2 held King position for most time sharing the spot with Solomon,
Scanny boy, the Core Clear, Chameleon an Walk like an Egyptian. The scores are
very close, we have 5 warrior in one point, 9 in four points and 21th is at
but 11 point from the top, this with an entry score of 130 points.
Scanners and pspacers seem to be the winning strategy, even if it's rather
difficult to see a tendency in such a situation.
______________________________________________________________________________
94 - What's New
# %W/ %L/ %T Name Author Score Age
6 35/ 24/ 40 Walk Like An Egyptian John K W 147 32
11 40/ 38/ 21 The Core Clear V1.2 David van Dam 142 15
12 38/ 35/ 26 La Bomba 1.3 Beppe Bezzi 141 45
19 38/ 38/ 24 coal 3.1 bjoern guenzel 139 4
22 40/ 44/ 16 Naked dancer Beppe Bezzi 136 26
25 31/ 33/ 35 silkworm v3.2 Brian Haskin 130 1
______________________________________________________________________________
94 - What's No More.
# %W/ %L/ %T Name Author Score Age
26 0/ 0/ 3 test t36b Beppe Bezzi 4 10
26 3/ 3/ 2 test Beppe Bezzi 11 3
26 5/ 4/ 3 test Beppe Bezzi 17 5
26 3/ 3/ 2 Walk Like An Egyptian John K W 11 125
26 1/ 1/ 2 Wtest P.Kline 4 13
26 4/ 0/ 0 The Core Clear David van Dam 11 48
No push offs this week, but a few warriors killed by their authors
______________________________________________________________________________
94 - What's Old
# %W/ %L/ %T Name Author Score Age
18 29/ 20/ 51 Impfinity v4g1 Planar 138 1673
5 41/ 34/ 25 Thermite II Robert Macrae 147 1474
19 35/ 33/ 31 Tornado 3.0 Beppe 138 1275
21 37/ 37/ 26 T.N.T. Maurizio Vittuari 137 1199
7 41/ 36/ 23 Chameleon M R Bremer 145 945
9 39/ 36/ 25 Grilled Octopus v0.5 David Boeren 143 690
23 31/ 31/ 38 Blue Funk 5 Steven Morrell 131 618
13 36/ 32/ 32 Lithium John K Wilkinson 140 481
10 39/ 35/ 26 prova Maurizio Vittuari 142 450
22 32/ 31/ 37 Flurry Anton Marsden 133 435
15 26/ 13/ 61 Hazy Shade II John K W 139 433
5 42/ 36/ 22 Gem of the Ocean P.Kline 148 343
1 44/ 40/ 16 Scanny Boy David van Dam 149 304
Two new entries in the over 300: Gem of the Ocean and Scanny Boy
______________________________________________________________________________
HALL OF FAME
* means the warrior is still active.
Pos Name Author Age Strategy
1 Impfinity v4g1 Planar 1673 * Stone/ imp
2 Jack in the box Beppe Bezzi 1620 P-warrior
3 Torch t18 P.Kline 1539 Bomber
4 Thermite II Robert Macrae 1474 * Qscan -> bomber
5 Frontwards v2 Steven Morrell 1420 One shot scanner
6 Evol Cap 6.6 John Wilkinson 1299 Imp / stone
8 Tornado 3.0 Beppe Bezzi 1275 * Bomber
7 quiz Schitzo 1262 Scanner/ bomber
9 T.N.T. Maurizio Vittuari 1199 * Bomber
10 Chameleon Myer R Bremer 945 * P-warrior
11 Iron Gate 1.5 Wayne Sheppard 926 CMP scanner
12 Agony II Stefan Strack 912 CMP scanner
13 Barrage Anton Marsden 876 Qscan -> replicator
14 Blue Funk Steven Morrell 869 Stone/ imp
15 Thermite 1.0 Robert Macrae 802 Qscan -> bomber
16 Blue Funk 3 Steven Morrell 766 Stone/ imp
17 Night Train Karl Lewin 755 Replicator
18 Mirage 1.5 Anton Marsden 736 Scanner/ bomber
19 Blizzard Anton Marsden 713 Qscan -> replicator
20 Grilled Octopus v0.5 David Boeren 690 * P-warrior
21 HeremScimitar A.Ivner,P.Kline 666 Bomber
22 La Bomba Beppe Bezzi 650 Qscan -> replicator
23 myVamp v3.7 Paulsson 643 Vampire
24 Blue Funk 5 Steven Morrell 618 * Stone/ imp
25 Hazy Shade Of Winter John Wilkinson 616 P-warrior
Impfinity v4g1 by Planar is the new leader, and is running toward new
frontiers.
New entry Blue Funk 5, BTW Steven, not bad for a beta, and what about even
numbered versions, pushes off Armory - A5 by John K. Wilkinson.
______________________________________________________________________________
Current Status of the Internet Pizza Server Beginner's Hill:
Hill Specs:
coresize: 8000
max. processes: 8000
duration: after 80,000 cycles, a tie is declared.
max. entry length: 100
minimum distance: 100
maximum age: At age 100, warriors are retired.
rounds fought: 200
instruction set: ICWS '94 Draft
Last challenge: Tue Apr 30 03:21:24 PDT 1996
# %W/ %L/ %T Name Author Score Age
1 60/ 29/ 12 Violent Micro v0.4 basehead 190 14
2 55/ 31/ 14 coal 3.2 bjoern guenzel 180 2
3 56/ 37/ 8 Gunslinger 2 Julian 175 87
4 51/ 36/ 13 AK-47 Julian 166 92
5 51/ 36/ 13 AK-47.1 Julian 166 91
6 50/ 38/ 12 C-Seagal II 1.02 jShelton 162 100
7 50/ 38/ 13 frogskin 4 bjoern guenzel 161 25
8 48/ 38/ 14 why bjoern guenzel 158 72
9 43/ 29/ 28 Reluctance Andy Nevermind 157 47
10 44/ 33/ 23 Toxin III Edgar 154 8
11 45/ 40/ 15 x-frog 2 bjoern guenzel 149 41
12 40/ 33/ 27 Toxin III Edgar 146 9
13 34/ 30/ 36 Toxin Edgar 137 38
14 35/ 33/ 32 Toxin II Edgar 137 37
15 41/ 47/ 12 Bloodhound Andrew Fabbro 134 39
16 37/ 45/ 18 Bye Bye Badman v1.1 Iain Hogg 129 51
17 37/ 54/ 8 SideWinder Julian 120 24
18 36/ 54/ 11 Centurion XIV Edgar 118 10
19 24/ 31/ 45 waves bjoern guenzel 116 11
20 30/ 46/ 24 C Seagal II v 2.0 Test jShelton 115 46
21 31/ 50/ 19 Killer Ian Oversby 112 44
22 30/ 49/ 21 Forked Lite Ning 4.1 Ansel Greenwood Serm 110 66
23 31/ 54/ 15 Centurion XIV (mod) Edgar 108 1
24 34/ 62/ 4 lightning Jens Heunemann 105 52
25 29/ 59/ 13 Metamorphosis v2.0 Mike Ash 99 19
But 28 challenges since last week. basehead, time to play in the pro, isn't
it, with new version of Violent Micro, is still the leader. Guenzel put his
coal in the 94 and Julian is holding runner up positions
______________________________________________________________________________
The Hint
Multi boot routines
by David Boeren
Welcome back to another week of Core Warrior. This hint is about how to
write a multi-boot routine. We all know what a boot routine is, and probably
almost all of us use one to escape from qscanners. Pspacers sometimes have
a little trouble though. Pspacers really need to boot, since they are big and
take some extra time for their thinking. The problem is that if you have a
separate 1c boot for each component it gets too big and you have to limit
yourself in the number and size of the components you can use. You can use
looping (.5c) boots instead, but the speed lost can be dangerous. A
multi-boot
is a boot routine that will boot ALL of your components at 1c, so you only
need to include one boot routine. This saves a lot of space, when I applied
the multi-boot to Grilled Octopus (with 3 components) I saved 16 instructions.
Let's take a look at my standard boot routine:
boot MOV.I tail, 3268 ; fast boot away tail first
for 9
MOV.I {boot, <boot
rof
ADD.AB #3, boot ; adjust so we split to "start"
SPL.B @boot, #1 ; split to main program
MOV.I 0, boot ; obliterate boot pointer
Everyone's code looks pretty much the same as this, except that I add the
instructions to erase the boot pointer. You can replace the SPL/MOV with just
a JMP if you don't need this. Anyway, the key feature is that we boot our
component tail-first, and then we have an unrolled loop that uses the
pre-decrement addressing to loop over the component.
A successful multiboot should have a similar structure. The simplicity
of a for/rof loop for 1c booting is great, and the convenience of only having
one instruction holding the boot destination AND the source pointer makes it
simple to erase our boot pointer. This should also hint to us that by
replacing this instruction we can make the routine boot from a different
source. Here is the code I developed for my multi-boot. The reason the
first instruction isn't in the for/rof is because pmars wouldn't accept a
label right before a for/rof block.
mboot MOV.I }boot, >boot ; Multi-boot routine
for 9
MOV.I }boot, >boot
rof
boot MOV.I inc, bdist ; fast boot away tail first
boff SUB.AB #5, boot
SPL.B @boot, #1 ; split to main program
MOV.I 0, boot ; obliterate boot pointer
You'll note it looks almost the same as before. The key difference is that
the instruction that holds the source & dest pointers is LAST rather than
first. Our strategy is that we want to jump into the middle of the for/rof
block at some point appropriate to the size of the component we're booting,
and for this to work the pointers have to be last. You may also note that
we now boot head-first, but this is really just a side-effect of having the
pointers last. I still use the same SPL/MOV to erase the boot pointer, but
you can replace these with a JMP just like in the old code.
Now, when you get ready to boot you have to do a couple things. First, you
do a MOV to set the source pointer. Then you do a MOV to set the correct
starting point for your component (the SUB line). Finally, you JMP into the
middle of the for/rof block to control how many instructions you are booting.
Here is an example of the code you would use to set up the multi-boot:
shred MOV.A #ptr-boot, boot ; Set component boot pointer
MOV.A #4, boff ; Adjust for starting offset
JMP.B mboot+3, #1 ; Jump to multi-boot routine
You can see that the multi-boot has a maximum of 3 instructions of overhead,
but quite often is it less. I would advise having the multi-boot default
to your most common component, this component will pay *0* instructions of
overhead. The routine will be pre-loaded with the source pointer and the
starting offset, so all you need to do is change your labels so that
anyplace that jumped to your old boot routine jumps directly into the
rof/rof block and that's it. This can be done very easily with an equ:
boot_stone equ mboot+5
Of course, any time you have another component which has the same starting
offset within the component, you can save a cycle by not reloading this value.
The number of MOV's needed for booting is the same as the size of your
largest component. If you arrange your code so that the boot setup for your
largest component comes directly before the multi-boot routine you can save
the JMP and fall-through into it, saving another cycle. This can always
be done, so consider it a freebie. So, in a typical 3-component pspacer
you will have one component with 0 cycles of overhead (default component),
one component with no more than 2 cycles of overhead (fall-through to mboot),
and one component with up to 3 cycles of overhead. That's a total of 5
cycles, divided by 3 components, means an average of less than 2 cycles per
component. This assumes that neither of your other components has the same
boot offset as your default, or else you will save even more cycles.
Finally, let's see how you would incorporate this into YOUR code. The multi
boot you can copy directly into your code. Replace the SPL/MOV with a JMP
if you prefer. Now, each component will have up to 3 lines to set up the
boot. Here's how you find the values you need:
shred MOV.A #A-boot, boot ; Set component boot pointer
MOV.A #B, boff ; Adjust for starting offset
JMP.B mboot+C, #1 ; Jump to multi-boot routine
A = pointer to the first instruction of your component
B = take the instruction you want to start execution on, how many instructions
is it from this instruction to the last instruction?
C = sizeof(biggest_component) - sizeof(this_component)
Setting up the default component should be easy enough, just follow the
example below if you need to.
So what is the total cost and benefits of a multi-boot? The benefit is
saving a lot of space, which can be used to add an extra component or just
beef up the ones you have now. You could also use the extra space to put in
some more complex "brains" for switching. The disadvantages are not too bad
in comparison. You have to pay an overhead of 2-3 cycles per component, with
one component getting a "free ride" for 0 cycles of overhead. You can only
have one boot_distance value to tweak instead of one per component (not
usually a big deal). Unless your pspacer is simple and small, you can
probably improve it by switching to a multi-boot. It's not free points, but
it opens up the opportunity to add more components, better components, more
brains, or possibly unrolling some of the loops you are currently using for
speed reasons. Hey, maybe you can even add a couple points to your spirals!
Here's an updated version of Grilled Octopus which has been modified to use
the multi-boot system. By doing so, I've saved 16 instructions, which could
easily be used to add a 4th component.
;redcode-94
;name Grilled Octopus v0.7
;author David Boeren
;assert CORESIZE == 8000
;strategy Aggressive P-warrior
;strategy Death awaits you all, with nasty big pointy teeth!
;strategy v0.1 Initial Release
;strategy v0.2 More aggressive, wins are better than ties!
;strategy v0.5 Totally new pspace techniques, upgraded components
;strategy v0.7 I'm shrinking! Multi-boot saves 16 instructions.
step equ 95
stepb equ (step*2)
stepz equ (184*2) ; "second chance" step for Fei-Oh
gate equ (inc-95)
dest0 equ 2200
dest1 equ 3740
dest2 equ -1278 ; pmars optimized
range equ 933 ; pmars optimized
sid equ 143 ; Stage ID
pdata equ 23 ; Win/Loss data
Pmod equ 29
; 5=7859, 7=7801, 8=7772, 10=7685, 13=7598, 16=7511, 20=7385
Pinit equ 7598 ; Fei-Oh loss tolerance
Pmorf equ 7801 ; Fei-Oh re-stepping tolerance
Pinit2 equ 7772 ; Paper Shredder loss tolerance
bdist equ (sflag+3312) ; multi-boot distance
fei_oh equ mboot+5
org start
sflag DAT.F #sid, #pdata ; pspace data pointers
DAT.F #0, +Pinit ; first round
PRESULT DAT.F #0, +Pmod ; loss
DAT.F #0, -Pmod ; win
DAT.F #0, #0 ; tie
start LDP.A #0, PRESULT ; Get results of last round
SNE.A #-1, PRESULT ; Is it the 1st round?
STP.A #1003, sflag ; If so, init stage ID
LDP.A sflag, jtab ; Load stage ID
SUB.A #1003, jtab ; Subtract secret number...
SLT.AB jtab, #3 ; Are we brainwashed?
JMP.B @0, nowash ; If so, jump to handler
LDP.BA sflag, PTEST ; Get the current win/loss counter
jtab JMP.B @0, stage1 ; Jump table to correct component
DAT.F #0, stage2
DAT.F #0, stage3
stage1 ADD.AB PTEST, *PRESULT ; Update win/loss counter
STP.B *PRESULT, sflag ; Store updated counter
MOD.AB #Pmod, *PRESULT ; Check the MOD
SLT.B *PRESULT, #Pmorf ; See if Fei-Oh is losing...
MOV.A #stepz, loop+1 ; Try a new step
JMZ.B fei_oh, *PRESULT
STP.A #1004, sflag ; Engage stage 2 pspace algorithm
STP.AB #Pinit2, sflag ; Reset stage 2 loss counter
; Too many losses, fall through...
nowash
shred MOV.A #ptr-boot, boot ; Set component boot pointer
MOV.A #4, boff ; Adjust for starting offset
JMP.B mboot+3, #1 ; Jump to multi-boot routine
ptr DAT.F #10, #5
DAT.F #10, #1
SPL.B -1, #1
scan ADD.A #8, ptr ; "Ippatsu" one-shot scanner
JMZ.F scan, *ptr
SPL.B #10, #2
clear MOV.I @ptr, }ptr
DJN.F clear, <gate
paper SPL.B 1, #0 ;\
SPL.B 1, #0 ;-> generate 8 processes
SPL.B 1, #0 ;/
silk SPL.B @0, {dest0
MOV.I }-1, >-1
silk1 SPL.B @0, <dest1
MOV.I }-1, >-1
MOV.I ibomb, }range
MOV.I {silk1, <silk2
silk2 JMP.B @0, >dest2
ibomb DAT.F <2667, <5334
inc SPL.B #0, <gate ; Fei-Oh v0.6
loop MOV.I bomb, @targ
ADD.AB #stepb, targ
targ MOV.I bomb, }stepb-1
DJN.F loop, <gate
bomb DAT.F #step, >1
; stage 3 is a switch-on-loss module against pspacers and paper/imps
stage3 SNE.A #0, PRESULT ; check result
lost ADD.A #1, PTEST ; lost change
MOD.A #2, PTEST ; secure result
win STP.AB PTEST, sflag
PTEST JMP.B @0, fei_oh
DAT.F 0, pboot
stage2 ADD.AB PTEST, *PRESULT ; Update win/loss counter
STP.B *PRESULT, sflag ; Store updated counter
MOD.AB #Pmod, *PRESULT ; if flag is not the right mod:
JMZ.B shred, *PRESULT
STP.A #1005, sflag ; Engage stage 3 pspace algorithm
; Fall through to backup strategy...
pboot MOV.A #paper-boot, boot ; Set component boot pointer
MOV.A #0, boff ; Adjust for starting offset
; Fall through to multi-boot
mboot MOV.I }boot, >boot ; Multi-boot routine, default to Fei-Oh
for 9
MOV.I }boot, >boot
rof
boot MOV.I inc, bdist ; fast boot away tail first
MOV.I 0, sflag ; Safety-net for our pspace stuff
boff SUB.AB #5, boot
SPL.B @boot, #1 ; split to main program
MOV.I 0, boot ; obliterate boot pointer
; fall through and die...
END
for (MAXLENGTH-CURLINE)
DAT.F (clear*23),(ptr*91) ; big decoy to confuse scanners
rof
END
______________________________________________________________________________
Advanced Benchmark Scores: Latest Update
by Scott Manley
OK this is a rundown of the Advanced Benchmark scores which I've been
compiling
on my web page (http://star.arm.ac.uk/~spm/welcome.html). Looking at some of
the ratings (one version of Koolaid scores 5.2) you might think that there are
some bugs in the scoring algorithm but the problem appears to be with the
warrior's code.
So far I have managed to rate all the warriors which haven't generated any
errors in my test script and I'm now working my way through fixing some
of those errors. If anyone sees a particular program out of place then
please send me a copy and I'll run it again, but my policy is only to stop
compiler errors not debug peoples algorithms.
The list presented here is not the exact same as on my web site, I have
removed all the factoring and sorting algorithms (Snail Sort is the Champion -
scoring 3.2), and of course the script continues with the lates batch of fixed
programs.
The advanced Wilkinson/Bezzi benchmark consists of 13 warriors, each
fighting 200 battles against the test candidate.
The test warriors are
* Agony II - Stefan Strack
* Blizzard - Anton Marsden
* Frontwards v2 - Steven Morrell
* C.I.A. - Anders Ivner
* Gem of the Ocean - Paul Kline
* Impfinity v4g1 - Planar
* Jack in the Box - Beppe Bezzi
* Leprechaun on Speed - Anders Ivner
* Lithium - John K Wilkinson
* Memories - Beppe Bezzi
* myVamp v3.7 - Magnus Paulsson
* Quiz - Schitzo
* TimeScape (1.0) - J. Pohjalainen
And the ratings are.....
1. 160.5 T.N.T. - Maurizio Vittuari
2. 158.4 quiz - Schitzo
3. 154.5 Gem of the Ocean - P.Kline
4. 152.4 Armory - A5 - Wilkinson
5. 149.7 Stepping Stone - Kurt Franke
6. 148.1 Wind Up Toy v0.7 - Ian Oversby
7. 146.0 C I A - Anders Ivner
8. 145.7 Tornado 3.0 - Beppe
9. 145.0 myConfuser - Paulsson
10. 144.5 endpoint . - M R Bremer
11. 143.7 Clisson Lite - P.Kline
12. 143.4 Lithium - John K Wilkinson
13. 142.3 Thermite II - Robert Macrae
14. 141.8 Mirage 1.5 - Anton Marsden
15. 141.8 Chameleon - M R Bremer
16. 141.3 No Prisoners - John K W
17. 140.4 seventyfive - Anders Ivner
18. 139.1 Time Lapse v0.8 - David Boeren
19. 138.7 Mason 2.0 - Robert Macrae
20. 138.0 Time Lapse v0.1 - David Boeren
21. 137.5 Wind-up Toy v0.4 - Ian Oversby
22. 137.2 Impfinity v4g1 - Planar
23. 137.0 blister soul - schitzo
24. 136.8 Harmony - P.Kline
25. 135.9 crow - Karl Lewin
26. 135.3 myVamp v3.7 - Paulsson
27. 134.3 anything box - schitzo
28. 134.2 Provascan 2.0d - Beppe Bezzi
29. 134.2 Porch Swing + - anonymous
30. 132.8 theMystery2.0 - Paulsson
31. 132.7 Barrage - Anton Marsden
32. 132.2 Jack in the box - Beppe Bezzi
33. 131.6 Rhino - Beppe Bezzi
34. 131.6 Aeka - T.Hsu
35. 131.4 Persistence - Kurt Franke
36. 131.0 Koolaid II: WoGG v2.2 - David Boeren
37. 130.7 U Test - JKW
38. 130.3 aMixture - Paulsson
39. 129.6 Harmony II - P.Kline
40. 129.5 Memories - Beppe Bezzi
41. 129.4 why - bjoern guenzel
42. 128.9 Impfinity v3e7 - Planar
43. 128.7 El Cheapo Scanner - David Boeren
44. 128.6 La Bomba - Beppe Bezzi
45. 128.2 TimeScape (1.0) - J. Pohjalainen
46. 127.3 Rubber wall - Beppe Bezzi
47. 126.2 SETI - JKW
48. 125.8 Circle of Friends - Randy Graham
49. 125.5 Door Mat v0.1 - K Lewin
50. 125.5 Phq - Maurizio Vittuari
51. 125.4 Agony II - Stefan Strack
52. 125.2 Frontwards - Steven Morrell
53. 124.2 Marcia Trionfale - Beppe Bezzi
54. 123.9 Hector 2 - Kurt Franke
55. 123.7 Taking Trains - Maurizio Vittuari
56. 123.5 Illusion-94/55 - Randy Graham
57. 123.5 Thermite 1.0 - Robert Macrae
58. 123.3 blackTN - P.Kline
59. 123.0 juliet and paper - M R Bremer, B. Bezzi
60. 122.7 Phoenix 1.1 - J.Pohjalainen
61. 122.5 Insight v1.0 - Brant D. Thomsen
62. 122.2 Miss Treatment - Derek Ross
63. 122.1 Mr Dumb - Maurizio Vittuari
64. 122.0 Paper Towel v0.4 - David Boeren
65. 122.0 nobody special - Mike Nonemacher
66. 121.9 Two Pack - John K W
67. 121.7 Porch Swing - anonymous
68. 121.7 paper01o - Beppe Bezzi
69. 121.3 Babbo Natale - Maurizio Vittuari
70. 121.3 Fire Master v1.5 - JS Pulido
71. 121.2 Queasy 1.4 - Robert Macrae
72. 121.1 theMystery1.5 - Paulsson
73. 121.0 Mr Speculative - Derek Ross
74. 120.5 myVamp v2.2 - Paulsson
75. 120.5 Papery - Ian Oversby
76. 120.3 Marcia Trionfale 1.3 - Beppe Bezzi
77. 120.1 Stasis - David Moore
78. 118.7 Not Expecting Too Much - Karl Lewin
79. 118.6 blah blah blah - M R Bremer
80. 118.4 tripod v1.5 - Brian Haskin
81. 118.4 Qwiksand - Wayne Sheppard
82. 118.3 paris - Kafka
83. 118.3 TimeScape (0.9) - J. Pohjalainen
84. 118.2 PacMan v3 - David Moore
85. 118.1 Mr Hospitable - Derek Ross
86. 117.9 black & white - Anders Ivner
87. 117.1 Impfinity v3i - Planar
88. 116.7 Lucky 3 - Stefan Strack
89. 116.3 Rave - Stefan Strack
90. 116.2 Qtest04 - Beppe Bezzi
91. 115.8 Drowning III - Mike Nonemacher
92. 115.4 People - Randy Graham
93. 115.0 Judge Nutmeg - Scott Manley
94. 114.7 White warrior - Nandor & Stefan
95. 114.3 Fscan - Jay Han
96. 114.2 Pretentious v0.2 - Ian Oversby
97. 113.5 ^C - Steven Morrell
98. 113.4 Prova_e_Riprova - Maurizio Vittuari
99. 113.3 test jtm10a - Beppe Bezzi
100. 113.2 Auntie v1.0 - Ian Oversby
101. 112.6 Ripped v0.1 - Ian Oversby
102. 111.5 A Quick Hack - Karl Lewin
103. 111.2 Cthulhu v8 - John K. Wilkinson
104. 110.3 Hint Test v2 - M R Bremer
105. 110.2 Hint Test v6 - M R Bremer
106. 110.1 Hyakutake C/1996 B2 + - Scott Manley
107. 109.4 cproba - nandor sieben
108. 109.1 Phoenix - J. Pohjalainen
109. 108.5 Pensive v0.3 - Ian Oversby
110. 108.3 Paperone - Beppe Bezzi
111. 107.9 Twins - Maurizio Vittuari
112. 107.7 Uvavu II revistited - Scott Manley
113. 106.8 Pyramid v5.5 - Michael Constant
114. 106.8 Paper Eater - David Boeren
115. 106.3 Impfinity v3c11 - Planar
116. 105.1 Vanilla 1.1 - Robert Macrae
117. 104.7 Tom&Jerry - Maurizio Vittuari
118. 104.5 Double Clown v1.1 - P.E.M
119. 104.2 Non Plussed - Randy Graham
120. 102.6 Three Core Monty - Andrew Fabbro
121. 102.5 Hyakutake Rising - Scott Manley
122. 102.5 kwclear - Anders Ivner
123. 101.6 Building Blocks - Randy Graham
124. 101.1 Tornado - Beppe Bezzi
125. 101.0 Imp Hunter - Kurt Franke
126. 100.3 Provascan 2.0 - Beppe Bezzi
127. 99.5 Silk Warrior 1.3 - J.Pohjalainen
128. 99.2 Futility - M R Bremer
129. 98.7 lil' shears - P.Kline
130. 98.7 myTiny - Paulsson
131. 97.1 Loh_tst_1.3 - Calvin Loh
132. 96.6 QuickFreeze - P.Kline
133. 96.5 worm optima 2 - Campbell Fraser
134. 96.5 Aces - anonymous
135. 96.5 v15 - Steven Morrell
136. 95.1 RED RAIN - Wayne Sheppard
137. 93.3 Strahd the Night Hunter - anonymous
138. 92.6 Hyakutake Engine - Scott Manley
139. 92.5 System Trap - Kurt Franke
140. 92.3 RingWorm_v2.4 - Calvin Loh
141. 92.3 flash - Nandor Sieben
142. 92.1 Pensive v0.1 - Ian Oversby
143. 91.9 Yop La Boum v2.1 - P.E.M & E.C.
144. 91.6 Hint Test v4 - M R Bremer
145. 91.2 Try fitting THIS name into eight characters or less! - Steven
Morrell
146. 90.7 Mythicon v1.2 - G. Eadon
147. 89.9 Fahrenheit 0 - Planar
148. 89.8 Cyclone - Scott Manley
149. 89.6 myTest - Paulsson
150. 89.3 Alien Kiss V1.1 - bjoern guenzel
151. 89.3 Sucker'94 - Stefan Strack
152. 89.2 Rand-Man - Randy Graham
153. 89.1 Pyramid v2.0 - Michael Constant
154. 88.2 Mister Neat - Derek Ross
155. 87.9 Antibodies - Andrew Fabbro
156. 86.1 Illusion - Randy Graham
157. 86.1 Mister Bump - Derek Ross
158. 85.9 RingWorm_v1.4 - Calvin Loh
159. 85.7 Pensive v0.2 - Ian Oversby
160. 85.1 P_Banzai_v1.2 - Calvin Loh
161. 85.1 Theme - Michael Constant
162. 84.3 Miss Careworn - Derek Ross
163. 82.3 Impfinity v1 - Planar
164. 82.2 Uvavu V1.01 - Scott Manley
165. 81.5 bunker t3 - P.Kline
166. 81.0 lewis - John Lewis
167. 80.8 impostor - na'ndor sieben
168. 80.4 Random Fire - Bram Cohen
169. 80.0 dead end - nandor sieben
170. 79.1 hit94 - nandor sieben
171. 78.8 dodgem6 - Steve Newman (snewman@cs.stanford.edu)
172. 76.9 Assassin XII - Andy Nevermind
173. 76.6 RedPixel.2 - John Lewis
174. 75.0 living dead - Nandor Sieben (asmqk@asuacad.bitnet)
175. 73.5 Mister Tidy - Derek Ross
176. 73.3 Umbrella - Beppe Bezzi
177. 72.3 QuickFreeze v1.5 - P.Kline
178. 72.2 Le vamp - Matthieu Walraet
179. 71.0 Storm Shelter 5 - John K W
180. 70.7 Forked Lite Ning 4.076 - Ansel Greenwood Sermersheim
181. 70.3 asian flu 1.2 - Simon Hovell
182. 67.0 ProtonDance-X - J.Cisek
183. 66.6 Baby Swing - Randy Graham
184. 64.0 csapda - nandor sieben asmqk@asuacad.bitnet
185. 63.4 2 pt spiral generator - David Moore
186. 63.3 garlic - Stefan Strack
187. 62.8 Vector (3 point, 8 process spiral) - T.Hsu
188. 61.1 Tonto 3 - Steve Bailey
189. 60.7 trident - Anders Ivner
190. 58.7 Specwar - J E Long
191. 58.3 orc - Timothy Echeandia
192. 58.1 Test 3 - Steve Bailey
193. 56.8 2IR - Calvin Loh
194. 56.4 Test 1 887 - Steve Bailey
195. 55.5 DeathWalker - Scott Manley
196. 54.8 ivscan - J.Layland
197. 54.6 Enlightenment II - Scott Manley
198. 53.0 macro - Nandor Sieben
199. 52.6 Enlightenment - Scott Manley
200. 52.6 mutant - brad rembielak
201. 51.9 Eranu v1.02 - Scott Manley
202. 50.1 DeathWalker II - Scott Manley
203. 49.4 Curse - Doug Ratcliffe Jr.
204. 48.8 Spiral 4000 - P.Kline
205. 48.6 Emousseur - Planar
206. 47.2 fork - J.Layland
207. 46.5 Silk - Lifted from Core Warrior # 1
208. 46.5 paratrooper - Vincent Li
209. 45.7 IcicleV2 1.14 - Ansel Greenwood
210. 45.5 paratrooper2 - Vincent Li (vli@atom.mpr.ca)
211. 44.9 ImpClear - bjoern guenzel
212. 43.3 Test 2 872 - Steve Bailey
213. 42.7 Miss Impertinent - Derek Ross
214. 42.2 paratrooper v2.1 - Vincent Li (vli@atom.mpr.ca)
215. 41.6 Blanket - Jon Newman
216. 40.7 CopyKatQ2 - harleyQ2
217. 40.3 multidwarf - Vincent Li (vli@atom.mpr.ca)
218. 39.9 turtle - Pierre Baillargeon
219. 38.5 ROLLER.S - M. PALUDAN
220. 38.0 banzai0.2 - Calvin Loh
221. 36.0 QUARTER - Stefan Haenssgen
222. 35.3 CounterMeasures V4 - Chris Arguin
223. 34.7 glass replicant - Pi Qan
224. 33.8 A-Cluster v2.06 - Iain Hogg
225. 33.0 Ape - Calvin Loh
226. 31.4 scratchers - nandor sieben
227. 31.1 dawG06al - dawG05co and dawG05dn
228. 30.6 csapda2 - Nandor Sieben
229. 28.6 tamper - Mike & John (Michael Nidd )
230. 28.1 dawG06cg - dawG05cu and dawG05db
231. 26.9 windmill - Calvin Loh
232. 23.3 minidwarf - anonymous
233. 22.3 dawG06cl - dawG05bt and dawG05az
234. 21.3 Copy2 - sgb
235. 21.2 Body-Snatcher3 - Calvin Loh
236. 17.7 twoOFaKIND - Paulsson
237. 17.2 spreel - Andy Pierce (ajpierce@med.unc.edu)
238. 16.9 MaxImp - Planar
239. 15.5 Jezebel v2.0 - A. Nevermind
240. 11.0 Eights - Randy Graham
241. 5.2 Koolaid II: The Wrath of Goofy Grape v0.1 - David Boeren
242. 4.5 Quarter II - anonymous
243. 4.0 Sample Bomber - Chris Arguin
244. 1.8 dwarfgun program. - Choon Piaw (piaw@soda.berkeley.edu)
245. 0.7 Points is Points - Karl Lewin
246. 0.2 Basic Mulberry - Ansel G. Sermersheim
247. 0.2 WindMill3 - Calvin Loh
248. 0.0 Loser 2 - Kurt Franke
249. 0.0 loser 1 - Anders Ivner
How about some statistics then, most sports have them, and ours depends on
them.
Starting with a simple histogram of the ratings
0-10 XXXXXXXXX
10-20 XXXXX
20-30 XXXXXXX
30-40 XXXXXXXXXXX
40-50 XXXXXXXXXXXXXXX
50-60 XXXXXXXXXXXX
60-70 XXXXXXXXXXX
70-80 XXXXXXXXXXXX
80-90 XXXXXXXXXXXXXXXXXXXXXXX
90-100 XXXXXXXXXXXXXXXXXXX
100-110 XXXXXXXXXXXXXXXXXXXX
110-120 XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
120-130 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
130-140 XXXXXXXXXXXXXXXXXXXXX
140-150 XXXXXXXXXXXXX
150-160 XXX
160+ X
The average score works out at 91.95
and the median score is 101.0
The densest scoring region is around 121 with peak density ~7-8 warriors/point
average density being 0.64 warriors/point
% Effectiveness ratings
100% 160.5
95% 143.4
90% 135.9
85% 130.7
80% 125.5
75% 122.2
70% 120.5
60% 113.2
50% 101.0
40% 89.6
30% 75.0
20% 52.6
10% 33.8
5% 16.9
I'm considering relating the scores to a percentage value which is represented
by some standardised mathematical function. Most programs will score less than
100% and the idea is to follow the introduction of new strategies with a more
easily managed number, a sort of Corewar inflation index. It will also make it
easier to relate a warriors rating to its position in the tables.
OK that's all for the moment, I've got real work to be done, there are still
similar tables for Beginners and combined Beginners/Advanced and of course
I'm still fixing a load of warriors so that they won't be rejected. There
are a couple of other things related to benchmarks I would like to do, firstly
I'd like to be able to follow the evolution of the warriors on the hill.
Secondly I think it would be intersting to follow the development of a couple
of newbies from the development of their first programs to becoming King of
the
Hill. (Of course it might be more productive if I spent some more time
attempting to acieve this goal).
Scott Manley
http://star.arm.ac.uk/~spm/welcome.html
_____________________________________________________________________________
Questions? Concerns? Comments? Complaints? Mail them to people who care.
authors: Beppe Bezzi <bezzi@nemo.it> or Myer Bremer <bremermr@ecn.purdue.edu>
|