Core War
en.wikipedia.org
en.wikipedia.org
The original Scientific American articles which introduced Core War are at http://www.koth.org/info/akdewdney/ (via https://news.ycombinator.com/item?id=12566384, but no comments there). Scans of those articles (via Atwood) can be viewed here: http://www.corewars.org/sciam/
Only a few past discussion:
The Core War Game Implemented in C - https://news.ycombinator.com/item?id=14442325 - May 2017 (1 comment)
The Halloween Core War Tournament - https://news.ycombinator.com/item?id=8505573 - Oct 2014 (1 comment)
Core War Tournament – Spring 2014 - https://news.ycombinator.com/item?id=7804141 - May 2014 (11 comments)
Two Programs Enter, One Program Leaves - https://news.ycombinator.com/item?id=2462535 - April 2011 (37 comments)
Core War: Two Programs Enter, One Program Leaves - https://news.ycombinator.com/item?id=153505 - April 2008 (8 comments)
I was maybe 12 or 13 in the late 80s, born and living in a tiny town in central Italy (Assisi), in love with technology and programming, also thanks to an older brother and his Commodore64.
One of his friend, ~10 years older than me, was studying CS in Pisa (one of the best CS universities in Europe, at least back then), but was frequently back home, and I used to visit him and play some videogames with him on his 386 or 486.
At some point he introduced me to Core War. I was instantly hooked, and we started writing "viruses" (that's how we called the programs) and then run tournament to see which one would perform best. I loved programming these things, and the intellectual challenge associated with it.
I am forever thankful to the creators of Core War. I ended up studying CS, moving abroad to work at AWS as a Technology Evangelist (first employee in Europe, back in 2008), and eventually having a rather successful career in IT. Core War deserves part of the gratefulness for all I had in life. BTW, this is the story of how I found my job at Amazon [0].
[0]: https://simon.medium.com/2008-how-i-got-hired-by-amazon-com-...
... Though that also suggests that it isn't run that often either.
It's basically the same game, including referring to Redcode and running it in MARS.
Apparently there was an earlier BBC port that seems closer to the original game in 1985, predating RAM Wars.
I suppose you could make it more interesting by battling it out on real systems, a mix of Core War and CTF if you like.
Fortunately there are other programming games such as Robocode, Screeps, yare.io, etc.
is only a crude approximation.
- More variety in memory layout (different topologies, hidden caves that can be entered only if you control a location, bots can influence the layout while in game...)
- Special instructions that grant special abilities like memory protection, but at a computational or memory cost
- More resource types (different executing CPUs with different strengths/weaknesses, different memory nodes harder/easier to access like a queue, extra hardware gadgets you can take over like TIS-1000 nodes)
- Game progression (research side quests to get additional special HW, at either one-time resource cost or via special task like guessing a password, deciding NP complete instance..)
- Additional game goal types (capture the flag, first to finish computing a neutral program wins)
Just a few. The game concept has a lot of potential.
I can imagine strategies of stealing competing warriors' work or corrupting data.
I wonder if you could do like, ASLR core wars somehow.
also befunge wars would be fun but break me.
So I wrote a version where every thread was running at the same speed, but that was always dominated by very simple replicators.
Then I tried to figure out how to have an instruction set where all instructions run at the same time. But I could not come up with something that worked well.
Recently I wrote a "cellular automaton with provenance" thing. Basically game of life, but you track the originator of each cell. That is fun, but also does not lead to a good game as far as I can see.
Perhaps you can make your idea work with some more real world ideas?
In the real world, you need resources to do anything. You find resources in the environment. Be that water, food or sunlight etc.
In Core Wars processing power is a resource. In standard Core Wars, your side has a fixed supply of resources. Replicating just divides that fixed supply amongst more agents. Somewhat realistic.
You can steal other people's processing power, if you manage to make some of their threads execute your code. (In that weirder sense, replicating in Core Wars can give you more processing power.)
Your idea was to hand out the resource of processing power just in relation to how many times you replicated. You found that's not workable.
Perhaps you could come up with a way to make players earn processing power?
I spent a good amount of time in the late 90s writing little bots for a similar game, AT-Robots, where you write an assembly type language to program a little laser-shooting robot that could drive around, scan for enemies, etc.
http://necrobones.com/atrobots/
And my best robot: http://necrobones.com/pub/atrobots/robots/unlocked/mj6.at2
Anyway, I loved this kind of thing as a teenager. I felt it really helped me to fall in love with programming and the ability to make things happen by writing code.
Also, there are better quality scans of Dewdney's articles here https://corewar.co.uk/sciam/
That said, the warriors have gotten crazy good so getting a spot in the top 10 is very hard.
I remember having a few good afternoons of fun with Core War as a teenager back in the day (I probably found an implementation on a shareware/freeware CD). But while that made me understand the tradeoffs of some of the common strategies mentioned on this wiki page pretty well, getting into the (often entirely uncommented) complex red code of some of the winners wasn't something I was too keen on doing without at least some description.
However, the site is .. odd. I'm not sure what triggers it, but if I visit the page from a link on the site, it works, but if I visit that link from your link, it doesn't. Except now, now they both work. Some odd caching artifact? Not sure.
Page Not Found
Looks like you've followed a broken link or entered a URL that doesn't exist on this site.
Back to our site
If this is your site, and you weren't expecting a 404 for this path, please visit Netlify's "page not found" support guide for troubleshooting tips.
Are there any modern equivalents, where people submit code to be run against other submissions?
CoreWar looks like my ideal programming game. Now I'm playing Zachtronic games (TIS100, Shenzen I/O) and occasionally Robocode.
It's a pretty much "finished" application.
Different world...
(And the hysteria in the 80s/early 90s was this was training for computer virus writers ;) but people also thought computer crime was fun so it wasn't like D&D style hysteria)
Take last year's winners. Translate. Profit.