Game Development Resources and Tools
development
git
]
Here are some lists of resources that you can use to learn about game development, or as a reference for your game projects.
General Game Development
- GamesFromScratch - Game development news and tutorials
- GDC YouTube Channel - Includes videos of select presentations from the Game Developers Conference
- A nice figure listing all the parts of a game engine
Game Engines
A game engine is a software framework with an associated set of tools, designed to facilitate the development of video games. Game engines are often designed to be cross-platform, and provide important basic functionality such as rendering, physics, sound, scripting, and asset management.
Open Source Game Engines
These game engines are open source. They are not only free, but also provide full access to the engine’s low-level code, allowing you to modify the engine to suit your needs (or even contribute to the engine’s development).
Note that these engines often have difficulties with distribution on console platforms. This is because console platforms make their software development kits proprietary, and thus open source game engines cannot publicly publish tools for these platforms.
- 2D and 3D game engine built with C++
- Supports Windows, Mac, Linux, HTML5, Android, iOS.
- Console support: Nintendo Switch support is available by request for licensed developers.
- Scripting languages: GDScript or C#
- Make Games with Godot: Beginner Edition - A guide for new developers to learn programming with Godot.
- Make Games with Godot: Developer Edition - A guide for experienced developers to learn Godot.
- KidsCanCode: Godot Recipes
- GDScript Fundamentals
- /r/godot - For Godot game development
[Defold]
- 2D and 3D game engine
- Supports Windows, Mac, Linux, HTML5, Android, iOS.
- Console support: Playstation 5 and Nintendo Switch support is available by request for licensed developers.
- Scripting languages: Lua
- Defold Tutorials
- 2D game engine built with Haxe
- Supports Windows, Linux, Mac, HTML5, Android, iOS.
- Console support: Nintendo Switch support is available by request for licensed developers.
- Scripting language: Haxe
- 3D game engine built with C++.
- Supports Windows, Mac, Linux, iOS, and Android.
- Originally known as Amazon Lumberyard (itself a heavily modified fork of CryEngine) later acquired by the Linux Foundation.
- /r/O3DE - For O3DE game development
Closed Source Game Engines
These game engines are closed source, and require a license to use. The license often allows free use for non-commercial projects, but requires a paid license for commercial projects. Additionally, the low-level code of these engines is kept highly proprietary, and is not accessible to the public.
- 2D and 3D game engine
- Scripting languages: Blueprints or C++
- Supports Windows, Mac, Linux, WebGL, iOS, Android, PlayStation 4/5, Xbox One/Series X/S, Nintendo Switch, VR
- C# Coding Conventions in Unity
- /r/Unity3D - For Unity game development
- 2D and 3D game engine
- Developed by Epic Games and used in games like Fortnite
- Scripting languages: Blueprints or C++
- 2D game engine
- Developed by YoYo Games and used in games like Forager and Undertale
- Recently went free-to-use
- 2D game engine
Assets
Here are some lists of free assets that you can use in your game projects.
- Life as a creative commons indie game developer - A list of links and resources
- OpenGameArt.org
- Kenney.nl
- 15 sources of texture maps
- itch.io
Blogs and Blog Posts
- My own posts about software development
- Fortress of Doors - Lars Doucet’s blog about game/software development
Programming
Design Patterns
- State Machines, demonstrated in Unity
- Observer Pattern, demonstrated in Unity
- Command Pattern, demonstrated in Unity
C++
- CPPCon - VODS of an annual conference for C++ developers
Subreddits
- /r/gamedev - For users looking for advice and discussion on game development
- /r/INAT - For users looking for people to collaborate with on game dev projects
- /r/gameDevClassifieds - For users looking to recruit or hire game developers