With the release of Unity 5, developers using the game engine have more power handed to them than ever. With an overhaul of the lighting pipeline with realtime Global Illumination and the audio pipeline with advanced audio mixers, and perhaps the most important new change, the Personal Licence, providing all engine features for free, now is the perfect time to start developing a game with Unity. But how does one get started? Here are a few tips if you’re making your first ever game.
Aim low for your first product
It doesn’t matter how ambitious you want to be; you need experience first. We all have that ‘great idea’, and the time will come when you’re ready to give it a go, but for now, you’ll need to take a step back to work on the basics. First of all, go grab Unity (this post will focus on Unity, but most of the stuff I’m talking about should be applicable to most game development tools), and make something, anything, with it. Make a primitive sphere roll around on a plane, add textures drawn in Paint, do anything you wish; just playing around and getting to grips with whichever editor you’re using will be an invaluable experience. This ‘trial’ stage can last as long as you want, but make sure you’re comfortable before moving on – my Unity trial stage lasted about two months (although you can see a definite increase in proficiency from start to finish).
Just make something, even a fundamentally broken game like my first attempt.
Use online resources
I can’t begin to tell you how useful the Internet is when it comes to tutorials, questions and answers, cheat sheets, podcasts, you name it. If you get stuck on something, odds are someone else in the world once fell into the same pitfall as you; seek out how they fixed the problem. Unity in particular has some of the best forums for help, especially their Answers section. Of course, you may also find it helpful to have a few books to hand, although these can sometimes be pricey. I’ll include a full list of resources that helped me at the end of this post, but as a general rule of thumb, give questions a quick Google before you ask them online.
The guys at Extra Credits are phenomenal – this video is all about getting started.
If it all falls apart, don’t worry!
It happens to the best of us. We slave over a project, we polish it to hell, we release it into the world and… and it just doesn’t work. We show it to a friend, and they produce a list of errors rather than the compliments and . Your game, for whatever reason, just doesn’t feel right to everyone who isn’t you. This is an extremely easy time to just give up on your project, but rather than sulking into a corner and throwing away the progress you’ve made, listen to the comments you’re getting and take them as constructive criticism. It’s much better for you if these fatal errors are found early on, so every time you implement something big in your game, go find a heavily critical friend and see what they think. And never, ever reply to someone’s criticism with a list of why they’re wrong – you need to listen to your target audience and market your game towards them. And besides, you’ve got this far already, so just give your game that extra push it needs and it’ll turn into the vision you had in your head when you began the project.
Oh God what was I thinking.
My old game, Project Spikes, went through several iterations and confused players about 99% of the time. But I kept going with the project and attempted to fix as many of the problems with the game as I could, because it was a valuable learning experience for me. In the end, the project ended up down the toilet, but that doesn’t mean it was a waste. Many of the techniques and assets I developed are still useful now, so the game was a huge lesson in level design, asset creation and how to script with Unity.
- Make lots of small games. There’s no better way to increase your creativity and hone your skills than setting a small timeframe and aiming for a game that focuses around only one mechanic.
- Use assets online. There are tons of resources and content-generating programs available, some with a free-to-use licence.
Resources I found useful
- Unity Community pages – Forums, Answers etc. – One of the nicest developer communities out there.
- Unity’s YouTube page – especially their Live Training videos, which can also be found on the Learn section of their website and on Twitch.
- The Asset Store – many free and paid assets are available here for all purposes – textures, models, sounds, scripts, editor extensions… everything!
- Unity Manual/Documentation – specifically, the Event Function Execution Order flow diagram.
- Brackeys – an independent bunch of awesome people who make high-quality tutorials on Unity and C#. Also see their forum.
General Game Design:
- Every Extra Credits video in existence – these guys are amazing.
- The various Indie developer groups on Facebook – just don’t ask them complete newbie questions like “what’s a for-loop?”. Some good ones are Indie Game Developers, Indie Game Promo and Indie Game Chat.
- Game development competitions and jams, such as Ludum Dare/MiniLD, Global Game Jam, One Game a Month and 7DFPS are a great way to get started, especially ones that give a theme to work towards.
- Bfxr – a sound generator. Great for sound effects and other little snippets of audio you need for your game, and easy to use, usable in your browser or as a standalone download.
- Pyxel Edit – Very simple program, nice for pixel art, and cheap. There’s a trial version too.
- Chronolapse – For anyone who wants to document their game’s development, this is a cool tool that takes screenshots every few seconds, then stitches up a video at the end. Great for 48-hour jams.
If you have any other great resources or tips you think I’ve missed out, feel free to comment below!