Back to basics (again)

It’s definitely different starting all over again with writing a new MUDcodebase. My first attempt was Evennia, which  has evolved significantly since I handed it over. It is/was meant to be more general-purpose, and appeal to MUX/MUSH/MOO refugees who are tired of softcode (MUX/MUSH’s internal scripting language). This time around, I’m writing something specifically crafted for my own purposes, so I get to be greedy.

I’ve got some particular ideas in mind for what I’d like to do. While I could have used Evennia (it has matured into a fine codebase), I decided to take what I learned from my first effort a few years ago, refine it, and turn something out that was the bare minimum for what I want to do (more on what that is in a future post).

I am in no way advocating this approach for most or even a few, as it’s extremely time consuming, a re-invention of the wheel, and not at all sexy. I find myself implementing command parsers/tables, object persistence, and a bunch of other stuff that I’ve already done, all in the name of being my game’s ideal environment for development. But for those that are masochistic, have tons of time on their hands, or are otherwise mentally ill, it can’t be beat!

While I am very unlikely to ever write documentation aside from what any future game moderators will need, the full source code for the new codebase can be found on GitHub. This is going to be in constant flux, backwards incompatibilities will probably arise every time I touch it, and it’s likely to be partially or completely broken at any time. That said, maybe you’ll find something useful in it.

Unable to shake the habit

Some of the first multiplayer games I played were text-based MUDs. Theiraccessibility, the imagination required, and the variety of places to spend time was great. Myself and a close friend had a few favorite places to haunt online, and had a blast exploring other people’s worlds.

We stumbled through Apocalypse, played Shades of Evil at its height, cyborged our way through Thunderdome, and finally got sucked into BattletechMUXs of various kinds. Times changed, we moved on to greater things in life, but I keep catching myself looking back at MUDs as an ideal gaming medium for me. This may sound strange to some of you, which is why I made sure to add that “for me” part at the end of that last sentence.

But why would anyone want to play these crummy, crude, text-based games when there are so many massive, beautiful titles to spend time and money on?

These crummy, crude, text-based games offer a minimalistic, focused way to game. They are typically free, they can be developed and iterated upon rapidly, and new content is exponentially easier to add than to a graphical game. The element of imagination is perhaps the single strongest appeal to me in a MUD.

I am sure by now that some are wondering where I’m going with this. To that, I answer: I am once again spending some free time hacking on a game concept I’ve been mulling over in my head for a few months. I’d like to borrow desirable elements from my favorite games, and make something that is fun for me, and hopefully others, to play.

I have no idea if I’ll get far enough to have something playable, but I have finally, after a few years of thinking, found an overall idea that I like and can make progress towards a clear goal on. More to come on this later, but I’ll be doing the development in the open on GitHub. While the more astute of you can find the project already, I’ll hold off on announcing anything until I have something interesting to show (if ever).

New IMC and IRC extensions for Evennia MUD server

Evennia, the Twisted+Django MUD server, has just finished bringing inshiny new support for IRC and IMC (Inter-mud communication) as of revision 1456. This allows users to bind a local game channel to a remote IRC or IMC room. Evennia transparently sends/receives messages between the game server and the remote IRC/IMC server, while the players are able to talk over said channel just like they would a normal one.

It is even possible to bridge an IRC room to an IMC channel, with the Evennia server acting as a hub for messages. The next step for any eager takers may be to create a Jabber extension (any takers?).

If you’re curious, feel free to drop by #evennia on FreeNode to pester the developers.

Evennia gets Southy

The Django-based Evennia MUD Server took another great step forwardtoday in adding support for the excellent South migration app. This should knock down another barrier for those considering beginning development on their own games. The kinds of schema changes from this point forward should be fully covered by the South migrations that we provide.

For those that aren’t familiar with Evennia, it is the first well-established MUD server built with Django (perhaps the first, period). This makes game development extremely simple, and gives us a lot of power to webbify games (take a look at the included web-based client, for an example). Twisted handles our network layer, and some scheduling. Another unique thing (as far as MUDs go) is that there is actually a good bit of documentation.

Evennia MUD Server IRC Channel

To improve collaboration, the Evennia MUD Server project now has an IRCchannel on Freenode, #evennia. We have taken it a step further and linked this up with our test game, so those messing around in-game can still talk/listen on the IMCEvennia channel (which is also replicated to the MudBytes Inter-MUD network).

Evennia is a Python+Twisted+Django-based MUD server. For those that who have no idea what this is, it’s a base for a persistent, text-based MMO. As far as I know, Evennia is the first MUD built on top of Django, and we’d love to see more community members stop by to help. Feel free to pop in IRC, join the IMCEvennia channel if you’re on the MudBytes IMC2 network, or join the Google Group at http://evennia.com.