Slashdot Mirror


Coding is a Text Adventure

Wired News is running a story about a new approach to crossover working and gaming turning your coding into a MUD-style adventure. Playsh is a "narrative-driven 'object navigation' client, operating primarily on the semantic level, casting your hacking environment as a high-level, shell-based, social prototyping laboratory, a playground for recombinant network toys." Great, now they are combining two of the most horrible addictions in my life.

23 of 122 comments (clear)

  1. Restart? by jyuter · · Score: 4, Funny

    I've already been eaten by a grue.

    1. Re:Restart? by Guppy06 · · Score: 4, Funny

      You are in a small cubicle. You are likely to be eaten by a middle manager.

  2. I can just see it now... by Perseid · · Score: 4, Funny

    "PUT KEY ON HASH TABLE" Segmentation Fault: Wumpus Detected

    1. Re:I can just see it now... by Mayhem178 · · Score: 5, Funny

      No no no, you're doing it all wrong.....

      "INSERT INTO Door (Keyhole) VALUES ('KEY') WHERE Door.Locked = 1"

      "UPDATE Monster SET Monster.Dead = 1"

      "INSERT INTO Inventory (SELECT Loots FROM Monster WHERE Monster.IsDead = 1)"

      "UPDATE Princess SET Princess.Saved = 1"

      I win! That means...

      "SELECT Baby FROM Hero INNER JOIN Princess"

      --

      "You will pay for your lack of vision..." - Emperor Palpatine to Ray Charles

    2. Re:I can just see it now... by Doc_NH · · Score: 5, Funny

      "SELECT Baby FROM Hero INNER JOIN Princess"


      Am I the only one here that has never seen SQL porn before?

      --
      if vegetarians eat vegetables why are cannibals not humanitarians.
    3. Re:I can just see it now... by Anonymous Coward · · Score: 5, Funny

      would the join clause details be considered pornography?

      (the following contains pornographic material, viewer discretion is advised)

      SELECT Baby FROM Hero INNER JOIN Princess ON Hero.Sausage = Princess.Taco

      I suppose that wouldn't quite be right, since we all know that sausages do not equal tacos. Well... I suppose some people might be confused.
      Maybe it would be better written as

      INSERT INTO Princess (Taco) SELECT Sausage FROM Hero WHERE Hero.id = 'me'

      This also has the advantage of not producing a Baby result.

      Additionally, for those of you who don't have a Princess, you can create one by using the SELECT...INTO statement. But this method suggests transvestite/transgender properties, as explained below.
      SELECT Sausage INTO Princess FROM Hero WHERE Hero.id = 'me' (results in Princess having a Sausage, transvestite results)
      or
      SELECT Sausage AS Taco INTO Princess FROM Hero WHERE Hero.id = 'me' (results in Princess having a Taco, but you're calling your Sausage a Taco, transgender indications)

    4. Re:I can just see it now... by superid · · Score: 4, Funny

      better than a SELF JOIN

    5. Re:I can just see it now... by Tablizer · · Score: 4, Funny

      [SELECT Baby FROM Hero INNER JOIN Princess] Am I the only one here that has never seen SQL porn before?

      Just don't do a Cartesian Join, or else you better buy a diaper company.

  3. The only game I play is "vi" ... by specht · · Score: 4, Funny

    ... that's what I usually tell people when they ask me if I'm into games. Most people don't know what this is, so I add "it's a text adventure" :)

    1. Re:The only game I play is "vi" ... by eln · · Score: 4, Funny

      You must be a riot at LAN parties.

  4. Wonderful by IflyRC · · Score: 5, Funny

    So the "Person" class is the main adventurer. While he is running through the tunnel to the mainframe lands, he hear's a request from someone calling themselves "User" that states he must first solve a puzzle for reformatting these characters to the one expected by the mainframe giants. 10/14/1999

    Later, our hero Person signs up for a banking account and pays his credit card bills using the AutoBillPay spell. Person is then kiilled by the surcharge monster.

  5. addictions? by gEvil+(beta) · · Score: 4, Funny

    Great, now they are combining two of the most horrible addictions in my life.

    Hate to break it to you, but heroin and hookers were combined a loooong time ago...

    --
    This guy's the limit!
  6. Re:Sounds familiar by Rei · · Score: 4, Interesting

    I agree; this is just so perfect. Some of my most fond coding memories were coding for an lp mud. The ability to "see" every object that you have, and at the same time to be able to, say, call functions on the body of the person that you're talking to, was just so much fun. I loved to patch myself to impersonate a message board or hide inside other objects. And don't get me started on "coding wars", when someone creates an object to dest you, you create a counter for the dester, they work around the counter, you come up with a convoluted counter-counter, etc.

    From a practical standpoint, it makes a lot of coding intuitive and makes "plugins" nearly automatic. For example, objects can look at what is in their "environment" (i.e., what is holding them). If you have an object that calls "insert_foobar()" on every object sitting inside a message board object when someone tries to foobar the board, if you were to take it out of the message board and stick it in a player's inventory, it would try and foobar their inventory when someone foobars the player.

    The fact that you can simply pick up and move objects around makes visualizing your tasks so simple. You can even have fun with how people interact with your objects; if you want an object that will perform some actions on someone's player object, for example, you could make it be a bread that they eat. You could have an object that displays information be a firework that you light and launch into the sky. The possibilities are endless.

    --
    By a scallop's forelocks!
  7. What fun! by Geldon · · Score: 5, Funny

    Unhandled Exception: You have been eaten by a grue.

  8. I always knew my job would turn out like this by greg1104 · · Score: 5, Funny

    You are in a maze of twisty subroutines, all alike. You may be eaten by a deadline.

    1. Re:I always knew my job would turn out like this by Catiline · · Score: 4, Funny
      How about a little more context?

      Code Maze
      You are in a maze of twisty little subroutines, all alike.
      > N

      Conference Hall
      You see a pointy haired manager here.
      Your torch has been extinguished!
      >look

      It is dark. You are likely to be eaten by a deadline.

  9. One Small Step by MooseByte · · Score: 4, Funny

    "Great, now they are combining two of the most horrible addictions in my life."

    Now imagine how the productivity numbers would skyrocket if they managed to mix programming and pr0n.

    (Granted, I've already written plenty of obscene code in the past...)

    1. Re:One Small Step by Randolpho · · Score: 4, Funny

      "Now imagine how the productivity numbers would skyrocket if they managed to mix programming and pr0n"

      Well, it's not exactly programming, but there's always:

      talk, date, cd, mv, unzip, strip, look, touch, touch, condom, fsck, fsck, more, yes, yes, fcsk, uncondom, condom, more, yes, yes, uptime, gasp, more, more, yes, unmount, make clean, shutdown now

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
  10. Novel enhancement to an old idea by rubberpaw · · Score: 4, Informative
    This is not a new idea...

    (Mud Shell, now defunct, was featured on Slashdot in 2001.

    There's also the New Adventure Shell, based on Doug Gwyn's Advshell, and John Cocker's Advsh, both written in 1984.

    The basic concept also shows up in the adventure game found in Emacs.

    But, playsh looks like it includes a special enhancement which I think is pretty cool. According to the article,

    It treats the web and APIs as just more objects and places, and is a platform for writing and sharing your own code to manipulate those objects and places


    Now, that's pretty cool.
  11. Reminds me of an old story.. by mustafap · · Score: 4, Funny


    About someone who wrote a Zork styled system for configuring linux, here on slashdot many years ago. One of the comments that came back was this:

    >Take SCSI
    Cannot do that
    >Take SCSI
    SCSI did not budge
    >Take SCSI
    You got SCSI

    --
    Open Source Drum Kit, LPLC deve board - mjhdesigns.com
  12. A Cow Says "MOO!" by TexVex · · Score: 4, Interesting
    MOOs were like chat rooms, except the members of the community could create new objects by programming them into the virtual world in a dedicated programming language, shaping the game as it went along.
    MOO is interesting for a lot of reasons. It merges the concept of an object in the programming sense with the concept of an object in the game world sense, and it merges the concept of a method call with a game action.

    For example, you might instantiate a class, and the object created then becomes an in-game object that you can manipulate like any other. It inherits its data and behaviors from its parent. But, that object is also a class that you can extend, and others can be instantiated from it.

    In MOO, when you type a command, the game engine matches your command against "verbs" (methods ) found on the object representing you in the game world. The first word of the line you typed becomes the command to match, with the rest of the words being parameters. (You can also specify that verbs not be matchable, only allowing them to be called from within code). It's possible to have verbs that work either as commands or are callable from within other verbs.

    If you want to add a new command to yourself, you just add the verb and program it. If it's something to be shared, you copy it to an appropriate ancestor, then delete your own copy; you and everyone else inheriting from that ancestor gains the command. (There's security in place; if you're an administrator you can do anything but if not then you need the cooperation of the owner of that ancestor object or an administrator.)

    Ultimately, a MOO is just a scripting language and virtual machine, with a network interface and some security features to allow collaboration without granting all programmers full read or write access to each others' code and data. Implementation of the player / room / carryable object paradigm is done in the scripting language, not the engine itself. It's flexible enough to write Web servers in, and pretty damn fast for a language where everything is late-bound and weakly typed.

    Interestingly, while most MOOs used internal mail and public forums, and would send email for various purposes (coded right in the scripting language), and many of them listened for HTTP connections and translated part (or all) of the game world into HTML, none of the efforts to create large MOO networks (a la IRC) ever got very far.
    --
    Fun with Anagarams! LADS HOST, SHALT DOS. HAS DOLTS. AD SLOTHS, HATS SOLD. ASS HO, LTD.
  13. Random rewards by Lord_Dweomer · · Score: 4, Insightful
    For visualizing code, I'd say this is something very interesting...however when it comes to making work fun by combining it with a game....

    The thing people need to understand is that the reason games are fun is because of the random reward structure in them. You don't get random rewards when you code...only random problems with sometimes unlikely solutions.

    --
    Buy Steampunk Clothing Online!
  14. You are sitting at a desk... by RyoShin · · Score: 4, Funny

    Your monitor glows brightly in front of you. (You also have a small headache, which you've attributed to being stuck with a CRT. However, accounting always tells you to "man up" when you request a flat panel.)

    A coworker, Jeff, comes by and mentions that there's a bug in the program you wrote for the company. Seeing as how it's been six months since the last bug report, you eye him cautiously and ask him what he does before the bug appears. "Click a button, or something" is his resposne. You're suddenly reminded that you have a doctor's appointment to check your blood pressure on Monday.

    You have:
    -a headache
    -pencils
    -potential high blood pressure
    -a nagging coworker
    -a deadline

    Action:> Attack co-worker

    Jeff, who moves around the office as opposed to sitting in a chair for eight hours like yourself, nimbly dodges as you attempt to fling a pencil into his eye. "Uh, sorry," you say. Jeff shrugs.

    Action:> Look at Jeff's computer

    You follow Jeff over to his computer, where he sits down and violently moves the mouse to wake it up. "Why didn't you leave the screen as is when you came to get me?" you ask. "Oh, this problem is from last Tuesday," he answers. You wonder if you can move the Doctor's appointment up. "Okay," he says, as he opens Acrobat Reader. He presses some buttons, not caring if you're able to see what he's doing, and suddenly gets a blue screen of death. "See?" You realize that all he did was somehow hard crash Acrobat Reader- a program completely unrelated to your work.

    Action:> Ponder homicide

    There's not a jury in the world.

    Jeff is looking at you expectantly.

    Action:> give up

    As Jeff stares at you expectantly, you suddenly burst into tears. Leaning against the wall of his cubicle, it cracks and sags backwards as you slow sink to the floor and assume the fetal position. The men in white suits arrive a half hour later.

    Total score: -2
    Play Again? y/n: n