Sharing relevant game dev learning resources
Find a file
2026-05-22 10:43:09 +02:00
.vs Changed structure 2022-02-18 22:21:58 +01:00
game_design Reorg + lots of new resources 2026-05-22 10:43:09 +02:00
game_development Reorg + lots of new resources 2026-05-22 10:43:09 +02:00
pixel_art Reorg + lots of new resources 2026-05-22 10:43:09 +02:00
source_control Reorg + lots of new resources 2026-05-22 10:43:09 +02:00
unity Reorg + lots of new resources 2026-05-22 10:43:09 +02:00
.gitattributes Add miniboss Pixel Art tutorial 2021-04-28 11:14:21 +02:00
.gitignore . 2021-05-20 16:22:18 +02:00
README.md Reorg + lots of new resources 2026-05-22 10:43:09 +02:00

Awesome Game Dev

A curated list of game development resources focused on C99, Python, OpenGL, Vulkan, Godot, SDL, and from-scratch coding.

Awesome

Contents


From Scratch / Low-Level

C99 Libraries & Frameworks

  • raylib - Simple and easy-to-use C99 library for videogames programming. Hardware accelerated via OpenGL with full 3D support, 120+ examples, bindings for 60+ languages.
  • Flecs - Fast and lightweight Entity Component System in C99. Portable, data-oriented, production-ready with no dependencies.
  • sokol - Minimal cross-platform standalone C headers for graphics, windowing, audio, and more.
  • TIC-80 - Fantasy computer for making, playing, and sharing tiny games. Great for retro 8-bit style development.
  • Allegro 5 - Cross-platform library for audio, video, and game development. Supports Android, Windows, macOS, Linux.

Curated Lists

  • awesome-c - Curated list of C frameworks, libraries, and resources.
  • gamedev_libraries - Collection of open source C/C++ libraries for gamedev, including many single-header libraries.
  • awesome-game-engine-dev - Comprehensive list of resources for game engine development.

Graphics Programming

Books & Tutorials

Video Channels

SDL

Tutorials

Video Tutorials

Networking


Graphics APIs

OpenGL

  • LearnOpenGL - Comprehensive OpenGL tutorial covering graphics pipeline, transformations, lighting, and advanced techniques.
  • open.gl - Modern OpenGL tutorial with clear explanations.

Vulkan

Official & Tutorials

  • Vulkan Tutorial - Step-by-step guide to rendering 3D graphics with Vulkan, from setup to debugging.
  • Vulkan Guide - Light read that leads to many other useful links, fills gaps about Vulkan nuances.
  • Khronos Vulkan Samples - Official collection of Vulkan samples and resources.

Curated Lists

  • awesome-vulkan - Curated list of the Vulkan ecosystem including tutorials, libraries, and tools.

Books

  • Vulkan Programming Guide - Graham Sellers & John Kessenich. The official guide to learning Vulkan.
  • Vulkan Cookbook - Pawel Lapinski. Wide range of graphics and GPU compute methods.
  • Mastering Graphics Programming with Vulkan - Marco Castorina & Gabriel Sassone. Modern rendering engine from first principles.

Learning Path

If you haven't done any graphics programming, start with OpenGL. It's easier to learn without being overwhelmed by Vulkan's complexity. Much of your OpenGL knowledge transfers to Vulkan later.

Shaders


Game Engines

Godot

Official Resources

Curated Lists

  • awesome-godot - Official curated list of free/libre games, plugins, add-ons, and scripts.
  • godot-powerful - Essential plugins for almost any project.

Notable Plugins (2024-2025)

  • GdUnit4 - Godot unit testing framework.
  • Godot Doctor - Validation plugin that catches errors before runtime.
  • godot-ink - Integration for ink interactive narrative scripting.
  • Dialogic - Create RPG-quality dialogue without coding.

Plugin Collections

Unity

Architecture & Patterns

Tutorials

Bezier Curves & Splines

Useful Code Snippets


Python Game Development

Frameworks

  • Pygame - The classic Python game library built on SDL. Cross-platform, beginner-friendly.
  • Pygame CE - Community Edition of Pygame with active development and improvements.
  • Python Arcade - Modern Python framework designed for simplicity, ideal for beginners and educators.
  • Pyglet - Cross-platform windowing and multimedia library.
  • Panda3D - Open-source 3D engine supporting both Python and C++.
  • Ursina Engine - Easy-to-use 3D game engine built on Panda3D.
  • Ren'Py - Visual novel engine with Python scripting.

Learning Resources


Game Design

Theory & Methodology

Books

  • Game Design Workshop - Tracy Fullerton. Playcentric approach to creating innovative games. Great chapters on prototyping.
  • A Theory of Fun for Game Design - Raph Koster. Why games are fun and how to design them.
  • The Art of Game Design: A Book of Lenses - Jesse Schell. 100+ perspectives on game design.

GDC Talks & Resources


Architecture & Patterns

Entity Component System (ECS)

Data-oriented programming architecture for game development.

Best Practices

  • Ensure entity coherence - Guarantee that created entities will eventually be deleted. Unused entities still consume resources.
  • Use events - Elegant way for systems to communicate without coupling.
  • Think components, not resources - Even singleton-like data should be components to reduce coupling.

Libraries

  • Flecs - Fast, lightweight ECS for C99.
  • EnTT - Gaming meets modern C++ with ECS.
  • specs - Parallel ECS for Rust.

Resources

  • ECS FAQ - Frequently asked questions about ECS.

Art & Assets

Pixel Art

Books

Tutorials

  • Pedro Medeiros Tutorials - Professional pixel art tutorials covering animation, shading, color theory, and more.
  • Lospec - Palettes, tutorials, and pixel art resources.

Tools

  • Aseprite - Professional pixel art editor with animation support.
  • Piskel - Free online pixel art editor.
  • GraphicsGale - Free animation graphic editor.

Developer Tools

Source Control

Git Workflow

  • main - Production-ready code
  • develop - Integration branch for features
  • feature/* - New feature development
  • release/* - Release preparation
  • hotfix/* - Emergency production fixes

Resources


Other Awesome Lists


Contributing

Contributions welcome. Add resources via pull request or open an issue.

License

CC0