Koolaid revealed!

18 views
Skip to first unread message

David Boeren

unread,
Jan 13, 1996, 3:00:00 AM1/13/96
to

Well, JS Pulido has released his code for Fire Master 1.5, so I may as
well let everyone have a look at my code too. :)

Here's the version that's currently neck-and-neck with Fire Master 1.6
for the top of the beginner hill:

;redcode-b
;name Koolaid II: The Wrath of Goofy Grape v0.1
;author David Boeren
;assert CORESIZE == 8000
;strategy stun bomber -> coreclear
;strategy v0.1 New bombing engine with ideas from Tornado
;strategy Wasn't able to make it work with the Exodus bomb though...

step equ 404 ; modulo 8 bombing
stepb equ (2*step)
stepc equ (3*step)
gate equ loop-3

org loop
loop MOV.I bomb2, @targ
MOV.I bomb1, <targ
MOV.I vamp, *targ
targ MOV.I stepb+3, @step+3
ADD.F inc, targ
DJN.B loop, #333 ; (8000/(modulo*3))-1 bombs
inc SPL.B #stepc, #stepc+1
clear MOV.I kill, >gate ; Coreclear modified from Phosphorus
DJN.F clear, {gate
kill DAT.F #0, #20
bomb1 SPL.B #2, #stepb+2 ; heavy stun bomb
bomb2 MOV.I -1, }-1
vamp JMP.B -(step+1), {2667
END

Basically, I throw 2-line stun bombs around core and JMP lines that point
to them. The bombing loop runs at .5c and bombs mod-8. The stun bomb
looks like this:

spl.b #2, #stepb+2
mov.i -1, }-1

This does pretty good stunning, but I don't like it nearly as much as the
Exodus. Unfortunately, I needed a field free, and the Exodus does not
have any free fields left, so I had to go with this one.

What I like about the Exodus over other incendiary style bombs is that it
creates an infinte SPL carpet, rather than a limited size one. This
means that the SPL carpet has the potential to engulf other enemy
proceses lurking downstream, ie - It will possibly overrun some more
copies of his paper.

There isa tradeoff between how much time the stunned enemy should spend
splitting and how much time he should spend making the SPL carpet larger.

Here are a few different infinite-carpet stun bombs and stats:

; Exodus bomb, burn everything!
; 20 cycles: carpet=5 100 cycles: carpet=18 1000 cycles: carpet=93
; procs=16 procs=84 procs=822
MOV.I 1, >1
SPL.A -1, #1

; Faster-growing stun bomb
; 20 cycles: carpet=8 100 cycles: carpet=28 1000 cycles: carpet=224
; procs=16 procs=76 procs=782
SPL.A #0, #95
MOV.I 1, >1
SPL.A -2, #1

; Even faster-growing stun bomb
; 20 cycles: carpet=10 100 cycles: carpet=30 1000 cycles: carpet=257
; procs=14 procs=74 procs=749
MOV.I 2, >2
MOV.I 1, >1
SPL.A -2, #1

; Heavy stun bomb
; 20 cycles: carpet=5 100 cycles: carpet=7 1000 cycles: carpet=10
; procs=18 procs=96 procs=993
SPL.A #0, #2
MOV.I -1, >-1

As you can see, the faster growth means that there is less splitting.
The Exodus bomb is ideal due to being only 2 lines long, which makes your
program bomb faster and saves space.

The "Heavy Stun Bomb" is what Koolaid uses now. It's 2 instructions long,
has 1 free field for putting a step or other data value in, and makes
the opponent split very heavy, at almost 1c in fact! The only drawback is
that it's not going to be able to overrun other copies of paper nearby.
However, the superiority in stunning power over a SPL 0/JMP-1 or even a
SPL 0/SPL 0/JMP-2 should be very evident, since these only stun at .5c and
.66c respectively, and the .66c version needs an extra instruction.
And it does have a little short-term growth, just enouhg to get the next
couple instructions in the enemy loop.

Well, I think we've got stun bombs pretty well covered now.

My bombing loop drops 999 bombs at .5c, and then I start the coreclear.
The coreclear is self-splitting, which helps me tie imps if I get overrun,
or if my DJN is bobmed then I can continue the clear mostly functional.
It's a continuous forward DAT and backward DJN.F combo which will run
until time runs out. As you can see, I first learned about this style of
coreclear from Phosphorus, but the same code is in quite a lot of other
warriors as well.

Well, that's about it for the secrets of Koolaid II v0.1. I'm working on
a new version now, but it's still undergoing refinements and is not ready to
be submitted to the hill yet, much less be released here. I promise to
release it eventually though...

I hope that at least a few of you have learned something interesting,
like why SPL 0/JMP -1 bombs just don't cut it anymore! Anyway, if anyone
has any questions or comments, I'd love to hear them.

Oh, and if anyone wants source to any earlier version of Koolaid (before
it became Koolaid II) you can just ask and I'll send it to you. The old
ones didn't have the .5c bombing conversion in them yet and used the
Exodus bomb instead, but they still may be useful to someone...


Reply all
Reply to author
Forward
0 new messages