~35 years ago I was 10-11, had an older friend (through my older brother) who was studying computer science at University, and we played videogames together. We discovered Core War and I was instantly hooked.<p>I designed several "viruses" (that's how we called them), and made them play in a tournament, which would last a few hours on his 386. Tons of fun, and tons of learning.
I got to know Core War through Polish computer magazines in the early to mid 90s. These magazines provided tutorials and tournaments for Core War programs. I found them interesting at the time but I didn't have a runtime environment to write my own programs so I was only studying the code.<p>While Core War had some depth, in the end it seemed the most successful programs used the same pattern. First it worked as a scanner to find the enemy, then it worked as a vampire to trap the enemy process in a small loop that forces the enemy process to split repeatedly (to slow the processes that are still roaming free), then once all processes are trapped, kill them.<p>I wonder if there were any changes in the rulebook since the 90s that would add more variety to the game.
We had a Core War tournament in a high school programming class, about 1990, running on classic Macintosh computers. That was when I first saw how loop unrolling could speed up a program (used in the winning program).<p>I remember we had an LCD projector that was literally a monochrome LCD in a frame without a back that the instructor put on top of a standard overhead projector.<p>C-robots was another programmable game that was lots of fun, but the simulation was not as visceral as watching the programs in Core War fight inside the memory of a virtual machine.
Core War remains in my memory (along with <i>Nobunaga's Ambition</i>) as an example of a game that young me couldn't even figure out how to play, let alone win. Some early Linux distro included it in the games menu alongside readily intelligible things like Solitaire, and weird but still learnable Nethack.
This[0] site is a good jumping-off point for people interested in getting started playing Core War. It's a surprisingly deep game and it's significantly tricky to get a place on the various King Of The Hill servers. There's an IRC channel #corewars on libera.chat that still sees some activity, though it's not what it used to be.<p>[0] <a href="http://corewar.co.uk/" rel="nofollow noreferrer">http://corewar.co.uk/</a>
One of my best school project was Core War. We had to build the VM where the battle took place and a compiler that would read a program written in assembly and transform it into byte code.<p>It was the moment I truly understood memcopy, memory management, and how powerful C was.
Although I knew about core wars, I never played it. But I must confess I spent a ridiculous amount of time creating super destructive machines with pascal and p-robots :)<p><a href="https://corewar.co.uk/probots.htm" rel="nofollow noreferrer">https://corewar.co.uk/probots.htm</a>