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!
Comments, criticism and suggestions are more than welcome; just send us an email.
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:
- 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).
- Graphics programmers usually work on graphical special effects in games by using shaders, which communicate directly to the graphics card.
- Sound programmers work on adding sounds and music to 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, making development easier.
- AI programmers create artificial intelligence algorithms, used in areas such as computer opponents, 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.
- 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 will 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.
- Conrary 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.
- There are different types of game designers:
- Level designers are responsible for designing levels in the game. They make sure that players are able to navigate through the level without getting lost, as well ensuring that the level is intuitive.
- UI designers 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 are responsible for the narrative of the game, as well as writing out any dialog between characters and other in-game written material.
- Quality assurance involves testing the game and giving feedback to the programmers and designers about any problems that occur while playing the game, and the steps the testers took for the problem to occur.
- 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 doesn't take the game in a completely different direction.
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, 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:
Other engines include Twine, RPG Maker, CryEngine, Adventure Game Studio, LÖVE, and tonnes more.
For example, Minecraft was made in Java, while Magicka was made in C# using Microsoft XNA. Hotline Miami and Nuclear Throne were made in GameMaker, while games like Gears of War and Antichamber were made in the Unreal Game Engine. Hearthstone was made in Unity, while To The Moon was made in RPG Maker.
As you can see, there is no best language or best engine for making games. The engine is simply a tool designed to make your life easier.
"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.
Guest lecture at the Institute of Digital Games
"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.
- 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.