DevMaster.net  
Home | Forums | 3D Engines Database | Wiki | Articles/Tutorials | Game Dev Jobs | IRC Chat Network | Contact Us

Game Design > General


Eternal Lands' MMORPG Postmortem: Mistakes and Lessons, Part II      
10/12/2004

Eternal Lands: Problems Upon Problems

Articles in the Series
Part I
Part II
Part III
Part IV
Part V

As I stated in the first part of the series, in the Fall of 2003 our population started to increase dramatically, by about 100% each month, for a few months. This was mainly due to the combat being added, which made Eternal Lands a true game since most of the people have the stereotype that games means "shooting and killing". In fact, before adding the combat, even though we had a big, red bold text on the download page stating that the game has no combat, people were still downloading, and their fist question was, invariably, "How do I kill something?". In an online environment, of course, the question mark is usually redundant. So is the grammar, punctuation, spelling, not to mention proper use of the English language, which was annoying. We had hopes that we will actually have a role-playing game, and, while there is a small community of roleplayers in the game, most of them are power players. This is not only true for Eternal Lands, but for most of the MMORPGs out there.

For the most part, the game was not really suitable for power players and lazy people that don't read the manuals. We didn't have enough manpower to create a really user-friendly interface, and it wasn't as intuitive as most of the people would expect from an AAA game. Of course, Eternal Lands isn't an AAA game, but most of the people expect the same quality from any game they download, even if it's free or beta. Not surprisingly, 99% of the people that downloaded the game didn't stay for more than, at most, one hour. Seeing how people enter into the game and never return again is not exactly a big morale booster. Quite contrary, it tends to make you doubt, and most of the people would feel like giving up. I have to admit, I myself felt like giving up, but most of our community encouraged us, so we kept going. Basically, people were criticizing the following:

  1. The movement speed was too slow.
  2. The interface was hard to use.
  3. Unattractive player models
  4. Poor economy design in the game

In addition to that, our 3D player models were unattractive. They had about 22 colors, there was no indication whether or not the player is wearing any weapons or armour. They were semitransparent since initially we wanted to use a ghost theme, but eventually we gave up that idea. So I knew that in order to get more players we need to address those issues.

Addressing the Problems

I will attempt to address most of the problems we encountered and offer some advice for independent developers.

Increasing Speed of Game

In the beginning, I was very reluctant to change the moving speed, not only because it was a lot of work, but also because I was assuming that the current moving speed was fine. To put in real terms, any player and animal/monster moved at 3.6 km/hour. The average human speed is about 4.2 km/hour. So, while that speed was a little lower than the average human speed, in a game the players expect to be some sort of super humans that can almost run with backpacks full of stuff. But after a while I had to give in and double the walking speed. That was done on 19th of October 2003. The results did show, our community size increased a little bit (maybe 20% in a week or two). Most players were happy about the change.

Improving Player Models

Twenty-one days later, on the 9th of November, I addressed the issue of the player models, by implementing a new model format by combining or attaching multiple MD2s (head, legs, torso, cape, shield, weapon, helm). This allowed us to make the weapons and armours visible, and we started to use different textures for different clothing color, rather than changing the color table of each player. This dramatically improved the visual aspect of the game, and added the tactical advantage of knowing what your opponents are wearing.

Enhancing the User-Interface and HUD

After another 21 days, on 30th November, the last important issue was addressed: We had a context sensitive interface. That means, the icons on the HUD were rendered almost obsolete, since the mouse cursor changed it shape according to what type of object was under it. For example, if you placed the mouse pointer over some iron ore, it changed to a harvesting cursor, if you placed it over an animal or monster it changed to attack mode, and so on. As a bonus, we also made the name of the players and animals float above their heads, making it easier to recognize your friends/enemies. By that time, we already had almost 100 players online at the same time. I do not remember the exact day when we broke the 100 players record, but it was somewhere in November or December.

Developing a Realistic Economy Model and Preventing Cheating

Now that the major issues were taken cared of, more player stayed in the game, at least for a while. Of course, we continuously added new things, not just making GUI improvements. We added new maps, new monsters, items, skills, and also fixed various bugs. The most important problem that bothered me was the fact that our economy was not really that great. We didn't have so much time to plan it and test it. In addition, we had no experience regarding how the economy should be set up, which is why many items had arbitrary prices. Some resources were placed in very convenient places; for example, there were some flowers right outside of the flower shops so a player could easily make a lot of money by harvesting flowers and selling them 10 meters away in the shop.

However, this was very prone to macroing, and it requires virtually no skill to do so. Macroing is a common cheating method that automates a player's actions by external macros that simulate specific actions. All it takes is to pre-record some mouse movements, then off you go to your daily business, while your character is making obscene amounts of money. This was a recipe for disaster, and what had to be done was a players reset. The problem was, I promised the users a few months ago that there will be no reset, and I like to keep my word as making your community lose trust in you is not a really good thing.

So we tried to adjust the economy on the fly, by changing various prices, manufacturing formulas, skills needed, the way the monsters were fighting, some combat formulas, etc. The only problem was that now we had two categories of players: The regulars long-time users who abused the old system, and then the 'newbies' that didn't have the luxury to abuse the old system, therefore the regulars had a double advantage, and it was almost impossible to have a stronger character than someone who started a few weeks before you. However, the discrepancy wasn't THAT big, and the difference in levels between a newbie and a veteran wasn't that overwhelming.

A Decision Leading to Economical Chaos

The biggest challenge was yet to come... as I mentioned above, we didn't really carefully think before making the economy the way it was. For example, the best weapon used to cost about 2 million gold coins (or 2000 platinum coins). The price was really high because that weapon was extremely potent. In order to obtain such a weapon, you had to either buy it from a store, or manufacture it yourself. The manufacturing level needed to create it was very, very high (Level 72). The experience required to reach level 72 was overwhelming, but there were a few players that had a really high manufacturing skill (around 60). I knew that once they will be able to make that sword, in mass quantities, the economy will go downhill. But I was confident that no one will be able to reach level 72 in a few more months, and I was thinking that I will have enough time to decide what to do by the time that happens.

For some reason, I failed to realize that I was about to make an obvious, childish, huge mistake. It all started when we added the religion in the game. Basically, each skill was supposed to have a god that patrons over those who chose to serve that god. Those who complete missions for the gods get, in return, various bonuses and increased experience in their field, depending on how many quests they completed. The problem was, the manufacturing god was giving a temporary bonus of 10 levels of manufacturing. To make things even worse, getting that bonus was free, so as long as you were near the god's priest, you were able to constantly ask for a blessing, and therefore have your manufacturing skill increased by 10. For some reason, I didn't realize that there are some players that already have a level 62 manufacturing, and, coupled with the bonus, they were able to make that powerful sword. To make things even worse, there was an non-player character (NPC) that was buying weapons, at a third of their selling price. So those who were able to manufacture the Serpent Sword got about 800K gold coins for a few minutes of work. Needless to say, they became very rich, and the gold coins lost their value, since there was a clear unbalance between the way the money came in the game and the way the money went out of the game. So while a few selected people were dirty rich and could afford to buy anything, the majority of player were poor, especially the newbies.

Being the communist I am, I came up with a clever way to even up the social status of the people a bit. It was a good idea, but unfortunately we implemented it too late. The idea was as follows: Have an NPC that requires a lot of beaver furs, and in exchange for obscene amounts of beaver furs, he will increase some of your attributes, such as the vitality, making you even stronger. In order to get your vitality to level 15 (max) you needed about 60K beaver furs. Think of it as a coal and power plants relationship. The coal is relatively easy to get, but power plants need a lot of coal. So the manager of a power plant will not go to the mine himself and mine the coal, but will instead hire people to do the mining for him. This way, everyone is happy: the miner makes some money to feed his family, the manager gets his coal so he can make even more money, the people are happy because they have electricity, and the state is happy as well, because the money is flowing throughout the system, rather than just stay in the pockets of the rich. Similarly, after we implemented this solution, the rich people started to pay huge amounts of money for each beaver fur. The beavers are very common and weak animals, so even beginners can safely kill them, and sell their furs. This worked as expected, but it was only a temporary fix, the amount of money accumulated by some players exceeded even my most pessimistic expectations, so something more drastic had to be done.

We realized that if we want to have a viable game we have to have a character wipe, or, at the very least, an items and attributes wipe. As expected, many players totally disagreed with the idea, threatening to leave the game. This wasn't really nice for us, because I felt like they are expecting too much from a free game. Nevertheless, eventually we managed to compromise somewhere in between. Rather than doing a character wipe, we (the developers and the community) came to the conclusion that an items wipe is necessary and it will be beneficial. The attributes also had to be wiped, because, otherwise, the rich players would invest all their money in buying attributes from the NPCs, so the items wipe would be unfair. Again, the community agreed to do an attributes wipe as well. However, the "skills" were a taboo subject. Asking them to give up their skills would be like asking the Pope to give up his religion. Most of the people also don't understand (or accept) the concept of sacrificing something for the good of the whole. After long and hard 'negotiations' most of the community agreed with a 10% reduction of some skills, but only for the players over a certain level. In return for those 'concessions' I promised them not only to redesign the entire economy so that next time things will go much better and such wipes will not be needed, but also give them some new features. An official announcement was given late February 2004. The estimated time for the wipe (and the new version of the game) was 15th April to 1 May. But more about what happened between the announcement and the wipe itself will be in the 3rd part of this article.

Advertising about Game

Let's go back to November 2003. The game was (and still is) totally free so it was generating no money at all. We needed some money for advertising and for a website. The old website was hosted on the machine where we had the previous game server, but it had a limited bandwidth, and I felt uncomfortable taking my friend's bandwidth. So I got a PayPal account, and put up a donations page. To my surprise, quite a few people donated money, and by the end of 2003 we got about 600 USD. The thing is, by that time, we spent more than 8000 hours of work for the game, so even a Burger King job would have paid off better. Nevertheless, the donations proved to us that the game is somehow viable, and some people like it enough so that they will donate some little money to help us. Most of our new players came from www.mpogd.com, so it only made sense to advertise on that site. They have some very good prices, and for $100 US we got a banner on their site for 2 weeks. This helped a lot with the number of players online. Meanwhile, we also told our players to vote for us on their site; so in February we got the first place and became the Game of the Month. It wasn't easy to win; our newbie helpers and admins were broadcasting a message every hour to everyone in the game to go and vote for us. They became so used to do it that few continued to do so even after we won, which was unnecessary since you can't win that title more than once per year. If you do want to promote a game, I wholeheartedly recommend www.mpogd.com; they have a perfect service, a lot of users, and their owners know how to attract and keep their clients. Besides, their prices are very decent and you get what you pay for.

Advice on Promoting your Game

Speaking of web promotions, it is always a good idea to contact medium-sized game related web sites (very popular websites won't really give the indie developers much attention), and arrange for interviews and reviews. There is some work and time involved in the public relations part, but it's worth it. Unless, of course, you are a big company and have a lot of money to spend for online and offline advertising. In addition to that, a banner exchange program can always be beneficial, preferably with another free MMO game of another kind (i.e. if you have an MMORPG, then do a banner exchange with a MMORTS game). That way your users won't leave your game to play that other game, since they can play both games at the same time. Most of the browser based, HTML games out there do not require as much effort to play as an MMORPG, so 30 minutes/day is usually enough, giving your players enough time to play your game as well.

One final advice about the web part of your game, try to, as much as possible, keep your web site simple and fast loading. Avoid flash stuff, or, if you have to put some flash on the website, provide a HTML version as well. Otherwise you will lose the Dial-up users because they will assume that your game is only for broadband users. Being an independent team with little resources, it is of utmost importance to get as many users as possible. Remember, no matter how good your game is, most of the users that download and try it won't stay there for more than 10 minutes. Maybe 1% of those who try it will become regular players. Which brings us to the next point: Tutorials for Newbies.

Creating Tutorials for Beginners

Let's face it: The vast majority does not have time to read the manual of the game. They just download it, assume that the game interface should be the same as their favorite's game interface, and if they get confused they will just leave rather than read a manual. Even if they do get familiar with the interface, it can be hard for them to learn how to actually play the game. By their very nature, the MMORPG games are non-linear, so there is no way for a newbie to know exactly what is the best thing to do when they start. Therefore, it is very important to have a tutorial explaining to them the philosophy of the game, the basic interface commands, how to achieve some basic goals such as restoring their health, fighting, buying and selling stuff, manufacturing items, and so on.

Taking our own advice, in mid-October of 2003 we had a newbie island, with 2 non-playing characters (NPCs). The tutorial was very simple; basically, it explained to you how to perform a few common things, such as eating and manufacturing simple items. The NPCs were kind enough to give you the required items for free, so you can practice a little. After the first part of the tutorial was completed, the first NPC explained how to arrive to the next NPC, which was just a few screens away (but you did have to take a ship to arrive there). The problem was, a lot of the beginners didn't feel like doing the tutorials either. They just wanted to "kill stuff". Consequently, many weren't able to leave the newbie island, because they didn't read the NPC texts. In order to address this problem I had to implement a text command to skip the tutorial. Even though the first NPC did say that if you want to skip the tutorial just type #skip, this didn't really help. For some reason, some people can't even read small amounts of text. So, in a way, the newbie island was defeating it's own purpose.

A few months later, I decided to just remove the tutorials, and let the beginners start on a larger island, which had "stuff to kill" (as they would expect) and didn't require any tutorials to leave it. Our community did increase after we removed the newbie island, but it's hard to tell if removing it contributed to the community increase, or if that was just the effect of more advertising and more people knowing about our game. Nevertheless, many people were now complaining that there is no tutorial, so I implemented a different tutorial on the starting island, which enables (but doesn't require) you to get more familiar with the game and even earn you a few prizes. This worked much better than the first type of tutorial. This system is now in place even at the time I am writing this article.

Why an Open Source Client was Created

As I promised in the first part of the article, I will talk about how and why we have decided to make the client Open Source. I am a social person so I do not mind sharing my work with others. I have used a lot of Open Source software in my lifetime, such as Linux, FreeBSD, mySQL, Apache, PHP, and many libraries such as SDL, SDL_net, OpenAL, LibXML2, etc. So I felt like it's the time to give something back to the community. I also knew that only one programmer is not enough for an MMORPG.

In December of 2003, two of our players who were also programmers, proposed the idea of making the client open source, so that they (and others) can contribute to it and make it even better. This seemed like a good idea to me, because then I would have more time to work at the server, and let others do the client work as I didn't really have time to do both. My only concern was that by making the client open source, the bad part of the community (the macroers) will take advantage of it and get all kind of unfair advantages, such as being able to improve the ways they are scripting. On the other hand, someone can very well achieve that by simply making a proxy and connecting through that proxy to the game server. Of course, the proxy way is not as good as integrating your macro engine directly into the client, but I felt that the advantages outweighs the disadvantages.

Another concern was that I still wanted to be able to license the game to others, and I didn't want someone else in my team to prevent me from doing so because the game client now has their code in it as well, so I am violating their copyright. That is why I had to be very careful on what kind of license to choose. After reviewing a lot of open source licenses, I have decided to adopt a modified version of the QTPL, because it allowed me to use the other's code under any license I wanted, as long as the code also remains under the original license. At the time I am writing this article, it's been about one year since the client was released as open source. Overall, it was a very good decision as now more than 50% of the client code is written by various contributors. I could have never implemented all those new features and fixed all the bugs by myself. On the other hand, we do have an underground macroing community as well, which implements various 'nice' features such as auto harvesting resources coupled with selling the resources to NPCs, or using them to manufacture various items, auto use of healing potions in combat, and what not. Unfortunately it is very difficult to prevent such hacked clients, so the entire work to prevent and detect modified clients has to be done server side, by logging most of the actions a player does, along with time stamps and IPs. Then we can cross reference various logs and find out, within reasonable limits, who is cheating and who isn't. Our policy to add new members to the team (CVS write access) is simple and effective: when someone submits a few good patches (a good patch is a patch that is accepted), or even a single but impressive patch, that person gets full CVS access. If someone is inactive for an extended period of time (months) then that person is removed from the CVS list, for security reasons.

Conclusion

This concludes the second part of my article. My third article will deal with various issues including a detailed analysis of some important decisions and announcements made.




Discuss this article in the forums
Print article

© 2003-2004 DevMaster.net. All Rights Reserved. Terms of Use & Privacy Policy Want to write for us? Click here