Slashdot Mirror


A New Generation Of MOOs

eric.costello writes "MUDs (Multi-User Dimensions) are to Ultima and Everquest as MOOs (Mud, Object Orientated) are to... The Game Neverending? There's a great interview up at Mindjack with the makers of the upcoming web-based MMOG." The article states that "EverQuest puts you in someone else's world, but in a MOO, the world was yours to help create," and this seems to be a big part of what The Game Neverending is trying to promote.

2 of 32 comments (clear)

  1. What about the code? by JMax · · Score: 3, Interesting

    But, one of the very best things about MOO was MOOcode, a very sweet little OOP language (straight outa PARC) that was elegant, easy to learn, and tightly coupled with the context... from this interview, and the hype pages for Game Neverending, I don't get the sense that they've picked this aspect up at all; it's one thing to say that players can build stuff, but quite another to make it truly fun and engaging. Can anyone fill us in on what object-building is actually based on in GNE?

    1. Re:What about the code? by TexVex · · Score: 5, Interesting

      Ahh, MOO. This article has given me attacks of nostalgia. I first started writing code in MOO nearly a decade ago. One of the more fun things I did was to code up an interesting object called a Port-O-Potty. It was bigger on the inside than it was on the outside, with an entryway, party room, and men's and women's toilets. (That's just surrealism allowed by clever use of containment and room linking -- not code.) But the fun part was, it would teleport itself around the MOO randomly every few minutes. Port-O-Potty, get it? Sometimes we ended up in the inventory of other players. Most of the time we ended up in random rooms. Often enough, we would teleport in where other players were gathered. Intrigued, they would join the party.

      Yeah, it sounds stupid. You have to have been there. :)

      The thing I like most about MOO, though, is that it is just an engine. You can do just about anything with it. For example, many MOOs double as Web servers, processing game data into HTML. Some also speak IRC -- a bot coded in MOO can be a bridge between a MOO and an IRC channel. Many MOOs also generate colored text on the terminal by generating the ANSI escape sequences from MOO code. Picture a scripting language sitting on top of a network interface. The server provides a basic framework, but all the real behaviors are programmed in the scripting language and part of the "database". (A MOO database is a collection of MOO objects, with inheritance, properties, and program code. It's not a relational database.) In a MOO, an object in the game world sense is the same as an object in the programming sense. A "verb" is the term for a function -- you can pass in args like you would in most any language, but these also have an additional layer to allow a verb to also be a command a player types in. Some verbs are only callable as commands, others are only callable as functions -- and some are both! Since new script can be compiled in on the fly, you can change a MOO around significantly without ever having to restart it. (Of course, you can also have MOO code that generates and executes other MOO code.)

      The language has some interesting strengths and some key weaknesses. It'll teach you some bad software engineering habits if you let it. On the other hand, its huge flexibility is a good teacher. And it's definitely a wonderful geek toy.

      --
      Fun with Anagarams! LADS HOST, SHALT DOS. HAS DOLTS. AD SLOTHS, HATS SOLD. ASS HO, LTD.