Developing a game is a complex project which requires many tools. These tools include the game engine, art tools, modeling tools, sound design tools, version control, project management, and more. I have compiled a list of the essential game development tools you will need to create and implement your project. I wrote my preferences for each category, but you should try the ones you like and see if they meet your project’s requirements.
Game Engine Software
A game engine is the main software you will use to develop your game. It contains all the necessary functionality to run a full-featured video game. To create a video game, you will need 2D/3D graphics rendering, audio management and playback, a scripting system for your game’s logic and data, input control (keyboard, mouse, controller, etc.), and much more. Game engines have a user-friendly interface to access all those features. A suitable game engine can provide you with the fastest learning curve and a pleasant user experience.
In terms of cost, most game engines have a basic version that is free to use. Unfortunately, some game engines will have a monthly subscription cost for the advanced versions of the software. Additionally, the company owning the game engine may bill you once the sales from your game are above a certain amount of monthly or yearly revenue. You can find open-source engines that are completely free, but they may have other disadvantages. I encourage you to read more about each game engine and use the one that fits your needs.
What Game Engines Do Indie Game Developers Use?
- Unity: The most popular game engine by far. It is generally used to create 3D games and has a free version up to a certain amount of revenue. Uses C# as a scripting language.
- Unreal: 3D engine with the most advanced graphics rendering engine in the world. It has a free version you can download on the Unreal Engine website. Uses C++ as a scripting language.
- Godot: An open-source and completely free game engine. You can create 2D and 3D games with it. It is very reliable and fast. Uses GDScript (a Godot-specific language similar to python), C#, and limited support for other scripting languages.
- GameMaker: A 2D game engine with limited 3D capabilities. The basic version of the software is free. It uses GML (a GameMaker-specific language developed for the game engine).
- Construct 3: A game engine for creating 2D games. It is geared towards web games. It has visual scripting (no-code scripting). A limited software version is free.
Additional game engines you might want to explore: CryEngine, O3DE, Roblox and Cocos Creator. Since a game engine is the main software you will use for game development, I suggest evaluating all the engines relevant to your project. This is a crucial step because you will be using this software until the end of the project. Porting a game from one engine to another might be difficult or even sometimes impossible.
Want to learn about the features and capabilities of Unity? Read my How to Become a Professional Game Developer with Unity article. But If you prefer the open-source software, you might enjoy reading about Godot in the Godot Game Engine: The Greatest Thing Since Sliced Bread blog post.
Version Control Tools
Version control is a software that tracks the content of files in your game projects. This is a crucial tool that every large-scale project must have. Some version control software on the market allows you to store small and large files on a remote cloud, while others require you to have your own storage space. Some are free, and others have a monthly subscription fee.
What Version Control Software Do Indie Game Developers Use?
- Git: The most common version control software. According to their documentation, the basic plan is free and limits you to 5GB per repository.
- Plastic SCM: The basic version is free and limits you to 5GB and 3 users.
- Helix Core: Free up to 5 users and doesn’t seem to have a repository capacity limitation. All features are included in the free version.
I suggest using Git for all your projects unless you have large-scale projects that require a large amount of storage capacity. You can download various user interface applications for Git, such as Sourcetree, TortoiseGit, GitHub Desktop, and many more.
Image Design and Art Tools
Art tools allow you to create beautiful graphics for your game, including backgrounds, characters, user interfaces, and other graphical objects on the screen. In terms of cost, you have several options that are open-source and free, while professional software might cost you a lot of money.
What Art Tools Do Indie Game Developers Use?
- Adobe Photoshop: The most famous image editing software. You can also draw and create complex shapes using Photoshop.
- Adobe Illustrator: A powerful tool for creating illustrations. The benefit over Photoshop is that it uses vector graphics that don’t lose quality when resized or changed.
- Figma: A cloud-based design tool that enables real-time collaboration on user interface design and prototypes.
- GIMP: A free and open-source image editing software with a wide range of tools and features for editing images and graphics.
- Inkscape: A free and open-source vector graphics editor that is a good tool for creating logos, drawings, diagrams, and more.
- Krita: A free and open-source digital painting software that enables you to create beautiful digital art.
- Paint.net: A free image and photo editing software for Windows with a user-friendly interface. It has different useful plugins and is a great option for beginners.
GIMP and Inkscape are popular among the free and open-source community. If you have the budget, you should use Adobe Photoshop and Illustrator. These software tools are so powerful that you can create amazing art in very little time.
Illustration and 2D Animation Software
With 2D animation software, you can turn simple images into animations. These programs provide a range of functionalities like drawing, creating frame-by-frame animation, and skeletal animation. This is a software category where indie game developers mostly use free software since it is comparable to paid software in quality and features.
What 2D Animation Tools Do Indie Game Developers Use?
- Spine: Paid software, which is considered the industry standard. It generally focuses on skeletal animation, which allows you to create complex animations by manipulating bones and joints. It uses a physics-based approach to animating characters and other objects to generate smooth and realistic movements.
- Adobe Animate: Lets you create animations, graphics, and interactive content. You can use it to make things like cartoons, web applications, games, and other multimedia projects.
- Synfig: Free and open-source 2D animation software. You can create high-quality animated content using a powerful vector-based system for creating complex animations with advanced features.
- OpenToonz: A one-stop-shop for 2D art. Using OpenToonz, you can draw, edit images, create animations, and export all these assets in various formats. It is open-source and completely free to use.
- CoaTools: Cut-Out Animation Tools. A plugin for exporting 2D art and animations from Blender, GIMP and Photoshop. Also, it allows you to take the exported assets and import them into Godot. A popular plugin among Godot game developers.
Additional 2D animation tools you might want to check out are Creature, MoHo, and DragonBones. The animation software you choose depends on the game engine you are using and other software in your toolbox. If open-source and free is your thing, the mixture of Blender, CoaTools, and Godot is a great choice. Spine is a good choice for Unity users. Ultimately, the tools in the list above have similar capabilities, so you won’t be disappointed in any of them. Keep in mind that some of them are beginner-friendly, while others may be tough to learn.
Modeling and 3D Animation Tools
Modeling software allows you to create three-dimensional digital models of virtually anything you can imagine. These programs provide tools and features for shaping and manipulating virtual objects in 3D space and adding textures and lighting. While most industry-standard software is expensive, some excellent free options are available without compromising on quality.
What 3D Modeling Software Do Indie Game Developers Use?
- Blender: Powerful, free and open-source 2D and 3D modeling and animation software. It integrates with many game engines and has many useful plugins.
- 3ds Max: Professional 3D modeling, animation, and rendering software used by large AAA game studios to create game art and models.
- ZBrush: Digital sculpting and painting software used for creating high-resolution 3D models. Free for non-commercial use.
- Maya: Professional 3D modeling and animation software. Often used in conjunction with 3ds Max to create art and animation, with a focus on animation and visual effects.
- Houdini: 3D animation and visual effects software used in various industries such as film, TV, and gaming. It contains advanced features such as procedural generation and particle simulations.
- ProBuilder: Unity pluging that enables you to prototype and create 3D environments directly within the Unity editor. It is popular among Unity game developers.
For open-source enthusiasts, Blender is the way to go. For projects with a large budget, use any of the other tools. ProBuilder only applies if you are a Unity user, but it is worth trying if you are.
Sound Design Tools
Sound design software, sometimes also called Digital Audio Workstation, helps you create, edit, and refine sound effects and music. You can use these tools to create sound effects and music for your games. Some software comes prepackaged with collections of sound effects and music clips, while others don’t. In case you need sound effects or music clips, there are several free websites you can listen to and download these assets, such as Freesound.org, SoundBible.com, YouTube and many more. Keep in mind that not all the sounds and music on those websites are free, and you have to check the license.
What Sound Design Software Do Indie Game Developers Use?
- FL Studio: Also known as Fruity Loops. This popular digital audio workstation (DAW) software is used for music production and creation. This is the gold standard of DAW software.
- DefleMask: Cross-platform music tracker and synthesizer software designed for creating music for old video game systems and computers
- LMMS: Linux Multimedia Studio is a free and open-source digital audio workstation. Similar to FL Studio, except it is free.
- Audacity: Free and open-source digital audio editor and recording software. Widely used by beginner indie game developers. It is available on Windows, Mac, and Linux.
- Pro Tools: Digital audio workstation software widely used in the music and film industries for recording, editing, and mixing audio. You can only get a free 30-day trial. After the trial, you must purchase the software for a modest price.
- Adobe Audition: Comprehensive audio editing and mixing software for audio post-production, sound design, and music production.
If you are a beginner, I recommend using Audacity at first. Audacity provides you with enough capabilities to create and edit sounds and music for video games. For more advanced features, use LMMS since it’s free and almost comparable to FL Studio. If you have the budget, go for FL Studio. Just keep in mind that it’s a software for advanced users, so you might be overwhelmed at first. For additional information, read my Best Free Audio Tools and Resources for Game Development post.
Development Environment (IDE)
The development environment is where you write the code for your game. Most popular game engines come with a text editor which can be used as an IDE. However, they are not always sufficient. For instance, Unreal engine will require you to use Visual Studio since you must compile C++ code. IDEs also typically come with advanced capabilities like debugging and auto-completion.
What Development Environment Do Indie Game Developers Use?
- Visual Studio: The all-mighty Visual Studio is a Windows-based development environment that allows you to easily write code, debug, manage, build projects and export them as libraries or executable files. It supports various programming languages with specific user interfaces tailored to the language and platform. It is very popular among Unity and Unreal engine developers.
- MonoDevelop: Cross-platform development environment. It supports multiple programming languages such as C#, F#, Visual Basic .NET, and Vala. Great for Unity game engine users.
- Sublime: Cross-platform text editor widely used for coding, scripting, and markup. You can install it on Windows, Mac, or Linux.
- Vim: Text editor designed for Linux users, but you can also use it on Windows. It is not as comprehensive as the previous options, but it is still a good choice many game developers use.
Additional IDEs you can use include Eclipse and Notepad++. If you are working on Windows, I highly suggest using Visual Studio. You don’t need to purchase the advanced version; just download the Community version. It has all the capabilities you will ever need for game development. If you are a Linux or Mac user, MonoDevelop or Sublime are good options, but that’s up to you.
Project Management Tools
Project management tools help you manage your project’s tasks and team. They are not essential, but they make so much sense to use. Even if you are a solo game developer, a project management tool can help you organize tasks, manage timelines, and visually see your progress. If you have a team, it gets even better. You can manage the team and share each teammate’s progress and issues.
What Project Management Tools Do Indie Game Developers Use?
- ClickUp: A web-based project management and productivity platform that allows teams to collaborate and manage tasks and projects in one place. The free version is enough to get you started.
- Trello: Very similar to ClickUp in terms of functionality. You might find Trello a bit easier to navigate and create boards. But it really depends on the person using it.
- Monday.com: A web-based project management and team collaboration platform that can be customized and adapted for your needs. Geared more towards managing a team and collaboration.
- Milanote: An online tool for organizing creative projects. This is the only tool that provides a visual interface, as opposed to a text-based interface. With Milanote, you can put a variety of objects on your boards. You can use text, images, links, checkboxes, files and other types of content. Milanote also allows you to arrange your boards freely on a canvas, not just in tables or lists. It is great for team collaboration and visualization of artistic ideas.
All the tools mentioned above have similar functionality. They all have free app versions you can use. Ultimately, I don’t think it matters which one you choose, unless you have some specific requirements. They are all great for beginner game developers and small teams, so don’t worry too much about it.
Conclusion
As you can see, game development will require you to use many tools. Start with the basics and gradually move to the more advanced ones. If you want to learn more about game development tools and games in general, check out my Night Quest Games Blog. Have fun!
If the information in this article was helpful to you, please consider supporting this blog through a donation. Your contributions are greatly appreciated and allow me to continue maintaining and developing this blog. Thank you!
Pretty! This has been a really wonderful article.
Many thanks for providing this info.