A couple of weeks ago I made a throwaway remark in a blog entry[1] that I was considering making MXP mandatory for play on Epitaph.  That provoked a discussion on our creator channel, and I thought I’d write a bit about what I’m thinking in that general direction.

Mushclient showing MXP


Text is a beautiful medium to work within – I love books, I love writing, and I love the freedom and power that comes from crafted prose.  With regards to games, I have long believed that we need to stop being so apologetic about using text as a primary medium – it’s not for everyone of course, but those of us who enjoy it do so because of its inherent value – it’s not a substitute for something better.  In fact, I have argued this very position in an academic paper for the computer games journal which I will post about when it is published in the next few weeks.   Text has subtlety that you can’t mirror with graphics.  It has nuance.  It has the highly desirable trait (for the kind of game we’re making) of letting your mind do most of the work in picturing the devastated world in which you adventure.  Text as a medium for games then is valid in and of itself.

However, text as a medium for computer interaction has numerous flaws, and those flaws run deep.  Within the context of a text game, you don’t have the freedom of action that the written word normally gives.  You can’t issue instructions like ‘wander nonchalantly over to the security guard and bop the funny little hat off of their head’, unless you’re working with an unbelievably good parser[2].  All you can really do is provide some instruction in the form of a relatively well defined command structure.  So, the benefits of text does not apply to text input – you don’t have real freedom.  You can’t deal very well with nuance, and in the end the effect that your game actions are going to have are limited by the game engine itself.  The benefits of text apply to how the game world is presented, they don’t apply to how game instructions are given.

The ideal text game for me then is one that leverages the strength and flexibility of text to present a world, but makes use of more effective mechanisms to elicit actions from the user.  For me, that ideal interface for MUDs is MXP[3].

For those of you who have never encountered it[4], MXP allows the server to specify clickable links that get attached to the game output.  In many respects, they work exactly like hyperlinks that issue instructions in the game.  However, they’re a little more flexible in that you can actually encode multiple options in a link available on right click.  In short, you can add context sensitive menus to any arbitrary piece of game output.  If you used it to its fullest, you’d make it possible for someone to play a fully effective session of your game using nothing other than the mouse.  The image below shows the contextual menu that is obtained upon right-clicking on the MXP toolbar (which you can switch on or off as you like).

Contextual right click menu for MXP

MUD ‘purists’ tend to sneer at these kind of modern (or semi-modern – MXP is actually reasonably mature now) innovations as something of a dilution of the form.  I do agree that MXP enabled games are less like the original MUDs, but I don’t agree that is in any way relevant or important.  My allegiance isn’t to the classical format of the text adventure, it’s to the inherent value of text as a gaming medium.  If I thought I could do what I want to do with Epitaph as a Story Nexus[5] game I’d have no qualms in shifting.  MXP is, for me, a godsend in creating an engaging and tractable game experience.

First of all, MXP resolves one of the biggest issues in command line style interfaces – that of recall versus recognition.  Recall is the hardest memory related task that we perform, because it involves feretting around in our rat’s nest of memory for something that may or may not be there.  When we encounter a situation that gives us no obvious memory prompts, we rely on recall to give us the information we need.  In game terms, I see an NPC and I think ‘Okay, now how do I make something happen here – is it ‘kill’, or is it ‘attack’, or is it ‘fight’, or what?’.  The more I practise with that particular recall, and the more it gets reinforced by my experience, the easier it becomes.  It’s a long and time consuming experience though to build recall, and it can be immensely frustrating.

Recognition on the other hand is much easier – for this, we present a short list of concepts, terms and such and allow those to act as the prompts for memory.  The prompts simplify the task immensely.  That’s why multiple choice tests are so much easier than essay style questions – each of the answers presented is a memory prompt, and all we need to do is associate that prompt with the area of our memory that gives us the detail.

MXP turns recall into recognition – we no longer need to remember commands[6], we can right click and see the commands prompted.  Our task then becomes deciding which of those was appropriate.  It’s a two layered process for this too – since MXP can be generated dynamically (at least it can on Epitaph), it can also fill in the blanks for us.  It won’t just provide the command name, it’ll also provide the command parameters.  ‘Smash zombie with axe’ is a command available just with the click of a button.  That’s a much more satisfying and learn-able game interface, and if text games are ever going to appeal to a new audience they are going to have to be far more ‘pick up and play’ than they currently are.

The second huge benefit that MXP gives is that of accessibility.  Text games, by their very nature, offer greater hooks for accessibility than other more graphical titles[7].  That is a real and genuine benefit that we’re currently squandering – an opportunity we are horribly missing on a day to day basis.  MUDs, by virtue of screen readers and such, can potentially be the ideal game for the visually impaired – that at least is a demographic that has been identified before.  However, what we don’t cater for very well are those with physical impairments.  Typing can be hard for many people, especially if their mobility is limited.  It might be possible for someone with even severe mobility limitations to work a mouth stick, but issuing complex text commands via that route is cumbersome, and often too slow for those who must respond relatively quickly to in-game events.  Text input is not easy to do, but mouse input can be much easier.  Even those who have to work through switch controllers[8] can set up an interaction regime that can allow for highlighted text to be moused over and then clicked.   MXP is more than a convenience, for some it might be the difference between being able to play a game or being excluded entirely from a whole entertainment medium.

Still, the conversation we had on the creator channel wasn’t whether or not MXP was a good thing – it was about forcing people to use it if they want to log on at all.  First of all, in all honestly that’s probably never going to happen[9], but it’s still something that I’m tempted to do.  The problem is that MXP is still not in regular use.  Too few MUDs use it, and those that do rarely use it especially well. There are few exemplary implementations of MXP out there, so people either don’t know it exists or don’t care enough to switch it on.  In such circumstances, the inertia means that even if we go whole-hog and make MXP the default way in which people should play the game, we’ll still end up with a majority of people not bothering with it.

Is that such a bad thing?  Well, yes – because I don’t think our ‘plain text’ interface really gives a good impression as to how Epitaph is as a game.  I code with the assumption that MXP is available, and when I play the game without it I see just how awkward certain things are in comparison.  We could make it so that we just say ‘This game is best enjoyed with MXP’ and move on, but if we provide a way of interacting with the game we have a duty to make sure it’s functional.   We need to invest time and effort into dealing with an interaction paradigm that is fundamentally unsatisfying, and we can‘t just wait for people to migrate over because many simply won’t do it.  As I say, many clients don’t implement MXP, but the reason they don’t do it is because the demand isn’t really there.  We’re stuck in the rut that there isn’t enough demand to justify the development cost to those making clients, and the fact that the clients don’t provide MXP means that MUDs can’t insist upon it, which means there isn’t enough demand.  Paradoxically too, some of the playerbase we’d be most interested in courting (those with visual impairments as an example) are also less likely to have MXP available at all.

My hope is that the future playerbase of Epitaph is drawn from those that aren’t currently text game fans.  Those who are already players of text games have their prejudices, expectations and assumptions largely set and I have no interest in deconstructing existing attitudes.  I’ve had a few people log on from DWMUD and complain that things don’t work on Epitaph the way they do over there, and I’m not going to make fielding that kind of feedback any part of my day.  A forced switch to MXP does come with the risk of alienating those with an existing preference for clients and interaction, but they’re not the desired, ideal audience for Epitaph.  ‘That’s not the way I’m used to doing things’ is the feedback I’m the least interested in hearing.  We have an opportunity, before opening day, to say ‘These are the minimum system specs we require’ without causing an existing player-base to erupt into apoplectic rage.

I’m pretty sure that insisting on MXP as a default is what we should be doing.  I’m just not decided as to when and how it should be done.  Perhaps the ‘main port’ of the game should say ‘This is for MXP users only.  If you don’t use MXP, you can do in through this other door but be warned nothing is designed with you in mind’.  That way those that refuse to adapt can make a stand if they want and those who have no easy ability to get hold of MXP are not disadvantaged.  Everyone else knows with a certainty that we expect a certain level of sophistication by default in the clients that they use, and not getting hold of one of those entirely free clients[10] will negatively impact on their playing experience.


[1] http://epitaph.imaginary-realities.com/wp/?p=637

[2] Or unless you’re happy with the fact that’s just output in the game without real impact, such as through emotes.

[3] Or at least, what MXP does.  The MXP protocol itself is something of a ramshackle hodgepodge of horrible design choices.

[4] Support is not universal, even in specialised MUD clients.

[5] http://storynexus.com/s

[6] Although unless we’re militant in how we apply it, we’ll probably only be providing a subset of commands to the user.

[7] Although, http://tcjg.weebly.com/v1e1p3.html

[8] Simple switches that can be positioned anywhere that mobility is possible and used to act as button presses.  If you have some mobility in your left foot for example, you might use a switch controller there and configure it to act as a right mouse click.  If you have the ability to lift your finger, you might use a motion detecting switch controller to act like the mouse was being moved to the right.

[9] At least until we end up doing our own Epitaph specific client.

[10] Like http://www.gammon.com.au/mushclient/, which is the one I use.  I used to use zmud, but I spent more time crashing than I did playing, so I switched.