Good morning, fellow game creators!
I finally finished my game and I am proud to share the power of PlayMaker.
I used about 250 to 300 hours on this (coding, art stuff, testing and tweaking). This includes wasting about 60hours with struggling to get Google Play Services to work.
I have posted the "master FSM" as well, so you can see how I set up the whole thing
STORYFLUFF:In "Cubicle Cat Superstar" you are a fat, blue, Japanese office cat, working all night in your sweaty cubicle. However, the blissful prospect of a karaoke booth at 4:00 AM is ever further away, as there are millions of donuts and other unhealthy distractions preventing you from getting your work done.
gameplay trailer:free for android:https://play.google.com/store/apps/details?id=com.kabukikat.cubiclecatfree for IOS: https://itunes.apple.com/app/cubicle-cat-superstar/id999742139GAME MECHANICS:The game is a fast paced reaction/defense/survival thing, where you shoot down fast approaching donuts, cookies and lumbering cup cakes by pressing fire buttons according to direction of attack. the whole thing is split into timer based survival rounds. should any donut hit your cubicle, you are obliged to eat it, and thus: game over.
In the end its all about multi tasking and attention focus.
There are power upgrades, buffs, online leaderboard and ever increasing difficulty levels.
DEVELOPMENT OBSERVATIONS SHARING:The good:- Playmaker performance is fantastic. granted, I only use 4 FSMs, but my game runs with only 13 drawcalls. And I never had any performance issues (ok, its not a 3D game :-))
The bad:- Not having multidimensional arrays in playmaker is real real drawback. the workarounds for this are ridiculous.
- setting up basic conditional loops in playmaker, which would be 6 chars in a single C script, is terrible.
- some random "Audio Play" action bug which I just never could solve.
- version control:This was the biggest bitch with this project. especially when there are 4 unity project folders (Android free, paid, IOS free, paid). I tried to keep it all in 1 project, as 9slice GUI scaling is the same for all devices and platforms. However, the multitude of plugins needed for Google Game Services, advertizing, iOS game center and such kept clashing when compiling.
I used Stans Assets for Android Native and IOS game center. While I can recommend the IOS plugin as fairly easy to use, the Android Native plugin is quite a headache.
this has more to do with the next beef I had:
Google Play Services: my god, what a nightmare! just setting up a leaderboard requires 5 hours of creating a multitude of authentication keys and crosslinking to APIs so deeply buried in Google's muddled website, it is a legit reason to kill yourself.
A miracle Apple Game Center is such a breeze to set up. ironic, since the 3rd worst problem was:
Xcode hell:developing in windows and compiling in xcode on a mac is not recommended I found out. Whether if its a filesystem incompatibility, or a bug in Unity, I don't know. But you can skip a multitude of bizarre problems if you move Unity to Mac. So I developed my game on a 11" Macbook Air, which due to the screen size is another fun story altogether. However, compilation in Xcode is much easier.
Unity 5 vs Unity 4.6:I started in 4.6 and moved to 5. bad mistake. Unity 5 is still too buggy for mobile development. I had 489 xcode errors. I managed to fix 8. and then I had to throw the towel and go back to Unity 4.6.
Android vs IOS performance observations:- Disc write lag. I use Easy Save 2 (no encryption), and the slowdown on IOS is up to 0,5 seconds lag when writing 17 variables to disc.
- build file size: IOS ipa: 53MB, Android apk 16MB.
This is aparently a texture compression issue. ios uses PVRTC compression, which I found to be a terribly ugly quality loss. Android ETC1 compression is much, much better. Thus, IOS converts your carefully tweaked texture atlas into something uncompressed. And behold, your game just bloated 300%.
- Audio playback: Android seems to have a delayed play lag for any audio (streamed, pooled etc), which seemingly cannot be fixed. This is really annoying for fast games.
I hope I shared some useful observations. I made another game in AS3 Flash before, and I found Playmaker a true vacation ride compared to coding from scratch. Albeit there are some efficiency drawbacks.
If any of you want to try out the game, feel free to give me feedback for improvement!