It's been a few weeks since I've updated the beta for Uber Shape, and though it still needs to be approved by Apple, I thought I'd do this write-up explaining the differences. So here we go! The official changelog is as follows (tl;dr: I fixed and added some stuff, sign up for the beta here!):
- Build 4
- Fixed bugs related to Game Center operation without an internet connection
- Implemented unified menu/game system
- Added clouds
- Added sounds (no music yet)
- Compiled against iOS 9.2 beta SDK, major performance improvements on older devices (requires iOS 9.2 beta)
- Misc other fixes and improvements
One big improvement since the last beta is the introduction of the unified menu/game system (I'm quite unimaginative when it comes to naming things). Where before the game was split up into separate SpriteKit scenes for things like the main menu, tutorial, and the game itself, the entire game is now presented as one scene. Instead of transitioning to the game scene when the player hits the "play" button, the main menu now simply floats away, allowing the player to slide in and start playing. Classic games like Jetpack Joyride and the recent hit Alto's Adventure implement a system like this, and it's something that seems to help further immerse the player into the game by stripping away as much unnecessary frontend stuff as possible.
Another item I've started work on is the introduction of clouds which (obviously) spawn into the world at a high height. The way that I create these clouds is actually very similar to the way I'm currently handling background building generation - I create a 1x1 white pixel at game start with nearest texture filtering (very important to prevent pixelation when scaling), then scale it to a randomly-generated width and height. To increase the variety of clouds, I also give each a random opacity within a certain range. Finally, the clouds are z-sorted in front of everything in the game, including the buildings, to help give even more depth to the scene.
I've also begun the process of curating audio assets for the game. I'm no audio guy, I'm happy to admit that, so for this project I'll be using a combination of royalty-free assets from places like freesound.org, sounds that I'll attempt to create on my own with something like Audacity, and maybe even some help from the family!
This build also includes some bug fixes, including a fairly serious bug that would crash the game whenever Game Center attempted to do stuff without an internet connection.
This build also fixes a bit of an odd bug which has apprently only affected iOS 9 so far. Apparently my use of an EDIT: Apparently I'm not able to upload a build generated with a beta version of Xcode for public testing, so you'll have to wait until iOS 9.2 goes gold before seeing this fix.
SKCropNode is particularly taxing on older devices running iOS 9, resulting in a high, but choppy, framerate. The iOS 9.2 beta seems to have fixed this problem, reducing CPU utilization from somewhere around 80% to around 40%, and running the game smooth on every device I could test (it also looks to be causing a pretty big memory leak problem, so fingers crossed that gets fixed too!). Of course you'll need the iOS 9.2 beta to reap the benefits and potential downfalls of this fix.
That's about it for this build! If you have an iOS device or the new Apple TV and would like to sign up for the beta, you can do so here! Also be sure to follow me on Twitter for more updates related to the game!