Kolobok: development diaries. Introduction
March 13, 2013
Soft Industry’s development team decided to make a kind of experiment — to create a game for Windows 8. It is a new experience for us and with some issues, like OS, game development, physics and graphic for games, the team dealt for the first time. Thus, they’ve made a decision to tell our blog readers how they went straight to the target and got over the issues. The first article from «Kolobok: development diaries» series is a kind of introduction. How did the idea of game development appear? What were the aims and how did the team manage to reach them? In our article you’ll find the answers and even more!
There was a Coding Dojo carried out at the company (Coding Dojo is an event when a small group of developers put together in order to solve some complicated issues). In our case initially such issue was 3D tanks. Coding Dojo is extremely interesting but here, as anywhere else, must be a leader. After a few studies the developers realized: their Coding Dojo turned into «I am my own developer» step by step.
The next task for our developers in the self-study process was to practice using Windows 8. Guys sorted out a lot of ideas and decided to create a game for children with an unexpected name «Adventures of Roly-Poly» (now it is just a working title). The point of the game is rather simple: it is necessary to lead the main hero though the labyrinth to the exit, escaping various obstacles.
It was planned to use such instruments for project implementation as: С# 5.0, .Net for Windows Store apps, Bullet, SharpDX, DirectX 11. The team included: a team leader, a designer and an animator.
How the development began
Before the game development started, it was necessary to prepare well – think over all the ideas, variants and find out possible ways of how to implement them. The next step was game architecture development. As a result, the main functional elements were distinguished. Also it was necessary to study SharpX, DirectX and HLSL. After all these tasks were successfully fulfilled, the team focused on the design and graphics.
Architecture of the app consists of two levels: abstract and implementation. Abstract level includes such notions as «Game», «Physics», «Logics» and «Visualization»:
- «Game» gives main/basic game principles (start, pause, loss, win etc.).
- «Physics» is a software component, which describes game objects interaction from the physical point of view (calculating the speed and gravitation force, processing collisions between objects etc.).
- «Logics» is a component, which manages game and does not mind the physical object interaction. At this level rules of the game are described: adding bonuses, taking a decision about win or loss, non-physical interaction between the objects.
- «Visualization» is a simple component of abstract level. It describes the visualization essence, necessary for drawing objects for the word of game.
In our development case, at implementation level was necessary to create particular game components, as well as physics, logics and visualization.
- “Physics” was implemented with the help of Bullet Physics engine, since the game has unique physical conditions: word-model simulation, when the vector is constant and ground changes its slope to the gravitation vector. As the development team did not have such game development experience before, they used popular bullet engine, but firstly rewrote XNA at C#.
- After analyzing the visualization instruments for game development, it was decided to use SharpDx as a texture for DirectX.
It is how it all started. Meetings and discussions, new ideas and great problem solutions…We have a lot of interesting stories to tell you and practical tips, learned from our own experience, to share. Follow the updates or simply subscribe to our blog and don’t miss the next post!
Oh, and the most important thing: nice to meet you!