Scott's Quick Core War Guide

OK for all the uninitiated out there, Core War is basically a game played by 2 programs. They're loaded into a simulated computer memory at random locations and their purpose is to kill the other program and avoid being killed. Because the start locations have a strong influence on the outcome many battles must be fought to get a fair assesment of which is the superior warrior. Humans of course "play" Core War by designing the programs which represent them in the tournaments.

Most commonly warriors are sent to one of the Hills at either the Stormking or Pizza servers. When a warrior is sent to the hill it fights all the other warriors already on the hill and if its score is high enough then it gets a place on the hill and knocks off the lowest scoring warrior. The program with the highest score is King Of The Hill, this is the name given to the ongoing tournament.

So wait a second I hear you ask, if only programs which score high enough can reach the hill then why don't all the rubbish programs get pushed off the hill leaving only the top programs with an unassailble grip on the hills? How can a beginner possibly hope to reach the hills when so many veteran's programs are there to stop them? Surely once all the best programs are found then the hill will be static?

Well either by accident or design the rules of corewar has led to a diversity of warriors where any type of warrior always has something which can beat it. This is often compared with the game of paper-scissor-stone, to the extent that warriors are classified using these terms (although there are many more warrior types) i.e. paper beats stones which beat scissors which beat paper. Generally any changes in the rules are made so that none of the established warrior types can gain a significant advantage.

Ah yes the rules.....

Warriors are computer programs, but they're not written in any language that would be used by a software engineer such as C, Pascal, Fortran or even Basic. Nope these warriors use assembly, not just any assembly, a special assembly dialect called Redcode. The earliest version of Redcode comes from the orginal Scientific American articles in 1984, after a bit of massaging this eventually became the 1986 Standard, again by about 1988 a few rough edges had been smoothed and the 1988 ICWS Standard was born. The 88' standard marked a huge increase in the diversity of good programs, replicators especially became more powerful as the number of parallel processes allowed was greatly increased. The 88' standard has finally been replaced by what is known as the 94' standard, although the 94' standard is completely backwards compatible with 88'. But 94' has continued to evolve with the addition of PSpace which allows programs to store information between rounds so that they can change their strategy to suit the opponent. To actually run a warrior you need a MARS (memory array redcode simulator), PMars currently seems to be the most popular since it seems to lead the way with the implementation of the 94' standard and is available in source code form for any platform. However you don't actually need to run your programs at all, the King of the Hill tournaments take place via e-mail, most of my program development is done with a good old 94' standard pencil.....

But I'd still suggest that you download a copy of PMars from the FTP site, if anyone wants the Linux binaries then you're welcome to e-mail me and I'll send you the compiled version.

If you want to know even more then I'd suggest you read the FAQ, and then look at the newsgroup, especially the newsletter Core Warrior. The thing is you won't really understand what they're talking about, all the slang tends to get in the way - papers, stones, scissors, DJN streams, vamps, PSpace, imp rings and spirals, brainwashers. But once you write your first warrior everything starts to make sense, and that's really the only way to learn, there are a few articles aimed at people who have just started, or you can just ask people in the newsgroup if you are having trouble. We all welcome new players.

Back to Scott's Corewar Stuff