Originally the subject and information that form this post were a smaller part of an entirely different post. However, as time went on the amount of information I had written and wanted to include began to grow and grow until I felt it was detracting too heavily and straying too far away from the topic of the original.
I decided then to separate them completely and create an entirely new post dedicated to this topic. So today I’m going to be talking about my game developer ‘Loadout’. I’ll be going over what game engine I use and why, and also listing and describing any additional plugins and software I use in conjunction with or to complement my work. I’ll also be describing my setup and what hardware I use, so without further ado, let’s get started!
Start your Engines
As Game Developers we’re pretty spoilt for choice nowadays when it comes down to the subject of game engines and tools. We live in an exciting time where they are plentiful, powerful, easy to use (relatively speaking) and, most importantly, accessible. Long gone are the days of having to design, create and program your own solution entirely from scratch. Whilst many developers, especially the larger ones, still choose to do this, for small-time developers and people who lean more towards the creative side of things like me, this is a godsend.
Despite the many choices available, and the myriad of different features and workflows they offer, when it comes down to the development of my own projects I choose to use Unity 3D. My personal preference for and specialisation in this particular engine boils down to following key reasons:
Unity 5.5 Editor with showing Rift Village Level
During my final year at university I was part of a group-based development project that saw the creation of a game prototype called Planetary Warfare that was built in, you guessed it, Unity 3D.
Whilst my time in the engine was limited due to my role as Assistant Producer seeing most of my time being spent on other tasks such as project management and team organisation, I was still able to attain a basic, although limited, understanding of the engine and so became quite fond of its simplicity and workflow.
As it comes, Unity has very little in the way of built-in tools, especially compared to others. Whilst you can use plugins to add editor functionality or ready-made frameworks, it was Unity’s lack features that I found appealing.
Requiring a certain level of programming ability in order to harness the power of the engine meant I could simultaneously develop my design and programming skills. As I was also looking to solo develop and prototype my own ideas and projects, Unity’s extensive API documentation combined with its excellent user community made it an obvious choice.
Many of the tools available now are free to use and download, but this wasn’t always the case. Different engines have different licensing agreements and various revenue models attached to them.
At the time Unity was the only engine being offered initially completely free of any charge. Whilst their licensing deals have changed over the years Unity still offers their tools for free up to a specific revenue threshold. For small time developers like myself is great because it allows us to develop our games and get them out to people easily and without cost.
My experience, however, isn’t simply limited to just Unity. I have used different game engines in the past, such as Unreal Engine 3 and the Unreal Development Kit which I used extensively during my time at university. I also occasionally dabble and experiment in others such as Unreal Engine 4 and am a big fan of Epic’s easy to use and intuitive Kismet/Flow Graph visual scripting system.
Ask any developer what software and workflow they use and you’ll find the answers you get are as unique and numerous as the developers themselves. I personally find that Unity fits into my workflow and suits my current situation extremely well. It meets my requirements and despite the fact I’ve been using and specialising in the engine for around three and a half years now, I still haven’t tapped into its full potential and am indeed still learning new things about it all the time.
Weapons of Choice
When developing my projects in Unity I usually use like to use the latest stable release, especially if it contains important bug fixes, or there are new features that are cool or useful. I also have a number of tools and plugins that I like to use in all of my projects in-order to assist and enhance my workflow as well as add extra features to the Unity Editor. Some of them are paid for, some are free and others are custom.
Plugins & Add-Ons
A powerful tool that adds a flow-graph style editor and node system to Unity in order to aid in the creation of custom and more complex materials and shaders. If you’re familiar with Unreal’s Material Editor in any way, this is extremely similar and eliminates the need for understanding and writing of complex shader code.
Visual Studio for Unity
A plugin that allows the Unity Editor to interface with and seamlessly use Microsoft’s Visual Studio software as the default code editor and debugger for Unity. Once third party, it’s now integrated into the Unity as of v5.2 so using a great code editor with Unity has never been easier.
Custom Editors and Inspectors
Self-made scripts that add or extend the functionality of Unity’s built-in Editors and Inspectors, or add entirely new ones. Extremely useful for automating or speeding up complex or frequently performed tasks or functions, reducing mouse clicks and menu navigation. I use them across projects and tend to update and add features as and when required. (Example, See Left)
Software & Tools
In addition to Unity, I also use a number of different programs and software packages to plan, design and create content that feeds into my overall design or import and implement in engine.
Google Drive and Docs
For document writing and project planning I like to use Google Drive and Google Docs. Whilst I feel it lacks some features, especially compared to Microsoft’s Office line of programs, it does boast excellent collaborative and sharing features that make it really easy to work with others without overriding each others changes.
I use Tortoise SVN in conjunction with an SVN Server running on a dedicated computer to version and track file changes within all of the projects I am actively developing or prototyping. Being able to safeguard against potentially harmful changes by reverting them and restoring older versions of your files is critical and also super handy.
Free and Open Source 3D Modelling and Animation Software with great features that easily matches those of Autodesk 3DS Max and Maya. Its interface and tools can be a little confusing at times, but it’s always being improved and is a great option for developers, artists or animators looking to model, texture and animate static or skinned character meshes on a budget.
The next few aren’t strictly necessary for prototyping a game, but are useful should I require music or audio for my project at any point.
Propellerhead Reason 5
Excellent Music Production Software with a huge variety of included instruments and synthesizers that can be used to create anything from short chiptune loops to fully orchestrated pieces. Also highly extendable with a variety of free and premium ReFill instrument and sound packs.
Software is all well and good, but what use is it without something to run it on and use it with?
Desk & Setup
I have a workstation dedicated for the purpose of developing and prototyping games, and also creating and producing project work.
Having a decent amount of screen real estate is really important for productivity, so I have a dual screen setup which, honestly, is a must for anyone who wants to avoid having to constantly juggle windows and switch programs. My main screen is in a standard landscape orientation whilst my second is mounted on a monitor arm and sits in a portrait orientation; this is especially useful for viewing and editing code or reading long documents or webpages.
However, my primary monitor is not just a screen, it’s a Pen-Tablet Display; specifically a Wacom Cintiq 22HD Touch. Prior to this I owned a Wacom Intuos 4 Graphics Tablet which was a great piece of kit, it served me extremely well throughout my time in University and indeed for a few years beyond. Despite the fact that nothing was wrong with my Intuos 4, I decided to upgrade in September 2015 as I wanted to up my game when it came to digital drawing and artwork.
One of the limiting factors I’ve always experienced when using graphics tablets was a sense of disconnect between where I was looking and where I was drawing. I’ve always been able to draw on paper without much hesitation or thought, but found this inherently more difficult when it came to creating artwork straight into photoshop, especially for sketching and rough work. Having a Pen-Tablet Display and being able to see what I’m drawing appear right under the tip of my stylus, just like with pen and paper, has helped by further removing the barrier between the real and digital world and also by working with my natural hand-eye coordination rather than against.
As for my other devices; for keyboard, I use a Razer Blackwidow Ultimate with CherryMX Blue switches for a superior, and extremely clicky typing experience; and for mouse, I use a Corsair Vengeance M65 which has a quality build, metal frame and a really nice weight to it; and for headphones, I use a pair of Audio Technica ATH-MX50x Studio’s which are fantastic when I want to try and focus on work or just want to shut out the world as they are simultaneously sturdy and have excellent sound quality.
Computer & Hardware
- CPU – Intel Core i5 4460 (Haswell) 3.2GHz
- Memory – Corsair Vengeance LPX 16GB (2x8GB)
- Motherboard – Gigabyte Z97N-WiFi (Mini ITX)
- Graphics Card – Asus Nvidia GeForce GTX 770 2GB
- Primary Storage – 2.5″ 120 GB Sandisk SSD
- Secondary Storage – 2.5″ 750GB Western Digital HDD
- Case – Fractal Design Node 202 with 450w SFX Power Supply (Mini ITX Form Factor)
The Computer itself maybe small, but has great performance for its size. The main components i.e CPU, Motherboard, Memory, SSD were were bought especially for this machine, however, the GPU and Secondary Hard Drive are hand-me-downs from other computers. The memory was upgraded from 8GB to 16GB in March 2016; the case was changed from a Corsair 250D to the smaller Fractal Node 202 in July 2016; and the GPU was upgraded in Nov 2016 from an Asus AMD Radeon 6750 after I upgraded the GPU in my main gaming pc to a Nvidia GeForce GTX 1070.
So there you have it. I hope you enjoyed this quick little detour and forray into what I use to power and drive the development of my games and projects.
The truth is, nowadays, you don’t need anything near what I have to get into game development. A good specced laptop and some of your time is all you really need to get started on your journey, especially with simple Unity games. Some of the hardware and software I have is complete overkill and not suitable or even necessary for some people, and I wouldn’t recommend dropping a lot of money on things if you’re just starting out.
The hardware and software I use suits my workflow and style of development, and I would actively encourage everyone to try different things and different combinations of things in order to find what works for them both individually and budgetarily speaking.