Case Study for Game Development

3D Pinball game for Android

Customer

The client is a start-up company from Finland which specialization is designing and developing mobile games and applications for various platforms. The client`s product portfolio consists of a number of games with more than 5 mln downloads and which have hit top 10 list on Google Play.

Objective

The customer had the idea of creating a set of small colorful "WoW effect" 3D games with fascinating graphics to leverage Unity3D engine, especially the physics, and showcase the interactive game features in Unity. For this purpose the customer reached Altabel Group as they needed a trustful game development service supplier with extensive experience in Unity 3D engine as at that moment their in-house team had not enough competence to succeed in this project.

Solution

Pinball is one of the most recognizable ball arcade games and the client aimed at creating his own outstanding version of this arcade game with the possibility to handle advertising companies by changing game graphics for each advertiser. The key challenge of the project was that the customer hadn`t a complete vision of the game as well as a project specification. The picture with the game rules was the only project information provided.

At the requirement clarification stage the Altabel`s technical specialist gathered all the game details for specification creation purposes. A creative brainstorming skype meeting was organized, during which Altabel`s technical specialist together with the customer discussed the concept and scenario details of the future game: they formulated the main rules, discussed the key characters and specified the control system.

After the discussion the detailed technical and functional game specifications were prepared, the scope of work was finalized and approved. The administrative issues were settled down promptly, and the agreement was signed within a two week period.

Altabel created the game graphics and did all the programming.

The game players' mission is to get as many points as possible. Players rack up scores by keeping the ball in play for a long period of time and by hitting the special obstacles.

At the beginning of the game the player is given a ball. After the player shoots the ball, he/she must move the table to different sides by touching the screen to keep the ball in play. If the ball gets falls down a side alleyway, the game is over.

The game screen represents a table with different kinds of obstacles and targets for the ball:

  • Simple bouncers
  • Basic bouncers: gives 100 points when hit
  • Teslas: 50 points for the user when hit and also they generate electricity-burst between each other
  • Port: user gets 150 points when a ball goes through
  • Slide: it activates 2X points when a ball rolls through. This effect lasts until special energy meter is empty
  • Corner box: when hit it charges an energy meter used when 2X mode is activated
  • Gran bouncer: gives 10000 points when hit. However, it`s shielded from the user with the special barrier that opens only when the energy meter is full

As the game is implemented with the help of Unity 3D engine the game has advanced and vivid ball physics. IPhone and Android version of pinball game were released.

One of the game peculiarities is the ability to change game graphics and insert different company logos for each advertiser. The graphics could be downloaded from a server and updated in the game without requiring the users to upgrade their clients every time when a new version of the pinball or pinball graphics is available.

During the whole project duration Altabel`s technical specialists communicated with the client's project manager directly by e-mail, skype and managed to provide promptly responses to the customer`s inquiries.

The client was satisfied with the competency level of the Altabel`s technical specialists and in short time the cooperation continued with another Unity game.

Technologies and tools

Unity 3D, 3D Studio Max

HTML5 Pool Game

Customer

The customer is a small mobile game development agency from Denmark. They specialize in developing games on HTML5, Flash, iOS, Android, Windows Phone and Blackberry platforms as well as for Social networks.

Objective

The customer`s team came to a decision to convert their existing Flash Pool game to HTML5 so that it could run properly on iOS and Android devices soon after Adobe announced that they were going to stop developing Flash for mobile device in order to more aggressively focus on HTML5. That time HTML5 was a new and emerging technology for game development and the in-house team of the customer as well as his current partners lacked the necessary competency for this project.

Thus, for the project implementation the client decided to find a reliable IT outsourcing partner with experience in implementing HTML5 games, mainly they were searching for an outsourcing service provider from Eastern Europe. Upon the performed negotiations Altabel was chosen as a software development supplier for this project realization.

Solution

The initial discussions of the game scenario and requirements with the customer demonstrated Altabel`s competence and readiness to participate in the project development.

The waterfall (Fixed price) approach was chosen for the project implementation as the game functionality and conversation specifics were clear. Within a short period of time the cooperation terms and conditions were finalised resulting in the contract signing, and the project was launched.

It`s a classic billiards game for mobile devices. The peculiarity of the game is that it has 2 modes: single and multiplayer.

Single Mode: the game is played from the top-down perspective. To aim shots, a direction arrow extends from the ball to the pockets. The user`s mission is to pocket a set of 10 balls. The more balls sink the higher scores the player gets. The game ends after all the balls have been cleared from the table. The user has the possibility to share his results with his friends.

Multiplayer pool: it is realized with the help of customer`s API. In this mode a user can play with his friend or challenge mobile billiards opponents across a town or country. The game starts in a lobby with tables and small players` avatars where the user can join a friend or other users table or invite them to join his own table. Invited user can accept an invitation or reject it. Once the invitation is accepted the game begins, if rejected the game doesn't start. The game is a classic 8 ball action. The user who starts the game/table will place the white ball and make the first shot. Each time the user shots the ball and makes a successful shot, the other user will see the shot and get the message that it`s his turn. If the user misses the hole it will be the other user`s turn. The aim of the game is to pocket more balls than your opponent.

The communication between the customer and the Altabel`s technical specialist was very intensive the whole project long: requirements, functionality, changes and new features were discussed by means of modern communication tools.

Altabel met the necessary time line and requirements and the customer was satisfied with the solution and later came back with a new request, this time with a longer one for a dedicated development team.

Technologies and tools

HTML5, JavaScript, iPhone, Android, customer`s API

Mine detection game for mobile devices

Customer

The customer is a leading media entertainment company from France, a publisher of web and mobile applications. They specialize in designing, developing, distributing, analyzing and monetizing of web and mobile applications across multiple platforms and over a wide variety of destinations such as Internet (social networks, web portals, blogging services and start pages), computer desktops, mobile devices (iPhone, Android, Windows Phone), TV sets and touch-screen tablet computers.

Objective

The aim of the client was to create a "minesweeper like" game for mobile devices: first release the iPhone and iPad versions and then a version for Android devices. The in-house team of the client was short of time to take care of a big project flow from their customers and the decision was made to relieve the in-house team of several game projects and find a reliable nearshore game development service provider for their implementation.

Solution

The customer wanted to organize the tender for the game implementation to find a suitable partner in the game development sphere.

Altabel approached the customer with a suggestion for cooperation at the end of the candidate selection process and became the last participant in the competition, as the client stated: "Altabel managed to jump on the last bandwagon". Based on the high end project estimations from all the applicants and filled-in RFI Altabel was chosen to be a project executor. The customer stated the following Altabel's advantages in comparison to other vendors: lower development estimation, effective communication with the customer and quick response time, good recommendations provided by the current Altabel's clients.

The waterfall (Fixed price) approach was chosen for the project implementation as the game details and functionality were clearly defined thanks to the thoroughly prepared project specification provided by the customer. Within a short period of time the terms and conditions were finalised resulting in the contract signing, and the project was launched.

The main aim of the game is to detect all the mines on the virtual minefield without detonating them. At the beginning of the game the player is presented with a grid of undistinguished squares. Some squares contain mines: they are selected randomly and are unknown to the player. The size of the grid and number of mines depend on the difficulty level, or these parameters may be set directly by the user. All in all there 3 difficulty levels in the game:
-easy: 10 lines, 10 columns, 10 mines;
-medium: 16 lines, 16 columns, 40 mines;
-hard: 16 lines, 30 columns, 99 mines.
Also there is a "custom level" that gives the user the possibility to create the grid by himself.

The grid itself is scrollable according to its size (up / down and left / right). Every item other than the grid (timer, mines left, etc.) stays in place while scrolling. The game is played by revealing squares of the grid. If the cell revealed contains a bomb, the bomb explodes, animation is shown, the phone vibrates and the player loses the game. If the revealed square doesn`t contain a bomb, a digit appears, indicating the number of adjacent squares that contain mines and surrounding spare squares are automatically revealed. The player uses this info to detect all the mines on the minefield. The game is won when all mine-free squares are revealed. The user's high score is sent on the network using the special High Score web service and the user can share his results with his/her friends.

During the game implementation process we also fixed third party bugs.

The client was satisfied with the competency level of the Altabel`s technical specialists and in short time the cooperation continued and the game was ported to Android.

Technologies and tools

iPhone, ObjectiveC, Android, integration with the customer's API

Platform for Game Players

Customer

The customer is an entertainment media company from Western Europe, one of the leaders in the global digital gaming industry. They create quality games and bring them to market in several languages and on several platforms (PC, Web, Mac, iPad, iPhone, Nintendo (DS / Wii)) and also specialize in porting of existing casual games from PC to other hardware platforms (Nintendo, Mac, Web, Social, etc.). The customer also participates in creating of social games and flash games for distribution via portals offering online games.

Objective

Being one of the leaders in gaming sphere the customer had the idea to create a platform that will bring game players together. The platform should give the players the possibility to compete with each other, collect different users` statistics: average player`s age, sex, nationality, time spent playing daily/yearly, preferred game genre, etc. Moreover the customer planned to integrate the system with social networks.

For the project implementation the client decided to find a reliable IT outsourcing partner. Mainly they were searching for an outsourcing service provider from Eastern Europe, and on the negotiations executed Altabel was chosen a software development supplier for this project.

Solution

The main challenge of the project was the development approach chosen by the customer for the project implementation - Fixed Price model. Indeed there was no detailed technical specification for the platform and the vision on the functionality was too raw, there were many details to specify as development was progressing and a lot of changes were expected on the go. Fixed price approach didn`t presuppose such activities at all. Altabel`s team suggested following Agile approach and divide the development process in several iterations for several reasons: Agile approach is the most reliable and cost-effective approach for implementing large scale projects, this approach helps to avoid accumulating mistakes in the system logic as at the end of each iteration the customer could have tangible results and make necessary adjustments; customer could realize new ideas without any difficulties. So it was finally decided to leverage Agile approach in this project case.

Upon joint work of the client and Altabel's team, the platform for the game players was developed. It collects results of various game platforms (iPhone, Android, J2ME, etc). The system keeps user statistics and calculates users` ranks. Different kinds of statistic data are provided: world and country records, city and particular school scores, records between friends and particular groups of users.

Tournaments and duels between users may be organized within the system. Every user has a certain sum of virtual money that he/she may spend on competitions. Also additional virtual money may be bought via Paypal.

The platform has a user-friendly interface, and as the programming interface is based on HTTP-protocol, users can add their own personal results directly to the system. Also the application has a file system with game history so that users could see their score history and check score credibility. Also users have a possibility to create game videos and upload them to YouTube.

The application was later integrated with Facebook. Later integration with MySpace and Oktur is planned.

Altabel`s team met the necessary timelines and requirements, and the customer got the services on time. During the whole project duration Altabel`s technical specialists communicated with the client's project manager directly by e-mail, skype and managed to provide promptly responses to the customer`s inquiries.

The client was satisfied with the competency level of the Altabel`s technical specialists and in short time a repeated inquiry was discussed.

Technologies and tools

Java EE 5 (EJB 3.0, JPA, JSP/JSF, Java Mail, JAAS, JAX-WS), IceFaces, FreeMarker, Facebook Java API, Facebook Connect & API, YouTube Java API, Web Services, Hibernate, EH-Cache, Glassfish v2, PostgreSQL 8.3

Tower Defense Game

Customer

The customer is a mobile game developer and publisher headquartered in Germany that specializes in creation of innovative games of various complexity, genre and visual style for social networks and various mobile platforms (iPhone, Android, Symbian, etc.). Their portfolio counts games with over 300-400 million downloads worldwide.

Objective

The customer approached Altabel with the intention to create a multi-level game for iPhone, and later create its Android version. By that time the customer had already had a game development service supplier from India. However, as he was not satisfied with the quality of the provided services the decision was made to find a new reliable nearshore service provider.

Solution

Initial discussions of the game scenario and detail with the customer demonstrated Altabel`s competence and readiness to participate in the project development.

The waterfall (Fixed price) approach was chosen for the project implementation as game details and functionality were clearly defined thanks to the thoroughly prepared project specification provided by the customer. Within a short period of time the terms and conditions were finalised resulting in the contract signing, and the project was launched.

This tower defense game has 8 different maps (button map, desert map, ice map, etc.) and 10 different balloon types (red, blue, green, lead, etc.) that have different skills, speed and health level. Players can choose between multiple weapons (arrows, boomerangs, rockets, etc.) and arrange them on the map`s free space.

The main aim of the game is to pop all the balloons that move from the spawn point to the exit point. Once the balloon is in tower`s range, the latter starts to shoot. The game has 3 complexity levels: easy, medium and hard.

As the customer planned to launch the game on several platforms the challenge was to develop a game engine that would allow the customer to economize on the process of game development by easily porting the same game to another platform. So for this game Altabel's development team developed a special physics engine. The game model is platform-independent and is implemented on C++. It can be easily ported to another platform. Game balance characteristics are very flexible: a designer can create more and more game rounds, update game's parameters without changing its code. OpenGL ES was used as a graphic engine.

During the whole project duration Altabel`s technical specialists communicated with the client's project manager directly by e-mail, skype and managed to provide promptly responses to the customer's inquiries.

The client was satisfied with the competency level of the Altabel`s technical specialists and in short time the cooperation continued and the game was ported to Android.

Technologies and tools

C++, ObjectiveC, OpenGL ES, Android

Space race web game based on Unity 3D engine

Customer

The customer is an interactive agency from the UK that operates in public entertainment area. It is widely respected for top quality content and specializes in creating and managing virtual world brands and destinations. The company hosts thousands of visitors for live DJ music, clubs, art shows, games, contests, shopping, fashion and content creation. They are also engaged in designing and developing solutions for web, smartphones and tablets.

Objective

The client had the idea of creating the game in 3D to leverage the Unity3D engine, especially the physics and showcase the interactive game features in Unity. For this purpose the customer reached Altabel Group as he needed a trustful game development service supplier with extensive experience in Unity 3D engine as at that moment the in-house team of the customer as well as his current partners lacked the necessary competency for this project.

Solution

The challenge of the project was that it was planned to have a quick start and Altabel faced the situation when the resources were to be assigned to the project implementation within one week period. So to meet the customer`s needs and timelines Altabel made maximum efforts for the project to start on time.

The project began with a creative brainstorming skype meeting, during which Altabel`s technical specialist together with the customer and customer`s designer discussed the concept and scenario details of the future game: they formulated the main rules, discussed the key characters and specified the control system. After the meeting the scope of work was finalized. The agreement and administrative issues were settled down promptly, and the agreement was signed within a week.

Initially the game was planned to be the 2D Unity game. The game itself represents a space map with flying asteroids and the player`s mission is to pilot a spaceship with a little alien inside of it across a debris field in the fastest way possible and avoid colliding with the asteroids. In case of collision debris may damage the rocket and slow the speed of the spacecraft. To complete the game successfully the player should shoot the asteroid with photons and destroy them.

However, after the first tangible results it became obvious that after some time the game loses its appeal and becomes a bit boring. After the discussion with the customer, the strategical decision was made to add a new element to the game - a "black hole" - a fully 3D part of the game, as the transition from 2D to 3D made it possible to make the game more entertaining and to show in full the difference between 2D and 3D modes and show the abilities and powers of Unity 3D engine. In the middle of the game, the alien with his spaceship finds a "black hole" and is suck down in it. After this the game turns into 3D experience. The camera shifts to a camera that is behind and above the ship and the player could see the debris coming at him in 3D. The physics of collisions and explosions works when the debris collide. The Destination is out in the distance and the ship reaches it and the game again turns into 2D experience. Altabel's development team scripted the game logic, implemented the user interface and completed the working Unity3D packaging for deployment in browsers.

The communication between the customer and the Altabel`s technical specialist was very intensive the whole project long: requirements, functionality, changes and new features were discussed by means of modern communication tools.

Altabel met the necessary time line and requirements and the customer was satisfied with the solution and later came back with a new request, this time with a longer one for a dedicated development team.

Technologies and tools

Unity3D, C#/.NET, 3D Studio Max, Adobe PhotoShop