Today I discovered an absolute gem from the past.
If you were around in 1984 you might have been super awesome and played core wars.
Core Wars is a programming game in which two or more programs run in a simulated computer with the goal of terminating every other program and surviving as long as possible. Known as Warriors, these programs are are written in an assembly language called Redcode.
Basically it's Counter-Strike/COD for programmers where you can fight in a team team, as a free-for-all, or one-vs-one.
What other cool things from the past might us youngun programmers have missed or not have an appreciation of?
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(Score: 2) by tangomargarine on Friday October 24 2014, @07:39PM
Basically it's Counter-Strike/COD for programmers
Well, now I'm bleeding from the ears. Thanks a lot.
"Is that really true?" "I just spent the last hour telling you to think for yourself! Didn't you hear anything I said?"
(Score: 3, Funny) by Gaaark on Friday October 24 2014, @09:08PM
And now, I am tea-bagging you!
You're welcome! :)
--- Please remind me if I haven't been civil to you: I'm channeling MDC. ---Gaaark 2.0 ---
(Score: 3, Informative) by Sir Garlon on Friday October 24 2014, @07:49PM
Another cool thing from the past: the International Obfuscated C Code Contest [ioccc.org]. Actually, it's still going strong. Enjoy.
[Sir Garlon] is the marvellest knight that is now living, for he destroyeth many good knights, for he goeth invisible.
(Score: 2) by mendax on Friday October 24 2014, @08:21PM
After all, the first real remote exploit I can think of, the Cornell Worm [wikipedia.org], exploited the lack of range checking in C arrays in common Unix servers of the time to overflow them and inject his own instructions. And this was 26 years ago! Is what the hackers do today all that different? Just a slightly different version of Core Wars.
It's really quite a simple choice: Life, Death, or Los Angeles.
(Score: 1) by No Respect on Friday October 24 2014, @08:27PM
Back around 1980 or so we had student "accounts" for mainframe computer time and resources. At the end of every semester most people had remaining time on their accounts. It was always amusing to see who could generate the biggest printout of errors from a shuffled deck of punch cards.
Another nerdier thing to do was write mainframe programs known as, iirc, wabbits. The idea was for it to reproduce itself ad infinitum, or up to whatever limits it finally ran into, and eventually gobble up all the system memory, causing a crash. Somewhat harmless fun that today would probably net you 5-10 on a felony charge.
(Score: 0) by Anonymous Coward on Saturday October 25 2014, @02:51AM
:(){ :|:& };:
(Score: 2) by Geotti on Saturday October 25 2014, @11:19AM
Is that a fork bomb or a shell shock?
(Score: 1) by cats on Friday October 24 2014, @08:32PM
Check out the SDFMuD [sdf.org] as well as the rest of the SDF Public Access UNIX System [sdf.org].
Also NetTrek [netrek.org] the MMO from 1988 that's still going strong (and is where the OGG got its name [wikipedia.org]!)
(Score: 2) by mattie_p on Friday October 24 2014, @08:37PM
I got a MUD up and running [soylentnews.org] on the servers for a while on April 1st. I know its still there but probably shut down right now. Maybe I'll reactivate it tonight.
(Score: 1) by Gertlex on Friday October 24 2014, @08:36PM
Going in a different direction than the summary prompts, these sort of competitive programs appear occasionally on codegolf.stackexchange.com. I wish I had sufficient mental resources to play such coding challenges and still work on work and my own projects...
E.g.:
http://codegolf.stackexchange.com/questions/34968/caveman-duels-or-me-poke-you-with-sharp-stick [stackexchange.com]
http://codegolf.stackexchange.com/questions/25347/survival-game-create-your-wolf [stackexchange.com]
http://codegolf.stackexchange.com/questions/39829/cops-and-robbers-regex-golf [stackexchange.com]
http://codegolf.stackexchange.com/questions/35079/the-rock-paper-scissors-lizard-spock-tournament-of-epicness [stackexchange.com]
(Score: 2) by mattie_p on Friday October 24 2014, @08:40PM
I never owned this game (my budget as a lad in 1989 severely restricted what I could afford), but Omega [wikipedia.org] probably got me into computers and IT. The idea of designing a tank and writing its AI program was too cool for me. I wonder if anyone here ever played, and if so, how was it?
(Score: 2) by TheLink on Saturday October 25 2014, @06:22PM
Was quite fun: https://www.youtube.com/watch?v=rDNLkkn6_2Q&list=PLAI1mdgWQZqBzqLHGuUKrKN2JuvvGbkXW&index=3 [youtube.com]
Your tank program had to tell the tank what to do in detail - turn left, scan, detect for obstacles etc.
Different tanks can use different strategies - for example some (like realswan, stv5f, 3hyena[2]) would run away and only come back to fight (when hopefully the enemy was low on power and would run out or be inactive - shields use more power, movement used power, firing weapons and scanning too, but just running code doesn't). Other tanks like backlash would raise shields and wait for the enemy to fire, then lower and fire back and try to raise them before the enemy could return fire. And some would try to dodge shots (mobius: https://www.youtube.com/watch?v=VJwfa7XcVuc [youtube.com] ) and one seemed designed for specific maps (daggear on houston: https://www.youtube.com/watch?v=_l1kcBuzs7M [youtube.com] )
The tanks I wrote (baz31, baz32, banzai) were usually more aggressive (I found running away too boring even if it might be effective) - they would use the remote launcher at start to locate the enemy and head towards the last known spot. baz32 had improved low power handling (esp vs stv5f). Example of maze navigation: https://www.youtube.com/watch?v=Nh4TdQUCs68 [youtube.com]
You could also have team tanks that would communicate with each other: https://www.youtube.com/watch?v=Y38WlQeMl04 [youtube.com]
But there were various bugs in the game like m5 turtle armor being better than bentley despite what the manual ( https://archive.org/details/Omega_Neural_Cybertank_Manual [archive.org] ) said.
Various links:
https://web.archive.org/web/20031219022831/http://www.feverish.demon.co.uk/omega/ [archive.org]
https://web.archive.org/web/20130526022751/http://toadstool.net/games/omega/docs/index.htm [archive.org]
https://web.archive.org/web/20030716065059/http://home.insight.rr.com/privategarden/omega.htm [archive.org]
https://web.archive.org/web/20050204084956/http://geocities.com/ResearchTriangle/7003/omega.htm [archive.org]
https://web.archive.org/web/20020615103634/http://www.atlantic.net/~flburns/omega/ [archive.org]
Review:
http://www.pixsoriginadventures.co.uk/category/omega/ [pixsoriginadventures.co.uk]
[2] 3hyena https://www.youtube.com/watch?v=r9Dh3I0sOxU [youtube.com]
stv5f https://www.youtube.com/watch?v=tTRhiHnlCGs [youtube.com]
https://www.youtube.com/watch?v=_l1kcBuzs7M [youtube.com]
(Score: 2) by khedoros on Friday October 24 2014, @08:44PM
Robot Odyssey [wikipedia.org], from 1984. You "program" the robots by designing circuits built out of logic gates, to control the behavior of the robots. The goal is to escape the underground city of Robotropolis.
A more recent example that's both challenging and fun is Spacechem, although the puzzles in that have more in common with multi-threaded stream processing than AI or gate-level digital logic.
(Score: 2) by Nerdfest on Friday October 24 2014, @08:57PM
There was a Java based game similar to this ten or fifteen years ago that was great for teaching real-time processing.
(Score: 0) by Anonymous Coward on Friday October 24 2014, @08:58PM
One of the more odd ones I came across was for the ps1
http://en.wikipedia.org/wiki/Carnage_Heart [wikipedia.org]
My friend from work put it best 'this is like work except the interface sucks and I dont have 2 hours to debug this lets play something else'.
(Score: 3, Interesting) by cosurgi on Friday October 24 2014, @09:02PM
I liked that. I even implemented my own variant, where programs lived in a 2D matrix, and each cell contained a super simple assembler instruction and a direction where to go for next instruction (←↓↑→). Doing loops was super funny, because the loops were actually forming a closed loop spatially on 2D matrix, and end of the loop condition was to go in either one direction (loop exit) or another (continue loop). The programs could copy themselves (by copying their own instruction cells into another place) and then fork to start another parallel program. They could randomly mix their code with each other when one was copying to a place where another one was copying too. Also to make it even more fun I introduced mutations which rarely randomly changed the copied code. And new nicer programs evolved :) But they were still doing great, so I added a "radiation" bomb, which randomly altered some cells in 2D matrix into another assembler instruction. That usually killed them all off. But I kept trying, curious if I could evolve a super program that would survive most of what I threw at it.
And it happened. This program was almost virtually unkillable. Curious at why it happened, I looked at its assembler code. And guess what? The little guys with help of mutations which induced evolution found a loophole in my super simple assembler. After the end of copy-itself loop they had 4 or more "fork" instructions, which caused the copied beast's assembler code to be used simultaneously by 4 or more programs. And they were able to multiply 4 times faster, exponentially with each generation. No random "radiation" bomb would kill them all at once. It was enough if just one survived, and it quickly took over whole 2D matrix again :)
#
#\ @ ? [adom.de] Colonize Mars [kozicki.pl]
#
(Score: 2) by cosurgi on Friday October 24 2014, @09:09PM
I found it :) omg, I was writing in pascal at that time, 1999. Perhaps I should be able to run it in dosbox.
PS: backups FTW :)
#
#\ @ ? [adom.de] Colonize Mars [kozicki.pl]
#
(Score: 2) by maxwell demon on Saturday October 25 2014, @09:36AM
Sure. Now if only I could read those old floppy disks containing those backups …
The Tao of math: The numbers you can count are not the real numbers.
(Score: 2) by cosurgi on Friday October 24 2014, @09:24PM
┌──────────────┬──────────────┬──────────────┐
│ *MOVIP E ↓ │ MOV C D → │ LENG F ↓ │
├──────────────┼──────────────┼──────────────┤
│ INC E 3 3 ↓ │ RAND E C ↑ │ PUSH F ↓ │
├──────────────┼──────────────┼──────────────┤
│ MULC E 3 3 → │ MUL E E ↑ │ MOVIP G ↓ │
├──────────────┼──────────────┼──────────────┤
│ │ │ DECS 1 0 ↓ │
├──────────────┼──────────────┼──────────────┤
│ │ │ COPY A D ↓ │
├──────────────┼──────────────┼──────────────┤
│ │ ZERO A ← │ INCIP A ↓ │
├──────────────┼──────────────┼──────────────┤
│ │ SPAWN C ↑ │ INCIP D ↓ │
├──────────────┼──────────────┼──────────────┤
│ │ JMNZ G ↑ │ DUP ← │
└──────────────┴──────────────┴──────────────┘
#
#\ @ ? [adom.de] Colonize Mars [kozicki.pl]
#
(Score: 2) by cosurgi on Friday October 24 2014, @09:32PM
Aha, by looking at it, I can't see the loop :) Maybe it's not in this one, I picked a random saved program.
But I think that you get the point now - the loops are spatial. If that instruction "ZERO A ←" was a loop condition to go right, instead of ending the program, it would continue the loop.
#
#\ @ ? [adom.de] Colonize Mars [kozicki.pl]
#
(Score: 1) by DMS on Friday October 24 2014, @09:42PM
My brother brought it home from college. I had no instructions of any kind. I made an attempt at determining by brute force if any key produced any visible output and came up empty. Although, now that I think about it, there may have been descriptions of game play and objectives, but nothing from which you could explicitly determine that the keyboard was used in any way or establish that what was visible on the monitor indicated that you had launched the right program.
(Score: 2) by JNCF on Saturday October 25 2014, @12:58AM
Not quite what OP is asking for, but Robot Game (formally robotgame) [robotgame.net] is pretty interesting.
(Score: 2) by tibman on Saturday October 25 2014, @02:28AM
Surprised nobody has mentioned Carnage heart! https://www.youtube.com/watch?v=biKhBlCBrXY [youtube.com]
The programming is shown about 35 seconds into the vid. It is a turn-based strategy game. You build machines and program them to fight other machines. Unlocking new technologies as you go. Different platforms; 2 leg walker, 4 leg walker, tank, various flying machines and so on. Heat is a concern to manage. You can dodge projectiles, check if a friendly is in the way before firing, and all kinds of fun things. You had to predict and constantly improve your machines. It was always interesting when your veteran robots would smash their way through some enemies and end up fighting something radical and completely lose. Then you realize that your entire factory pipeline is nothing but clones of those destroyed veterans. By the time you can field something to counter the new threat, you'll have lost a lot of ground.
SN won't survive on lurkers alone. Write comments.
(Score: 2) by Aiwendil on Saturday October 25 2014, @07:59AM
Pretty much the entire "new frontiers"-era of computing..
But more specificially - soldering experience, making your own hardware, the entire demoscene, bbs:es, the day when it only took a week to get fully working and usable software.
Or at least those are the things I managed to glean from my older peers or had very brief forays into.
To elaborate a bit:
Soldering experience/Making your own hardware - Today just try to design a basic robot, and then somehow make it communicate with your computer (a usb-rs232 dongle is great for such things), however today it actually is harder to code for serial use than it used to be (at least on x86).
The Demoscene - This is threefold: in part it was to just come up with new ways to show off effects, in part it was about effeciency (slower computers make you more aware of just how many cycles you waste), and in part just to have fun with other geeks (even if it just was sitting and trying to explain an effect to someone coding in another language after you have been up for 48hours). Just for fun find a couple of friends/colleges and agree on that you will meet up in - say - two weeks for an evening of showing effects you have coded (specificy the computer running the demo precisly - and for each meetup go for a more primitive computer or limit something (ie: max size of binary, no specific libraries allowed, only single thread, run dosbox at a given cyclecount and limit people to that and so forth).
BBS:es/Writing useful software - There was something about these that caused a lot of people to at least write a basic terminal-program or bbs-software themselves, also was quite common for people to write their own drivers for communicating with the rs232 (or their own FOSSIL-driver). it still is great coding experiences (pick up a pi (so it doesn't matter if it gets rootet) and write your own telnet-bbs).
(Also, with regards to useful software - just try to write your own text-editor, and try to do it by handling as much as possible yourself and not relying on libs, it will force you to comtemplate how to solve lots of issues you've never thought of)
(Score: 2) by cafebabe on Saturday October 25 2014, @02:09PM
The demoscene is still going strong. One of my favorite examples is Reum Zeit by Subdream [youtube.com] which is a Mandelbrot octree renderer synchronized with a thumping eurotechno soundtrack.
1702845791×2
(Score: 2) by Geotti on Saturday October 25 2014, @11:43AM
a team team
Is that like a book book [youtube.com]?
but there's Robot Battle [robotbattle.com], ruby warrior [www.bloc.io] (caution, sound!), js warrior [fusioncharts.com], codewars [codewars.com] (aka fix the code), Code & Conquer [codeandconquer.co] (coming soon...), checkio [checkio.org] (login required), CodeCombat [codecombat.com], and others.
(Score: 2) by PizzaRollPlinkett on Saturday October 25 2014, @03:44PM
You knew I'd have a Star Wars example, right? Back in the Apple IIe days, there was a Death Star Game that circulated widely. You landed on the Death Star, and had to free the princess and shut down the tractor beam, and then escape. This was all text - you'd see a line of text saying you were in the control room and there were enemies, and then you typed ADVENTURE-like command to shoot people and take items. The game was fairly sophisticated for the day, allowing you to free prisoners and have them fight. (So SWTOR wasn't the first Star Wars game with "companions" who fought alongside you.) The map was fairly intricate, so it took some time to explore. Since I only had access to the Apple IIe in the computer lab at school for minimal amounts of time, the game seemed enormous and hard to conquer, since I could only explore tiny bits at a time and you always had to start over. There was a timer, and if you stayed too long, Darth Vader showed up and you couldn't defeat him. The text aspect, and the general newness of personal computers in general, made you use your imagination. Just sitting down at a computer, in those days (early 80s) was like entering the Star Wars world since personal computers were still rare in daily life. At least for me. (Star Wars was a big reason I got into computers, a seminal influence.)
Now this game is still available online, "if you know where to look" (as Master Liv'trai says), and there is a version in QBASIC that will still run today in MS-DOS or a suitable emulator if you can find a QBASIC interpreter, if anyone wants to play it.
This game was not an official Lucasfilm product or anything, it was strictly freeware that circulated around. One of the very, very few programs my computer lab had - they spent all their money on Apple IIe computers and didn't really have any software at all except a few freeware things teachers brough in.
(E-mail me if you want a pizza roll!)
(Score: 2) by LoRdTAW on Saturday October 25 2014, @06:13PM
You can build QuickBASIC on Windows/Linux/OSX/Android using QB64: http://www.qb64.net/ [qb64.net] Unfortunately their cloud compiler on the home page is down.