ID:27743
 
Keywords: cerulea, design, gs
I've had some people ask about Cerulea lately, and I've been thinking about it myself. Cerulea is my giant game, a text MUD that's currently sitting around with 70 .dm files of code, maybe half the work I'd need to do to get to even alpha testing level. Presuming I don't decided to totally redo the engine again. I haven't done any work on it in a couple years, I don't think.

Cerulea was the game I came to BYOND for. I like all kinds of games, but I like MUDs the most--at least, I like a MUD, GemStone, which once upon a time was the most popular game on the internet, until someone invented something called "graphics" and EverQuest took off.

I've always been driven by a need to create, and during my time playing GS I kept getting ideas for new ways to do things. I considered trying to become a GM for GemStone, but I had already begun to think about creating my own game. If I had my own game, I could have total control, shape a unique experience for players.

I explored the systems the various free MUDs used but I was dissatisfied. I was so used to GS, which has a much more elaborate and flexible system than most of the more traditional MUDs, MOOs and such. But lawdy, I really didn't want to learn C++ or something and code everything from scratch. So I kept searching for alternatives; something flexible but powerful. So I eventually found DUNG.

I had some concern at first over whether I could even make a MUD with this early version of BYOND (I could) and then whether I could make rooms the way I wanted to (that is, not tied to any physical map--I could).

I had some distress later when, months into the project, I began to think I might not be able to make the kind of game I wanted after all; I wanted to be able to add items, creatures and monsters with new "scripts" while the game was running. That is, for instance, I wanted to be able to create a new orc that would respond to being attacked not by attacking back but by screaming "Your mother was a goblin!", all without rebooting the game. I wanted to be able to do that on the fly. And BYOND doesn't allow adding in new code without recompiling and rebooting. I'm not sure any system does that, now--they might all use the alternative I eventually realized is possible, which is to create my own in-game language and code into the game the mechanisms for reading it and executing it. And I have a very simple version of that now. For a game that truly approaches the complexity of GS, I'd need a much more powerful one.

But that might not be necessary, since I never intended Cerulea to be a huge game. It'd be great to some day have 60 players logged on at once. And with that small a game, nobody's going to care if it's down for an hour in the early morning to add new stuff in.

With Cerulea, I was really going for quality. And total control, honestly, which makes me laugh. I've always had very strong ideas about what I'd like to see in a game.

So it's funny that my ideas for Cerulea have changed so much over time. The game started out very GS-like. I'd imagined it being so different, but we really are limited in what we can imagine, especially when our experience isn't so broad. It was hard to think outside that box. And it was fine, because GS is really an amazing game with a lot of depth; you could do worse than emulate them. I emulated them both in the look and feel of the game and in the setup of races.
Ha! The same thing brought me here. I played my first MMORPG in ~2001, saw so much potential and so much that could be done if I had designed it. I started getting into the intellectual side of design (MUD-dev, Koster, Terra Nova) those led me to the player sites (Grimwell, The Corporation, f13) and that led me here.

Now, my game has become working on games. To a large extent (even if I don't finish a high-falootin', fully-featured MMO or game), it's much more fulfilling than playing one.
Zilal wrote :
"I had some distress later when, months into the project, I began to think I might not be able to make the kind of game I wanted after all; I wanted to be able to add items, creatures and monsters with new "scripts" while the game was running."

This is a standard feature of most modern codebases. SMAUG and its derivatives, in particular, I know have it.

If you're looking for something a little less rigid (SMAUG's written in C#, I believe. Might be C++), you might want to take a look at MOOs. The very definition of a MOO is a codebase that allows for "softcode" to define the game world - effectively the users with coding privileges can script up new objects, mobiles, behaviors, and rooms while the server's still running. LambdaMOO's a good starting point, and pretty popular in the circles I've known of or run in personally.

Of course, all of this is a moot point considering you're developing on BYOND. Still, so few BYONDers enjoy MUDding, it's nice to be able to relate wherever you can.
Thanks, I'll check out MOOs. And another interesting possibility would be learning whether this is an aspect that can be written into the BYOND system too, or whether the way BYOND is designed makes it out of the question.

I'm not too concerned with the lack of MUDders on BYOND right now, since I think there's a lot of hunger on the web for good free RPGs and people will come to come to BYOND for it... in fact, in my little survey at BYOND labs I was surprised how many users had come to BYOND through an RPG they'd heard about elsewhere.

And I want to develop Cerulea here not just because I'm a developer, but also a BYOND community member; MUDs can attract a lot of literate and creative people, and I want to see those kinds of users on BYOND.