🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: rec.games.corewar
3 messages
3 total messages Started by Thomas Wang Sat, 21 Nov 1992 00:08
Question from an oldtimer
#304
Author: Thomas Wang
Date: Sat, 21 Nov 1992 00:08
13 lines
986 bytes
Why are people still playing CoreWars?  I stopped playing a few years ago
when I determined Vampire type fighters have too much advantages over other
types of fighters; one hit and the game is over.

I can describe my last CoreWars fighter as 2 parallel running vampires that
periodically check if the twin is dead or not.  If so, the survivor will turn
itself into multiplying rabits.  It's insurance against lucky shots.

How do the latest champions work?  If things have changed, please correct
my theory about vampires.


 -Thomas Wang           (Everything is an object.)           wang@cup.hp.com
Re: Question from an oldtimer
#306
Author: Kent Peterson
Date: Sat, 21 Nov 1992 16:17
69 lines
3835 bytes
In <136140001@hpcupt1.cup.hp.com> wang@hpcupt1.cup.hp.com writes:

> Why are people still playing CoreWars?  I stopped playing a few years ago
> when I determined Vampire type fighters have too much advantages over other
> types of fighters; one hit and the game is over.
> 
> I can describe my last CoreWars fighter as 2 parallel running vampires that
> periodically check if the twin is dead or not.  If so, the survivor will turn
> itself into multiplying rabits.  It's insurance against lucky shots.
> 
> How do the latest champions work?  If things have changed, please correct
> my theory about vampires.
> 

Things have changed all right.  Any and all of the current champions could
knock the socks off any and all of the contestants in the previous yearly
tournaments.  One of the main reasons is the use of large numbers of processes
running together, usually created by executing a SPL 0 instruction.  Of course,
this means you need to have code that can be executed by multiple processes
without damaging itself, but this isn't too hard, and the resulting toughness
is really worth it.

Intelligence, such as the self-checking program you described, isn't that
important anymore (unfortunately, IMHO).  However, there are a few tricks
available that make programs smarter than the usual bomb-bomb-bomb versions,
such as the use of CMP to scan 2 locations every 3 cycles.  Here's the classic
example of such a program:

;redcode verbose
;name Crimp 2
;author Andy Pierce
;strategy  cmp scanner with decoy
;strategy  v2:  smaller, faster core clear, original constants

ret     add offset,start
start   cmp -50,-1
        slt #11,start
count   djn ret,<6024
        mov bomb1,@start
        mov bomb2,<start
        add next,start
        jmn start,ret
bomb2   spl 0,2
next    mov @-49,<-48
bomb1   jmp -1,0
offset  dat #-98,#-98

The "redcode verbose", "name", "author", and "strategy" lines are for the
ongoing tournament King of the Hill, which is addressed in the FAQ.

Programs such as Crimp 2 ruled the hill for months last spring, before more
innovations came out and gradually pushed them off.  This program looks at
2 addresses using the CMP, checking to see if they are equal.  Chances are,
if they aren't, you've found a section of a program, so the SLT checks to
see if it's your own code.  If it's not, bomb one of the two locations,
exchange the A- and B-fields of the CMP, bomb the other location, then go
back to scanning.  The DJN mutates core, and when the mutation finally
overwrites the program, it drops into the core-clear at the end - starting
with a SPL 0 so unlucky bombs from an enemy can't kill the program.

When CMP-scanners seemed to be entrenched so firmly on the hill that they
would never be pushed off, many people said that innovation in Redcode had
come to an end.  However, just a few weeks ago, the first imp-ring appeared
on the hill, and this strategy has since been accepted as a very powerful
one - one of the few strategies that actually do well in tooth-and-nail
competitions, where "smart" programs - self-checkers and the like - generally
get smashed.  Moral: never give up on CoreWar.

Kent Peterson
Anti-PitTrap Code
#307
Author: pk6811s
Date: Mon, 23 Nov 1992 15:54
24 lines
1400 bytes
Well, Sucker 4 nearly made it to 1000, and Sucker 5
looks like a good bet to do even better.  There's just
one problem.  Pit-trappers are EASY to beat, because they
drop pointers to themselves all over core.  Try running
this three-line program against Sucker 4:

trace    mov 10,<-10
         sub @trace,<trace
         jmp trace

Then figure out how you can incorporate the first two lines
into a loop in your own fighter.  Or create a three-line 
'outrigger' running somewhere outside your program - 
that's what I do in Imprimis 3.  It doesn't need many 
cycles, it can be a slow but sure killer.

Testing against imp-rings also gives some interesting results -
such as tracing an imp-line back to it's source.  Not fatal,
but sometimes kills the stone.

Peace.

Paul Kline
pk6811s@acad.drake.edu
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads