Sunday, October 22, 2017

Blobby Volley - multiplayer is comming

Almost 80h of work after releasing the single player version, Blobby Volley multiplayer is coming to a close. I already have a playable, although somewhat rough and buggy, version implemented. I expect the final polishes to take another month.

To be honest, I'm getting a bit tired of working on the game already. I'd like to finally see some results and find out if people will like it. Hopefully, I'll be able to reach my goal soon enough.

Blobby Volley - main menu with multiplayer

In the meantime, I'd like to share with you some stats from the game, as I promised some time ago.

Blobby Volley - active users

There are around 770 players every month, almost 250 per week and more than 50 a day.

Blobby Volley - engagement

All players spend a total of 4h to even 8h in the game per day and they usually open Blobby Volley just once.

Blobby Volley - location

Most players come from India, Germany and Iran.

Blobby Volley - demographics

Most players are male - only one in five is a woman. I have some players who are more than 65 years old.

Blobby Volley - earnings

I earn around $5 per month on the game, which is a miserable amount and I hope that implementing multiplayer will improve it.

The stats come from Firebase and Unity Ads console.

Now keep your fingers crossed for Blobby Volley Online getting finished soon. I'll do my best to get the game polished in as little time as I can. I might release a beta version in the meantime, so you might want to sign up for the beta program on Google Play, if you haven't done it already.

Sunday, July 23, 2017

Blobby Volley is out on Google Play!

Blobby Volley, the game that I've been working on since March, has finally been published. You can find it on Google Play. Give it a shot and play it if you haven't done it yet.

The whole project took me 142.5h to complete but I didn't just rewrite the AndEngine version of the game. I added analytics, Unity Ads, better AI, a menu system, more options and other stuff. I'm planning to work on the multiplayer now. I already started reading the manuals.

I'm curious to see if people will like the new version of Blobby Volley and whether the new video ads will bring any revenue. I'll keep you posted on the stats.

If you have any feedback, make sure to post it in the comments or email me directly. I'll also be grateful for any honest ratings and comments on Google Play.

Happy playing!

Have you been able to see this screen yet?

Monday, July 10, 2017

How to reduce a Unity Android game size by 10MB

I'd been working on my Blobby Volley game remake for a while and I'd been wondering why the output apk file was so large. The game used to have a size of around 3MB when it was written using AndEngine. So how did it grow to more than 25MB in Unity? I might have added some additional code but the graphic assets and sounds were all the same. I decided to investigate it a bit further.

I took the generated apk file and I put it in the apk analyzer tool that's built into Android Studio. You can find it in "Build/Analyze APK...". The results were quite interesting and led me to some further steps. BTW, if you don't know how to handle Android Studio, you can just change the apk file's extension to zip, unzip the file and analyze its contents manually. It won't be as efficient but it'll do.

What I soon found out was that what took the most space in the apk file were not my graphic assets nor my code but the native libraries in the lib folder. They were split into two subfolders: x86 and armeabi-v7a each of roughly 10MB.

I started thinking if I could get rid of some of them and it turned out that I could. The answer was to build the project for each architecture (arm and x86) separately and then publish them both on Google Play. This way each version would be around 15MB in size and it would be distributed to appropriate, compatible devices automatically. Here's how I did it.

I went to the Build Settings (File/Build Settings...) and I found Other Settings/Configuration/Device Filter. It was set to FAT (ARMv7 + x86). I switched it to ARMv7, built it and then did the same for x86, saving it in a different file and incrementing the version name and version code beforehand (Other Settings/Identification/Version and Other Settings/Identification/BundleVersionCode).

Then I followed the official Multiple APK Support guideline to publish both apk files on Google Play. It was quite simple. I just published the first file the normal way. With the second file, I removed the first version form APKs to deactivate, so it moved to the APKs to retain section.

This way, I have two active apk files now, both with a different version name and version code and both targeted at different device architectures. When someone installs my game from Google Play, they get only the version compatible with their device, which is now 10MB lighter. Yes, it costs me a bit more work to create two separate apk files and then publish them on Google Play but I think it's worth the effort. I created a script that builds the two versions from the command line but it's a subject for a different post perhaps.

I hope my investigation will help you make your Unity Android game leaner too. If something is not clear for you, make sure to post your questions in the comments and I'll do my best to answer them.

Sunday, July 2, 2017

Blobby Volley 2.0.9-2.0.13

I've released a couple of new versions of Blobby Volley since the last blog post, mostly with minor upgrades. I decreased the difficulty and I made "very easy" the default one. I fixed the icon resolution. I decreased the walking speed so the game is more about strategy and less about quick movement. I also fixed some bugs.

I had major problems with project building and extra permissions that were added to the apk file. I managed to find a solution to everything eventually, but it consumed a huge amount of time (>10h).

In the last two weeks I was able to work for 17.5h, which makes a total of 122h.

As the basic version of the game is coming to a close, I started reading about implementing multiplayer. It's not going to be an easy task and it's going to take a lot of time, but it should be fun.

As a closing note, I want to thank my beta testers, in particular Tyna, Tomek and Szczepan. Had they not helped me, I wouldn't have been able to find some nasty bugs, and adjusting the game's parameters would have been much more difficult. Keep up the great work, guys!

Monday, June 19, 2017

Blobby Volley 2.0.8

A new beta version of Blobby Volley is out! The basic game functionality is virtually complete. What remains is just general tweaks and adjustments. I'm hoping you can help me with them...

I created an open beta program, so you don't have to be part of the Google+ group to have access to it. Just go install the game from the Play Store and enable the beta program there. Then you can see what the game is like and leave me feedback.

Here's what's new since the last version:
  • there's a complete options menu with controller settings, themes, player colors and miscellaneous game parameters
  • the game uses Fabric/Crashlytics to track bugs
  • the game runs faster and is smaller in size
  • numerous bugs were fixed

The new options menu

I worked for another 14h which makes a total of 105h. Blobby Volley is already so much better than the original version and it took me less time than when I was using AndEngine. Unity is a great engine and I'm glad I decided to learn it.

I can't wait to have the game finally released! If no serious bugs are found and it turns out to be fairly balanced, the moment might come pretty soon.

Monday, June 5, 2017

Blobby Volley 2.0.6

I released a new beta version of Blobby Volley. The game is almost complete and the only thing missing is the menu system with game options. I've already started working on it. Take a look.

This time I was able to work for another 19h, which makes a total of 90h. Here's what's new:

  • I added the game icon
  • I improved the AI significantly by adding delays to its actions and fixing some bugs
  • I adjusted camera scaling on devices with different aspect ratios
  • I added Unity Ads when you go back to the menu
  • I adjusted some of the game's parameters, e.g. the ground level
Join the Google+ group to be able get the beta version of the game from Google Play and remember to activate testing after you're in.

Next time I might actually release the game. There are still more things that I'd like to add, e.g. multiplayer, but they can be done after it's already available to the public. I wonder what people's reaction to it will be. I guess I'll have to wait a bit more to find out...

Monday, May 22, 2017

Blobby Volley 2.0.5

Blobby Volley is getting closer and closer to the final release. In version 2.0.5 I did the following:
  • I improved the AI by using normal distribution random values for errors instead of uniform distribution random values. Thanks to the changes the AI is more human-like.
  • I added Firebase tracking, so I can get more gameplay statistics and adjust the parameters like the difficulty.
  • I fixed the size of point counters, because it was incorrect on some resolutions.
  • I added a pause screen.
  • I added win and lose screens.
To give you a sneak peak, the new screens look like this:

I'm not publishing the WebGL version this time, because it doesn't work well with Firebase. You can play it on your phone and if you don't know how, see one of the previous posts.

To close up this short update, here are some stats. I worked for another 11.5h which gives a total of 71h so far. The amount of time committed to the game in this sprint was rather miserable but preparing a presentation about Unity for the local Android Developers Group consumed lots of it. I'm hoping to do better next time and work on the following: polishing the AI, adding a menu system and ads.

Now go play the game and see if you can experience the win screen yourself.