If you have tonnes of game ideas and want to make them a reality, then you've come to the right place! Here's an overview of the areas involved in game development and how you can get started making games!
There are various different roles needed in game development, depending on what sort of game you're making. Here are some of the typical examples:
Essential to the game development process, a programmer brings the game designer's ideas to life by means of code. Programming can be done in several different languages, depending on what you're doing and the platform you're programming for. Some common examples include C#, C++, Java, Objective C, and JavaScript, among many many others. Programmers may also make use of different game engines to make their work easier, as well as any additional libraries.
Programmers come in different flavours.
Also essential to the game development process, an artist provides the visuals that are essential to the game's experience. More artists use different mediums to provide graphics. These involve traditional art styles, digital painting or 3D modelling. Some artists work as animators to bring their creations to life. Most artists use specialized software to work.
Artists also come in different flavours.
Often overlooked, the sound and music in a game is essential to the core gameplay experience. Both sound designers and musicians use lots of different types of software and hardware to create the right atmosphere.
Contrary to popular opinion, the game designer is not "the idea guy". Rather, the role of the game design is to come up with interesting game mechanics for the game, as well making sure that the game is completely balanced for different play styles. Some roles of game designers include:
Quality assurance involves testing the game and giving feedback to the programmers and designers about any problems that occur while playing the game. QA always makes sure to provide a reproducible list of steps the testers that they took for them to see the problem.
The production team is usually involved in the scheduling and organization of the rest of the development team. They make sure that the rest of the team stays on track and can do their jobs as efficiently as possible, and often step in to resolve issues if some members are blocked by tasks. Good producers can ask management for extra resources if the team needs specialist help, and can help prioritise tasks based on what is needed the most.
Other roles commonly found in games include:
When making a game, there are two options. The first is to create a new game engine from scratch, which is custom built for your project. The second is to use an already available game engine and tweak it to your needs. The question "Which is better; using a game engine or making my own?" has no right answer, it all depends on your project and the level of control that you need. Some programmers prefer to create their own game engine to fully understand how certain features work and to have very specific control over certain parts of how the game works, while others are of the opinion that if you want to make games, you should be making games, and not game engines.
There are lots of different ready made game engines that you can use if you want to make a game. Here are some of the more commonly used engines and frameworks:
Unity | Unreal | GameMaker | Godot |
Twine | RPG Maker | Defold | MonoGame |
A common question that gets asked is "Which programming language should I use?". And the answer is that there is no best programming language. It all depends on your level of experience, and on your project. Different programming languages are good at doing different things. Before starting a project, read a bit about the language, see what other people have to say about the language, and see if you feel comfortable making a game in it. Chances are that there are several high profile games that have been made in that language, and several tutorials written for game development in that language.
"But how am I supposed to do everything? Coding takes time! Making graphics and sound takes time! I'll never finish!"
Instead of focusing on doing everything yourself, a good idea would be to work with other people that are interested in making games. Grab a bunch of friends, form a team and start making games! This allows you to fully concentrate on your role, and team members can encourage each other during the challenging parts of game development.
"None of my friends are interested in making games. What do I do now?"
You should attend gamedev related events! This gives you a chance to make new friends and meet new people. Go to game jams, and make a game in 48 hours with people you've never worked with before. Participate in discussions on groups, websites, forums and Twitter. Making successful games is about networking and meeting people as much as it is actually making the game.
Great. Grab a couple of friends, decide on an idea that you think is doable, decide which role each of you is going to have, and get cracking! That's all there is to it! Ultimately, you learn how to make games by making games.