Since this is a site filled with assembly programmers, I assume it would proper to have a topic discussing one of my favorite "games", that I think some members here have likely heard about and have even participated in. Yep, Core Wars, a game in which two or more abstract-assembly programs fight each other to the death -- the meaning of death being that one program kills all the other program's processes. Since the main focus is not only on strategy, but also on speed/size optimization and even a huge emphasis on Self-Modifying code, it's a game designed for assembly programmers of all spins and flavors.

For a basic beginner's guide: http://vyznev.net/corewar/guide.html
Notepad++ Support for Redcode: http://www.cemetech.net/programs/index.php?mode=file&id=808
pMARS programs for battling: http://www.koth.org/pmars/ (I'm on CoreWin, which is the must-have version for Windows users)

I'm currently working on a new warrior of my own (readcode-94 standard compliant), so I don't have one to post right now -- anyone else have any warriors to share and show off?
I've seen this before, and the concept is very cool, but I've never tried it.
did you came up to this because a few of us were talking about Intel Core i7, yesterday?
Been working on this warrior for a few hours today, still far from done:


Code:
;redcode-94
;name Filly
;author Adam "Ashbad" Ruffa
;strategy Replicates for survival, bombs for offense

ORG STRT

STRT    SPL $MAIN, #0
BLOP    SUB.A  #3, $DATA
        MOV.I DATA, *DATA
        JMP $BLOP, #0
DATA    SPL $-3, #0
MAIN    MOV.AB #CLOPEND-MAIN+1, $DATA
CLOP    MOV.I <DATA, $TARGET
        SEQ.B $DATA, $COMP
        JMP $CLOP, <CLOP
        ADD.AB #CLOPEND-CLOP-1, $TGTCLP
COMP    SPL $TGTMAIN, #0
        JMP $0, <COMP

CLOPEND

DISTCEL   EQU 400+(CLOPEND-COMP)
TARGET    EQU CLOPEND+DISTCEL
TGTMAIN   EQU TARGET-(CLOPEND-MAIN)+1
TGTCLP    EQU TARGET-(CLOPEND-CLOP)+1

END


It's an interesting hybrid of types that executes pretty decently right now, but I plan on improving. It starts by running two processes, one that replicates the replicating portion of the code forward 400 instructions, while bombing mod-3 in the instructions below that. While the bombing continues, the replicated new code then replicates itself (it's a self-sufficient replicator that will copy its code and then split off to that new code, which then replicates again indefinitely) and the old replicator left behind is still left as a very useful imp gate (for destroying imps and imp spirals who are creeping up on the replicators and have gotten past the bombings.)

What I would like to do is both make the bombing pattern mod-Program Size and use instead of Program Size for the step, an optima number that gives the largest spread without hitting any new replicators. I am also planning to add a delayed-start imp ring for a chaos-inducing backup plan. This will probably take a few hours to successfully add tomorrow.

As it stands right now (using 10000 trials between my Filly and these other programs):

Good:
- It defeats imps around 70% of the time, and ties the remaining 30%.
- It defeats basic bombers such as Dwarf/Midget 20% of the time, loses to them 2% of the time, and ties the remaining 78%.
- With the bombing removed until I use optima numbers, it is essentially tied with mice and other world-champion replicators, winning about 1.1% of the time, losing 2.0% of the time, and tying the remaining 96.9%. (this miniscule split is almost statistically insignificant)


Bad:
- With the current (half-arsed) bombing scheme, it loses to mice and other world champion replicators 50% of the time, win less than 1% of the time, and ties the remaining ~49%.
- It loses about 80% of the time to Armadillos, and ties the remaining 20%.
- It loses a whopping 100% of the time to Winter Werewolf. (A program I greatly admire yet am still devising a tactic to at least lose less frequently to)

So in a normal KotH hill, I'd expect this current version to be somewhere in the middle of the pack, below the advanced bombers (such as Winter Werewolf and Armadillo clones/mprovements) and some replicators depending on their strategy, and above simple bombers, imp-based attackers, and simple replicators. I'd also say the durability of my program is relatively strong but the effectiveness is still relatively weak.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement