Many programmers were inspired to start down their coding journey by the dream of making their own video game some day. After all, as fun as video games are to play, surely they are fun to make as well, right? According to many expert and indie developers alike, the answer is: Absolutely! Now just to make sure this is up-front; creating your own video games is not a good get-rich-quick scheme. While every once in a while someone creates a blockbuster and makes a small fortune, it is by far the exception rather than the rule. If this is someone’s goal, they would do better to look elsewhere. If, however, someone has a passion for creating things and a passion for gaming, they should most certainly try their hand at coding video games.
In this article we will look at a few tools and resources to help get started on our video game making journey.
Tools of the Trade
Here are a few recommended tools to get started in game making. They include game engines, an asset creation tool, and a sound creation tool.
One of the most popular game engines among indie developers, Unity 3D is an excellent place to start. It utilizes C# as a programming language, which allows great performance while being moderately easy to get into. For the actual coding, the latest version of Visual Studio is the preferred platform.
While not quite as robust in the 3D department as Unreal 4, Unity is often more than enough for most indie developers, and is even used by several studios for larger titles. When it comes to 2D games, Unity is the engine of choice for most game devs. Boasting titles like Hearthstone: Heroes of Warcraft, Wasteland 2, and the Temple Run games, Unity certainly has the potential to make your dream game come true.
Several years ago you would have had to pay a premium for software like this, but today Unity is free for most users. For those who make more than $100k a year with their software they will have to upgrade to Plus ($35/month for up to $200k revenue) or Pro ($125/month for unlimited revenue). Other than that Unity can be used royalty free.
For someone who wants the absolute best graphic and performance capabilities, Unreal 4 is the game engine of choice. It is a bit more involved to get into than Unity, utilizing C++ as its development language for the absolute best performance control. There is also the option to use the Blueprints tool to quick-build the logic. As with Unity, Visual Studio is the preferred platform for coding.
Unless they are using in-house software, the vast majority of AAA studios use Unreal as their game engine. The beautiful 3D graphics and shaders are unmatched by other game engines, and for larger titles the performance is stellar. It boasts Fortnite, Gears of War 3, and Mass Effect 2, among many others.
Like Unity, the basic Unreal engine is free to use. Rather than having a fixed subscription, Unreal uses a type of royalties system. According to their FAQ, “UE4 is free to use, with a 5% royalty on gross product revenue after the first $3,000 per game per calendar quarter from commercial products.”
Want a fully open-sourced game engine alternative to Unity or Unreal? Try Godot, the completely free and open-sourced game engine. Not only free but also flexible, Godot can utilize C++, C#, visual block scripting or its own GDScript for coding games. It is flexible in the users choice of text editor, and also has a built-in editor.
While it is not as popular as Unity or Unreal, Godot has a devoted community and is quite capable of developing amazing games. As it is a much younger game engine, you will not find best-seller titles using it at this time, but if you browse through their gallery of games and games on itch.io you can see the potential of the engine.
One of the primary benefits of using Godot is that the games you make are completely yours and 100% royalty and subscription free, which is a good thing!
So far we have looked at game engines, now we will switch gears and look at an asset creation tool; Blender 3D. While most 3D modeling/animation tools are quite pricey, Blender is 100% free and open sourced. It is also very customizable with many free add-ons online and the ability to create your own as well.
Most people think of Maya or 3ds Max for asset creation/animation, but Blender has similar capability for free, and a great community to help you learn to develop your assets. It is very popular in the indie dev world, although relatively unpopular in big studios. Being free to use and popular with indie devs, Blender is a great place to start building your assets.
In addition to visual assets, games require audio as well. A great free piece of software to start with is Audacity. You can find a few free videos on how to use it on Udemy.com, or look at the Audacity documentation.
With detailed video tutorials for Unity 3D, Unreal 4, Blender 3D, Godot, and Gimp, GameDev.tv is a great place to start your game-making journey. Ben, Rick, and Sam are great instructors that will have you up and running with your games in no time.
THE place for all things game development related online. There are many resources here, and even a job board if you decide you enjoy game development and want to do it for a living.
Whether you decide on Unity, Unreal, or some other tool, game development is a fun and rewarding way to grow your coding skills. You may even add a few other skills along the way, and will certainly find a vibrant and fun community to support you in your journey!