Secrets of Successful Project Management
MMORPG and FPS Game Server Development
Things we need to keep lookout for in completing projects
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 the 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. Sound 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 agrees upon to make things work. This flexible and interactive method is proven to be very effective.
You shouldn't put everything on programmers, because there is no such thing as a 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 a game genre. There is no such thing as one-size-fits-all when it comes to game. Once you zero in on a genre, you can figure out AI and synchronization methods.
More cross-genre (or hybrid genre) games are being 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 it into one game.
You need to be aware of limitations as well. Resources, time, and cost all need to be taken into account when developing a game. Everybody wants their game to be the next WoW, but it's just impossible. And you need to realize that 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 about 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 of 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 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 often make a common error.
An unskilled server designer makes the 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 possibility 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 tends to think he knows the answer. However, there is no absolute answer. You should realize that it changes all the time.
■ It all comes down to you
When it comes to large-scale battles in MMORPGs, synchronization and AI play a critical role. You don’t need to make all your 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 take a boat when moving to another map or server, rather than just appearing in the next area.
In an MMORPG, the network environment reflects how developers perceive users; if developers think users are reliable and responsible, they tend to put things on the client. If not, they put everything on their server and take full control.
In case of Hessin, a military-themed MMORPG developed by IP and published by GSP Interactive in Korea, the system lets 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 the "dream team trap"
Hurdles to achieving success can include a desire for success, a project vision, perfectionism, and a dream team -- because those terms can be translated into an obsession with success, the cost of an unshared vision, the illusion of perfection and bottomless optimism, and the so-called "dream team trap."
Amongst those, the speaker thinks bottomless optimism and the dream team trap are the most counterproductive.
When your project faces a problem, do not just be blindly optimistic about everything; 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.