Mobile game publishers such as Melior Games who are trendsetters in the mobile gaming world devise and establish the stages in mobile game development, as well as the nature and style of such games. People love playing games and modern smartphone platforms are very convenient and powerful enough to host quite complex ones – both in graphics and in mechanics.
These devices have long stopped being a means of communication and turned into an inalienable element of the modern lifestyle. The evolution of mobile hardware is accompanied by the sophistication of the software, including games one can play on them.
Having scaled up from plain snake or Tetris to elaborate and astounding adventures produced by Melior Games, mobile games of today are no-nonsense business projects. According to SensorTower’s estimate, the spending on mobile games across 2019 has reached $61 billion.
Such an income-generating niche is an attractive business venture but before diving headlong into the sea of opportunities offered by mobile games, one should be aware of ordeals they would have to overcome.
Mobile Game Development Stages: Basic Review
In general, modern software development has to follow a certain algorithm where planning, designing, implementation, and deployment each have their place in the cyclic repeatable framework dictated by Agile methodologies. The latter allows ensuring more stable and predictable results than a sequential process.
Sequential development process
The traditional programming paradigm assumes six mobile game development stages:
- Planning;
- Design;
- Coding;
- Testing;
- Release;
- (Sometimes) maintenance.
The five main stages are isolated and sequential; the team can transition to the next only after the completion of the previous one. So, for example, at the planning stage, we must build a complete, final, and unchangeable vision of the future product, and document it in all the details.
If at some of the next stages of mobile game development there is a need to take into account some new requirements, add functions or update the interface, the whole process will have to be restarted from the very beginning.
As the product’s complexity rises, the development time also increases, which only grows the risk that the procedure would have to restart (possibly more than once) or that the final product will lose relevance by the time of release. The so-called “Waterfall” method became obsolete and problematic. Irreversible, rigid, procrustean – customary development process is unsuitable for the modern competitive market, especially in the case of mobile apps for which the shortest possible term of development is often critical.
Related article: Seven Stages in Mobile Game Development
Agile methodology
Thus, the need for an alternative arose. In 2001, 17 professional developers gathered in Snowbird, Utah to discuss this problem and find a solution. After the meeting, they released the Agile Manifesto – the main document of the Agile software development methodology, a set of iterative technologies aimed at accelerating the process of creating programs and increasing the predictability of the result.
The main points of Agile are the following statements:
- Personalities and interactions between them are more important than tools and technologies;
- A working product is more important than comprehensive documentation;
- Close communication with the customer is more important than a hard contract;
- A quick response to changing conditions is more important than following the original plan.
Despite the disadvantages inherent to such a scheme, most modern development companies use one or another method based on Agile – Mobile-D, MASAM, Scrum, Kanban, Extreme Programming, SLeSS, etc.
Phases of Mobile Game Development: Planning
Now, let us describe the stages of the typical Agile-based planning process.
Define an idea
This stage is not about the game, it is about people. When you want to develop a game, you should envisage your target audience, their previous experience, and possible motivations in playing the game. It is also desirable to try to gauge the expected emotions (astonishment, surprise, excitement) players would feel and assess challenges they would like (and be able) to address.
Define the story and concept
It is expedient to draft a brief overview of the game outlining the general theme, characters (both positive and negative), rules, phases, the ultimate goal, and winning conditions. Ideally, there should be some stage-setting story for the game (what events preceded it and why it happened). And don’t neglect the aesthetics – you should picture what the game will look and sound like.
Discuss the technical details
Since it is a mobile game, you should give a thought to the platforms you want to release it at as well as frameworks to build it with, programming languages to use, adequate utilization of screen space, ways users will interact with the game and dozens of other technical aspects pertinent to game development. The resulting game concept is a sketch of a future product that can and must be updated in the next stages to increase its viability as much as possible.
Conduct business analytics to verify the concept
Your team or customer may consider that the idea of the game is wonderful and innovative. Yet, to ensure its viability for players one should test it on a real audience first. This stage is one of the most important because research shows that over 60% of IT projects end in failure. And among the leading reasons for this is the lack of user study.
Besides interviewing potential players about their preferences, requirements, and opinions about the tested concept, you can also wireframe the future game. Creating a playable prototype can be the best tool in such a study because it will expose all possible mistakes and downsides of the initial concept as well as drawbacks of the game design. After all, it is better to nip all issues in the bud than face shortcomings at a later stage.
Compile a plan
The “plan” to an Agile development process is created based on the concept, prepared, and verified in previous stages. Usually, it is compiled as a set of user stories – simple, concise and testable ideas, expressed in a specific form: “As a [persona/user role], I want to [do something] so I can [achieve some benefit/reward]”. All the team members discuss these stories, provide their insights, ask questions, and offer possible changes. The ongoing discussion does not have to stop at the planning stage. Changes, inspired by team members, gamers, or customers can be adopted at any phase. After all, this is one of the major goals of the paradigm change provided by Agile methodologies – to make the development process flexible. If you are interested in the specific details, there is a great article on writing user stories by renowned Agile trainer Alexander Cowan.
Phases of Mobile Game Development: Iterating the Coding Process
Every specific technology, of course, has its unique features such as storyboards in Kanban, pair programming in XP, product backlogs in Scrum, etc., but there are some general points. The most modern take on the Agile approach assumes employing the continuous integration/continuous deployment (CI/CD).
Initial meeting
The team iterates the development process in short terms (called “sprints” in Scrum), limited to 3-4 weeks. It all begins with a meeting at which the development team discusses the specific user story that would serve as a plan for the current iteration. Depending on the method, at this meeting, roles, responsibilities, and tasks are also distributed. When done preparing, the development burst begins (code – build – test – release – deploy).
Coding bursts
Each burst should result in a completely functioning product. It may not contain all the planned features but should be production-ready and deployed to a test environment imitating the conditions of real hardware. After this, the real users must try and review the created product to estimate how interesting and attractive it would be to them. When the user feedback is collected, the team gathers again to discuss the results of the iteration, the unforeseen problems that arose, and user reactions.
Number of iterations
The number of iterations is limited only by customer requirements and development budget. If one of the iterations results in a product that satisfies both the development team/customer and user expectations, the company can choose it for a final release.
Moreover, the intermediate releases can be used for alpha/beta testing, or published to early access to attract the biggest possible audience of real gamers for viability assessment. Not to mention that participants of such tests may become the future game’s top advertisers.
Modular architecture
We should also note that iterative development is a great foundation for modular projects. Dividing the future product into separate functional modules allows distributing the development between separate teams and/or assigning modules to separate iterations (in this case, the last iteration serves to assemble the modules into a final product).
This serves to reduce the employee strain, the term of development, and increase the reusability of the code. If some module would happen to be successful and efficient, you can reuse it in your future projects, again reducing their development time.
Conclusion
All in all, while Agile may seem simple on the surface, in practice its application often meets a lot of hidden problems for companies that are used to working in a traditional development paradigm. Even so, vendors like Melior Games that manage to master it, succeed in their projects and produce stable, predictable results while creating games that are popular and loved by players. The two necessary prerequisites of creating a top-notch game are adequate tools (including methodologies) and an expert team that will see to it that all phases of mobile game development are followed and high-quality output is obtained.