Establishing a little “Unity” to my development

February 22, 2015

jetroid

Lynda.com’s Unity Essential 2D training “Super Jetroid” (above), Unity Technologies’ 2D Roguelike (below)

2D-Roguelike

 

I find it amusing that even less than ten years ago there were few tools beyond straight programming for someone to use to develop a video game. Nowadays I actually struggle with the myriad of game engine choices! Do I focus on Unreal Engine? CryEngine? Game Maker? Construct 2? Source Engine? Flash?

Well, as a beginner it’s best to approach engines that are simplified. They’re less discouraging. Engines like Construct 2 and Game Maker can allow you to rapidly-prototype games.

Once you’ve become accustomed to the basics, and have a familiarity with scripting/programming (this is where I am), I think there’s merit in moving towards a more professionally-utilized game engine. For one, it allows you to produce more professional-looking games and reach more platforms. But also, once you have demonstrated skill with an engine it might help you get a job with a company who uses it (or something similar) 🙂

So I’ve pushed ahead with Unity3D. Throwing my eggs into this basket means I don’t have to keep on re-learning interfaces and scripting languages – I can just stick to one. Unity3D also is very versatile, allowing for development of a variety of games in 2D and 3D styles. There is also a lot of overlap with Unity3D and other professional engines (like Unreal Engine 4), such as managing assets, attaching scripts, and using state machines.

 I undertook a “Unity Essential 2D Training” tutorial on Lynda.com which I found was very helpful in a number of ways. Not only did it allow for a start-to-finish development of a tile-based 2D game, but it also used a variety of Unity’s features, acclimatizing me to Unity’s UI (which can look quite intimidating if you don’t understand it!)  It also demonstrated a basic workflow approach to development, which was great to see. You can develop a variety of scenes in Unity, and create some just for “staging” (testing) various components of the game. Once you’ve done this, you can create prefabs of your objects and just drop them all in a scene. Previously, I used to test features in the actual game, and this compartmentalizes this aspect nicely. Once your features are fine, just build a number of scenes (levels) and you have your game!

Following this, I noticed a brand-new “2D Rogue-like” tutorial was released by Unity itself. As this game uses procedurally-generated levels, it takes a different approach to the game development workflow. You build a “game manager” which handles the implementation of all the key assets into the level. While this was more complex in its programming, it is invaluable to see how to construct something like this.

Moving forward, I am looking at some small-scale game projects, modding one of the above games and using it as a base for the new game. Considering I work full-time and have other familial responsibilities, taking on a game of epic proportions would likely be a bad idea (it hasn’t worked in the past!) I was contemplating modding the Roguelike to either [a] be a unity version of my text-graphics C++ roguelike, or [b] make a game about Diabetes-awareness. I’m also always on the lookout for more Unity tutorials to help solidify the programming/development skills. We’ll see which comes to the top!