It’s been 5 months since I’ve posted a development log for my little indie game Balls (formerly known as The Ball) and I’ve done so much during that time, the difference between how the game looks right now and how it looked 5 months ago is astounding.
But rather than completely boring you with every single detail of what I’ve done during the past 5 months (and risk splitting this development log into several parts again), I’m going to try and keep this as short and concise as possible by breaking it down month by month and only talking about major changes/additions to my game (i.e. stuff such as updating SDKs to their latest versions or small bugfixes won’t be mentioned here).
- Added a splash screen
- Tweaked fixed timestep and ball power values.
- Made and implemented a procedural texture generator (which was orignally done for ProcJam but never finished so I took the code from there and ported it here instead) to create infinitely scrolling backgrounds for the game that are different every time you play.
- Started work on converting my existing obstacle generator code to one that creates them dynamically depending on where you made the ball go (i.e. if you make it go to the right more then the game is likely to spawn spikes on the right side and vice versa).
- Made a few performance optimisations based on ARM’s excellent Unity guide (which is generally geared towards 3D games but some parts can apply to 2D as well)
- Made a small (read: pretty terrible) trailer for my game which I plan to redo pretty soon.
- Made some adjustments to the game’s aspect ratio for 4:3 devices such as the Samsung Galaxy Tab S2 (which I actually got as a sort of Christmas present from my mum last month and is pretty much my primary device for deploying and testing things on Android).
- Made some adjustments to my dynamic obstacle generator so it doesn’t constantly spawn a wall of spikes on one side (especially at harder difficulties).
- Changed my coin generator code to be more dynamic based on the current number of spikes on each side of the wall (i.e. coins are now more likely to spawn near spikes to increase the risk/reward factor).
- Converted my sound assets to more suitable formats that are optimised for mobile devices and also remade most of my texture assets to be POT in order to take advantage of Unity’s compression features.
- Adjusted my background bubble generation code to give it a fading in and out effect. I also made changes to the ball trail.
- Made adjustments to my procedural background generation code so that the colours used are not too similar to each other. I also made a few changes to the lighting as well.
- Finally fixed Facebook login functionality after months of trying to get it to work properly.
- Redesigned the game’s logo (In fact, I actually made 7 different variations as I plan to randomly cycle through them via code).
- Redesigned the style of the player’s ball.
- Added wind zones that push the player’s ball to the side (and possibly into some spikes) as an extra obstacle.
- Added an option to disable the fading background bubbles in game.
- Released a WebGL demo version of the game (with restricted features) which you can play right now by clicking here.
- Implemented an adaptive difficulty system where instead of being able to choose from three different levels of difficulty, there is now only one level of difficulty that constantly scales up and down depending on the player’s skill level where the harder the difficulty the better the score bonus (i.e. if the player is doing very well then the difficulty at the start will increase to make things harder but if the player is failing a lot then the difficulty will drop down a bit to make things slightly easier).
- Redesigned the game’s main menu buttons and made them fully animated. Eventually I also replaced the text with simple representable icons.
There’s still a couple of features I need to add but at the moment the game is looking close to completion. I have no idea when I’ll be posting the next development blog (it could be a few more weeks or even months) but for more regular updates on the game, you can either follow me on Twitter or check out my Facebook page.