It is a php questing game done in the same format as Mob Wars on Facebook.
The basic gist of the game is to “level up” by doing quests. The social element comes in when you have to recruit friends to complete certain quests in the game.
Here is the main page…
School of Magic, Main Screen
It is a simple text based game and it has thousands of players every day. As mentioned in an earlier chapter, a game is about *the system*…a game is not about the graphics. If you have a compelling system, people will play even if the graphics aren’t that great.
Of course, if someone offers a compelling game with compelling graphics, it’ll work. But a bad game with compelling graphics is much harder to pull off without millions in marketing.
Let’s break down the point components on the main page…
We mentioned that these game designs have 5 core components…
1) Leveling
2) Collecting
3) Feedback
4) Exchanging
5) Customization
Notice the underlined values in the picture. You see that points are a huge part of any of these games. Players need to know where they stand in the game. You don’t have to use numerical points in your game design, but a ranking or points system will help players feel like they are making progress in the game.
In this case, the main “points” in the game help to convey the sense of feedback and/or leveling in the game. Specifically, they have the following values:
1) Gold (how much money players have that they can use to buy items in the shop)
2) Health (health…helps to let players know how well they did in battles, etc.)
3) Mana (a form of feedback to know how much energy the players have to complete quests in the game; different quests require different amounts of energy)
4) Stamina (a form of feedback that lets players know how much energy to do certain things in the game)
5) Experience (a way to show players their progress within the current level)
6) Level (a way to show the players leveling progress)
As you design your game, figure out the point systems you’ll use to keep players informed of their progress in their game. The points also help players feel more immersed in the game. These points are a strong form of feedback and feel free to give the points a unique name in your game.
Let’s look at the rest of the items on the main page…
Main Page, School of Magic
Each link/tab on the main page leads to a different part of the game. We’ll cover each section now… The “Quests” link:
It will take players to the place where they perform quests to level up in the game. Specifically, they go to the quest page and choose a quest and hit the “Do Quest” button.
Quest Page
Once they do that, the page reloads and lets them know how many coins and experience points they have earned.
Some quests require certain inventory items to complete. To do them, you need to go to the shop to buy the relevant inventory items.
Another interesting mechanic here is the concept of “locking”…basically, there are only a certain number of quests available. More become available as you reach another level in the game. It is an incentive for players to keep questing so they can see what’s next. People have a natural curiosity and they do want to know what’s going to happen next (if you’ve made the game fun enough for people to care about it)…and so locking items and inventory and quests until players reach a certain level helps to keep players engaged.
Also, note that as you do certain quests, you lose mana (energy). Once you are out of mana, you have to wait a certain amount of time to recharge (see the top right corner of the image to see how many seconds are required to recharge). Of course, a player can buy in-game points from the “Wizard” page to recharge more quickly. That requires a cash payment. Note how this game design has tight integration with the business/revenue design.
It is important to keep this in mind and also one of the reasons why these simple games produce a fair amount of revenue. The game is compelling enough and the revenue design is integrated well so that players are willing to pay to continue in the game more quickly.
Familiars
These are items/animals you can buy to earn “recurring income” in the game. When a player buys one of these items, they get a certain amount of income each hour from it. It’s a way to make players feel they are progressing in the game without having to be there.
Many folks like pets and this is another way to keep them engaged. Also, note how the player unlocks more of these items/pets when they get to level 10. Players now have one more strong incentive to leve up in the game.
Treasury
This is a bank for players. It is a place for them to store their gold so if they ever get attacked in the game, they only lose the cash they are holding in the game. All the money in the Treasury is safe. Of course, the player has to pay a 10% fee to store their money in the bank. This is a great way to help control inflation as 10% of money in the bank gets reclaimed by the game.
Grand Wizard
This is the “Game Master” in the game and is automated. This is the place players can go to get more points, energy, coins, and other things more quickly without having to spend time waiting in the game. This is also the page where developers make money. Once again, note how the business model of these games is tied into the game design itself. It is one of the reasons why these games can generate decent revenue for the developers.
Battle
This is the place where players can challenge other players in the game and earn gold. This is another very powerful component of these simple MMO games. It is powerful because it has a social element to it. You are battling real people in the game to earn more coins.
Going back to the 5 core design principles, it is a form of exchange in the game. Exchanges are important. Battling another person in the game is a very powerful form of exchange.
Also note that as you battle, you use up stamina. After you are out of stamina, you have to wait to battle again or you can go to the Grand Wizard to buy more stamina. Once again, note how game design and business model are tightly integrated.
Another thing to note is that the stamina also helps to prevent the player from battling too much in the game. Mana, Stamina, and other energy levels that get decreased as the player makes moves in the game helps to make sure that the server does not get overwhelmed by players that try to constantly click on the battle or do quest button.
Shoppe
This is the place where players can buy inventory to do quests. It helps to make the player feel the quests are real. Once again note how more items get unlocked after you reach a new level.
Also, note how this is a great way to keep inflation in the game economy under control as the more items a player buys, the more money goes back to the game.
My House
This is another social element in the game. It is the place where you invite friends to join your house in the game. Smart game developers will be sure to design future quests so that they require a certain number of members in the player’s house.
For example, let’s say a player gets to level 10 in the game. That means they are into the game a decent amount. If the game then has a quest that requires 3 members in the house, the player is more likely to make sure they do have enough members in the house.
Wizard
This is a place to let the player find out about their character in the game. It helps the player know where they stand in the game. There is also a comment board at the bottom so friends and others can send you comments in the game. Comments are another form of exchange between players. Some players in the game will keep playing a game mainly because other friends they’ve made in the game leave comments on their board everyday.
Legends
This is a place to have leader boards in the game. It is a great way to inspire the players in the game that are achiever types to get up the leader boards.
They have leader boards for several different categories.
Another thing they could have added to make things more compelling is to have a leader board that ranks the current player compared to their friends in the game. It would be another incentive for them to keep playing in the game. This social mechanic is used in other games and could be used in this game to make it better.
Help Section
This is a simple place to write down the basics of the game. Keep it simple and clear.
Forum
This is a place where players can interact with other players in the game. This is a great way to build community in the game. Once again, the comments and posts between players on the forum is a powerful form of exchange. Be sure to have a forum in your game for the players to keep you informed of improvements and changes you make of the game. It is also a great place for players to help other players in the game.
Viral Channels
It is also important to note that this game has “viral channels”, ways to use Facebook to get more players into the game. Specifically, the game uses invites to get players to add their friends to the “House” in the game.
Also, the game uses notifications to inform players when other players in the game have attacked them. It is a great way to remind players to come back in the game.
Those are the basics design elements of the game. They use a game design template that seems to be adopted by a lot of these social MMO games. Borrow what you like and see how you can innovate on some of the design to make something unique and interesting to players.
Now that you have a basic game out the door, let’s talk about some of the subtle things to keep in mind as you improve the game…and let’s also talk about improving the game.
The game is a service and you have to keep updating and improving the game. This will help keep users coming back and it will also help to make the game more fun so that more folks want to join
Here are some themes to keep in mind now that you have a game released:
Iteration:
Be willing to constantly iterate on the game. Are you willing to update and improve features ever minute. Some developers updated their game 50 times in one hour to address the feedback and suggestions of some of the early players in the game.
Playfish mentioned that “Who Has the Biggest Brain” was updated over 100 times after release to make it successful. It is one of the most successful games on Facebook and it is partially due to constant iterative improvement on the game. When it was first released, it was not a success very quickly. It took a couple months of improvements to finally make it reach the top 100 games on Facebook.
Weekly Updates:
It is important to keep updating the content in the game every week. It is another way to show commitment to players and it also helps to keep things interesting. For example, one week, you can have a tournament. Another week, you may want to release more levels in the game. Another week may be a series of new items or limited-edition items in the game.
When you do these updates, you may want to send notifications/e-mails to current registered players letting them know about the new updates. Most players may forget about your MMO if not reminded, sending them a message about new and fun content is a good way to remind them of the game while respecting their time.
Balancing the Economy
If you have a virtual currency in the game, you need to make sure it doesn’t get inflated. This can happen when there is no proper balancing of the sinks and sources of points/currency in the game. Why is balancing the economy important? It is because it has an impact on the fun of the game. If there is massive inflation in the game, players will stop liking the game and leave. Yes, it has happened in other games and if you take steps, you can make sure the economy is a strong way to keep the fun in the game. Check out this paper to see the effects of inflation in other MMOs… http://www.flyingscythemonkey.com/Money_Supply_White_Paper.htm
One game designer wisely suggested that the game have a “wishing well” that players can throw money into and make a wish. It is a good way to help remove money from the economy in a way that is positive to the players in the game.
Another thing I did was have a way for players to donate money to the new feature. If they donated a certain amount, they would get recognition as funding a new feature in the game. This was another positive way to help remove money from the economy and keep inflation in check.
Cheating
If you have a successful game, people will try to cheat the system. They will try to find exploits and ways to gain more points. It happens in almost every game. You need to make sure you catch these issues quickly as they will impact the fun of the game. If honest players see that cheaters always win, they will leave the game.
So you need to keep track of changes in the game. Keep track of the top players in the game by points every 4-5 hours. If there is a massive change, there may be something going on. Look into it. You’ll also hear about exploits that allow folks to get a lot of money or points quickly. Patch them quickly and then either ban the folks that used the exploit or remove the points they got unfairly.
Making Money From the Game
Your goal may be to make money from the game. That’s a nice goal. However, at first, make sure you serve and respond to players. Get your game up to 5,000 or 10,000 daily users then think about monetization. When you have a new game and new players get a sense that you are trying to milk them for money, your chances of growing may be limited. Of course, you can be the exception to this rule. But in general, first serve your players for a while, make sure the MMO runs somewhat smoothly and then look into monetization.
When you are ready to monetize, look into options such as allowing players to buy virtual currency in the game. Also using banner ads from Social Media and Cubics and also affiliate offers from My Offerpal and Super Rewards
As of this writing, some of the folks at Super Rewards mentioned giving million dollar payouts to single developers. It is possible to make a lot of money from these games provided you make something that is compelling, fun, and addictive to players.
Game Balance
As you have points, missions, battles, and other RPG elements, make sure you properly balance the game. It is important that you make sure the game is properly balanced. Some MMO developers hire people to specifically think about balancing items and quests so that nothing is out of control. When a game is balanced, it is fun. When it is out of balance, players will notice and may even stop playing.
Balance is important. Yes, some folks even set up spreadsheets in excel to run simulations to make sure their game is balanced. Your game may or may not require balancing. If it does, make sure you test out things before releasing new items/things that may upset the game balance.
Working with the community
It is important that you respond to your community early on. They need to know that you’ll be there and are committed to making the game work. As you do this, you gain their trust. Make sure you keep building on that trust. Make sure you are responsive consistently. If you need to take a break from responding to the community, make sure you let them know or get a volunteer admin to help responds to issues and questions.
Taking a break
Developing an MMO can get intense at times. You have to respond to a lot of things at once and not all of them are technical. MMOs revolve around people and there will be social issues that come up…that will feel more draining than most of the technical issues that you encounter in the game.
You can burn out and lose motivation to keep updating the game without taking a little time off. I’ve found that taking a few days off after 3-6 weeks of development helps to keep me focused on improving the game more. Stepping away from things also gives me clarity and insights into new ideas I can apply to the MMO. Constant development without a break can get frustrating, especially if you are developing alone without a partner…even if the community is helping out. Taking a break and letting the players know is a good way to recharge.
Clear Expectations
Every MMO will have a culture based on the developer and players. You need to have an idea of the culture you want and make sure you reinforce that culture with your attitudes and behaviors in the game. You need to be crystal clear about how you expect your players to behave and then block/ban people that violate those rules. There may be a person that wants to create issues with other players in the game and may ruin the experience for others. They exist and if their attitudes and behaviors and comments towards others is setting a bad tone in the game, be sure to block them from the app. You can ban them temporarily at first and if they continue it, then you can do a permanent ban.
I focused on making my game a positive place. A place for fun and relaxation. I’ve found that to be effective. Make sure you are clear about what social tone of the app.
Metrics
Studying other MMOs is one way to learn. Another important way to learn is to keep metrics on everything in the game and then analyze the reports. You need to know how many invites were sent today. How many people leveled up in the game. How many players played the game today. How many new players yesterday returned today. Once you have this data, you can start doing split a/b testing. You need to keep experimenting so that you can tweak the game to make it a better and compelling experience.
Split A/B testing is important as minor changes in certain things may make a big change to the success potential of the game.
With metrics, you’ll get an idea of how long people spend in the game, what people are doing in the game, and then be able to modify and iterate based on this data. Proper analysis and use of this data is what can separate you from the rest of the game developers so make sure you put in a metrics system in place early on in the game release process.
Player Volunteers
As you grow, you’ll need help addressing all of the questions/customer service by others. To help lighten the load, you may want to ask some of the people in your community to be volunteer admins. Most folks will be willing to do it for free. You can give the folks that participate a special badge in the game. The volunteers will help things run smoothly. Make sure you write up a tutorial for volunteers that do help out with the game so that they know clear expectations of how they need to treat people asking for help.
Games as Systems
At the heart of everything, you are developing a “system”…and this system has users providing inputs into the system and then producing outputs like results, etc. You need to work on building this system and the components of the system so that the game will run as much on its own or a methodical fashion as possible.
For example, part of your game system is hopefully getting new players into the game quickly. Let’s say that 20% of the players that join the game decide to stay. You have this stat because you kept metrics (mentioned above Now you tweak a few things and add a tutorial so that now 40% of the player that join the game decide to stay. You have modified this part of the system and it will have a positive impact on the whole system. This is why you need to measure all parts of the game so you can figure out ways to optimize various subsystems of the game to keep it running smoothly. Systems-level thinking is critical for making the game success so be sure to keep in mind that you are really building a system here where the actual game is only one part of it.
You’ve made a very rough MMO on Facebook. It is very rough, but the system is in place. For artwork of items, you went on Flickr and found pictures that are under the creative commons, commercial license.
For example, if you are making a simple MMO about players being movie stars and having to do quests to become a world-famous movie star…you may need artwork of sets and scenes to help set the mood and atmosphere. You may want to get pictures of the Hollywood Walk of Fame (the sidewalk with stars). If you are making an MMO based on traveling, you may want to gather scenes from interesting areas of the world.
The important thing to note here is that you do not need to spend thousands of dollars and lots of time to get custom-made artwork. Yes, it can help. Yes, later on it may be a good idea to get it. But we need to get this MMO out now. We need to keep things rolling otherwise the excuses will start piling up and slow everything down. Put the artwork in and think about upgrading later.
Ok, so you have a rough game, and it’s really rough. It’s not too great. It’s a good start, though. Now we need to release. Why do we release roughly? For a couple reasons…
1) We need to get something out and keep the momentum
2) We need to rely on early users to give us feedback. I’ve found it compelling and motivating when I have a user directly telling me something is not working instead of prematurely optimizing code and the game beforehand. The other thing is that this is your chance to show the early users that you’re dedicated to make this work. The faster you implement the feedback, the better your chances of having them stay.
There are folks doing simple MMOs that have grown…not because the MMO looks like World of Warcraft, but because the text-based MMO was updated quickly and constantly whenever a user made a request. It made the players feel like they were being listened to and that the developer(s) care.
Earning the trust of the players because of your high level of responsiveness helps to build a community in the game and keep people engaged in the game.
When you release your game, have a banner at the top that links to the application’s wall/discussion board and ask for specific feedback. It will encourage feedback and also demonstrate that you are committed to improving the game.
To release, send it out to friends. Get some preliminary feedback. After that, find groups on Facebook with topics/themes that resonate with the theme of your game. That will be a good way to attract more folks to the game.
Study other games on Facebook too. Note how some of them get you to invite friends into the game. Borrow those ideas for your game and also think of new ideas. You need to figure out a way to inspire people to invite their friends into the game. You can do this by traditional ways found in other apps and by new ways.
You can also use the game mentioned in this book to make your own MMO. We’ve created a mission in it that you can play to create an MMO in 5 days You can also get help from other players in the mission. Click here to start the 5 day mission
We have a basic idea for the game. We have mockups. Now we need to implement all of this.
Since we’re implementing this on Facebook, we need to keep a few things in mind. Specifically, we’ll have a user table, and the unique id in the user table is the Facebook person’s user id. This is a BIGINT.
Here is the user table for the game:
CREATE TABLE IF NOT EXISTS `players` (
`id` bigint(20) unsigned NOT NULL,
`userid` bigint(20) unsigned NOT NULL,
`joined` int(11) NOT NULL,
`money` bigint(20) NOT NULL,
`experience` bigint(20) NOT NULL default ’0′,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
This is the table that will hold all users in the game. When a person joins the app, I check to see if the user is registered in the system. If not, I add them to the table.
How do I get the user id…keep in mind that Facebook will pass you the user id on each page you include their header files. In PHP, you get a variable called $user that contains the user id. Getting that user id is important and allows you to do many cool things.
Specifically, you can feed that user id into the FBML tags to render the user’s name, profile picture, and other things. This is without you knowing much about them. That is the power of FBML.
Here is a basic example of FBML…let’s say we want to render the user’s profile picture on the page…we use the following FBML tag…
We use the tag fb:profile-pic
Let’s say the user id is in the variable $user…we can do the following
<fb:profile-pic uid=”" />
It will render the picture of the user
Anyways, code for the game is attached to this book and you can find out how fbml is used. You can also use the Facebook API to perform queries based on the user id. With the user id, you can use the Facebook API to get information from the user’s Facebook profile, such as their location, network, status, etc.
For most games, you’ll mainly need to use the following FBML tags:
fb:profile-pic (renders the profile picture based on the user id you passed in)
fb:name (renders the name based on the user id passed in)
In terms of the Facebook api, the main things you’ll use related to sending notifications to players on Facebook. Notifications are useful to help keep the players coming back to the game on Facebook. It’s also a potential viral channel.
There isn’t much else to this chapter. I would recommend you take the basic “hi” application mentioned in an earlier section and echo out the user id and other things like the profile picture within that basic app to see what’s possible.
Replace the code in index.php with the following lines to see FBML in action…
<?php
// Facebook initialize info
require_once ‘appinclude.php’;
echo “Welcome to my fun MMO ”;
echo “”;
*** end code
It’s simple and will render the picture of the user.
Now that we’ve found an appropriate game, let’s focus on the design.
At recent Game Developer’s Conferences, designers like Amy Jo Kim and Rich Vogel have mentioned that these MMOs have the following
design principles:
1) Leveling
2) Collecting
3) Feedback
4) Exchanging
5) Customization
Let’s use these as the basis of design for our game.
The goal of this game is to allow players to create experiences and then allow other players to mission through those experiences. As the game gets designed, it’s helpful to have mockups for content and pages in the game. Remember, the goal is to get the momentum going and to get a game up as quickly as possible. Don’t worry about how pretty it looks…get the game out there and then iterate on the UI as needed.
In terms of leveling throughout the system, we’ll have a point system in the game. As a person completes certain experiences, they’ll earn points.
We’ll call the points in this game “Experience Points”…each mission in the game will consist of points. Certain missions will have certain number of points.
To keep things simple, the number of points per quest will depend on the following:
a) The time it takes to do the quest
b) The hardness of the quest (as defined by the number of people that have finished the quest)
Collecting:
For collecting. we’ll focus on “honors” a player gets as they complete the quest. Each quest/mission in the game will have a badge associated with it. Once a player completes the mission, they get the badge.
Here is a mockup of the player’s profile in the game and the section for the player’s “Honors” they win by completing missions in the game
Game Profile Page Mock-up...
Feedback:
How do we add feedback in the game. As a person takes a quest, we’ll keep track of how much time they have to complete the current level of the mission.
If they finish it on time or finish it earlier, then we’ll give them relevant points.
We’ll put this timer on the profile page for the player…the profile page will list the player’s missions and the time remaining for the current part of the mission.
Timer for a mission on the profile page
Exchanging:
We need social exchanges. In this game, it’ll come in a few ways. We’ll have a system where folks can give other people comments and suggestions on their profile in the game. It will be a place where folks can give other people comments. Each place, will have its own “exchange”…and in this exchange, a player can ask other people in the mission…questions and give points to the person that has the most useful response.
We’ll also allow for exchanges built into the mission system… Specifically, we’ll hae a situation where to confirm that a person reached a certain level in the system, other people in the game will have to vote on whether you did or didn’t complete the level. For example, to pass a level, you need 5 other folks vote your progress in the level as a 5 out of 10 or above in the game.
We’ll have a page with the friend’s picture, their testimonial comment, a reference to the mission, and the ability to rate it…
Testimonial Page where you rate your friend's progress
Also, we’ll have a section in the Mission’s home page where folks will be able to ask questions and have other folks answer them. This is a form of exchange and will look something like a comment board…
Question Exchange
Customization:
Each player will have a profile in this game and we’ll allow them to upgrade/customize the profile and unlock customizations as they earn enough points in the game.
There are some other sections to this game…mainly,we need a section where players will be able to choose the mission they want to tackle…
List of Missions In the Game...
Additionally, to make the game more socially compelling, we need to have leaderboards. Specifically, we need to show how a person ranks in comparison to their friends so that there is a sense of competition. Here is a listing of the “Friends” page that will serve rank a player’s progress compared to their friends in the game:
Ranking of Friends...
We’re also going to add a few new design elements to make it more social. Specifically, we’re going to create a leaderboard so folks can compare their progress to friends. We’re also going to make the missions more social. Specifically, each “mission” in the game will have levels in it and will be designed to foster a community around that mission.
Imagine one of the missions being the making of an MMO. It would be nice if players within the mission could talk to other folks that are further along in the mission for advice, support, and encouragement. It would also be nice if folks in the mission could help vote for your progress in the mission. Additionally, it would be nice if folks in the mission could send other up-and-comers gifts in the mission like additional experience points or time extensions to complete the mission.
Here is a mockup of the mission page…
Mock-up of Mission Page...
Additionally, the player’s main profile page will have an “Activity Feed” that will help them keep track of their progress in the missions.
Each mission will also have an activity feed that will let the community around the mission know the progress of individuals in that mission.
We’ve done the basic mockups and layouts of the game. Now we need to implement the logic/backend for the game…including the database tables and code to connect into the social networks.
Show Notes:
Aaron Murray: Hi, my name is Aaron Murray, and I am the founder of Tandem Games.
Interviewer: How did you get into games?
Aaron: I am a programmer by trade and I’ve always been messing around with projects with friends for a while. A couple of years ago a buddy of mine and I started doing some game demos and there you have it.
Interviewer: What types of games did you initially do? Like what types of demos? Any specific genre or just playing around?
Aaron: We had always kind of talked about Xbox live sort of games.
Interviewer: Sure.
Aaron: Redstro action-type games, but we ended up doing our first demo as a casual game.
Interviewer: And so, you do the demo. What happens after that? Did you show it to people? Did you release it on the web?
Aaron: For this demo, we took it to the Independent Game Conference in Austin, Texas, and displayed it there at the Game Demo Night. It ended up winning second place in the votes, and it just motivated us to keep doing games.
Interviewer: After that demo, were you thinking about doing another casual game or experimenting with another type of genre?
Aaron: We had the goal of taking that game and finishing it and releasing it on the portals, but a couple of days after that show we got contacted by a company called Critical Mass. They wanted us to do an advergame based on that game which we did.
Interviewer: Was it pretty much then reskinning the game for a specific advertisement, or was it a new game plan entirely or how did that work?
Aaron: The way it was pitched to us was a reskin. We thought that would be a great idea, and we started the reskin and decided that we didn’t want to use up our idea on this advergame. So, we changed functionally how the player advanced through the game. So, it’s kind of a hybrid.
Interviewer: Once you finished the advergame, were you thinking about, “Hey, I could, maybe, start an Indie game studio around advergaming” or what were your thoughts then?
Aaron: I was definitely against continuing down the road of contract work. That’s been the major downfall of games. You get locked in contract mode and as soon as there are a few months where you’re waiting on a publisher or something, the whole company can collapse. So, because of that I really wanted to self-fund and be stable.
Interviewer: Were you even hesitant to take the adware gaming thing because what I’ve seen is that some Indie game studios will be like, “I want to do Indie game development”, and then they kind of get sucked into the whole contract gig cycle. And it’s like an addiction to an extent because you… It’s good pay. It can be good pay or it’s a good experience or whatever. But at the same time, you know, to do a good job there you are kind of cutting resources on, maybe, your own projects or something else like that.
Aaron: It was enticing. The reason we took it was because the company we did the game for – they are giving the game away for free on USB key chains at the GDC.
Interviewer: Cool.
Aaron: We thought that was kind of cool to have our game be schwag. But, then we did get, man, probably three or four more offers right after that game for other games and turned them all down because of, like you said, doing those games means we can’t do our own games. Doing stuff that I don’t want to do is like a normal job, and I have a normal job.
Interviewer: Did you start going to GDC then around the time where you started developing these demos, or did you just focus on the local community where you were at to get game development inspiration and stuff like that?
Aaron: I went to the GDC in San Francisco last year for the first time in 2007 – 2008, sorry. Then, I went to the Austin GDC. This year I’m going to San Francisco again. I’m actually taking a couple of employees with me, so that’s cool.
Interviewer: How would you compare the Austin Game Developers Conference versus the San Francisco one, like in terms of the expense for you?
Aaron: They are very different. The Austin one is almost entirely dedicated to online gaming. It’s a lot smaller and more focused. Since I just launched an online game last year, it was perfect. If you have online games or an interest in that, Austin GDC is definitely THE show.
Interviewer: Getting back then to you releasing the advergame and getting three or four more offers after that and you decided to work on your own game. What was the next game you guys decided to do?
Aaron: We originally planned on taking that first demo and finishing that game, but as it turned out we had one guy who needed to take a break, the sound guy. So, we came up with a random idea to do a web-based MMO that was kind of like an old MUD, text-based. Without flash, without plug-ins, so that you could play it at work.
Interviewer: Was this around 2007 or 2006?
Aaron: We started that in March, 2008.
Interviewer: Oh, really, wow. Awesome. That is tight. So, you decided on doing this MMO. Now, around that time you must have been hearing about some of these other Indie MMOs that have gotten out there and they were getting a lot of users. Were you concerned that it may have been too late to do the MMO, or what was the strategy then to get this MMO out and to do it quickly because it sounds like it was just a short while ago when you were just thinking about the idea?
Aaron: It was a short while ago, and I’ll be honest. I didn’t play any other web MMOs so I was really in the dark as far as what was out there. I wouldn’t recommend that, but it worked out for us.
Interviewer: And so, you decided to do this MMO. How long did you think it was going to take to develop?
Aaron: Well, I’ve got a lot of experience with web development, so I thought I could do the game in three months which seems fairly absurd, I’d say, to most humans.
Interviewer: Yeah because it’s an MMO. Did you say you were going to bypass Flash then?
Aaron, Yeah, no Flash.
Interviewer: Because there’s some MMOs where – you’re right – they are just pure PHP-based. Is that what you decided to do, go with PHP or was it another type of language?
Aaron: I wrote this in the .net Javascript. It’s about 150,000 lines of code.
Interviewer: Wow. When you started developing this thing, were you working with anyone else doing it, or was it mostly a solitary thing? Because I know sometimes coordination on these things, especially if you already know all the technology, might hinder rather than accelerate things.
Aaron: I was the only technical person, and I had one partner who did art work and story.
Interviewer: Did you tell anyone else about your MMO idea before you got started? Was there any other feedback or suggestions from a lot of people?
Aaron: I talked to a few developers. That was about it.
Interviewer: What did they say? Did they say that it would work or let’s see what happens?
Aaron: Most people kind of laughed.
Interviewer: That means you’re on to a good idea.
Aaron: One guy was particularly critical who is notorious for being anti-everything. We chatted for about four hours. At the end of this chat he said that, maybe, it’ll work out which is about the best compliment I’d ever heard from him. I thought, maybe, this will work.
Interviewer: You started developing this thing. How did you balance working on the technology versus working on the game play, making sure that the game is balanced in the point system and the economy and everything else is working?
Aaron: I went into that fairly blind. I was working on the technology. Because we’re not using any plug-ins we had to develop a way to use Ajax purely, to have real time chat, real time battles in a web browser without any plug-ins. It was a decent task, so I hit that pretty hard and then released a really, really rough open beta. Players started playing it and said, “Wow, it’s really simple but pretty fun and different. So, why don’t you add all these features” and then that led to the next four months of development of all the features.
Interviewer: When you said real time, did you ever think about doing it more asynchronous interaction instead of real time, or do you think real time is a key component of this game?
Aaron: I did look at a couple of RPGs, web RPGs, after the development. Most of them are: you go to the page where it’s your inventory page and then you click a link and you go to the page that you want to fight a monster. It didn’t feel like a game to me. It was more of like using a business application. I just wanted it all to be one page. I never wanted to leave the page. I never really wanted to wait for anything, so that’s why it went to real time.
Interviewer: Did you decide to give this MMO a name? I don’t know. You’re releasing it in open Beta, so maybe you’re flexible on a name.
Aaron: We got the name early on. It was Domain of Heroes.
Interviewer: Great. And so, you release it. When you say open beta, did you mainly get developers coming in? What demographic did you target this thing towards?
Aaron: The original idea was people who were at work, so that was the demographic. For a long time I’ve said, “You can play WOW when you get home, but you can play DoH when you are at work”. DoH is the nickname I use for Domain of Heroes.
Interviewer: Then, you targeted business forums.
Aaron: [laughs] You assume that I had an advertising campaign back then and I didn’t.
Interviewer: You don’t have to advertise it. I think it’s novel enough where you could literally just release it anywhere as long as it’s targeting your audience that can spread it word-of-mouth or something.
Aaron: I didn’t go around and tell anyone. I don’t know how people found it, to be quite honest. But, a couple people did and a couple people told their friends. Early on, we’d get one or two people a day would sign up.
Interviewer: Were you guys keeping track of metrics and all that other stuff early on, or was it just looking at how many people registered for the day?
Aaron: I am a huge fan of metrics. Somebody once told me that anything worth improving is worth measuring. Because of my enterprise software background, I track everything. I’m kind of a freak about that, hovering over that data.
Interviewer: You do more than just Google analytics. You have your own built-in system.
Aaron: Everything is custom.
Interviewer: You said that you got feedback from your beta users. At that point were you thinking about doing another game or just continuing on this? What was your decision process at that point?
Aaron: I just assumed that it would be put out there, just kind of a fun trinket. And life would go on, and I would work on another game. But, it quickly turned. I was getting a lot of email and a lot of posts on the forums, people wanting feature requests.
Interviewer: Nice.
Aaron: I was chatting with them in-game, so I was, basically, just rapidly developing all these enhancements as people wanted things. They wanted guilds, so I put in guilds. They wanted trading, and they wanted this, that and the other. So, I just started adding features constantly. I think that really was key because players like to be able to connect with the developers, and they like it when they can say, “Hey, how about if we have this idea?” And then that week have it be implemented.
Interviewer: How fast did you have to add in the features because it sounds like you were getting a lot of feedback? Did you pretty much let them know when things were going to get released, or was it more like, “OK, this will happen in two weeks” or you tried to implement as many features as you could every week?
Aaron: I was doing daily updates, and I didn’t tell them when updates would happen. I didn’t tell them what features were coming. I was doing daily updates for a long time. Now, it’s probably a few a week. But, some people would literally email me with an idea and it was simple to implement, and they would have feature that night. It was kind of shocking to them. That’s probably why they told their friends, more of the novelty of that than even the game.
Interviewer: Yeah, definitely, the community. Can you talk about some of the features that you felt had a huge impact in terms of the game experience? Some of the features that they suggested that you implement? You mentioned the guild system. How does that guild system work, and how long did it take to do?
Aaron: The guild system works so someone, a player, can start a guild. I guess to give you a little bit of a background, the game is free. There is no limit to the quests or the items that you can get. The way that we monetize it is we sell wishes, and then you can make a wish and customize the game or add a convenience feature – become powerful because you’re rich. I’m just very much against selling the greatest sword to the rich players. So, you can start a guild, but that’s not critical. You can start a guild for wishes, and then you are essentially the founder of the guild which gives you all of the rights. Then, you can invite players who are guild worthy and promote them. There’s a guild vault where people can donate items and you have to gain experience from other players in the guild who are playing and these various guildy-type things. That took, maybe, a couple of weeks to do.
Interviewer: What the guild gamer’s experience is that they compete against other guilds or is it to help the players in the guilds with their RPG quest and stuff like that?
Aaron: It’s primarily a way for guilds to be higher ranked and competitive because the guilds would go in levels. So, a few of the top guilds are constantly vying for that top spot on the leader board as a guild.
Interviewer: When you talk about quests, are these then things that you designed that people go through, like in terms of just some kind of journey, or are these things that other users make up?
Aaron: The quests are all developed by us, currently. You can go to an inn and talk to the barmaid or whoever is in there and get a quest. So, we’ve created all those. We originally were going to have players write them, but content quality becomes a concern. So, we may end up having a land that is purely player-based, things like that, but I don’t know that we’ll mix that in with the regular-based game. It’s really difficult to manage.
Interviewer: How long does it take then to make a quest, and how long does it take for a player to usually play a normal quest?
Aaron: The quests are very much just like a few paragraphs of story, so some quests are quick to write. Some are a labor of love that take a while, but the writers usually can do a quest an hour when they’ve got some plan in mind.
Interviewer: That’s good.
Aaron: And the players can do a quest in minutes, or it could potentially not be beatable at that time if they’re not strong enough to face some boss or something.
Interviewer: I’ve seen some of these quests being implemented, and one of the things I’ve seen is that they have mini quests within the larger quest. The larger quest may take a few weeks or a month, but the mini quest within the major quest, at least, gives the player the sense of progress toward something. I wasn’t sure if that’s the strategy you use or if it’s something else.
Aaron: Yes, you’re right. I always want to have there, to be something immediately that the player can advance or get or do so that there’s always something fun to do within the grand scheme, kind of like Diablo II was a big influence on me. One of their designers said that they had the five minute carrot system which was every five minutes they wanted the player to be either leveling up or finding a treasure or getting a quest, something like that.
Interviewer: These quests, do they have their own quest points, or do their RPG points determine whether they can defeat the bosses in a specific quest?
Aaron: The quests have prerequisites. In order to get a quest, you either have to be the right race or the right class or the right faction or the right gender at the right level. Once you get a quest, at that point it’s technically possible to beat it, and then it’s up to the player to be prepared for that challenge.
Interviewer: Do you focus then mainly on quests for more experienced players or for newbie players?
Aaron: Currently, most of the quests that we have out released are for new players. The first 20 or so levels have a pretty good selection of quests that are constant. It starts to fizzle out from there, but we’re actively writing tons and tons of quests. Currently, we’ve got about as much text in the game as the book, “Huckleberry Finn”. It’s taken a while.
Interviewer: That’s good. That’s awesome. Do you mainly then have writers locally do this, or do you try to contract out writers to write some of these quests? What’s the best strategy to do that?
Aaron: Well, it certainly is easy to find people remotely, but I really struggle with effective communication on creative projects with people who aren’t local because it’s so easy to sit down next to someone and say, “You know, that sword – what if it did this or looked like this one” and be able to rapidly reiterate over that versus if I sent an email and tomorrow the guy reads it. And then the next day I get a sword, and then tomorrow I give him another. It could take a week to get that sword where sitting next to someone it takes 10 minutes. So, I like to work with local people.
Interviewer: One thing I’ve also seen work was that you may usually have really dedicated fans of your MMO that hang out in your forum and having them do work or contribute in a more interesting way sometimes works.
Aaron: We have done that. Actually, all of the attack animations were done by one guy who volunteered for that.
Interviewer: It’s called passion sourcing. Instead of outsourcing, you just find people who are really passionate because, quite frankly, they are probably going to do a better job.
Aaron: Probably.
Interviewer: That’s cool that you noticed that also happened. Do players get tired of the game? How do you keep players constantly engaged, aside from adding more content?
Aaron: I’m sorry.
Interviewer: Aside from adding more content, is there anything else – do you have players that have been there for a while, and they’re, “Well, now, it’s getting a little boring” or do you have to focus on that other game more? Or is that something that hasn’t been an issue?
Aaron: Well, I think it has been an issue, and I think that’s where I have run into the trouble of being just one guy. Players would get bored, right? They can do all of the quests faster than I can get them written. What I rely on to keep players engaged is just functionality updates because I have control over that. I can add new features all the time. It’s an alternative to giving you more quests to do. While those quests are getting written, here’s what I can do for you. Do you want to able to whisper to people? Sure. Let me do that tonight. It’s not perfect, but it’s what I can do.
Interviewer: Something that I’ve seen other people do is – you mentioned use of generated content. Right now, it’s kind of restricted in your game, right? Or is there still an opportunity for a lot of these regenerated content?
Aaron: People can’t make quests or lore. They can take over land and get their name displayed in the game and put more items in the shop, but they can’t really create story in the game right now.
Interviewer: I’ve seen some games where they don’t necessarily add a lot of content. You know, when you talk about quests and stories because they have some kind of game dynamic or mechanics that literally as the players are playing the game they are generating content for other players. Is that something that you’ve looked into because that’s just seems more scalable than having the pre-made system?
Aaron: It is. It’s a good point. I would argue that they are actually different because I think players know when they are dealing with generated “content” because it has the same structure or format versus when you get the new quest written and it’s talking about this guy’s greasy handlebar mustache. You know that’s just not going to be generated and be quality. What I want to do with what your suggestion was, was have players that are high level in the game become targets for other players and deal more with the faction element. We have these three factions that are constantly warring over land because they’ll get double experience and better items if they control land. To add more like that, wanted posters and those sorts of things.
Interviewer: Right now, can players battle each other?
Aaron: Yeah. They can do one-on-one battles or actually huge faction battles.
Interviewer: Did you run into issues with balancing the economy and the point systems and making sure that the game mechanics and the reward systems are set up in a way that it keeps staying fun? I don’t know if you’ve run into that issue with the economy.
Aaron: Well, the economy doesn’t suffer inflation. Maybe, it does suffer inflation. The shop is so different than any other game. It’s only what you see in there aside from potions or weapons that other people want to sell. So, it’s like a big garage sale. As far as balancing, that’s just the bane of my existence.
Interviewer: Do you have any strategies for doing that well? Literally, if you change the reward system from one point to two points, first of all, a lot of people are going to notice it. It might actually make it a lot more fun or a lot less fun. How are you testing to make sure that this thing just keeps getting more fun in terms of the reward system?
Aaron: That’s a good question. Well, your first question was about balancing. The things that I planned out, graphs, min and max, the case scenarios and all that stuff, those are balanced and have stayed balanced nicely. The things that I just shot from the hip and said, “This will probably work”, thumb in the air. Those have destroyed my free time with hate mail. Don’t make that mistake, if at all possible, because I’m still reaping what I’ve sown in that area.
Interviewer: So, then can you talk about the process that you used to actually make the right types of balanced decisions? You mentioned having graphs and stuff like that.
Aaron: For example, the stat points, in every level gaining stat points. The way the game works is you get a certain number of stat points due to your race. A certain number of stat points due to your class automatically assigned to your different attributes. Then, you also get five. It’s not too hard to figure out how many stat points that people have in total when they are maxed out by level and everything. Using those numbers, I could see what was the most power a person would ever have at base or the most luck. Using those boundaries, then I could work within the game as far as formulas and how much power is good and those sorts of things. That worked well. The way I did skills which was, “Yeah, five percent per level sounds perfect for this fireball spell”. That didn’t work at all.
Interviewer: When it didn’t work, how did you actually go about fixing it?
Aaron: Basically, I sifted through millions of emails telling me that I was stupid and incompetent and then tried to distill the truth in their emails that was either the skill was either too overpowered or too underpowered. Then, I just constantly tweaked those values. People will cry out in pain when either you’re really close or you’re just a little bit off either way. As soon as you start getting close, you can just tell. A thousand emails a day will turn into a hundred, you know. You go from there.
Interviewer: If you had to do it again, how would you do that design differently? How would you prep to make sure that you wouldn’t have run into that issue?
Aaron: I would find someone who’s a lot smarter than me and have them do it, someone who is really into item balancing. And that’s actually what I’ve done now. I have a guy who is just so into that sort of thing. He is rebalancing all that stuff, and that’s his job.
Interviewer: For him to rebalance everything, does he then just run it through some kind of Excel, like some simulation or something else where he can see what’s working?
Aaron: Yeah, we use a lot of Excel [laughs] as weird as that sounds.
Interviewer: Well, you run scenarios about if this person was battling this person with these kinds of weapons, what would happen and stuff like that? Is that the scenarios you run in Excel, or is there anything else you guys do?
Aaron: We run the possibilities. We crunch the possibilities through Excel, and then I have a program that I can actually bring up the characters, any characters I want, give them any items, any stats, not in a web page but in a program. And then run through all the game formulas, separate from the game and just run them. We do it that way.
Interviewer: That’s interesting. Then, do you guys quote unit testing on the game balance?
Aaron: We do have some unit tests, but the game is far from having complete code coverage.
Interviewer: Aside from that, how do you actually make these changes because you’re making a lot of these changes in real time when people are actually used to a certain version of the system? How are you balancing that issue with the need to actually make sure that new component is balanced properly?
Aaron: I can’t claim to do it as well as the big players, like WOW or Age of Conan or whatever. I don’t do it perfect. I know that I can’t.
Interviewer: How are you also then, since it is a small team and you said you are primarily in charge of development, these MMOs are more like services. They’re not necessarily like a shrink wrapped game. So how are you dealing with managing the community, making sure that you are responsive to the community while at the same time being able to focus on development and handling all these other issues that may pop up?
Aaron: That’s a great question, actually. I have just been transitioning recently through that. Before when there wasn’t a lot of players, it was easy to monitor all the forum activity and answer the emails in minutes. It’s becoming a lot harder. For example, today we’ve had over 20,000 hits to the site; 1,300 logins. It’ll be probably close to 2,000 by the end of the day, and that’s just a lot of people that are wanting my time. I finally hired a couple people this last week and another person earlier this month. I am trying to not do it all now because I can’t and get more help.
Interviewer: The people you hire, are they community support representatives?
Aaron: No, I hired two artists and a writer and then I have another guy doing the item balancing. We just share the work. We have many hats in a sense.
Interviewer: Did you find these folks from your community forum, or was this just local, as you said you prefer to do?
Aaron: The two artists I just got were from an ad that I posted on Craigslist. And for any Indie independent game companies that want to find employees, that was amazing. I posted for $25 an ad and got 10 resumes an hour until I turned the thing off.
Interviewer: Oh, wow.
Aaron: It was striking how many resumes I got.
Interviewer: So, Craigslist is then the best way to do it instead of Flicker. Have you tried to post on GameDev or any of these other places? I’m not sure actually if that is the best place to find stuff for this kind of new type of genres and types of technology. I wasn’t sure.
Aaron: It may not be the best place for certain. I did also email a guy, a professor at a local community college, and I got one of the students who had worked on a game project that I saw last summer. So, I did get one person through there and one person through Craigslist. I didn’t even get a chance to post on these other places because I immediately had 50-60 resumes.
Interviewer: Now, you have found other people. Has that helped? Has it been more challenging as you transition from development to managing?
Aaron: You’re right. There is definitely an overhead of managing people and preparing their work, what they need to work on and answer questions and get them up to speed, all that kind of stuff. I was prepared for that. I knew that that was coming, so that type of thing doesn’t bother me. Luckily, it hasn’t been greatly unproductive and I see that so it’s a long-term decision.
Interviewer: In terms of technology for the game, you mentioned using .net and Ajax. What are you using for a database? Is that MySQL?
Aaron: That’s actually SQL Server 2005.
Interviewer: Oh, wow. Are you running into any scalable issues then with your game as it keeps growing?
Aaron: I’ve been thinking about that question since day one, so I’ve been fairly prepared. I’ve never had a situation where I couldn’t handle the load. The main scalable thing I’m dealing with now is just making sure memory is used reasonably because of all the players and the data and all that stuff. I’ve also spent tons and tons of time making sure that the hards are monitored and used sparingly because that’s usually the first thing to slow a system down.
Interviewer: What’s monitored?
Aaron: Like hard drive.
Interviewer: Oh yeah, OK. You’re running this off of one server, then?
Aaron: Yeah, the game is running off of a single Dell server that’s dual quad core Xenon processors, 6 gigs of RAM.
Interviewer: Are there any other surprises with the technology? Do you back up the database every day then?
Aaron: The database gets backed up multiple times per day and then shipped off to another server so that I don’t lose it in the great hard drive crash of May or something. As far as scalability, the band width usage quite a bit is an issue. Currently, the game has 79 players on it, and it’s using about 20 kilobytes of band width for all 79 players to be doing real time chat, real battle all that stuff.
Interviewer: Are you using HTTPB compression? Did you turn on compression on Apache?
Aaron: Well, it runs in IAS, a similar type of thing. I actually check the response link on everything, and if it’s over about 200 bytes I dynamically zip it. Anything under that gets left unzipped because it’s about the same size. I also use Amazon’s S3 edit content, Javascript files and CSS Sprites and everything are hosted over there, so I only serve dynamic content from the server.
Interviewer: How is it then using proprietary because it seems like you have a proprietary set up compared to, say, doing an open source solution for your game? Do you think that was the best decision, or is it actually better because now you have some support and stuff like that for the software that you are using?
Aaron: Oh, you mean, why use SQL Server when I could use MySQL, that sort of thing?
Interviewer: Yes.
Aaron: Well, I used both and both have treated me fine. I’m just very comfortable with the “enterprise” stuff.
Interviewer: Well, IAS is also a proprietary solution, right?
Aaron: It’s Microsoft’s.
Interviewer: Is there any reason to use that compared to, say, Apache?
Aaron: Well, since the website and everything is written in ASP.net, it runs easiest in IAS without having to try to set up a mono server or something. That’s riskier. If I was using PHP, then it would totally make sense to use Apache.
Interviewer: Have there been any other surprises with the technology that you’ve used?
Aaron: This last week I’ve run into a hash table size bug in the .net which bit me like a viper in the face, but other than that it’s been fairly smooth.
Interviewer: Do you measure then the response time of how quick players are getting data and moving on and stuff like that because I read an article somewhere where Google a hundred millisecond delay would actually decrease their usage rate by 20 percent? I don’t know if that’s something that you’ve paid attention to, or if that’s something that’s important to your game.
Aaron: It’s fairly important to me. I’ve spent a lot of time on that. I’m always tuning that, but I cache as much as possible on the client. And I make sure that I only request files from the server when it’s absolutely necessary and to try to speed that up because people don’t like lag. When you have a game that you don’t have a plug-in and you can’t do a download that’s been a pretty good struggle for me. How do I give you “Huckleberry Finn” and junk instantly without a download screen that has a circle on it?
Interviewer: When you say caching on the client, how are you caching on the client?
Aaron: Because you’re not allowed to, right? Basically, part of my build process is it takes all the Javascript that I have. It minifies it. It compiles it all into one file and uploads it to Amazon versioned like a version file name. For as long as I use that version of that file the headers that they have are set to not re-download that file. Assuming the browser is treating those headers properly, then it won’t be re-downloaded every time, same for the graphics.
Interviewer: Do you do any caching on the server side, like Mem Cache or Mem Cache D or something else like that?
Aaron: It’s all again proprietary so the game runs as a Windows service, and the web server connects to the service to interact with it. There’s a whole layer of caching that sits over the database so that every one second I’m not asking the database for every player updates and things.
Interviewer: Since you are doing ASP.net and some of these more proprietary solutions, is that going to be easier or harder to find, say, people to help you with development, or do you think that’s going to be a need?
Aaron: I actually believe it will be a benefit because when I need someone to help me with some obscure tuning issue there’s a lot of professionals, especially locally here in Austin, that I can hire to have them get nitty gritty with some code with me. I don’t need them to be game specific people. I need them to be – this guy knows more about object serialization than anyone on the earth, so let’s get that guy in. In a weird way that works.
Interviewer: Let’s transition then into business models. You mentioned that you use wishes that people can buy.
Aaron: Correct.
Interviewer: When you were first developing this game, did you have any idea on exactly how you would make money from it, if that was a thought even at the beginning?
Aaron: That wasn’t thought of initially. Originally, the plan was to have some ads thrown up on the page and, maybe, people would click them, like that. I was also pretty adamant against, like I said, having to pay for access to the new quests or that kind of thing because that’s irritating when you hear the game is free. You play and it’s really not free to play. What you really got was a demo.
Interviewer: Exactly
Aaron: So, I didn’t want to bait-and-switch things. Early on, I came up with this idea. It’s called the three C’s which are core, customization and convenience. The core game is always free. customization and convenience are not critical, and players can pay for those. An example of customization would be like changing your color in chat.
Interviewer: What’s been the most popular customization then in the game?
Aaron: The most popular upgrade?
Interviewer: Yeah. Yeah.
Aaron: That is a pretty good question. I don’t have the answer for that, but I can get it for you.
Interviewer: You didn’t think about doing a subscription?
Aaron: Well, actually I didn’t want a subscription because of various things. Actually, let me tell you. I just found out what the most popular upgrade is: new characters, creating more characters. You get one for free, and you get a free wish so you could have two characters. But, if you want more then you buy wishes to make more. Increasing material and reagent capacity. Everything in the game is made out of materials and the enchantments are made out of reagents. We’re holding those to re-enchant your items essentially. The capacity, the inventory capacity, is huge. Back to your question…
Interviewer: Oh, yeah. The other question I had was: you just mentioned that people can have more than one character of the game. Do you know what the average number of characters most people have?
Aaron: The average characters?
Interviewer: Is it popular to just focus on one character, or do people like to have three to five characters and they’re different races, different types? Just play with one one day, then play with another another day or something else like that.
Aaron: Most players have one character, but the players who stick around for more than about a week or so typically have five or so characters. And usually one of those is an item finding character, those sorts of things.
Interviewer: You also mentioned trading. Going back to trading, how popular is that in the game and what are people trading? Can you trade customization features, some of the customization features, or is that focused more on the core elements of the game?
Aaron: You can trade customization features, but you can trade wishes. That’s one thing – it was a really tough decision to make. Can players trade wishes because I was worried that players would circumvent buying wishes if they could get them some other way. So, what I did was any wishes that are purchased tradable. You can trade it, and that way it really reduces the chance for exploits. Then, they can trade really anything in the game: items or coin or materials or reagents or wishes, and trading is very popular.
Interviewer: For your trading interface, is it then mainly going through that store where someone says, “OK, this is what I have to trade” and someone’s like fine, “OK, fine, I’ll buy it for this much, or I’ll trade you this for this. How does that exactly work?
Aaron: The trade interfaces, you can click on anyone in chat and offer a trade to them. They can click ‘accept’. Then, it brings up the trade screen for both players, and they can choose any other items that they have to show. And then enter any wishes or materials or reagents. So, it’s very similar, like Diablo or WOW. They can choose what they want to show and then click, “Yeah, that is what I want to trade”. And then they trade.
Interviewer: Going back to the subscription stuff, you decided then against the subscription. I know some MMOs they do have a subscription. WOW has a subscription, but obviously that would go against free-to-play. I wasn’t sure if you ever considered it.
Aaron: Yes. The main problem with subscription; there’s a couple problems with subscription. One good thing is that it’s monthly money. You know you’re getting $15 a month from this person. The downside is that in order for that person to convince their friend to play, that friend now has to play $15 a month. You are burdening everyone that you tell about the game. You are saying to them, “This game is as good as Netflix. You should use your Netflix money and play this game. They are saying, “Why, I already pay WOW. I can’t”. People’s brains, they see subscriptions as almost mutually exclusive, like it’s a buffet. Why would I purchase two buffet meals? I have all I can eat. I just don’t see the subscription model working for most games in the future. I think it will work great for things like WOW or the shiny star of the genre, whatever that is. But, everyone else will have to, if they’re smart, let their players tell other people about the game without requiring them to burden their friends with more money commitment. That’s one of the major problems I see with subscription.
Interviewer: Speaking of getting friends involved, do have any kind of in-game systems to promote people to share the game with their friends where they could get wishes or something else if they can convince them? A wish could be like a magical wish where you try to send a wish to a person who’s not in the game. If they respond to the wish, they get more wishes or something like that.
Aaron: Well, there’s no magical wish. There is a link that everyone sees on their wish page that if they use they can post it on forums or in email or whatever. If people sign up using that link, then forever and ever whenever those new people make a purchase the player who sent that link out will get 12 percent worth of that purchase called referral points which get redeemed automatically through wishes whenever they add up to enough. It’s really worked out well for a few players that posted on some of the major forums and gotten people to come to the game, and then they get free wishes every day, lots of wishes. Some people become very popular.
Interviewer: What about creating either pictures or some kind of image that they can share with other people outside the game? Is that something that your game does? Like, for example, showing off their character with stats or something that they could post as a signature on their forum or some other place.
Aaron: They don’t currently have the option of doing a signature thing, but every player does have a link to a special page on the website that has their stat breakdown, what quests they have completed, those sorts of things. They can share their character with other people. They can upload their own Avatar images and things. If they do want to share it, they can.
Interviewer: Are there any other techniques you’re looking into or ideas you are going to pursue in terms of making it more viral, the game more viral in addition to the links that you mentioned?
Aaron: That’s the magic work right now, right? It’s viral. To me in my opinion it’s basically a reskinning of the phrase, word-of-mouth. The way to do that is to have a compelling product or to have a compelling feature or something that is interesting enough that someone is going to tell somebody that that person may not have heard of, right?
Interviewer: Absolutely.
Aaron: The way I do it now, I just gave out a thousand business cards to a local comic shop, and front is just the Domain of Heroes logo. The back has a code on it for one free wish in the game so that they can put one of those in people’s bags as they buy the latest Dungeon Masters guide and, maybe, try the game out. I am trying different marketing methods. I just purchased an ad in the Beckett Massive Online Gamer Magazine which is about 100,000 circulation. So, we’ll see about that.
Interviewer: 100,000 circulation. Is that an online magazine or is that off line?
Interviewer: That’s what I meant to say. It just seems that with off line the economics are so crazy because you look at how effective these off line prints are. The thing is though people have to read this, and then they have to go to their computer. Then, they have to enter in stuff. It just seems like if you did it on an online magazine where people are already online that it’s just much easier, but you have to do a lot of experiments. What inspired taking that route compared to just saying, “I’m going to invest all of the money in some online thing”.
Aaron: It’s more money than I’ve ever spent online, so it’s huge, thousands of dollars.
Interviewer: What inspired that compared to just saying, “You know what? I could probably do YouTube videos or I could literally give my players some unique item that they could take to their work”. It would be a talking piece. You talked about doing a unique experience, right?
Aaron: I do give away a t-shirt every week to one lucky player. It’s kind of let’s try and get something tangible out into the world about the game. The reason I want with the print is, basically, a test. Essentially, I want to test it. The compelling part about what I am going to do with the print ad is, again, give a code in that ad that the player will get a wish. It’s worth a dollar, whereas the online ads are not going to give you a dollar. That’s the call to action within the print ad that I am hoping it will make it poll enough because you’re right. For someone to sit there and read the magazine and go, “Oh yeah, I want to play this game and let me go type in this code”, it’s a lot of work versus a stroke…
Interviewer: Also, you have to remember – once again, I’m just the host. What do I know? But, you might also want to keep in mind that, basically, you are targeting gamers already with that game whereas it seems your core demographic right now are people who are normally doing business stuff. They’re not even necessarily hard core gamers. I don’t know if that is the case or not, but it sounded like you were targeting people who were just like, “I just need this for a little fun while I actually do work”. So, this is more targeted toward casual gamers where this print magazine is targeted more toward hard core gamers. I don’t know if that’s an issue or not.
Aaron: Well, conceptually what you are saying is true, but the game itself is, I think, complicated enough fortunately to be more of a hard core type game. Anyone who has played a pen and paper role-playing game will be at home with this game. Anyone who has played a MUD, telnet game or something will be at home with this game. The reason I specifically went with this magazine is because Domain of Heroes is text-based for the most part. I know there’s graphics and stuff. You don’t walk an Avatar around. The magazine delivered to 100,000 people who play online games enough to want to read about them. What I have right there is 100,000 who play my type of game and that read.
Interviewer: Yeah, that’s true.
Aaron: If you think about it, it’s 100,000 people that really could potentially play this game whereas I’ve done Google ads. Google ads in and of themselves are an art form because you can blow through a zillion dollars a day doing Google ads and get nothing from it as far as conversion. I track conversions. I track sales per source, and I’ve pretty elaborate sales tracking. I know where every penny of marketing is and how many pennies that’s returned. I cut everything off at the knees if it’s not getting me even close to break even.
Interviewer: And that’s what I was talking about, the viral technique, for example, “LolCats. I don’t know if you have heard of “LolCats” because I always see all these images of cats and some quote in them. People will willing post them everywhere because it’s all funny. That’s free marketing for them. At the same time it’s allowing the users to communicate with their friends in a funny and interesting way. That’s what I found fascinating. Like you said, experiment and see what happens.
Aaron: You need to have that idea and you need to deliver well on that idea. You have to come up with that idea and then get it out there enough.
Interviewer: That’s true.
Aaron: I don’t have any good pictures of cats, so I’m just ruined on that.
Interviewer: Well, you have your characters. Are there any other techniques or things that you are thinking about trying in terms of getting the word out?
Aaron: I do have a thing in the game where players can vote on the “top” sites. There’s a series of sites that rank online web RPGs. If the players go and vote for Domain of Heroes on those sites, they get referral points which turn into wishes. That has escalated my ranking fairly well.
Interviewer: Do you have a Wikipedia entry then as another way to gain exposure for your game?
Aaron: I do have a Wikipedia entry. I would advise anyone that’s thinking about getting a Wikipedia entry to save the text that you upload and to get ready for that thing to be deleted and for you to spend months figuring out how you can convince some pedant that your game is good enough to warrant a Wikipedia page. You will be crushed instantly and it’s heartbreaking, but I’ve got 10,000 players in Domain of Heroes and talking to some guy on Wikipedia and saying, “10,000 is more notable than 90 percent of the Indie bands in the ’80s TV episode pages that you have. It turns into the battle of the wits. That’s frustrating.
Interviewer: What’s in store for the future now? Are you going to focus on this MMO or try to do another MMO? What’s the game plan?
Aaron: I don’t see any more MMOs on the horizon. We’re currently working on another game called Bumble Tales, and that’s going to be for casual portals. That’s the immediate workings.
Interviewer: Do you have any suggestions then for Indie game developers who want to make their own MMO?
Aaron: Yeah. Hopefully, you have one or two people that are really good at most of the stuff that needs to happen; technically; artistically, if it’s a visual game. You need to be ready to be dealing with payment gateways because you can’t screw up the money. As soon as you screw up the money, people will freak out and that’s the end of you. You’ll need to be figuring out your scaling situation before you need to scale it. Luckily with MMOs, piracy is not so much of an issue if you require them to connect to the server. Be ready for perpetual development ultimately because you’re not going to be able to ship it. That’s one thing I really don’t like about it is other games, you can just ship them and you’re done and you go to the next thing. If you’re the type of person that can’t persevere and stay focused, it will ruin your life.
Interviewer: Great. Any other last words for just Indie game developers, in general, out there?
Aaron: Enjoy it. If you’re not enjoying it, then you shouldn’t do it because it’s not a quick way to get rich.
Interviewer: If they are inspired to play your game, where can they find it?
Aaron: They can find Domain of Heroes at domainofheroes.com or through tandem-games.com. My email is on the site if anyone wants more information about anything.
Interviewer: OK, great. We’re talking with Aaron from Tandem Games. Thanks again for your time.
Now we have the basic Facebook app going…now we need to get a game idea and get it up as soon as possible.
We need to stay away from the traditional fantasy RPGs and find a game that is unique and casual. Let’s come up with a list of 20 game ideas we can use as the theme for our game:
Before we begin, keep in mind that some of the top casual mmos (with millions of players every month)…are Mob Wars, Fish Wrangler! (a fishing MMO), and Pet Society (a pet game). Trivia games like Geo Challenge and Who has the Biggest Brain … are other popular games too.
Let’s come up with a list now:
1) Friend Farm (a game where you buy friends for your farm, take care of them, milk them, feed them, etc.)
2) A game where you have your friends as fish (Friend Aquarium) and you need to feed them, etc.
3) A game where you have a Zoo of friends and have to buy/sell them with other folks in the game…we can call it “Friend-imals”
4) Bar Fight (a game where you have a bar fight with others, you need to level up to get more power and weapons to challenge others)
5) Snowball Fight (a simple snowball fight mmo)
6) A game where you steal cars to save the environment (you are a green vigilante and everytime you steal a car in the game, you save the environment)
7) T-Shirt Shop Tycoon where you run a t-shirt store and you’ll be able to create t-shirts and sell them in the game, etc. As you level up, you can create more compelling t-shirts
A game that applies strategy to the campus environment…something like gocrosscampus.com but on Facebook
9) A game where you throw a party
10) A tournament for a simple game like 4-square
11) A restaurant MMO where you build up your restaurant to serve more folks; Restaurant Tycoon
12) A MMO where you run lemonade stands; Lemonade Tycoon
13) A mmo where you have a clothing store and trade your clothes with other people’s shops
14) A game where you run a dessert shop and you buy and sell friends for the shop
15) An MMO where you auction off friends; leverage the ebay auction mechanic
16) An island game where you have to build your island and compete against others
17) A game where you build an art gallery
18) A game where you run a Tattoo shop and you create tattoos to sell to other folks, etc. Tattoo Tycoon
19) A game where all life experiences become a mission in the game…
20) A game where you become a movie star
Note that all these games need to have a *social* element to the game…so that as you play the game and level up, you are interacting with other folks in the game. The missions and levels and activities in the game need to have social elements…elements that draw and attract other people to the game.
It is also a way to grow the game as folks will want to invite friends to complete certain missions, etc. in the game.
Now that you have 20 ideas…feel free to make your own list or borrow from above…you then choose the ones that feel compelling to you…for me, I think the Tyccon games are interesting. I also like the travel game where you travel with others in the game. The car game also sounds intesting from a comedy point of view. It could be like GTA but have a positive slant on it.
I’m going to go for the life-experiences as missions MMO…so that’ll be the one we focus on for this game.
The next part will focus on the design for the game.
Now you need to set up an application (our Game)…
Here’s a walk through…
Setting up a game application on Facebook, part I
Next step: Choose a name for your game and agree to the Terms of Service
Setting up a game application on Facebook, Part II
Now you need to go to the “Canvas” section…
Go to the "canvas" section...that's where you fill out the basic info...
Once on the Canvas page, you need to fill out the url of your application…to complete the address that folks will visit to see your game…and you also need to specify the server that will house all of the “back end” files for the application.
Facebook pretty much redirects all references to your canvas URL by users to your callback url. If you have shared hosting, you can set up a directory there to take care of things. If you don’t have shared hosting or your own server, you can always join Chroma Coders and get some free hosting…or you can take advantage of a special program offered to Facebook developers…you get 1 year of free web hosting here…
Once you download the library, open up the .gz file…
go to facebook-platform -> php directory and grab all the files…
Copy them to the callback url you specified in the “Canvas” section…
In the example above, I would upload it to the following address:
http://www.chromacoders.org/myfunmmo/
Good
Now, you need to take these 2 files…
appinclude.php and index.php to specify a couple things so that your app will run…to put them in this blog to download, they were saved as appinclude.txt and index.txt…when you download them, RENAME them to appinclude.php and index.php and then upload them to your callback url directory…
Before uploading them to the directory, Make sure you open up the appinclude file and put in the right api key and secret key for the following lines…remember, you can find these by going to your application settings in Facebook:
This book (series of blog posts) is meant to help you build an MMO in 5 days. Over the past few years, many things have changed.
When people think of an MMO, they are thinking about traditional MMOs where you have to download a huge client and requires massive art work.
You have to keep in mind that all games are systems (as Raph Koster) has said. When we talk about building an MMO, we are talking about building a system.
We are not talking about extensive graphics and audio and other visual candy and fluff that helps to make the experience more immersive. Our goal here is to build a game system as quickly as possible.
With that said, we’re going to skip using C++ and other traditional technologies to get things done. We’re going to leverage the connectivity of the web to make this MMO.
Specifically, we’re going to build an MMO in PHP using the basic LAMP stack (Linux, Apache, MySql, and PHP).
This book is organized in an iterative manner. We’ll focus on getting the MMO up and running and then we’ll talk about the theory and other items to make the MMO more fun.
The goal of this book is to help you get an MMO up as quickly as possible. You are required to know PHP, MySql, and other aspects of the LAMP stack.
Now, I know that last line will trigger the traditional reaction among developers…”I don’t know PHP” or some other technology. If you know Java, C++, or some other language, it is easy to pick up these languages and items. The interfaces are easy.
Btw, if you’re running Windows and need to get access to the “LAMP” stack for development…you can download XAMPP:
To also speed things up, we’re going to build the MMO as a Facebook app…so that you don’t have to think about the login system and other basic underlying infrastructures for an MMO.
The examples in this book will refer to MMOs on Facebook.
The example for this book will be a simple car-themed MMO called “Green Vigilante”…where you steal cars to save the environment.
Thanks for reading and feel free to ask questions/clarifications in the comments