GDC 2017 at the end of February confirmed what has become obvious in game development: things change quickly. We saw the release of Unity 5.6 at the end of March, and VR is set to redefine the way we create and experience games. With so many creatively-named headsets slated for release over the coming months, there will be plenty to keep tech reviewers happy.
So what does the landscape of Games Dev in 2017 looks like? And what do new developers need to know? What tools should they be learning? And how do they know when to try new ones?
Packt asked three expert developers – Alan Thorn, founder of Wax Lyrical Games, Visiting Lecturer at the National Film and Television School and London South Bank University, and author of Mastering Unity 5.x, Maciej Szczesnik, freelance developer, Lecturer of Game Design at Warsaw Film School, and author of Unity 5.x Animation Cookbook, and John P. Doran, a Lecturer at DigiPen Institute of Technology and author of Game Development Patterns & Best Practices – for their thoughts on 3 things young developers need to know.
What are the most important tools for budding games developers to learn?
According to Szczesnik and Thorn, Unity and Blender in particular are the need to-know tools for any Game Developer.
As an independent developer, Szczesnik is always looking to optimize his workflow because, as he says, “faster iterations mean that you can basically do more”. Szczesnik mainly uses Unity, Blender and Substance Painter for his work as the three combined give him a “good, and relatively inexpensive, base” for game development. What budding games developers should master, however, depends entirely on what they want to specialize in.
He says, “Unity is my game engine of choice – it’s super friendly for the developer and gives a lot of freedom. If you want to be an indie game developer, you should choose your favorite engine and start by learning that. 3D tools are also essential if you’re planning to create 3D games.”
“I think Blender is a great tool for indie game developers - it’s free and quite powerful in modeling, sculpting and animation. There’s lots of other 3D packages and sculpting tools but I prefer Blender because you can stay in one package while performing all those 3D tasks. Substance Painter is also the fastest way to texture your model if you want to use PBR materials.”
“My three most-frequently used tools right now are Unity, Blender and Photoshop”, says Thorn. “I love each for their unique power and versatility. Unity makes game development highly accessible to teams and individuals, and Blender has such a vast array of features that it does nearly everything. Photoshop is there to support critical image edits, which are always needed. But, most powerful of all, is how these tools work together in a practically seamless way.”
“Newcomers face many different tools, all offering the promise of making development simpler. The mistake is to try learning them all at once. Focus instead on just one or two related tools (like Unity and Blender) and to become masterful with them. Achieving this makes the translation to other tools smoother.”
Doran uses a whole host of tools when he’s creating games. He says, “The game industry is a very fast moving industry. In order to stay competitive you need to explore new things being introduced. I have already been working with both VR and AR applications in my work before and I am very excited in seeing how to build projects with them in the future. After I finish my current projects, of course.
For creating assets, Adobe Creative Cloud is his go to, while Visual Studio 2015 and Sublime Text 2 are his main tools for writing code. But the skill developers really need to learn in his opinion? Microsoft Office.
“When I’m making games, I tend to change what tools I use based on the role I’m undertaking,” says Doran. “As a designer, being able to work on documentation is a must. I use Microsoft Office, specifically Word and Excel, a lot, and they tend to take up a lot more time than people would think when creating design documents.”
Games Dev is a constantly changing industry. How do you choose the right platforms and tools for developing your first games?
The launch of Amazon Lumberyard and changes made to CryEngine and Unreal suggests that Unity is arguably the biggest platform for game development at the moment – but that doesn’t necessarily mean it’s right for every developer. If you’re just finding your feet in terms of what tools work for you, it can be pretty tricky to know where to begin. So how should you go about choosing the right tools for your project?
“Unity is particularly suitable for indie games and small studios because of its huge community and the Asset Store,” says Szczesnik. “I think that the true choice is between Unity and Unreal, though. CryEngine is cool, but not a lot of people use it, and I personally don’t know a single person using Lumberyard. This may change in near future, but it will require much more than making an engine free. Most people don’t want to learn new tools unless those tools allow them to create even better games and experiences.”
“Developers now have many options available for a game engine, and most of them are free,” adds Thorn. “The share and balance between engines could easily change over the new few years, fluctuating from one engine to another, but what matters most is that your chosen engine is the right choice for your project. When you’re working, ask yourself: can this software do what I need effectively, efficiently and easily?”
“Having said that, every application has limitations,” he continues. “Programs like Unity or Unreal, for example, can only run on specific operating systems and versions, on specific hardware, and different versions of the software support specific features and third party add-ons. These limitations can affect how and when you can use the tools. Nevertheless, becoming aware of those limitations is the first step to empowerment, because you can devise clever strategies for working within them to achieve what you need.”
Szczesnik echoes this sentiment, adding “I always try to optimize my workflow, so if there’s a tool that I can use to speed up a process, I most probably will. Sometimes it requires one myself. Even if the tool I create is buggy, and used for one sole purpose, it pays off in most cases.”
“Choosing the right platform/tools for your project is something that's very important, as you'll be spending a lot of time using them,” adds Doran. “That's why it's always a good idea to keep informed on the newest trends and things being used. But remember to keep in mind if you're doing something new how long it'll delay your project's development. If your main goal is just learning that's one thing, but there's only a certain number of hours you'll be able to work on your project. It's up to you to decide how it's best used.
“In terms of what platforms you could be consider, while I certainly think Unity has kind of taken the lead in recent years when it comes to indie development in small teams, I would say Unreal Engine is still quite a great engine to work in,” says Doran. “It has a soft spot in my heart because my first job in the industry was working with it. Unity and Unreal have an advantage in that there are so many other people using it. Because of this there is a lot of resources out there to learn from.”
“With CryEngine and Lumberyard, however, the reference materials are somewhat lacking in comparison for small or single person teams. Not too big of a problem if you’re a seasoned developer, but it would not be a good place for a beginner to start.”