Magnificant MUDdy Musings

The Evennia MUD Server has been progressing through beta at a goodclip, with much effort spent on fine-tuning existing features, and expanding on the already excellent pile of documentation. Much to my delight, the current maintainer, Griatch, has started to blog about Evennia development. If you are at least somewhat interested in keeping an eye on a Python+Twisted+Django MUD server, consider taking a peek at Griatch’s Evennia Musings.

While the blog details Evennia development, there is a lot of valuable general-purpose stuff as well. Especially for those writing, or considering writing, a MUD server using some or all of the same building blocks.

For those who would like to harass the man (or the other users/developers) in person, stop by #evennia on FreeNode.

EVE Online grows up fast with Crucible

I’ve been playing EVE Online since the summer of 2008, and have kept aclose eye on the state of things from time to time. CCP releases a free “expansion” every six months with lots of goodies in them. The latest, Crucible, is the first that I can remember to be a pure refinement-of-existing-concepts release.

There’s a great short list of the major points on the Crucible features page, and a much longer, blow-by-blow changelog that drills down into individual changes.

What makes Crucible so tasty?

CCP took a step back, listened to player feedback, and delivered… bigtime. This release was almost entirely devoted to addressing design warps, imbalances, and player-requested things. A few of my favorite hilights:

  • Tier 3 Battlecruisers. These things are very cool. Battleship weapons on a Battlecruiser.
  • Extensive UI tweaks, and a new font that makes some characters more distinguishable. Too many tweaks here to even get into. “Rubber band selection” is one of my favorite changes, though.
  • Hybrid Weapons Re-balanced to be a lot more useful.
  • Destroyers were buffed.
  • Supercaps were hugely nerfed. Hooray, we’ll see diversity in cap battles again (hopefully).
  • Titans were pretty majorly nerfed as well. No more drones, or shooting sub-caps. HP reduction, too.
  • Reduction of session timer. This was a huge pet peeve for me at the previous 30 seconds. It’s now 10, and I think you can almost instantly change ships in hangars now.
  • Corporation bookmarks. Yay!
  • Lots and lots of graphics tweaks and re-touches. There were too many to list on my little blog, but the game is looking better than ever.

Let’s hope this trend continues

The last handful of expansions were feature-heavy, and weren’t necessarily aiming at things that the players were requesting. Captain’s Quarters were notoriously half-baked and badly received. They’re a glorified tech demo. New nullsec sovereignty mechanics were just as bad as the old ones, arguably worse. Wormholes were dropped in and mostly not iterated on at all.

With this expansion, rather than add more half-baked garbage, CCP did the best thing and went back to iterate on things that needed some polish.

Lessons to apply to software development

The major points to keep in mind for your own software development, after watching CCP really stumble through the last few years:

  1. Listen to your customers! EVE saw some pretty severe reductions in subscriber base as it kept pushing to expand the feature list.
  2. Don’t keep pushing to expand your feature list without re-visiting existing things that need further iteration.
  3. Most importantly, don’t leave a trail of badly designed, or half-broken systems behind you as you march towards more features.

Let’s hope that future expansions strike a good balance between iterating existing things and adding the new. This expansion certainly fits the bill.

Urban development in Minecraft

I recently stumbled across an article on Hacker News about how oururbanisation tendencies translate really well to the world of Minecraft. Urbanisation in Minecraft details the experience of one of four founding members of a Minecraft server as it sees explosive growth, eventually developing sprawl and resource shortages in centers of population.

While this can’t be taken too scientifically (that’s not really the point), it is a very interesting read. Check the article out on Crafthub.

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).