Skills Devs Need to Develop Games
Skills Devs Need to Develop Games
The suggestion mentioned more than once was knowing the Unity platform and the different levels of programming and design. What's not mentioned but is implicit, is, luck.
Join the DZone community and get the full member experience.Join For Free
Jumpstart your Angular applications with Indigo.Design, a unified platform for visual design, UX prototyping, code generation, and app development.
To gather insights on the current and future state of Game Development, we talked to eight executives involved in game development in some form or another. Here’s who we spoke to:
- Sid Sharma, Lead Developer Evangelist, Agora.io
- Joseph Lieberman, Director of Marketing, Antlion Audio
- Otakar Nieder, Senior Director, BISim
- Perry Krug, Principal Architect, Couchbase
- Patric Palm, CEO and Co-founder, Favro
- Doug Pearson, CTO, FlowPlay
- David Lord, CEO, JumpStart Games, Inc.
- Brian Monnin, Co-founder and CEO, Play Impossible
- George Buckenham, Lead Programmer, Sensible Object
Here's what they told us when we asked, "What skills do developers need to be successful developing games?":
- 1) Business skills – understand the business model. As service companies have the highest valuation. Riot Games is a money machine. 2) Hard skills – C++ is less important than mastering Unity and the different levels of programming and design. Be T-shaped – deep skills but broader. Be prepared for a more blurred team effort. 3) Soft skills – work in an agile fashion, become more of a leader, be a flow-based worker, improve people skills. Be able to work on small autonomous teams with bigger responsibilities than before (i.e. special forces).
- Build your way up. Not every game is going to be a success, but you can learn something from every game you build. Think about how to improve the game experience by bringing in external APIs and out of the box solutions.
- It’s important to know marketing and social media, especially if you’re with an independent game dev company. Don’t be afraid to do something new. We need people good in math, linear algebra, 3D space problems, and analytical thinking.
- Persistence. I think that may actually be the only skill you really need. Even the ability to code is secondary (seriously two of the multi-million dollar games above were done by folks who knew nearly nothing).
- As always, great user experiences, fun games, and technology execution remain key drivers of success. Developers need to be able to deliver that experience and therefore need to be a key part of the game team, be game players and understand the current trends. Trying to understand why something was done…get under the hood a bit and think about it from a different point of view than just as a player or just as entertainment.
- 1) Creativity. 2) Player empathy. 3) Willingness to fail. Iterate and test constantly refining based on the statistical feedback. Play-test early and often. Fail fast and often. It’s like the performer who’s played for 20 years before being “discovered.”
- Have as much awareness and skillset of the entire stack – both the frontend and the backend. Be aware of what’s happening with your app – the database, data, how the data is collected, and how it is exposed to players.
- Any serious game developer today needs to be good at cross-platform development. It’s a new technical skill that wasn’t necessarily needed even five years ago, but to keep up with where the industry is headed, devs need to be good at multiple platforms and understand the constraints of building across multiple platforms. Having the skills to do that is certainly challenging from a development standpoint: how do you write code that works on these different devices, how do you debug on different devices, how do you even have a functional way to create software and test across all of these different devices?
- In my opinion, the future of game development is going to include more and more cross-compilation and cross-platform support where a single technology is used across many platforms. We’ve chosen Haxe to achieve this, and while it doesn’t necessarily have to be Haxe, the skillset is very similar to other cross-platform solutions. Say you’re using Unity, it uses the same model where everything is built with one language (C# in this case) then can be deployed across various platforms. Ultimately, while the language is different, the skillset of working cross-platform isn’t really that different at the individual developer level.
- There are a lot of different disciplines and a spot for just about everyone. I would say almost every position requires you to be technically savvy with a computer, and you have to be willing and able to learn. Looking for answers online is how we survive. Programmers need programming skills. Artists need to know how to make art, especially 3D art. Managers need to know how to lead and set hard deadlines. Audio people need to know how to do 3D positional audio as well as tell stories through their sounds. Designers need to know how to script and communicate their ideas easily. There are dozens of other positions, most of which need to know how to do what their title states. Knowing how to code or work in an engine is always useful.
What else do you think developers need to know to be successful in game development?
PS: Tune in tomorrow for the release of our Game Dev Guide!
Opinions expressed by DZone contributors are their own.