What does it take to be a game developer?

Published March 2021, Written by Abigail Miller

Game development takes a wide array of skills and smashes them together to create a single user experience. To list a few, there is project management, game design, programming, 3D artist, animating, cinematographer, 2D artist, writing, and audio/music design. Although all those skills are components of game development, in my personal experience, I would say that programming is most essential. That may be debatable, but if you were to specialize or start with one skill above the others, I would start there.


Why are Each of these skills important?

Project Management

This seems like an easy one to pass over, but I am intentionally putting it at the top of my list. Developing a game takes clear direction and planning. The management process includes documentation, planning, setting clear goals, and evaluating progress and direction. Without solid project management skills, you will likely fail to complete a game or spend time doing work that does not add to the game development process.

Game Design

What makes a game fun? What sort of strategy will the gameplay have? How will the combat be balanced? What will the user experience be? Without proper game design, you are left with a game that may be confusing, unbalanced, and even unpleasant to the user experience.

Programming

Ok, so there is some game development that does not require programming. There are alternatives such as visual scripting/coding that do not require you to learn a programming language. But, the same concepts in programming are necessary for any process of understanding how things work. So, you made a button that appears on the screen, but what is it going to do when you click it, and how is it going to do that?

3D art

Technically optional, but popular in many different types of games. It is a necessary skill if you want to implement it in game development.

Animating

A skill of its own. This may include a process called “rigging” to add a “bone” structure to a 3D or 2D object to move it around. It is important to be familiar with character movement, and possibly combat actions, and maybe even lip-syncing.

Cinematography

The skill of making things look in just such a way that they are most convincing and compelling. You may know how to make cool 3D models with some detailed textures applied, but what camera angle does the player see the character through? What lighting is necessary to set the scene? What sort of composition should the scene have? This has less to do about how things look, and more how things feel.

2D art

Maybe you want to make a 2D game, or even if you make a 3D game, you will still want to be able to add the right colour and textures to objects. 3D models usually have a 2D image applied to them to give them their texture

Writing

Just about any game will have some sort of narrative. What sort of message do you want your game to have? Do you want to have characters that have dialogue? Do you want to have quests you can do in your game? Writing can be an extremely important aspect to make for a rich gameplay experience.

Audio/Music Design

This is last on my list probably because it is the skill I am least familiar with. For some games the music composition is one of the primary aspects that make them enjoyable. For most games music and audio may still be an essential part of gameplay, but it affects gameplay in such a way that it makes everything more compelling without necessarily drawing attention to itself. I am not at all well studied in audio or music design, but I do know that when I add audio to my development projects, everything suddenly becomes more interesting and more immersive. You may have background music, but you may also want audio for when your character walks, or when water is nearby, or when they jump, or when you cast magic or when an explosion occurs.


How Do I Make a Game?

The first place you probably want to start is choosing a game engine. Game engines are tools that can help you with graphics, coding, object management, physics, rendering, and formatting. They are not completely necessary to make a game, and having a “really good” game engine does not mean you will make a “really good” game. A game engine gives you tools, and if you know when and how to use them, they can add a lot to your development process.
So there are a number of game engines out there… How do you know which one to pick?

Quick Guide

If you don’t know yet what you want to do, or how to do it:

Use Scratch

If you are not completely comfortable with programming and want to make 2D games:

Choose between GameMaker and RPGMaker

If you are comfortable with programming and want to use the same widely approved tools as are used in the industry

Choose between Unity and Unreal

If you are comfortable with programming and community and ongoing development are important to you

Choose between Godot and UpBGE

Scratch

A free online tool that is a great place to start if you want to dabble into game development to learn the basics. Scratch is built so whatever skill (or age) level you are at, you can start learning to build projects. The tool gives you a resource for visual coding and a library of stock art. The development process is built in such a way as to teach the developer the fundamentals of programming along the way. The tool is surprisingly versatile, and you can create many different types of games with basic tools. Once you complete your project, it will be on the Scratch website, where you can share it online with whoever you like. To get more of an idea of what you can do with it, there is also a library of games on the Scratch website built by other developers that you can enjoy.

GameMaker

This is an option if you still feel a bit uncomfortable with programming and are willing to spend a little money on a more versatile tool. It can be bought either on a subscription or a lifetime basis, and if you are committed to furthering your game development journey, this is a great next step after Scratch. The software may take a little while to learn your way around for the first time, but you will have access to substantially more options for tools to use. It will be much easier to create gameplay that will give the user a more in-depth experience. You can easily export your game when you are finished as a computer game, console game, an app, or a browser game. Gamemaker is considered a professional development tool even if it is not the most common tool used for developers. It has limitations in that it is not built for 3D gameplay, and some things may be more easily done or organized if they were just scripted instead.

RPGMaker

This engine must be purchased, but is an ideal option if you want to specialize in creating the 2D RPG adventure. It is not required to be proficient and coding and although the engine is narrowing down your choices of what sort of game you can make with it, that makes it much easier to jump in and create substantial content with the specialized tools available.

Unity

If you are comfortable with programming and want the option to use 3D graphics, this is a great tool to use. It is free to download and use, but if you produce and sell a game, a percentage of it will go to the game engine developers. Unity is standard use for a lot of game development studios who have not already developed their own game engine. Because this game engine is popular it is a great tool to learn if you want to collaborate with others, it has a great community, many online tutorials, and a lot of free tools and assets built by other users. Unity can produce 2D or 3D games, the option for networking, and can export to just about any platform. If you want to just specialize in one engine and not rely on any other tools, this would be a great choice.

Unreal

If you want to start learning Unreal, you should also be comfortable with programming and 3D graphics. I consider Unity and Unreal to both be two equal competitors, but it depends on what you want to focus on in development. Unity has a slightly bigger community with more support and free tools and may have more freedom in development. Unreal is also an industry standard and is known for having better 3D rendering tools for sleek graphics and particles. It also provides an interface for visual scripting. I have had little experience with Unreal, but I have not specialized in that route because I have had the impression that it is more specialized in building 3D RPGs, first person, or third person games. I wanted versatility to make out-of-the-box games with unique user experiences and was probably not going to delve deeply into the rendering options that Unreal uniquely provides.

If you want to take a closer look into the impact of choosing Unity versus Unreal, here is someone who has done a deeper analysis in a half hour. https://www.youtube.com/watch?v=M5FEsrbsb_M&t=1035s&ab_channel=Pontypants

Godot

An open source solution to the game engine (3D and 2D capable). There are a few observations that I can make about it that do not come from personal experience. The engine has resources that make it easier to use if you are just beginning to learn how to program. Godot is a minimalist engine that gives you freedom to run without being bogged down by libraries. If you are using Blender for 3D modeling, Godot is able to work well with it. The engine also professes to have an easier solution for collaborating with a team in development. If you are looking for a more capable engine that will give you freedom and community connections without bogging your work down with extra libraries and features that you don’t want, this seems to be the ideal solution.

UpBGE/Blender

If you specialize in 3D rendering, if you support the open source community, or if you are already familiar with Blender, this would be a great tool to use. UpBGE is a branched off version of Blender, the 3D modeling software. This tool does 3D modeling, animating, texturing, sculpting, coding… everything all in one. It is great to have a single software that will handle just about everything needed in the game development process so you have a much sleeker workflow. This tool is not considered industry standard, but stands on about equal footing with any other game engine. The game engine has also received mixed support from users, some who have wanted Blender to focus on and specialize in being a 3D software and drop the game engine, and some who have wanted to keep the game engine alive and going.

There are many options for game engines. These ones are just highlights of where I personally recommend to start if you are unsure at first. I encourage you to do further research (there are a lot of resources that I’m not going to list here) if you are particularly wanting to know more about a game engine before you commit to it.


Additional Tools

Let's consider some additional tools of the trade you will want to have available to help you through the process.

Blender

The go-to open source solution to 3D modeling. It is free, and will cover any 3D modeling, texturing, or animating you want to accomplish. I highly recommend it. Blender is not industry standard probably because initial versions of it were considered confusing and difficult to learn. Newer versions are changing the interface a little though, to make it easier to learn as a beginner.

Maya

Maya is the industry standard for 3D modeling. If you have done computer graphics or animating in school, this is what you will have learned how to use. However, for the common-folk who do not want to spend obscene amounts of money on a subscription service when there are other tools available that are essentially equal in capability, Maya is not a reasonable option.

ZBrush

A great tool that specializes in sculpting 3D models. If you have a basic form and want to make it look much more realistic, Zbrush will help you make clean and attractive high detail models. This tool though is also not really affordable for someone who is learning game development.

Audacity

The free open-source option for any audio adjustments or editing that you may need. Does not include many features, but will do basic audio cutting, volume adjustments, and formatting.

Gimp

My recommended free solution for 2D graphics. It has a lot of tools. Probably more than you need for basic textures. The basic drawing tools and colour selection are way more advanced than you MS paint. In addition, this tool is helpful for creating seamless tileable textures and has the option to layer canvases together to help your workflow.


How long does it take to make a game?

The most accurate answer is “always longer than you think”
The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.
— Tom Cargill, Bell Labs
Here’s another look into how that happens:

Time Translation Table

Can I make a game like [Skyrim/Bioshock/Fortnite,etc…]?

I find this question asked in different ways by people who are interested in game development and do not know yet what it would be possible to produce for them. You may have a big idea for an epic game and want to know if it is possible. And yes, it is. Starting out with very little knowledge and experience though, it is like a child asking if they can build a rocket. And yes, you can. Maybe you will start out by cutting pieces of cardboard out, and it looks like a rocket but it won’t actually fly or take you into outer-space. And if you enjoy the process of making something you like, and want to share it with your friends, and become more curious about the components that make up a rocket, then that dream becomes slowly more possible. There are children who dreamed of making rockets who become rocket scientists and with a team of many other people and a good amount of money they are able to accomplish amazing things. Many popular titles that have struck big require a large team of people, a number of years, and enough funding to support the team throughout the development process.

    If you are the sort of person who enjoys the process, who is able to celebrate your progress, and who will continue to strive to learn and become better, then you have the potential to become a solid game developer. If you expect to create an amazing game in a week that will become a popular sensation and bring you lots of money… Then you are in the wrong place.


 I have an awesome idea for a game that I would like, How can I get it produced?

Game development takes time and investment. If you want a game developer to help you produce your idea and that game developer has any idea of how much work that will take, you would have to be prepared to invest a substantial amount of money in hiring them. Game developers who have invested time and have an understanding of how much work goes into a project will not easily sign on to your project unless they are substantially compensated even if you have a really cool game idea, even if they are a really good friend. If a developer for some reason does agree to assist with your dream, it is unlikely that they are fully aware of the time and effort that it would cost them to produce it. It is easy even for someone who is experienced to presume that they are capable of accomplishing much more for much less effort than is realistic.

    So, in most cases, I would advise that if you have a really cool game idea, you should go and make it yourself. If you have the passion and motivation to see your game become real then you will be willing to make it happen. If it is something that you enjoy, you will be able to appreciate it that much more to learn how every component and every detail works together to build the game. If you aren’t willing to go to that effort and still want to share your game idea, you can let game developers know, and if they are likewise passionate about the idea, maybe they can pick up the project themselves and make it their own. Game developers who have thought about game development as much as they have though probably have dozens of other ideas that they would like to be producing.


How do I get a job in game development?

 I’m not convinced anyone else knows. Game development, like the entertainment market seems to be composed of mostly a few really well known studios and maybe some independent developers that happened to have produced something cool in addition. My theory is that you either need to know someone on the inside or have produced a substantial body of work for yourself prior to being considered by a game development studio. And if you have already created a substantial body of work for yourself, you may just be as well off by producing and selling your own indie games.


The future of game development

From personal observation, it also seems as though society is moving away from traditional computer games, and maybe even console games too. Virtual reality and to a lesser extent, augmented reality seem to have taken a rise in the gaming community. Technology is really changing rapidly though. Computer games with rich graphics and compelling storytelling are not as relevant in today’s cultures. A lot of people have replaced their computer for a smartphone. The average person does not need to use advanced software, but only uses the internet to message friends, check their mail, social media, and browse the web. So fewer people feel the need for a computer, and spend more time on their pocket phones or tablets. The upcoming generations (and market) will not be introduced to the same video games that my generation grew up with, and will instead be introduced to app games. Part of me cringes as I feel a loss for the full experience one can get from a video game. App games are instead fast paced, short, easy to learn, and are made to be addictive. The experience is meant to feel rewarding and low effort. I cannot take the stance that they are inherently less valuable than the video game experience that drew me to them. But they are different, and carry a different meaning and weight to them.
   
Art is highly under-appreciated in our culture. So, yeah, anyone can draw. But if you spent literal months on a drawing, it is not worth much more monetarily in the eye’s of a customer than what someone else put an hour of time into in their inexperience. What you get out of it will not sufficiently represent the hard work and heart that you put into the project. Creating art is considered to just be a fun hobby. And it may be fun sometimes, but it also requires a large sacrifice of your time and effort that probably will go unacknowledged. It seems to be a truism that no one else will appreciate a work as much as the creator. The creator sees and knows every detail of how much effort went into different parts and then is rightly proud when he is able to share something with others.


Why then should I become a game developer?

There are many that dream of being game developers and never get anywhere. What if you could have that dream come true? When you become invested in something, when you learn more about something, it becomes something incredibly beautiful and valuable like nothing else. Being a game developer means that you are able to create a unique experience that you get to share with others. With that, you are also able to share a little piece of the love and hard work you put into your project. If you are excited about it, if you are curious about it, it will be worth all the effort that you can give it. There are so many things in this world to explore and discover and create. Game development is just a single path of many. Maybe you decide that it isn’t worth your effort or time, and then all the better for you. Hopefully you will be able to focus your effort on something more meaningful to you.