This lesson will get you acquainted with the range of tools used by game developers, from those just starting out to professional studios.
There was a time when developing a game meant programming an entire system yourself, creating a way to display pixels, load levels, even to make it possible for others to open and run the game. However, after years of solving the same problems over and over again, game engines were developed to help manage a complete game project, allowing creators to keep track of assets like sounds and 3D models, interconnected scripts that control them, keep track of how all these elements connect together, calculate the physics that moves objects through simulated space, and test the game, all in one place.
Unreal is an extremely powerful and popular game engine created by Epic Games, known for its beautiful and complex graphics. It is used in many well established game studios, but can be daunting for a new game developer. You can learn more about games made with Unreal Engine on their website.
Unity is another popular choice, both for professional studios and amateur creators. It includes a store, where developers can purchase assets like 3D models and game systems. Unity’s personal license, like Unreal, is free to use, and will only charge creators if they earn a certain minimum revenue on their games. You can find a list of games made with Unity on their website.
Godot is best known as the free and open source game development engine. This means that not only are creators never charged, regardless of how much revenue the game makes, but that they can also edit and change the engine itself. Here is a video of some of the top games made in Godot to see what is possible in this community-created resource.
C++ is the most commonly used language in Game Development because it allows the most control over how a machine manages information. Because games require a lot of processing power to make realistic graphics and physics, being able to customize the way the computer remembers and calculates can allow you to push the possibilities of memory and rendering.
Doing that, however, requires a solid understanding of how code is executed by a machine, and is not generally the optimal place to start for a beginner.
Lua is a powerful and accessible language that is also popular in game development. Unlike C++, it is very flexible about how code is organized, and is much easier to learn.
Getting people to play your game is an important process of developing games, and this process has been enormously simplified by the many available distribution platforms. Steam is a well-known distributor that charges a fee to small developers to sell their games, but is otherwise open to many different kinds of games. Itch.io allows developers to distribute free games, and sell games for a percentage of the sales. Mobile app stores and stores for particular consoles usually require developers to pay to register and get access to developing for their platform.
The term AAA or “Triple A” is used to refer to the high-budget games made by well-established studios. These often have teams of hundreds of people working on the many moving parts to create extremely polished projects with exceptional graphics and gameplay and established branding of their world and characters.
“Indie” is short for “independent” and refers to all different sizes of projects and companies creating games off the beaten path. Their games are shorter, visually simpler, and often showcase unusual new ways of playing a game.
Core uses the power of Unreal’s engine and the flexibility of the Lua scripting language to allow small teams and individual creators to create polished, professional games. Core will get you started building complete games right away, and let you focus on learning new skills as they become useful, with a library of free artistic and gameplay resources. On top of that, Core allows you to publish directly from the editor, creating a one stop shop of design, building, and publishing your work that you can use out of the box and will grow with you as you build up your game development knowledge.