Tuesday, October 9, 2018

Re-usable Unity3D scripts at GitHub!

During last couple of years we have created some generic Unity3D C# scripts. These scripts have been design to be re-used at least to some extent, to ease up new game project creation.

Now some of them are available for public at GitHub:
https://github.com/jliias/CommonUnityScripts

We have selected the ones that we think are most readable and understandable and also well (?) commented.

New general purpose scripts will be added when there is something we think is worth publishing.

Please have a look and see if there's something useful also for you!

-Jussi

Monday, August 13, 2018

Going hyper-casual (or die trying)

For some reason, hyper-casual games seem to be one of the hottest thing in mobile gaming at the moment. Just do some googling and you will notice that they really are trending.

This weekend my target was to do fast-paced game development, starting from a concept and resulting to a published game. And goal was achieved, even though there is still lot of room for improvement. Anyways, my coding skills got some practical exercise, what was the purpose of this project.

"Rocket to Uranus" is so-called hyper-casual game for Android. It is available at Google Play Store. 



Some statistics:
- Total of 15 hours of time (3 evenings)
- Approx. 400 lines of new C# code written + ~100 lines of re-used code
- 10+ art assets drawn with Inkscape
- 2 Unity scenes created
- Lots of testing, debugging and bug fixing

-Jussi

Wednesday, December 6, 2017

Unity3D: Camera Shake Effect with C# Example

One of my unfinished Unity3D game projects required camera shaking function, so I wrote one from scratch.

I just needed a script that shakes camera for a certain time and magnitude, and can be called from other script. Also, sometimes it would be useful to trigger this from UI button using OnClick().

Added 9.10.2018: This script is now available also at GitHub:
https://github.com/jliias/CommonUnityScripts/blob/master/CameraScripts/ShakeCamera.cs

Please find script below:

Script is added as a script component to the Camera type object and then it should be ready for use. You just have to figure out how and when to trigger it in your own game.

I hope that someone will find this script snippet useful!

-Jussi

Sunday, August 6, 2017

Conference Call Bingo

Does your job contain lots of conference calls with customers, co-workers and/or subconstractors? If so, I bet you have also noticed that same phrases and unintentional voice effects are repeated in almost every conf call. 

In addition to the engineering work my job contains lots of conference calls. And same soundtrack from one call to another. So I decided to make a small game like application which makes use of these commonly heard phrases and other sounds. 

Today I uploaded first version of "Conference Call Bingo" to Google Play Store. It is currently marked as beta release, because I still have some improvements in my mind. But the core functionality should be working pretty well already in this release. 


Please download the app and give it a try. I am pretty sure that most of you will find the phrases very familiar, especially if you are having regular meetings with people all over the world. :) 

-Jussi.

Thursday, July 13, 2017

Indie Game Marketing Trial

As you might have noticed, our first Unity3D game "Bananamarine: Endless Submarine Tap Adventure" was released for couple of weeks ago. This time we decided to put some more effort on game marketing than we have done before: We even had a marketing budget of some tens of Euros (or Dollars), instead of the normal flat-zero budget for our previous games. :)


Our target for this trial was to get some experience how game visibility and number of downloads could be increased. Our expectations are not too high, but we just want to see if something really can be done to get things going better.


First we started testing how easy it is to increase number of followers for Bananamarine Facebook page with paid advertising. After 10 days and less than 10 Euros spent we had over 350 followers. But we must admit that advertising was targeted to very low cost countries. Anyways, now our simple FB page looks more street-credible than before the campaign. :)

We also did some "few days and few dollars" -style campaigns at Facebook for single updates on FB page. Generally it seems that you can get easily few dozen of "likes" for your update with very small stake, especially if target audience is well-chosen.

Our biggest single investment to improve game visibility was related to ASO (App Store Optimization). Based on several articles it seems that very large number of consumers will find their apps using search engine. So we decided to invest another 10 Euros to the professionally written and ASO optimized app description to see how it could improve Bananamarine visibility in Google Play Store. A suitable writer was selected from fiverr.com, and he delivered incredibly good app description and title within couple of days. If you do not believe, then look at the Bananamarine page at Play Store.

To support this great app description we also bought game icon from fiverr.com from another skilled professional for $5. For me the resulting icon looks a lot better than my own drawing we were using in the beginning.

So, summa summarum, we have used around 30 dollars for Bananamarine indie game marketing efforts. Now we just wait and see how things are going in the next weeks (or months).

-Jussi






Wednesday, June 21, 2017

Unity3D: Stuck with Play Game Services plugin

Bananamarine game project has been progressing quite smoothly most of the time. But yesterday I ran into situation where Unity got stuck when I tried to add Google Play Game Services plugin to my project. I want to have at least leaderboard to my game, so leaving game services out was not an option.

Basically, plugin installation was successful, but after that all I got was a dialog window telling: "Getting list of installed Android packages". And tool was not responding anymore, even if I waited couple of hours.



I tried to search help for this problem using google, but there were not many hits to help me forward with this issue. Somehow I figured out that this was something related to the Android SDK version(s), so I decided to update my Android Studio installation first.

After Android Studio update I removed game services stuff from Unity project, updated SDK path to preferences, and tried to re-install plugin. But result was still the same: I got a dialog telling that Unity is collecting list of installed Android packages, and tool got stuck.

After some more searching I found this thread from Github: https://github.com/playgameservices/play-games-plugin-for-unity/issues/1529

Discussion was pointing out that some of the required SDKs were not necessarily installed by default with Android Studio setup, and updating SDK tools e.g. with SDK manager would be worth trying.

So I started Android Studio and tried what can be found there. And yes, at least Google Play Services SDK tools were totally missing from the installation. I selected it and some more SDK Platforms, and started update round.

When SDKs were updated I returned to Unity and removed game services plugin once again. Then I went to preferences and double-checked that SDK path is pointíng to the updated one. Now it was time to try plugin installation once more. And guess what: Now it seems to work perfectly!


I spent about 12 hours of time for exploring this issue, because I thought my setup was ok.

And what did I learn from this exercise? At least this: Keep your Android SDKs up-to-date, you moron! :)

-Jussi


Edit: It seems that after updating SDK I started to get "Unable to list target platforms" error messages, when trying to compile project to Android. The solution seems to be downgrading SDK Tools to version r25.2.3, as explained here: https://forum.unity3d.com/threads/unity3d-5-5-0fx-unable-to-list-target-platforms-error.446096/
I guess this same problem has been with Unity3D, Android Studio and Eclipse, to mention some.