Getting Started

Getting Started

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!

Roles in Digital Game Development

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:

Programmer

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.

  • Gameplay programmers usually focus on the core gameplay mechanics in game
  • Engine programmers focus on coding the game engine that works behind the scenes. Making a game engine is normally a big investment and takes a lot of time (but is usually a good learning experience if you want to better understand what's happening in the background)
  • Graphics programmers usually work with the rendering engine, and can implement in-game special effects by using shaders
  • Audio programmers work on implementing dynamic sounds and music in the game, sometimes through the use of a sound engine
  • Network programmers work on adding the ability for the game to talk to servers, which is especially useful when making games with multiplayer functionality
  • Tool programmers make useful tools that the rest of the team can use to make their job easier
  • AI programmers create artificial intelligence algorithms, used in areas such as computer opponents (bots), pathfinding, and enemy tactic systems
  • Other roles, such as input programmers, backend programmers, database architects, and programmers that port games to other systems, may be needed depending on the project.

Artist

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.

  • Concept artists usually provide illustrations of the environment and characters to help set the tone of the game
  • 3D modellers create the digital objects found in 3D games, such as trees, buildings, characters, and other objects
  • Animators bring objects to life by making them move as realistically as possible in the game. Both 2D or 3D objects may need to be animated
  • The art director makes sure that the artists stick to a similar style and enforces a common visual aesthetic
  • Other roles include texture artists, lighting artists and VFX artists. These may be needed depending on the size and scope of the project.

Audio

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.

  • Sound designers focus on creating sound effects created by in-game objects. Sometimes, the same object might have different sounds to ensure that there won't be any repetitive sounds that play over and over again.
  • Musicians create the soundtrack for the game. Different styles and techniques may be required depending on the game being made; one game might need an orchestral soundtrack, while another might need something more electronic oriented.

Game Designer

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:

  • level design, where they make sure that the level is as intuitive as possible so that players are able to navigate without getting lost
  • system design, where they work on larger systems within the game such as economy, ecology, crafting, skill trees, or tier progressions
  • gameplay design, where they work on coming up with new characters, weapons, items, and other such content in the game, and making sure that everything is as balanced as possible so that one strategy isn't much better than the others

Quality Assurance

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.

Producer

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

Other roles commonly found in games include:

  • UI designers, who focus on the user interface throughout the game, making sure that everything is legible and understandable and that all information is easily available to the user.
  • Game writers, who work on the narrative of the game, provide worldbuilding, write dialog between characters, and provide suitable written material for menus, among various other roles.

Game Engines

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
Unity Unreal GameMaker Godot
Twine RPG Maker Defold MonoGame
Twine RPG Maker Defold MonoGame

Programming Languages

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.

Working Together

"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.

Meet New People!

"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.

Promotion

  • Do you have a personal website that you can use to showcase your projects?
    • If not, you should consider making one. We're of the opinion that every game developer should have a website to showcase their work and to express their thoughts on current gamedev matters and on the latest trends. This also makes you searchable on the Internet, and can be referred to during job interviews.
  • Do you have a website for your team?
    • At the very least, you should have some form of online presence such as a Facebook page that people can find to learn more about your team and the games you're working on.
  • Do you have a Twitter account?
    • Twitter is frequently praised by other game developers around the world, since it facilitates communication between game developers. It allows global gamedevs to talk to each other, encourage each other and promote each other's work. You might even find a working partner through Twitter!
  • Do you attend events?
    • When you have a demo to show, you should consider attending events, and get as many people possible to play your game! It's a good chance to get some valuable feedback.

This article is way too long. I just want to make games.

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.