Developing A Game

    This article is based on the workflow of the game development project I practice at Arimac. It does not necessarily reflect iterative, RUP, or any other traditional software development process. It may or may not be suitable for all kinds of game development projects. Since we are focusing mostly on mobile game development, this process  is much suitable for a small scale mobile game development. I will take examples from the game Kimaki, a project I recently involved at Arimac.

Key points of this process are,

  1. Idea
  2. Concept improvement
  3. Designing the game
  4. Marketing
  5. Implementation
  6. testing
  7. Release
  8. Evolution

1. Idea

This is the first step of a game. the idea for the game must include the basic gameplay. When considering a mobile game, this is the decisive  factor for the success of the game. In the first stage, we should only concentrate about the core gameplay, without adding anything like collectibles, powers,...etc. Because, unless the core gameplay is not firm, no matter what we add to it, game would not be successful. Also, it would make a lot harder to see the problems of core gameplay, wen there are many features. Normally, one guy of the team would be involved in this stage. 
In our game, "Kimaki" the basic gameplay is,

"when player touch and hold the screen, the pole stretches out, when player lift the finger, pole falls towards the next pillar. If the length of the pole is correct, the character in the game can move to the next pillar. Player scores 1 point. So, the game continues in the same way".

2. Concept Improvement

 Now that you have established the core gameplay idea, its time to share the idea with the team. this stage will enable us to look at the idea in different perspectives. Since everybody does not think and feel in the same way, we should look at the idea in many perspectives and modify it in order to make the game interesting for majority. In this stage, try to answer the following question.
"Why would I play this game again, and again?". 

Because, for the success f game, it is essential to have an addictive gameplay. No matter how cool your graphics would look, How clean your programming, users will get bored of them. 

Also, in this stage, the team can add new gameplay elements to the basic gameplay. We should be careful in this because, many people will suggest so many ideas, features and if we add everything they suggest, the gameplay will be unnecessarily complex. This is not good for a mobile game.
In our project, We decided to add a small gameplay element as depicted in the following image.
"the pillar would shake and collapse after some time. So, the player cannot wait on one pillar as long as he want". 

3. Designing the game

These are the key elements/devcisions which take place in this stage,
  • Target platform(s)?
  • Concept art
  • Level system/ Story
  • UI/UX
The processing power, GPU capability varies greatly depending on the platform we select. When we consider the game development at large, PC, Console, Web and mobile are the major platforms. When we consider mobile platforms, Android, iOS and Windows phone are the major mobile platforms. If you select Android, the number of different devices available in the market are so large and it is almost impossible to test the game in all the devices. In this aspect, there are a fewer number of devices available in market for iOS. So, it is easier to test the game for iOS devices. 
But higher the number of platforms you support, larger the audience you would have for the game. So, in our project, we decided to support all three platforms.

Concept art is used to help the developers to see how the end product should look. This is very important because, normally people who develop the game are mostly tech guys. Their aesthetic side may not be as good as the technical side. Also, using the concept art, we can get an insight to what we would get at the end. So, we can take decisions, do modifications which may be hard to change after implementation.
Below you can see some concept arts we did for Kimaki character.

These are some other concept arts for game world design. First phase is pencil sketches.

After this part, we have a better idea what we need. So, now we are going to color the artworks.

After hours of drawing and sketching, This is the final design for the main gameplay we came up with. 

 Also, in this phase, UI/UX design should also be done. here I am not going to explain about that in detail.

4. Start Marketing

Now you have established an strong foundation for the game. Also you have some concept arts to show how your game would look. Now, it is time to start marketing. Because, it will create an audience for the game and people will be waiting for the release of the game. Also, it will encourage the team to get the game done asap. Marketing process should go in parallel to the development process. We can use things like teasers, trailers, WIPs....etc in marketing. Here is the trailer we created for our game. 

5. Implementation

Implementing the game is pretty much like developing a normal software. All the good practices we use in software development can be applied here. Some important point to consider in this stage are

  • Technologies/ Game engines used
  • Architecture of the game
  • Profiling 
These days, there are a number of technologies available for game development. You should select the engine based on the target platforms(s), nature of the game, and other technical requirements for the game. Just like in any other software, architecture is very important. Typical problem in architecture is, initially we would have a great architecture and as we add things to game, as the deadline for release get closer, we would forget about the architecture and try to get the job done anyway we can. This should never happen. Because, it will only get more trouble later and consequently development time will exceed the planned timeline. 

6. Testing

In case of a mobile game, there are many screen sizes, many devices available in the market. Test the game on as much as different devices you can. ensure the game runs smoothly in the lowest level device you selected to support. Also, it is essential to get the feedback from actual users. Because, now you have spent a lot of time with your game and your mind can be biased in some directions. You wouldn't notice some issues in your game. But a completely new mind to the game would act in an entirely different way. They would see things you can't see in the game. After testing it is essential to make necessary modifications to the game  before the release. 

7. Releasing the Game

According to the platform you selected, you can release your game in any available store. If the timing and the marketing is good, you would hit the market in no time. Honestly I am not an expert in this field and I am not going to write about it :-). We released our game in both Android and iOS appstores and planning to release on windows phone market too.

8. Evolution of the Game

After releasing the game, people will start playing it and normally the number of installs will grow rapidly at the beginning. But eventually, people will be tired of the same gameplay. So, in order to keep the audience with you, it is essential to release frequent updates to give a different experience for the users. In our game, we released an update with different game worlds as in the following image and still we are working on new updates.

That's all I have to say now and as I gain experience in the field, I hope I can improve the process. Thank you...


Post a Comment