G
Guest
Guest
Archived from groups: rec.games.corewar (More info?)
A couple of years ago I heard about this intriguing little subculture
and decided to try my hand at coding a warrior. About a month later I
produced this warrior, rather unimaginatively called Imp Factory. Since
I'm a big believer in open source, I'm releasing this warrior under the
GPL. ;-)
=========================================================
;name Imp Factory
;author Will Berry (wberry@wberry.org.x)
;license GNU General Public License
;strategy Spit out Imps relentlessly!
;assert 1
; but works best when gcd(coresize, scatter) is small
scatter equ 5
org start
; copy the Imp code to the new location, spawn a thread, repeat
; the first Imp will spawn at address imp
start: add.ab #scatter, 2
mul.a #scatter, -1
mov.i imp, imp - scatter
spl @-1
jmp start
imp: mov imp, 1
=========================================================
I put this warrior into the arena versus several of the evolved warriors
that came packaged with the graphical engine from
http://corewars.sourceforge.net/. Under the scoring criteria this
engine uses by default, which favors code coverage to "kills", this
warrior (in aggregate) beat the pants off everything I put it up
against, except in very small cores. Obviously it is a poor gladiator
because it never writes any DAT instructions.
But my questions are:
1) Is this warrior actually an original concept in any way, or is it a
re-implementation of some old hack?
2) Is anybody willing to post some anti-imp warriors that I can try out?
--
Will Berry
Director of Operations, Techwood Con gaming convention
http://www.techwoodcon.com/
A couple of years ago I heard about this intriguing little subculture
and decided to try my hand at coding a warrior. About a month later I
produced this warrior, rather unimaginatively called Imp Factory. Since
I'm a big believer in open source, I'm releasing this warrior under the
GPL. ;-)
=========================================================
;name Imp Factory
;author Will Berry (wberry@wberry.org.x)
;license GNU General Public License
;strategy Spit out Imps relentlessly!
;assert 1
; but works best when gcd(coresize, scatter) is small
scatter equ 5
org start
; copy the Imp code to the new location, spawn a thread, repeat
; the first Imp will spawn at address imp
start: add.ab #scatter, 2
mul.a #scatter, -1
mov.i imp, imp - scatter
spl @-1
jmp start
imp: mov imp, 1
=========================================================
I put this warrior into the arena versus several of the evolved warriors
that came packaged with the graphical engine from
http://corewars.sourceforge.net/. Under the scoring criteria this
engine uses by default, which favors code coverage to "kills", this
warrior (in aggregate) beat the pants off everything I put it up
against, except in very small cores. Obviously it is a poor gladiator
because it never writes any DAT instructions.
But my questions are:
1) Is this warrior actually an original concept in any way, or is it a
re-implementation of some old hack?
2) Is anybody willing to post some anti-imp warriors that I can try out?
--
Will Berry
Director of Operations, Techwood Con gaming convention
http://www.techwoodcon.com/
