Game Programming and the Unity Game Engine
by Ryan Zec on Apr.18, 2009, under Game Programming, Unity
Now I have always been interested in game programming ever since I played Starcraft and Diablo 2, which are still 2 of my favorite games (man Blizzard makes some of the best games that can last forever). The first language I ever learned was VB, version 6.0 I think. It was an ok language but not really designed for the creation of games (at least not the level of Starcraft /Diablo 2). I moved on and started to play around with C++ since it was and still currently is the industry standard for game programming. Now I have done a few things with C++, the biggest being a 3D particle system along the side of 3DBuzz’s C++ video series.
Along the years of programming my goals have changed from creating a game engine and and then a game to just creating a game and there are a few reasons for this change of mind. The first main reason is that I know I can’t creating anything as good that already exists and that I can afford to license (I know my limitations). With game engines like Unity (starting at 200), Torque (starting at 295), and C4 (starting as 350), unless your main goal is to learn the inner workings of a game engine, there is no reason to really build a game engine from scratch yourself (and even if it is, buying C4 is still a good option to learn the inner workings of an engine I think). Chances are you don’t have the resources to build an engine like the companies of those engines do (tho C4 is surprisingly great even tho it is developed by 1 developer). Another thing is that maintaining and improving a game engine is a full time job so if your goal is to create a game, building and maintaining your own engine with suck a lot of time away from that. Lastly, out of creating a game and creating a game engine, I have a higher desire to create a game.
My First Engine
So I started to look into some existing game engines and the first engine I thought was good and bought was Torque and then TGEA. While the engine is ok, it is basically a 8-10 year old FPS game engine (Tribes is built from this engine) and they basically took the engine and just patched it up. The documentation for the engine was very poor. While it has a lot of resources, a lot of them are incomplete or linked to non-existing pages and are hard to find the specific resource you needed. Another thing I did not like is that unless you want to build a FPS, you will have to do a lot of core engine modification (and it being 8+ years old, not very clean code).
Unity
A different engine caught my eye about 7-9 months ago and the engine is called Unity. The thing that caught my eye about it was the editor it came with. All the editing tools are wrapped into 1 very slick clean looking IDE (the best of any engine I have seen). The only issue with the engine was the development tools were only available for the Mac OS (and since I recently bought a new laptop and would never buy a Mac desktop, I could not use the engine). About a month ago, Unity release version 2.5 and the major thing with this release is that the development tools now work on Windows too. Over the past few weeks I have been playing around with Unity and so far I am quite happy with it but I will write a post with a more detailed review a little later.