Whenever I show the game to somebody, one of the questions I universally get asked is of course on which platforms they’ll be able to play it on. My response to this is pretty standard since I’ve been designing the game for iOS, Android, Windows, and Mac from the very start, but when I throw out that list of platforms the next question is always “how are getting it on so may different platforms” or “what are you using to build it”?
That’s where Unity 3D comes in.
If you’re in the video game industry, you’ve most certainly heard of this game engine by now because worldwide, there are more games being built using Unity than any other game engine on the planet. But for those of you that don’t follow game technology, Unity 3D is an extremely robust, visual, and sophisticated game engine that allows you to write your code once and automatically publish builds on all the major desktop, mobile, and console hardware.
At it’s core, Unity has written all the complicated low level necessities for a game like being able to draw pixels to the screen, loading 3D models, texture and image management, sound, animation, lighting, physics, scripting … the list goes on and on. But the real magic lies in its ability to write your code once and literally with the push of a button “export” your game to different platforms.
The second piece of magic in Unity is a little harder to quantify because it permeates every facet of it in that the entire technology is organized extremely well and is built in such a way and with certain concepts that really remove a lot of the traditional headaches of building a game.
At a previous big game studio I served as lead programmer and was responsible for evaluating and selecting game engine technology for the team, and during that time I personally evaluated a lot of game engine. If I were to ever build another game engine from scratch, I would certainly borrow and implement a lot of the concepts and philosophies behind Unity because yeah, they’re that good 🙂