From The Mana World

The Mana World (TMW) is an open source graphical MMORPG. This article highlights some features of the TMW project and compares it to the text-based MUD Ancient Anguish (AA) to see the differences in the two worlds and potential good things that could be adopted.

Overview

TMW is a reasonably young game, based on the Ragnarok engine when it was released as open source (a server rewrite denoted as Manasource has been in progress for a few years and is in alpha since 2010 - i.e., a development server is up and running). TMW is open-source; the server code is accessible to everyone, and a spoiler wiki provides easy access to e.g. complete references of items in the game and quest solutions. Ancient Anguish is based on the MUD engine LPmud, and has been around for two decades - since 1992. AA is closed-source and very secretive about game internals, with a multi-phase hoop-jumping process to join the developer team as an acknowledged member. Players maintain spoiler sites on e.g. best weapons for a specific skill level based on personal research, although providing quest spoilers is taboo.

Ancient Anguish uses player donations to pay for hosting and hardware, with minor perks provided for donators (freedom to add a few lines of description, more flexible emoting commands, and occasionally donator healing - a NPC "logs on" for a few minutes and heals all donators sending it a tell). TMW (as far as I can tell) is operating on donated server space and runs a 0 budget. There are no donator perks.

On TMW and AA, the number of characters per player is not limited. On TMW, a player's alt characters' interaction is both allowed and supported - they share a 300-slot item storage and bank account. Logging in multiple characters from the same account simultaneously is not technically possible, but creating two accounts is not prohibited either (although the punishability of "multiboxing", forming botted parties of more than one of your characters, has apparently occasionally been considered). On AA, one player's alts are strictly prohibited from benefiting each other. AA alts are not connected to each other, but each is an independent user account.

On TMW, players can be divided into three types: regular characters, GMs (the daily "police force" dealing out bans to botters and other miscreants, and with some monster cloning capabilities for random kill parties) and developers (I'm not actually sure what in-game non-GM developers have; regular developers have a lower command level than GMs in any case). GMs are elected into their positions through votes, developers recruited based on ability. On AA, players are more strongly divided into regular players and immortals, who have "finished the game" in some sense and have developer access (although there are different levels: apprentices can only see and modify their own code and are not allowed mortal alts, regular wizards can see public code and have better access to general developer tools and can have one mortal alt, and particularly contributing wizards get global read access and access to more or eventually unlimited alts. Only a handful of admin-level wizards have global write access, and developed code cannot (legally) be made accessible to regular players without their approval.

What can we learn from TMW/AA:

  • When the game has basically no secrets, development becomes rather more straightforward: players can be allowed to see the bug database, and development plans made public. Competing servers have popped up, providing parallel lines of development (as well as completely different target groups - there's a Brazillian server for Portuguese-speakers, for example) even though players mostly flock to the main server - as long as development stays alive there. A major benefit for an open-source developer like myself is the knowledge that my work is not wasted: if the administrators of the current server lose interest, a competing alternate server can pick up where the old left off, and the players can migrate to whatever environment they find best.
  • When the game internals remain secret, player research provides a somewhat more prolonged form of entertainment than just reading the code. On AA, this has not become a major benefit since the research is mostly done solo by the maintainers of each site, but on e.g. the Kingdom of Loathing, a central community wiki (maintained independently of the game administrators) about the game internals is accessible to the entire playerbase, and being the first one to figure something out about an item or a quest is particularly rewarding for explorer-type players.

Player's perspective

TMW is graphical, with killable monsters and NPCs that can be communicated with using pre-set dialogue only. In contrast, AA is purely text-based, where both monsters and (most) NPCs are killable, and any intelligent creatures can be communicated with using keywords, emote commands or by giving them items or money.

Social

  • On TMW, character personalization is limited to hairstyle and colour, gender and worn equipment. There are no races or classes - all players can learn all skills, although they can really be good at only one or two things at a time (there's an NPC service to rearrange your stat points for a cost, though), and guilds are not really supported. "Specializations" that one can optimize stats for include melee fighters, magic users and ranged fighters (with bow and arrows). The actions of a player do not show anywhere.
    • On AA, clothing varies each session and does not have a similar social function. The players have multiple other means of building their character's identity, however. They can influence the character description permanently through multiple hairstylist-type services (tattoos, piercings and other details are more variable in text form as well), with donators having a few lines of free descriptive text available. Players can join a guild and a class, which can be deduced by looking at the player (through permanently carried guild and class "amulets"). Players have a handful of races to choose between, and the combination of race and class affects the player's max stats and determines their capabilities. There available classes are fighters (sturdy head-on warriors, weapon mastery), paladins (with some magical capabilities in exchange for requiring "good behaviour"), rogues (backstabbing and hiding abilities), mages, clerics (healing magic, more sturdy fighters), artificers (creators and enchanters of items) and shapeshifters. Whether the player kills good or evil monsters, and does other specific good/evil deeds affects their alignment, which is visible in the player's short description.
  • TMW in-game player communication is quite limited. It has no global chatlines (a bot-based guild-like chat service is not really an official feature); conversations are local to line of sight, and players typcically use nonverbal gestures through a number of different emoticons that can be conjured with the press of a button. In graphical games in general, conversing requires a "different mode" from moving - the meaning of e.g. the arrow keys (for movement) changes when the chat line is active, which can lead to mortal communication fails. Whispers can be sent to a player anywhere in the game at no cost, and secure two-way trading (you give x, you get y) is supported by the client. In contrast, the game has reasonably active IRC chat rooms for general game talk, support questions and development and active web forums.
    • On AA, the player can be on multiple communication lines (one for guild, and a handful of "hobby society" lines - flag hunt/tag game players, the geographical society of (competitive) explorers. Developer immortals have their own chatlines. In addition, at a spellpoint cost any player (above level 1) can "shout", send a message to all players in the game, although these messages can be also be filtered out by the players based on the level of the shouter. Due to the lack of acute need, AA has no real external chat at the moment; some players have joined a Facebook group for AA players and occasionally communicate through it (a major downside is that Facebook operates on different names as the game, however). AA has a form of in-game forums known as boards (that you have to physically locate to read) and even a primitive mail client; this has also limited the incentive to set up web-based forums. (The boards can be read on the web thanks to an exporting script - when it is working correctly, anyway. They can only be posted on in-game.)
  • TMW has a number of features that actively support unplanned collaborative behaviour: healing players who need it provides actual experience to the healer, comparable to how many hit points they healed (though only if the target was below half their hit points), and gains "training" which is necessary for attaining new levels in magic. In addition, fighting in groups increases the defense of all members of the group (a monster only attacks one player at a time in both games, although on AA intelligent monsters can change to attack e.g. the weakest member as well), and if more than one player has hit the monster, the total experience dealt from killing the monster is increased - and dealt to the players based on how much damage they dealt.
    • On AA, the ways to help other players are somewhat more varied through the unique class abilities, but for example attacking a monster someone else is fighting is even considered rude, because it only reduces the experience gained by the first player. Both games support parties with experience sharing among players whose levels are sufficiently close.
  • TMW and AA share a website setup that is a pain in the back to update, and due to this never is. They also both have a "recent updates to the game" forum - on TMW, it is automatically shown on the client, on AA it requires typing 'help newstuff' or spotting a (more irregular) brief news item on the website - the former is a "compulsory" entry for all projects and part of the process of installing projects, the latter is more dependent on admin activity. TMW has solved the need for more up-to-date news by a community blog and a more technical forum thread about recent updates (posted on weekly by the developers). AA has no blog, but has an in-game newspaper (which has a single absent editor (me) and a new issue requires committee approval to be installed - in other words, it's a major project to make a new issue). An announcement board is somewhat similar in nature to the TMW forum thread, but generally is only updated when a project is installed.


What can we learn from TMW/AA:

  • Collaborative behaviour could be encouraged more by technical means - on TMW, this is actually even vital encouragement for "striking a conversation" with other players, as in-game communication is rather limited in contrast.
  • More ways to personalize a character could be extracted from the example set by AA, although the everyone-can-learn-everything approach does limit the actual effects of e.g. races and classes.
  • Social relationships are the key to retaining players in the long term. For AA, supporting some form of easy-access external communication forums might encourage players to stay in touch even when they find it too arduous to repeatedly log in (inactive players are disconnected automatically after a while, and reboot disconnects all players every two days - as a result, socializing on AA requires more personal effort than e.g. keeping in touch with everyone who tweets). IRC supports long-term idling suberbly, but may be somewhat unfamiliar to many players. Facebook, as noted, is a more closed and commercial service, and operates with real-world names rather than player names; I'm not really familiar with Twitter but suspect it is not much better (haven't found a reason to use it myself, anyway). External forums are probably not worth it (I personally find discussion forums more a channel for venting frustrations, making notices and providing feedback than meaningful person-to-person communication, which is the actual basis of making online friends). Email lists are in nature very similar to forums, just with a different distribution channel.
  • AA has an in-game newspaper (two, actually, but the other is mostly generated news), but like all projects there, it's a big effort to make a new issue come out. I've gotten good experiences about writing for a community blog on TMW (even though I'm pretty much the only poster there like I was the main agitator for the newspaper), and would be interested to write for one on AA as well.

Game-technical

TMW is an "easy" game in the sense that it requires little preparation before playing and does not punish mistakes. It is equipment-saving, location-saving (you return to the same place when you log back in), and has no death penalty (you are just teleported to a "save point" with your HPs halved). You can essentially just log in and continue where you left off. In contrast, AA both demands more preparation time per playing session, and punishes death reasonably harshly (by contemporary standards). On higher levels, a death incurs the loss of maybe a week's worth of active play in experience, weapon skills and anything that was carried. Further, every two days Ancient Anguish goes through an automated "reboot", which cleans out all items in the game (from shops, for example). Reboots originated from technical limitations, but has since ended up being a major balancing feature in the game.

  • In TMW, the there are few ways to set back a player - they can really only gain more money and items. Money sinks involve mostly outrageously priced "luxury" items (for example, a high priest's crown, which is not particularly useful for more than boasting, costs some 100M gp, where a typical gain per mid-level kill is on the order of 100-1k gp). Another rather inventive money sink was an NPC who collected donation money from players in exchange for producing a major new area. During Christmas, an event quest was set up to raise the "remaining" money he wanted (through item grinding); then he vanished for a bit and shazam, a couple of months later the new area was installed.
    • On Ancient Anguish, only money, stats, abilities and class skills are stored; the player starts out naked every login, and the player-supplied stores are (practically) emptied by a bi-daily reboot. Beyond re-equipping and heals for each session, the major money sink for the millionaires has been player-owned houses sond through auctions. Houses provide a new permanent reboot-proof item the player can advance through furnishing - the furniture provides minor game advantages at best, and it can be bought or found from areas supporting it. For example, an anvil or painting in an area can be picked up and installed into a house.
  • Travel between the four different major areas/continents (and one island) of TMW costs money (on the order of 1k+ per one-way trip) - there is a hidden way to teleport one way between two major continents and death returns the player to the save point they have chosen, but otherwise there is no way around the costs. As an interesting detail, the newbies start up on one continent, but possibly due to the medium-level quests all being on the other they migrate permanently to another continent - both retain a stable population, although the latter place collects the idle chatters and the former mostly shows people busy doing something. On AA, only two continents are clearly separated and there is relatively little incentive for players to (permanently) migrate to the new continent - both have the basic services, and the new continent mainly has a few high-level kills the other does not (while the old continent has many relatively "easier" highish-level kills). In addition, high-level mages can set up permanent teleportation gateways that can be used by all players, and this has become a major community service by mages, with 10+ gates set up every boot. Some wizards say it ruins AA's walking-distance-based balance, I say "wow, suberb victory of the commons".
  • In TMW, reaching the maximum level is not uncommon for long-term active players. In AA, the highest level is more a theoretical maximum, with maybe one particularly obsessive player (you know who you are, Bazhi) realistically pushing the limit.
  • TMW is somewhat grind-oriented: killing the same monsters over and over again is rewarded equally independent of the player's level, which supports particular monsters becoming the "go-to" kill for exp and/or money on a large level range. In AA, weapon skills are not earned as quickly for too easy monsters, which encourages players to seek out targets they can only barely defeat.

Quests and quest reward balance

In TMW, all quests are equal - they award (notable amounts of) experience, money, items and/or skills (levels of magic, and trait-like skills which can be "focused" one at a time and "unfocused" through a quest). On AA, almost all areas contain one (or more) "miniquests", which are similar to TMW's quests, although they can also not involve any talking NPCs (instead e.g. finding the scattered keys to a boss-type monster from an area).

A major type of quest reward on AA (that can commonly also be gained by just killing a boss-type monster) is a "unique" item, which is more powerful than others but that can only be held by one player (or limited number of players) in the game. It is lost if the owner is inactive for prolonged periods or the item is not carried. In addition, reboots reset uniques.

In addition, AA has quests that award quest points - these are necessary for becoming a developer (as developers are "immortals", it is also a form of "winning" the game - if you can call the position of workmule a reward ;)). A list and brief hint description is provided of all quests. A third type of "quest" awards players exploration points, one or more per area, which are also necessary for attaining immortality.

  • Many of the quests in TMW involve acquiring X amount of item Y and delivering it to NPC Z. As the dialogue is pre-set, the main puzzle challenge comes from finding the NPC. TMW has no in-game overview of where to find quests, and hints are reasonably sparse. A spoiler wiki is commonly used by players to find and finish the quests.
    • On AA, the quest list provides some hints and spreading quest information is strongly frowned upon (or even punished if caught in-game). In addition, an NPC hints towards exploration points once a player has found a few by themselves; these may help find the miniquests of the area, or be completely unrelated - finding a rare flower in a pile of junk, for example.
  • On TMW, most quests are limited by level to stop players dumping items on lowbies (and particularly their own lowbie alts) from speed-leveling them through instant quest rewards. On AA, explicit level limits are rare; high-level player aid in questing is somewhat more demanding, involving e.g. the killing of a specific monster together, while search-based quests may be limited by the searching skill (gained through experience) of the player, for example. In addition, the rewards from quests are lower - and more temporary in nature (as any items are lost every 2 days).
  • TMW NPC states are typically player-specific - an NPC happily thankful at one player is in dire distress when another comes by a second later. On AA, NPC states are global - while a quest NPC may remember (e.g. for one reboot) that a player has finished their quest and not ask them again, it must typically also "reset" (which happens about once every 30 minutes) before they forget they were helped and can recruit another player.


Developer's perspective

Development culture

I've observed a major difference in culture on TMW and AA. TMW has a set of developers who coordinate their work and collaborate on projects, and thanks to shared version control (Git repository at Gitorius, cloned by everyone who has a major project to try out) it is relatively easy to keep an overview of all development that goes on. On AA, 95% of development is a series of solo efforts, but while coordination is very limited, centralized approval of all projects _once they are done_ is required. To make a comparison: developing for TMW is like making a path by wheelcarted pebbles (where the cart also represents all the existing development tools that are easily accessible for a public project), while developing for AA is like hauling huge rocks to the site using watered tree trunks.

On TMW, development is like band practice. The game is not treated as "finished" and therefore development steps are commonly smaller (pebbles rather than boulders). New maps are opened with a few NPCs occasionally, but just adding an NPC with a small quest (or adding a small quest to an existing NPC who perviously just said "hi", for that matter) is considered valuable progress. There is relatively little quality control - obvious bugs are weeded out, certainly, but an NPC with 12 lines of dialogue may have multiple typoes and grammar errors left on installation, and bug out another connected quest if no one remembered to test for that. On the other hand, it is also quite straightforward to fix said typoes and bugs, and it does not require extensive review by administrators. Ideas are discussed on IRC beforehand and will be criticized as well, but the process is less like formal approval and more conversational. In brief, it appears that in TMW, developers can be trusted to do their thing for the most part.

On AA, development is like thesis writing: it entails monolithic once-in-a-lifetime solo projects that are produced in sanity-threatening isolation, take months to finish, require frustrating and prolonged committee approval, and manifest (or do not at all, as often happens) in one big chunk, after which maintenance effort is close to zero (partially because the developer is burned out by then, partially because any bugfixes require another round of committee approval). The progress of projects is chronically not discussed by wizards, in part because they have so little influence on when the project actually gets installed (due to the approval process), in part because of a general reported dislike of "when is it going to be done?" queries from players. Apparently these are not issues on TMW, however - even though there have been months-long development efforts on TMW as well, the projects are not similarly one developer's personal efforts (and therefore a "when's it done?" is probably not equally personally stressful), but more often joint operations - and approval is more baked into the development process. This is in part due to graphics, sound, narration and scripting skills seldom manifesting in a single person. On AA, we can still maintain the illusion that narrative ideas, coding skills and playability expertise are present in everyone at necessary levels.

  • In both TMW and AA, intelligent NPCs are scripted using a dedicated language. In AA, the language is called LPC (I do not actually know if the TMW language has a name).
  • AA developers are also strongly encouraged to bind their areas to existing areas - e.g. having the NPCs refer to each other. (There is a unified history that areas must adhere to as well.) TMW developers are encouraged to not repeat what has already been done, but inter-NPC connections are more rare and the unifying plot is still under development.

What can we learn from TMW/AA:

  • AA needs more pebble-form development: real-value progress in small steps rather than binary huge leaps that either successfully land or fall flat on their face. We've demanded a new from-scratch area per wizard to show they can contribute anything for so long, we've lost sight of the value of scratching the small but prolonged itches. Not to mention the mud is packed with both installed and never-quite-finished abandonware.
  • Teamwork totally beats working alone. I keep saying we need to stop treating AA projects as a bunch of solo performances, off-limits to everyone else. We have very limited developers, we should be able to prioritize our goals and organize work among them so that everyone can do something productive. Instead of having a reviewer take a checklist and nitpick every missing noun description, let's just deploy a description expert who _adds_ the missing descriptions to the project and be done with it. Describing and understanding each issue takes more time than fixing most of them would; I've repeatedly re-learned this from trying to document 5-line bugfixes so that they can be approved and eventually installed (if I remember to keep nagging).
  • While TMW has less stringent QC practices than AA, I think it is a natural part of its development. If you introduce strict QC too early in the lifespan of a game, you kill it before it manages to bloom. Once there is a flower to present, you can colour it brilliant through that finishing touch. Try to find solutions that do not involve so much bottlenecks as AA does, though.
  • To each according to their ability. In both TMW and AA, there are some brilliant individual achievers who make wonderful things happen if they are left to their own devices and not hindered too badly. The system must support their efforts as well as take people who can do one thing decently but not the others so much, and get them to do something productive as well. I may be strange, but I think it would be completely acceptable to be assigned as a helper grunt to work for someone else's groundbreaking project. The fewer original gameplay ideas I need to have before I can get to the describing/coding, the happier I am.

Development tools

Development tools form another major difference between TMW and AA. On TMW, the server code is in a distributed version control system (Git repository on Gitorious), and all major development efforts have a branch of their own to hack away at their projects. Sharing code is easy. For brief patch reviews, Pastebin and diffs are used,

Project documentation for the purpose of explaining it to a reviewer is minimal because the reviewers work as a part of the project. As a downside, the history and background stories of e.g. NPCs are not documented (or even thought through) on TMW.

For issue tracking, TMW has a bug tracker (Mantis) that is also available for players to directly report bugs. On AA, dedicated in-game forums and area-specific reporting commands can be used to leave ideas, bug/typo reports and praise, but all these are just stored in a flat file - the tracking component is missing. Attempts at setting up actual bug trackers on AA have been limited to futile reimplementation efforts within the game, mostly because the paranoia oozing from the closed source approach has effectively stopped any extending of development information outside the online game.

As an upside, AA has many in-game developer tools to make life easier: it is easy to "clone" an NPC/room/item privately to test it (and bugs in it will not crash the mud - or require skill to crash the mud, anyway), while on TMW testing your code requires setting up your own server (or having someone else set it up for testing on theirs). Basic balance and quality checks are semi-automated through wizard tools. The project approval queue lets everyone in the approval team know (on their chatline) when projects move in it. Files are uploaded through limited-access FTP, and the lack of version control and overview is a serious issue that probably increases the paranoia about developer work needing to be extremely carefully reviewed up to a breaking point.

What can we learn from TMW/AA:

  • AA needs a real bug tracker. Seriously. If someone leaks wizinformation through getting a mortal past the access control to it, they could just as well leak it manually. The potential gains overwhelm the potential losses. Bundle this tracker with a realistic process of getting fixes installed (preferrably not involving a step of "wait on the busiest admins on the MUD to go through each change with careful deliberation"), and magic may yet happen. (I've spent hours and hours just documenting bugfixes that then never get installed because I forget about them - and therefore do not harass anyone about them anymore - before anyone gets around to studying them. So I stopped that, and wrote notes how to fix bugs instead because the admin can implement the fix a lot faster than understand my implementation. But no one with access has time to do that either.)
  • Project documentation in some form is a good idea, but not a value in itself. Wombat is doing it on a planning and work-organizatory level, while developing good backstories might blow even more life into the projects.
  • AA has an extensive set of libraries to make areas and NPCs more lively, accumulated over the years. Good practices are routinely refactored into base classes where the functionality can be inherited to others as well. On TMW, I am aware of one prevalent library (the daily quest). There could be space for a lot more.

Attitude towards developers

On TMW, developers are the guys who don't get stuff done fast enough or make boring things (or outrageously unbalanced things, or both, depending on who you ask). This is common to all games, I expect.

In addition, on AA developers are the guys who threaten to break down the mud, dish out munchkin boosters to their friends and who really should be concentrating on development rather than gallivanting around the game playing it.

On AA, wizard alts are strictly limited. Apprentices (developers who have not yet had partial projects approved) have no access to mortals and cannot play the game. Wizards have access to a single alt and their capability to enjoy the game itself is rather limited. Creators can create an unlimited number of alts, although they must register each one with Law to ensure ... that they do not do something bad with them, I am not sure what exactly. This combined with the monolithic projects and lengthy approval processes that again depend on individual achievements (until a reviewer is sufficiently long gone to be replaced through a developer demand, anyway) strongly pushes away developers.

Due to the strict hierarchical structures of project implementation and approval, there are essentially two kinds of roles available at AA: burnout positions where you have to do everything and everything is waiting on you (say goodbye to personal projects, too), and futile frustration positions where you cannot actually do anything but spend most of your time waiting and getting distracted. AA is a great game, but a dismal work environment - for all involved, as far as I can tell.

It's bad enough that wizards endure technical and bureocratic frustration and their enjoyment of the game itself is limited. The worst part, from my point of view, is the lack of any kind of trust cultivated by the immense vulnerability of the mud (due to old technology, lack of version control, online development and whatnot). I've personally been sermoned multiple times about bugfixes, which are not exactly a crowd attractor to begin with: for not having my modification reviewed officially, for approving a modification that looked strange to another admin and took hours of explicit proof-collection to defend before he'd leave it be, and for touching a wiztool introduced to me as abandonware. Two out of three of these examples were caused by admins not knowing what all other admins are doing at all times, which should really not get in the way of development work, but people who feel threatened behave exactly like this. And developers are mainly perceived as a threat to AA.

My 8 active developer years were spent waiting for a chance to do something useful that never manifested (I was even a webmaster-in-theory with no no access to the web pages and no one to install my updates, for a while), and I was offered my first (potentially illusory) chance to make a difference when I was already on my way out due to forking processes. I'm not sure how a few wizards have managed to shed the troublemaker assumption and get something productive done, but it somehow works out for a few people in a generation.

What can we learn from TMW:

  • Limit risks to allow some more trust. Take a virtual server sandbox, stuff AA code into a version control system and make targeted commits whenever a project is installed (and sometimes to just get the silent updates out). Set up the sandbox(es) so that any admin with write access to install a project can run the version control commit commands as well. Clone an "alternate AA" server similarly, and set the developers loose there. Use it to allow sort-of-reviewed projects to get audience "at own risk" e.g. in anarchy server style - where player files are overridden regularly, so e.g. dying due to a bug has no permanent effect. See if it attracts a crowd who are no longer playing due to getting utterly bored with the stable but stagnant main server. If it doesn't, what was lost? Allow tested projects to "request a merge" to the stable branch, with minimal hassle. (The main difference here, anyway, is that they are _playable_ while in the queue, and players can give the feedback before the project development stops as the logical conclusion of the thesis coming out of print.) Push any changes to the stable branch to the development branch regularly. This is to differentiate the alternate AA from the current testmud, which is utterly and chronically out of sync with the current stable server. Also, if we have that IRC-channel-like real-time forum for players, they can still remain a single community even if part of them are busy exploring the alternate server. It works on TMW and the alternate servers' IRC channels at least.