RoomCubes is a game app that I developed while I was playing around with the unity tool. This is my first attempt at app development. I had no previous experience in game design or game development. Looking back, there are many areas where the game can be improved upon but during the development period I intentionally kept the game as basic and simple as possible so as to avoid frustration and getting overwhelmed with the technicalities involved with mobile app development.
RoomCubes is a simple arcade style game for Android devices. After I completed the base game, I came across new features related to Augmented Reality and Facebook integration. Considering that this project was more of getting used to game design and game development, I decided to include these features as well in the final apk.
The concept of the game is simple; you are in control of a ball, using which you need to pick up cubes that get randomly spawned. Each cube picked up will give you points. You need to achieve a target score within a specified time to proceed to the next level.
In this post I will go through the different aspects of the game.
The game is made with the free version of Unity 3d, hence you have the default unity splash screen which appears upon starting the app.
The next screen gives information on how to start the game. There are two ways to begin the game; using the ‘Go to Game’ button or using the ‘AR Room Model’ button. The Augmented Reality part of this app is just a demonstration feature and has nothing to do with the actual gameplay. Hence I thought of providing the option at this screen to choose whether you directly want to play the game or to check out the 3d room model using the ‘AR Room Model’ button. Both the options lead you to the game’s title screen.
This screen has options for playing the game, exiting the game, accessing the tutorial YouTube video and a toggle button to turn on or off the game audio.
Augmented Reality is a hot topic today with games like Ingress and Pokemon Go in the market. Who would not want to have this feature in their game.
I have tried to implement a basic version of Augmented Reality in this game. It is a marker based Augmented Reality which is used purely for a demonstration purpose. I am using the starter version of the Vuforia SDK for this. This feature is triggered using the ‘AR Room Model’ button from the Instructions screen. On pressing this button, the device camera is turned automatically on.
This version of Augmented Reality relies on marker images. The link for the marker image is provided on the “RoomCubes” playstore screenshots.
Upon focusing the mobile camera on the marker image, a 3d model of the game play area will appear on your mobile screen. The entire base game occurs within this 3d model. Three interactive icons will appear on the screen which will allow you to interact with the displayed 3d model. Using the ‘Right’ and ‘Left’ arrows the 3d model can be rotated around. You can even move the mobile camera closer to the marker image, the view will zoom into the 3d Model. You can view the 3d model in all perspectives by moving the mobile camera around the marker.
Finally we have the ‘Press to Start Game’ icon at the bottom, which will take you to the title screen of the main game.
The entire game design is kept as simple as possible. It makes use of only cubes and spheres which are standard objects in Unity. The aim was to keep the game simple without any design complexities. The other 3d models used in this game consists of a room shaped object and a fan shaped object. Both of these models were created in Blender. The fan object has a simple animation which gives the effect of the fan rotating around.
The User Interface of the game screen consists of two sections. The top section contains the score and time elements. The bottom section consists of the control elements.
At the top left side you have the “target score” for the level that needs to be reached to complete the level. Below this you have the “score” that the player has achieved.
At the top middle section you have the current level indicator.
At the top right side you have the “Level 5 Timer”. Initially this will store 0 secs. After each level is completed the time remaining is added to the “Level 5 Timer”. This will be the time that the player will have to complete the last level of the game. Below this you have the “game timer”. This is a countdown timer which when reaches zero the game will end. When the level target score is reached, the remaining time from the countdown timer is added to the “Level 5 Timer”.
At the bottom right you have the control buttons. Use these buttons to bounce the ball around in the required forward, backward, left or right directions. The middle square button will bounce the ball vertically up.
At the bottom left you have two buttons. The top “plus” shaped button is a cube tracker button. Use this button for turning on a tracking feature for the cubes. This is pretty helpful in the early part of the game where you get used to moving the ball around in the room, which is a 3d space rendered on the 2d mobile screen, for picking up the cubes. However using this feature has a drawback of getting less points than you get normally for picking up the cubes. That is a trade off for the extra help feature. Below this you have the control button which when kept pressed will prevent the ball from being bounced around. Instead the ball will roll along the ground. This button is to be used along with the main right hand side control buttons whenever you need the ball to be rolled along the ground instead of it bouncing around.
The first level has a target score of 175. In this level, a red cube is randomly spawned. This cube is worth 5 points. Being the first level, the cube is spawned on the ground of the room which makes it easier to pick up cubes. This level can be used to practice moving the ball around in relation to the cube’s position. The use of the “plus” shaped tracker button can also be used for getting used to aligning the ball for picking up the cubes.
The level has 110 secs for completing the level. Considering that the game’s last level time is set based on how quickly you complete the prior levels, Ideal time for this level completion is to have about 10 – 15 secs to spare.
This level takes the difficulty factor up slightly. Here a yellow cube is spawned randomly, just like in level 1. The difference being the cube is spawned in the air. Here again the “plus” shaped button will help you by displaying a visual marker on the ground below the cube. Additionally the cube’s shadow on the ground can be used as a guide for picking up the cube using the ball.
The cube in this level is worth 10 points. You need to complete the level within 90 secs and reach the target score of 175.
The ideal time to spare for this level is 15-20 secs.
In this level you have a green cube which is spawned in the room. This cube is worth 15 points. The target score for this level is 175 which is to be reached within 100 secs.
This level is similar to the previous level. The cube is spawned above the ground higher than the previous level. This level gives you the opportunity to really pile on some time in the “Level 5 Timer” bucket. Once you get a hang of moving the ball around, this level should not trouble you much. The ideal time for completion would be around 50-55 secs to spare.
The penultimate level has one major difference when compared to the previous levels. The green cube that is spawned moves around in the 3d room. Additionally this cube has its own countdown timer which lasts for around 10 secs after which the cube self destructs. If you had difficulty in completing the previous 3 levels in terms of the ideal time to spare, you would struggle in this level.
However, with the “plus” icon and moving the ball along the ground, you can position the ball just right and when the cube is aligned perfectly in line with the ball, use the right side controls to pick up this cube.
Being the most difficult level, if you are able to pick the cube up early you get full 20 points. As time passes the cube value reduces. Though the “plus” icon will help you pick up cubes but it will give up less points for each cube pickup.
The target score for this level is 200 and needs to be achieved within 140 secs.
If played well, you can save over 90 secs. The ideal time to spare would be 75-80 secs.
Finally you reach the last level. The success in this level would entirely depend on how you fared in the previous levels.
In this level, all the cubes that featured in the previous levels are spawned inside the room at the same time. You, as the player, are spoiled for choices. The easiest option would be to pick up the ground red cubes as fast as possible, but they come with a low value. Or you could take the higher valued cubes which would give you more points but will require you to align the ball perfectly to pick up these air cubes.
With so many cubes available for the player to pick, its no surprise that the target for this level is set at 600. It takes a “Level 5 Time” of around 150+ secs to reach the target. Even then your strategy of picking the easily available red cubes or the more difficult air cubes will decide whether you actually reach the target.
The game ends if you reach the level 5 target score or you run out of time in a level. The end Game screen is a very basic screen where you are presented with buttons to either restart the game or exit the game. One additional button for Facebook posting is provided for posting your game score on your Facebook wall. Just like any app developer, even I would like my game to be advertised, hence the Facebook post includes the game’s trailer video and the play store link for the app. I discuss more about this in the next section.
This is a common feature that you find in most apps, wherein if you enjoyed using the app, you can show your appreciation by posting about it on your Facebook wall. This app is no different.
After you complete the game or after you run out of time, the option for posting to Facebook appears on the end Game screen. The post consists of the app trailer video along with a message that states “I have reached level 1 with a score of 85”. The level number and the score are the actual values of the level and score at the time of posting from the app.
If you complete the game successfully, the message states “I have completed the RoomCubes game with a score of 600” wherein the score would be your actual score earned after completing the last level.
RoomCubes is a very basic arcade game demonstrating the use of marker based Augmented Reality, Facebook SDK integration and basic game design in Unity. All in all it was quite a “feel good” factor to have a mobile game app up and running on Play Store.