■ Secrets of Successful Project Management
– MMORPG and FPS Game Server Development
(Things we need to keep lookout for completing project – ICON2009)
Mi Ra Ahn (IF)
Dongbanghotong Joint venture company of Actoz soft in China – CTO
Webzen ? MU, Lead Server Programmer
Webzen ? R&D Server Engine Part Leader
Webzen ? Closed Project, Lead Server Programmer
■ Three Deciding Factors in Project Management
There are three questions to answer in the beginning of a project; first, what is feasible and what is not? Second, how to balance between community and entertainment? Third, how much control do we want on our side? You need to answer them all before going further into the project.
■ Be realistic
You need to know what is technically feasible or not in development stage. Game developers tend to put things on hold while determining if it’s technically feasible. In the meantime programmers complain about not getting any directions. Sounds familiar? This happens virtually in any game studio. Scrum might be a solution.
Scrum is a tactic not to rely on any conventional methods but to employ any methods or programming languages that a team agreed upon to make things work. This flexible and interactive method is proven to be very effective.
You shouldn’t count everything on programmers because there is no such thing as super-programmer who doesn’t have any boundaries or limits. And you need to work based on mutual trust once they prove their skills and knowledge on the matter.
To figure out a server structure, you need to decide on game genre. There is no such thing as one-fit-all when it comes to game. Once you zero in on genre, you can figure out AI and synchronization methods.
More cross-genre (or hybrid genre) games have been developed nowadays. Even if you combine multiple genres, you need to determine what would be the main genre among them. You might not be able to finish a project if you start taking everything from each genre and putting into one game.
You need to be aware of limitations as well. Resource, time, cost all need to be taken into account when developing a game. Everybody wants their game to be next WoW but it’s just impossible. And you need to realize it now.
■ Take the best out of each genre
Unfortunately, you can’t have it all. The speaker very much appreciates responsive gameplay and large-scale battles but she can’t implement it on every game that she develops. You need to curb your enthusiasm and think what is best for your game. Try to maximize what’s best for your game.
In the end you need to figure out ultimately what kind of game you want to develop. Everybody has a different idea what interesting and exciting games are. So take the best out of each genre and make it work for your game.
■ Choose what works for you
When you consider how much you want to have on your server, take costs, security and game quality into account. If you want to have a total control, you should go with streaming among P2P, dedicated, and streaming methods.
■ Common errors in the distributed server architecture
Next, let’s talk about technical issues in server development. When you develop a game, you need to build a server that fits around the game. Unfortunately, designers oftentimes make a common error.
An unskilled server designer makes a mistake of going too far. Overly distributed systems can cause a problem due to increased complexity. Further it becomes more difficult to integrate with clients. One possible to resolve this issue is to deploy a system without a distributed architecture. Based on observed workload and performance, the system can be gradually migrated to a more distributed architecture. While doing so, you need to consider aggregate system performance instead of each component’s.
Even a skilled server designer oftentimes tends to think he knows the answer. However, there is no absolute answer. You should know that it changes all the time.
■ It all comes down to you
When it comes to a large-scale battle in MMORPGs, synchronization and AI play a critical role. You don’t need to create all AI intelligent. Only one or two intelligent boss monsters will do the job. In order to achieve seamlessness in a game, you can make a character to take a boat when moving to another map or server rather than just reappearing on the other.
In MMORPG, the network environment reflects on how developers perceive users; if developers think users reliable and responsible, they tend to put things on client. If not, they put everything on their server and take control over.
In case of Hessin, a military-themed MMORPG IF developed and GSP Interactive publishes in Korea, the system let users know network type and status (ping). You need to choose a server that fits your game well with its basic features.
■ Be positive and aware of ‘dream team’ trap
To sum it up, hurdles to success include a desire for success, a project vision, perfectionism, and dream team. Because they can be translated into obsession with success, the cost of unshared vision, illusion of perfection, bottomless optimism and a so-called dream team trap.
Amongst, the speaker thinks ‘bottomless optimism’ and the ‘dream team trap’ are the most counterproductive ones.
When your project faces a problem, do not just be optimistic about everything but try to be realistic and objective.
Even if you put together a dream team, it doesn’t automatically guarantee a success. Everybody in your team needs to work together in order to deliver the project. Don’t just blame everything on others and make sure you are doing your part first.