Stories
Slash Boxes
Comments

SoylentNews is people

posted by azrael on Friday October 24 2014, @07:31PM   Printer-friendly
from the teach-me-sensei dept.

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.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
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

    by tangomargarine (667) on Friday October 24 2014, @07:39PM (#109698)

    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

      by Gaaark (41) on Friday October 24 2014, @09:08PM (#109724) Journal

      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

    by Sir Garlon (1264) on Friday October 24 2014, @07:49PM (#109701)

    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

    by mendax (2840) on Friday October 24 2014, @08:21PM (#109706)

    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

    by No Respect (991) on Friday October 24 2014, @08:27PM (#109709)

    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

      by Anonymous Coward on Saturday October 25 2014, @02:51AM (#109798)

      :(){ :|:& };:

      • (Score: 2) by Geotti on Saturday October 25 2014, @11:19AM

        by Geotti (1146) on Saturday October 25 2014, @11:19AM (#109874) Journal

        Is that a fork bomb or a shell shock?

  • (Score: 1) by cats on Friday October 24 2014, @08:32PM

    by cats (4817) on Friday October 24 2014, @08:32PM (#109711)

    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: 1) by Gertlex on Friday October 24 2014, @08:36PM

    by Gertlex (3966) Subscriber Badge on Friday October 24 2014, @08:36PM (#109713)

    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

    by mattie_p (13) on Friday October 24 2014, @08:40PM (#109715) Journal

    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 khedoros on Friday October 24 2014, @08:44PM

    by khedoros (2921) on Friday October 24 2014, @08:44PM (#109717)
    Two games that I've heard of come to mind. I haven't played either one, but I've read about them.RobotWar [wikipedia.org], from the 70s and 80s. You write programs to control simulated robots, and they battle each other in an arena.

    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

      by Nerdfest (80) on Friday October 24 2014, @08:57PM (#109718)

      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

      by Anonymous Coward on Friday October 24 2014, @08:58PM (#109719)

      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

    by cosurgi (272) on Friday October 24 2014, @09:02PM (#109721) Journal

    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

      by cosurgi (272) on Friday October 24 2014, @09:09PM (#109725) Journal

      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

        by maxwell demon (1608) on Saturday October 25 2014, @09:36AM (#109861) Journal

        PS: backups FTW :)

        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

      by cosurgi (272) on Friday October 24 2014, @09:24PM (#109734) Journal
      Here's one of those programs on a 2D matrix. I hope that the text aligns properly.

      ┌──────────────┬──────────────┬──────────────┐
      │ *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

        by cosurgi (272) on Friday October 24 2014, @09:32PM (#109740) Journal

        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

    by DMS (4349) on Friday October 24 2014, @09:42PM (#109744)

    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

    by JNCF (4317) on Saturday October 25 2014, @12:58AM (#109781) Journal

    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

    by tibman (134) Subscriber Badge on Saturday October 25 2014, @02:28AM (#109791)

    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

    by Aiwendil (531) on Saturday October 25 2014, @07:59AM (#109834) Journal

    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

      by cafebabe (894) on Saturday October 25 2014, @02:09PM (#109905) Journal

      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

    by Geotti (1146) on Saturday October 25 2014, @11:43AM (#109876) Journal

    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

    by PizzaRollPlinkett (4512) on Saturday October 25 2014, @03:44PM (#109948)

    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

      by LoRdTAW (3755) on Saturday October 25 2014, @06:13PM (#110023) Journal

      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.