BLACKISH DEV BLOG Support
 

 

Additive Shader

It would be too much to say that I wrote this shader, but I did just assemble it from pieces of other shaders. Anyway…

Here’s an additive shader that takes a color and a texture.

Shader "Additive Texture with Color" {
 
Properties {
    _Color ("Main Color", Color) = (1,1,1,1)
    _MainTex ("Texture", 2D) = ""
}
 
SubShader {
    Tags {Queue = Transparent}
    Blend One One
    ZWrite Off
    Pass {
        SetTexture[_MainTex] {
        	constantColor [_Color]
            Combine texture * constant
        }
    } 
}
 
}
1 Comment

Unity: Building for Android

The Publishing Settings in the Android Build Settings can be a bit confusing. (Screenshot from Unity 3.4.1)

Unity Build Settings - Android Keystore

This should help:

So first up: What the hell is a Keystore? It’s a file that contains the secret key that you sign your app with. You only need this if you want to publish on the Google Play store, the Amazon App Store takes an unsigned file and does all the signing, etc. for you after submission.

If it’s your first build for Google, create a new Keystore file and set a password. Make sure the file is selected (Browse Keystore if necessary to select the file) and its password is entered below. If you entered your password correctly you will now be able to select something other than “Unsigned” from the Key dropdown below. Select whatever you named your key – you are now ready to create a signed build for submission to the Google Play store! (Be sure to keep that file and to remember the password you set, because you won’t be able to submit updates to the same app without them!)

If you’re making a build for testing on your own device or for sending to the Amazon App Store, you can leave the keystore in there! Just select “Unsigned” for the Key and you’re good to go!

Leave a comment

Kickstarter

We’re on Kickstarter! Ckeck out what Episode 2 will be all about and help us finish the game!

Kickstarter Title Image

Leave a comment

Unity: Marking classes or functions as Obsolete

Ever wanted to mark a class or function as Obsolete? Here’s how to do it:

[System.Obsolete("No longer needed?", false)]
public void HideAllSlots() { 
	//OLD CODE HERE
}
Leave a comment

Why the Unity subscription model isn’t good for anyone most people

Disclamer: Yes, I might be overreacting. Perpetual licenses are still available, David Helgason says people asked for this and it seems there really is a small group of people/companies who gain an advantage from this (see comments). If it’s just that (a not super-flexible but somewhat cheaper way to get Unity Pro licenses for companies that need additional licenses for a short amount of time) then all is well. If it’s an evil plan to go all Adobe on us, then it might still work, but you have been warned…

I’m not against subscriptions per se. I can see situations where a software subscription could be benefitial.

  • Have a big project and need 2 additional seats for just 3 months? Subscription!
  • Need an Android Pro license for just this one project? Subscription!

I also see that cutoff-points for new versions are harder to justify if you’re nice enough to constantly push new features instead of holding them back for the next big release.

With a subscription you know in advance when you have to pay and how much. That can be convenient.

I guess software subscriptions could be alright. But this model is not. Subscription suggest flexibility, but at a minimum duration of 1 year we can forget about that. I stand by it – this is not good for anyone. (Edit: You know, except for the part where I took a step back, edited the title and added a disclaimer)

Let’s talk about the pricing.

I’ve been using Unity for about 5 ½ years now. All in all I’ve spent ca. EUR 3815,- on it. That’s around EUR 700,- per year.

Subscription costs EUR 57,- per month, so EUR 684,- per year. (If I stopped right there that would sound good, right?) But after the big initial investment I’ve been paying under EUR 1000,- every TWO years for upgrades. Read: Under EUR 500,- per year. And that is for Unity Pro with iOS Pro.
– The subscription for iOS Pro costs an additional EUR 57,- per month, so that would make EUR 1368,- per year.

EUR 500,- =VS= EUR 1368,-

That’s EUR 1368,- per year and you own shit. (Limited time offer!)

Ok, so existing customers shouldn’t buy it. What about new customers?

If you buy Unity 4 Pro with iOS Pro today you pay EUR 2280,-. If they stick to the 2-year release cycle you have a year left, then you can upgrade to Unity 5 Pro with iOS Pro for about EUR 1000 (maybe a bit more) and use that for 2 years. So, EUR 3280,- for 3 years if you buy. EUR 4104,- for 3 years if you subscribe. EUR 4280,- vs. EUR 6840,- after 5 years.

If you have only a year left to live and you want to spend it working in Unity, by all means – subscribe! In all other cases…

But here’s why this subscription thing worries me so much…

It points in a very uncomfortable direction. I know Unity has a pretty good track record, they’re a nice company full of nice guys and girls. I hear even their investors are so nice they don’t care at all about their money.
I want Unity to stay a nice company. And I’m more than willing to pay my share to make it so.

But I’m starting to smell evil…

A subscription model could have been a nice, flexible and cheaper way to get people started with Pro (sure, somewhat more expensive in the long run, no problem), with nice options to upgrade to the full version when you subscribe long enough… But no. As it stands now it looks like a silent first attempt to squeeze more money out of us customers. And believe me – If the subscription model promises a lot more money, the next step will be to incentivize me to switch to said subscription model.

  • Shorter release cycles?
  • Subscription-only features?
  • Higher prices?
  • Who knows…

If they want EUR 1368,- per year for a subscription, does that suggests they think that that’s about what every serious Unity Pro user should be willing to pay?
Is Unity (the application) growing more and more powerful? Sure.
Am I using most of the new features? Nope.
So maybe Pro just isn’t for me anymore?
But then who’s it for? The big studios?

Is it no longer for small full-time indies like me? You know, the ones they’ve been going on and on about? The ones they want to empower, etc., etc.?

If their plan is to make the bigger studios pay for the development and give me everything I need for free, then I’ll say sorry and send them flowers. But as it stands now I need some Pro-only features and I’m happy to pay EUR 1000,- every other year, but much more than that would hurt. I need other software too. I need all kinds of hardware to test on. I need to pay the rent and I need to feed a kid. Some suggest I might even need a vacation.

4 Comments

Unity: Debugging Android

So you want to know what’s going on in your Android build?

  1. Connect your Android device (USB cable), build and run your project
  2. Open the Terminal
  3. Navigate to directory of the android sdk and find the platform-tools folder. (In my case it’s $ cd ~/Downloads/android-sdk-macosx/platform-tools/)
  4. $ ./adb logcat -s Unity

From now on everything that happens on your connected Android device that has something to do with Unity will be output here. Enjoy.

Leave a comment

V-Drums and Battery 3

After 10 years I’ve finally given up all hope of ever living in a place were I can use my acoustic drumkit again, so got myself an electronic kit.

Since neither Kontakt nor Battery Kits seem to be made for E-Drums I had to do some adjustments. Changing the kits seemed more flexible than changing the MIDI settings on the e-drumkit, so I made this little info-graphic showing the midi-signals produced by all the parts of the TD-11KV. (I imagine other Roland V-Drum kits might behave similarly)

Print it a few times and you’ll know exactly what to enter for each cell in Battery 3 and you can check off everything you’ve covered as you go along…

Roland V-Drums TD-11KV MIDI Signal Info-graphicAnd yes, this will slow down my game development process even further. :)

1 Comment

Unity Version Control

UnityBitBucket.org and SourceTree! (PDF, 15 pages, 4.3 MB) – Everything you need to know to get started with Version Control in Unity!

Unity Version Control with BitBucket.org and SourceTreeDownload PDF (4.3MB – free, yay!)

Leave a comment

Unity: Get Umlauts via WWW from PHP

I do this all the time: Call a PHP page with WWW to get some data from a Database. Now whenever I tried to return characters that were not a part of the ASCII printable characters, I’d get ?? questionmarks in Unity.

The trick is to make sure the text is properly encoded before you echo it!

echo “ÄäÜüÖö”; //does not work :(
echo mb_convert_encoding(“ÄäÜüÖö”, ‘UTF-8′); //works!

More info on the PHP help pages

Leave a comment

BitBucket with GitHub for Windows

I’ve been using BitBucket.org with SourceTree on the Mac for a while now, but since I need to be on Windows 8 for this current project I was looking for a convenient way to use BitBucket from Windows (until SourceTree for Windows is out of beta Edit: it is now!). And here it is:

Get GitHub for Windows and follow these steps here.

Or follow these short instructions:

  • Get your repository’s https address from BitBucket.org (for example: https://blackish@bitbucket.org/blackish/myproject.git)
  • Open Git Shell (installs with GitHub for Windows, just search for it)
  • Clone your repositiory like this:
    git clone https://blackish@bitbucket.org/blackish/myproject.git (with your own address obviously), enter your BitBucket password and wait for it to finish. This is what it should look like:

    Clone in GitShell

  • Locate the folder in File Exlorer and drag and drop it onto GitHub for Windows

    drag folter onto github

  • Done!
Leave a comment