Art – Skins + interface

This week I revamped the skins, since we only use patterns now:


I also designed a coin logo/ui system to visualize the player’s coins.


Dev – crawling to the end

I implemented an achievement system. Currently only achievements involving score and total score are implemented. It even gives a popup when a player unlocks a certain achievement. I did some small bug fixes. But decided to put some more time in my other courses. Simply and short blog post for me this week. 🙂

In a rage of excitement I managed to create a first iteration of an achievement display in our achievement menu. It currently looks like this.Unity_2016-05-17_21-34-06.png


DEV – Lots. Store, coins, sound, ui scaling, …

This week, a lot had to be done because the final deadline is coming close very fast.

First of all, I implemented a shop system from scratch. The shop system allows the player to buy new cosmetic skins for the player to use in game. I implemented that the player gets one coin for each 10th shape it passes (I also marked those with another color) and the player gets a special sound when passing such a hole). The device of course remembers what the player has bought over different sessions. Store prices are easily adaptable, when changing the price, the text will adapt too.


Next thing to do was implementing some feedback we got. When the player opens the game for the first time, the game detects whether the players phone has a gyroscope or not. If it has one, it allows the player to choose between gyroscope controls or slider controls. When the phone does not have a gyroscope, the game notifies the player that slider controls have been enabled (accelerometer was just too inaccurate).


I also switched out all of the UI with a better, aspect ratio independent UI made by the artists. A lot of bugs got fixed too (like the annoying button that seemed pressed when it wasn’t on the main menu, the multiplier animation that stopped working, colors of the materials that unity interpreted wrong, the sound that restarted playing when pressing play again ) and performance increased too when optimizing the code. We also got a fully functional sound system now that can work via canvasses, different canvasses can have different sounds (but don’t have too).

I added some sweet player feedback too,each time a player adds 1 to his/her multiplier that is at least 5, a voice will encourage the player with “Amazing”, “incredible!” etc.

DEV – UI functionality and performance

This week I focused on implementing the new UI elements, applying feedback from Flega café, polishing, bug fixes and some performance.

First of all I got rid of the pause button on the upper right corner of the screen, we got the feedback that it would be more convenient of you would just press anywhere on the screen that is not used (in the middle circle when on slider controls and anywhere but on the left side for gyro controls). Next thing to do was adding convenient ways to go back to the main menu from any other UI canvas. I added buttons for this and also added support for Android’s ‘back’ button to go back to the main menu. We were also told that the splash screens were a little to long so I altered that animation.

I rewrote the sound system to be reusable instead of only having a background system. When doing this I also implemented a mute button in the setting UI which can be used to toggle the game’s sound on and off. Also added methods to play one-shot sounds with optional delay, this will be used when scoring or achieving something. I also cleaned up code and optimized on the most obvious places so we get a slightly better frame rate.

To fit the current control UI mock-up the artists had made, I had to alter the way how controls are selected, I made a simple system to switch between gyro controls and slider controls. I also implemented the store UI, it is not very useful at the moment because we still have to add coins and a reward system, but it is there and it scales nicely.

And to finish this week, I fixed the device orientation lock. Now, the game will adapt its orientation to how the player is holding the phone. If this would be annoying during gameplay, you can of course simply disable screen rotation on your android phone.