Known for The Word of Tanks, S.T.A.L.K.E.R, Metro 2033, Contre Jour and other famous titles, Ukraine currently hosts a large number of game studios and indie developers making their own successful products.A joint team of Zadzen and N-iX recently developed an MMO RPG Elements: Epic Heroes and launched it in cooperation with Korean publisher Gamevil. The game received featuring on Google Play and AppStore and generated over 3 mln downloads.In this article we will briefly lead you through the “making of” process of Epic Heroes, a notable product of game dev in Ukraine in 2014, and share some insight on full-cycle development of the game.
We experienced no problem building a development team for Elements: Epic Heroes in Lviv, because the city has a powerful tech community and hosts many talents with mobile and game development background. At different stages of project, our team size varied from 10 to 15 people, but its structure remained unchanged and typical for most gaming projects. Our team consisted of:
- Game Producer, who was responsible for all high level decisions like art style, new features of the game, the choice of publisher and monetization strategy;
- Tech Lead, who took responsibility for the technical side of the game, making decisions on game architecture and setting up limitations for game design;
- Server side developers (1-2) were responsible for creating game server and preparing admin tools; on later project stages, they were cooperating with devops specialist that performed deployment on hosting servers and stress testing;
- Client side development (3-4) was a team of Unity developers that developed client for iOS and Android and did all integration jobs; moreover, they created Unity editor tools that helped game designers to do level design and tweak and test balance directly, without interaction with developers;
- Game designers (2) did copywriting, level design and feature description as well as tweaked balance based on player experience;
- 3D Art team (3-4 people) consisted of animators, modelers, concept-art artists and special effects artist, who created all visual effects in Unity in close collaboration with developers;
- 2D artist was responsible for interface and icons as well as for preparation of marketing materials.
The initial idea of the project was to combine hack’n’slash mechanics with cubic art. To begin with, we researched similar games and started to make concept-art sketches.
Concept and final look of the building in Main villageAll documentation for the game was combined into a Game Design Document, that determined everything from interface mock-ups and level description to characters` back stories. One of the main requirements for Epic Heroes was high-quality visual solution, so choosing an art style, creating characters and mastering special effects for this game was a significant part of our work.
Upcoming guild locationIn terms of technical solution, we selected Unity3D engine because this technology was easy to learn and use, as well as it gave us an opportunity to access Asset Store and integrate over 10 different plugins. They include ready-made solutions for payment system and social networks, effects and model packs, editor extensions, UI systems, tweening and animation.
From the very beginning, Elements: Epic Heroes was designed as single player game, but after getting some feedback from publishers and doing market research, we decided to add online experience. Multiplayer development was a complex task, because game should be running simultaneously on multiple devices.To achieve this, we decided to use battle tested solution – Photon Network server and tuned its logic according to Epic Heroes needs. We designed two raid systems (for 3 and 5 players) and AI components.
Network diagramOn Alpha stage we introduced the concept of “rooms” – special areas located on different floors of Sky Rock Castle where groups of players were able to interact, fight monsters and chat. Up to 100 players in one room were allowed and this was limited only due to device capacity.
Sky Rock Castle floorAt the end of this stage we started to develop admin tools, a server-side solution that allowed us to control the game and manage players in real time.
Although, our game was successfully presented to different publishers, and we received positive feedback, our final choice was made in favor of Korean publisher Gamevil famous for its games Baseball Superstars, Kritica, Summoners Wars, Zenonia and Dark Avenger.This publisher had a pool of players, interested in this type of RPG, and we could get a lot of traffic through cross-promotion that was integrated into other Gamevil games. As an addition, the publisher was going to have featuring on iOS and Android, which could attract even more traffic to Epic Heroes. On Beta stage, all game systems were tested on real players inside separate Google Play community.
During this test we checked the balance of our game, found and fixed several bugs. Beta testing was a good time for important decisions like disabling some systems that were not ready yet and moving them to first updates.Another important aspect of the beta test was analytics. We used both Flurry and GameAnalytics, but the second one, designed especially for games, was more effective and had better integration with Unity3D.One more thing to check during the Beta phase, was security in the game. We had a client-server architecture that solved the majority of security problems, but still there was a possibility for cheating. For example, players could temporarily get on high level and see high level stuff, but server validation didn`t allow neither buy nor equip that items. To fix this, we integrated special plugin for memory hack protection which made cheating impossible.
Soft Launch and Release
The last step before launching Epic Heroes was Soft Launch. On this stage we launched our game in Canada and real players have been playing it for a few weeks before global launch.
Preparation for global launch is very important so the build for it should be ready long before the release date. The launch day itself didn`t give us a high load. Games usually receive very few installs through organic traffic and the main load is produced by marketing activities. When featuring started on Google Play, we were in Top 2 new action games in all major countries and that gave us a lot of traffic.
We had hundreds of users every minute and that was a great challenge for our online gameplay. However, we were ready for it due to pre-launch stress testing, which is especially important for games permitting online collaboration between players.This article only covers the fundamental parts of game development process and we still have a lot to say about Elements: Epic Heroes and other games created by our team. We plan to continue sharing our knowledge on future projects and hope, our experience could be useful and inspiring.