TLDR; With no experience I decided to learn the basics of 3D game development. I had to pick between Unity and UDK. I chose UDK.
Earlier this week I was ill. Not greiviously ill or anything, just sticken down with a bad case of the man flu. Anyway, as I was room-stricken and at a loss for ways to pass the time , I decided to learn a new skill. Namely, I decided to learn some 3D game development.
I should say at this point that I haven't had any 3D graphics experience for 10 years or so since my mother bought me Hash Animation Master, an excellent 3D animation program for $300 for chistmas when I was a teenager. I'd seen Lucas Arts use Maya 3D on a TV documentary and fancied myself as a one man film studio. My mother indulged me and I spent 6 months trying to work out what everything did without using the manual. Needless to say I did not produce much of note.
Similarly, I have had no game development experience of any kind save for a single module of "Mobile Game Development for Java ME" during university. From that module I basically took away the concept of the game-loop and a very badly bodged copy of "pong" which I managed to hack together as coursework.
So, it was from this illustrious background that I decided to get to grips with 3D game development.
UDK or Unity
A bit of googling turned up two main platform competitiors; Unity and UDK, both seemingly begginer friendly 3D game engines, both with attractive GUI's and good communities of users, but which to choose? In actuallity I initially chose both, and opted to try Unity first.
I had several problems with Unity though. Firstly, I don't see any showcase games made with Unity. No big name titles, no recognizable (to me at least) amateur games. I know very, very little about game development, but it seemed to me like a worrying sign. Secondly there was the price.
Unity turns out to be free for non commercial use, but then $1500 up front if you fancy monetizing a game you've built. Also, that $1500 lets you put out PC and OS X games, but doesn't let you publish to iOS or Android, which everyone keeps agreeing is the future of the games industry. If you want to target iOS it's another $1500, and if you want Android it's another $1500 again, meaning you've got an up front cost attached of $4500. This is probably a bargain if you've got a solid idea, a bit of funding for your project, and you intend on making some serious money off the back of your game. If you're like me though and looking to learn game development and maybe punt out a game for 99 cents sometime in the far off future to see what happens, well, $4,500 is a lot more than I'm prepared to pay.
The last nail in the coffin for me using Unity was it's grey, somewhat bleak and a little bit daunting UI (seen above). I clicked a few buttons, got lost, and wondered for comparison what the UDK was like.
Unreal Development Kit
As soon as I launched UDK, having just experienced the greyness of Unity, I knew that was what I'd prefer. Shiny shiny UI is the oldest trick in the book, and it worked a charm on me. Unity was grey and imposing, whereas UDK beckoned me in with a 3D box and some moving clouds. It didn't tell me anything about which platform was technically better, but it told me straight off the bat that the people behind UDK had put a bit of thought behind what the user experience should be like for a beginner, which was obviously important to me because i had no clue what i was doing. Then there is the pricing.
UDK is free for non commercial use the same as Unity is, but it's only $99 up front for commercial use to PC, OS X and iOS, and 25% of what you earn after $50,000 of revenue. Android pricing seems to be hidden away behind a wall of salesmen. Well, $99 is pretty much impulse buy territory, so I can spare that if I ever want to release a game, and I figure that if I ever make a game that earns more than $50,000 then giving away 25% of everything after that is frankly a nice problem to have to deal with. Incidentally, I do not expect to make anything like $50,000 off the back of UDK, so $99 is probably the most they will ever see from me. I can live with that.
Lastly in UDK's favour was the fact that I could follow along with the excellent video tutorials on thenewboston.org. I know there are plenty of tutorials for Unity too, but these were the first set of tutorials I could find that engaged me and assumed I knew nothing about game development. I can't recommend them highly enough.
In the end, for me, it was no contest. Better UI experience, better tutorials found and better pricing. Maybe I'll regret not picking the option with C# scripting later down the line, but for now I'll be using UDK going forward. I've a few idea's for games I'd like to make. More on that later.