Written by: on July 25, 2017Tags: Inspiration, Women in Tech
We’ve had many girls ask us what it’s like to work in the gaming industry and how it all works. We caught up with Jonathan Bunner, a friend of ours and a developer in the industry, to give us some insights and top tips about getting a career in gaming. Jon has been working as a gameplay programmer in the video games industry for the past 9 years. During this time, he’s been lucky enough to work for developers like Crytek (Crysis) and Bizarre Creations (Project Gotham Racing, Blur), working on a range of genres, from Racing games to first person shooters for Xbox, Playstation, and PC.
Day-to-day a gameplay coder will typically work closely with teams of Animators, Artists, Game Designers and Coders to help make the studio’s vision of the current game a reality. Designers first decide what the game should be, the rules, the setting, and how to make it fun. The artists create the models and artwork that will make the game look exciting and shiny. Animators take these models and make them move in wonderful ways. Finally, the code team’s job is to get all the different bits to work together (e.g. creating the gameplay features, tools the animators need, any fancy special graphics) to produce the interactive game the designers envisioned. Finally, QA (Quality Assurance) come along and let the coders know about all the weird and wonderful bugs that need fixing!
In my experience, the industry standard for PC and Games Console titles is usually the C++ language. Whilst I love it – at first glance it sometimes seems a little daunting when compared to some other languages. Don’t be worried if you’re just starting with it though! Nearly all the core programming concepts learned in other languages are just as applicable in C++.
Nearly all games are written using some form of ‘Game Engine.’ A Game engine is some special software designed specifically for the creation and development of video games. It’s basically a program with the specific purpose of helping people to create their own games much more easily! Development studios sometimes write their own game engines (but this takes ages), or they just use one another company has already made.
There are many great game engines that you can download for free and use at home to start creating things (releasing a charged-for game requires a paid-for license).
Game Engines such as Unreal Engine and Unity are both fantastic free products for you to download at home and experiment with. Give them a try! They are both very powerful tools, and each supported with detailed documentation and friendly online communities.
The best part is when you get stuck, there is always someone somewhere on the forums that can help you out (this has saved me hours of time!)
Unreal Engine also have hundreds of you tube tutorials helping you to learn the core concepts of game development by working through some simple game examples (i.e. a simple top down tanks vs zombies shooter game), or focused in more detail on particular features. Whilst they can often focus on the visual scripting side, all the concepts and knowledge can directly be transferred to code.
In addition to the core programming, there are actually a few things that really help to become a good game developer that aren’t necessarily so obvious.
Firstly, it never hurts to know a bit of maths. Let me start by saying that I really disliked maths at school! I always wondered why anyone would ever want to work out the angle between a ladder and a wall. If only somebody had told me that this sort of 3D maths would be useful for coding games, I would have worked much harder. For example, it can help if you need to do something like work out the angle to turn a monster to face the player and spit goop. Or perhaps you want to work out if the player is close enough to the treasure chest to open it, and get the amazing stylish adventurer hat. Suddenly it all seems more interesting and I wish I’d paid more attention!
Also, communication, and collaboration. Most day-to-day game development involves working with teams of artists, animators and designers. It’s always good to see coders with experience of working in a team of a group of people to produce something. Once you get comfortable programming, find some other people who want to make games and try making a project together. Although it’s not unheard of, very few games are created by one person alone. Good places to meet other developers are at local meet-ups, game jams, on twitter and in other online communities.
Employers will nearly always look for coding applicants to have a strong degree in programming/computer sciences, and most likely want to see experience with C++. Whilst this is the usual way of things, this isn’t always the case – I’ve occasionally known coders without any ‘formal’ qualifications, but who have a strong portfolio showcasing projects they had made in their spare time, or successful applicants with little C++ experience, but experience with other programming languages, and bags of enthusiasm. Any 3D maths qualifications are also a very strong bonus (but not essential).
The most important thing is to find a way to show employers how passionate you are about making games, and the best way to do this is to make stuff! As well as learning a lot and having fun, things you make can be used in a portfolio to show off. It really helps you stand out from other applicants too. You don’t even need to worry if any demos you write don’t look ‘visually’ fancy. Coders understand that often the coolest things happen behind the scenes. As an example, my first portfolio had a demo of some characters (including a dog) using some Artificial Intelligence to navigate around a scene and collect power-ups. The characters were just cubes with badly drawn faces on, even the dog (I’m not cut out to be an artist!) but it worked as it got me a job.
Another route I’ve seen becoming more common is to get a job as a member of the QA team (a games tester) to get your foot in the door, then progress from there. I’ve worked with several programmers who originally started off testing games, but learned to code in their spare time and ultimately applied for a job as a coder. Having worked in QA (e.g. for a summer job) whilst learning to code, can also just look great on a CV just to show how much you like games and it can also give you good experience of a real studio environment.
Just stick at it, keep learning, and keep making things!Back to news and views