Friday, 13 March 2015

Getting started with Unity 3D

Two weeks ago, Steve demonstrated an awesome project he's been working on for a little while. It's a game controller that appears a regular keyboard and mouse combination. Which means you can plug it into the micro-usb port on an Android phone and use it for just about any game that supports keyboard-and-mouse navigation. Perfect for first person shooter type games (FPS).

Steve also has a version of the impressive "Google Cardboard" VR headset, which uses stereoscopy to convert a single flat screen image into "two screens" to create a full-depth virtual reality environment.

Not many old first-person-shooters use this technology - so Steve set about creating his own!
It took less than a week to get a workable demo up and running; mostly using pre-built assets and a bit of SteveCode to glue it all together. But still, from nothing to a working 3D FPS in under a week is pretty impressive.

Since the last video game to really make an impression on us was Head over Heels on the ZX Spectrum in about 1988 (other than the point-and-click PC classic Day of The Tentacle perhaps) we've not really been much bothered by first-person 3D shoot-em-ups.

But Unity is more than just a 3D engine. It's just a shame that most budding game developers use it for that! It's a full .NET supporting, multi-platform, mobile-friendly, Mac/OS, Windows and Linux targetting development toolkit. That's right - Windows, Mac, iOS, Android, Linux - even XBox Playstation and Wii can all be targetted!

And it supports both C# and Javascript as a programming language (plus something called Boo, which we've never even heard of). Suddenly Unity is starting to look like a viable development toolkit - not just for 3d games, but for all kinds of things, on all kinds of platforms. How very exciting!

So, after a PC upgrade (Unity runs on a 1.5Ghz laptop with 2Gb of RAM, but it is a bit slow) we finally installed Unity on our quad-core 3Ghz machine with a massive 6Gb of RAM and 1Gb graphics card, with dual monitor support.

Such a programming environment is a dream to work in! Plenty of desktop space for docking windows, moving assets around, organising work and so on. How we managed on the tiny 17" laptop screen for this long is a mystery!

It's surprisingly easy to get something very impressive up and running, very quickly using Unity. There are loads of tutorials all over the 'net so we're not going to go into too much detail here. Of course you can create your own 3D models, rig them, animate them and import them into Unity. But you can also just download some ready-to-go models straight from the Asset Store and drop them into your project and use them straight away!

So that's the reason for the lack of updates over the last few weeks - it's not very interesting to keep reading "tried this in Unity but had no idea what I was doing, so it doesn't work". And it's not very interesting to keep writing stuff like that either. But now a few of us have started to get a bit more involved with Unity, there'll be plenty of blog posts recording the ongoing development....