C Game development

Open-source C projects categorized as Game development

Top 23 C Game development Projects

  • raylib

    A simple and easy-to-use library to enjoy videogames programming

  • Project mention: Zig! Can you C? | dev.to | 2024-04-04

    Fetch Packages... raylib... ./ray_test_zig/build.zig.zon:7:20: error: url field is missing corresponding hash field .url = "https://github.com/raysan5/raylib/archive/refs/tags/5.0.tar.gz", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ note: expected .hash = "1220c28847ca8e8756734ae84355802b764c9d9cf4de057dbc6fc2b15c56e726f27b",

  • Pygame

    🐍🎮 pygame (the library) is a Free and Open Source python programming language library for making multimedia applications like games built on top of the excellent SDL library. C, Python, Native, OpenGL.

  • Project mention: Not only Unity... | /r/opensourcegames | 2023-11-11
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • GameNetworkingResources

    A Curated List of Multiplayer Game Network Programming Resources

  • Project mention: A Curated List of Game Network Programming Resources | news.ycombinator.com | 2023-05-22
  • flecs

    A fast entity component system (ECS) for C & C++

  • Project mention: ECS, Finally | news.ycombinator.com | 2023-12-30

    I've also been enjoying building My First Game™ in Bevy using ECS. The community around Bevy really shines, but Flecs (https://github.com/SanderMertens/flecs) is arguably a more mature, open-source ECS implementation. You don't get to write in Rust, though, which makes it less cool in my book :)

    I'm not very proud of the code I've written because I've found writing a game to be much more confusing than building websites + backends, but, as the author notes, it certainly feels more elegant than OOP or globals given the context.

    I'm building for WASM and Bevy's parallelism isn't supported in that context (yet? https://github.com/bevyengine/bevy/issues/4078), so the performance wins are just so-so. Sharing a thread with UI rendering suuucks.

    If anyone wants to browse some code or ask questions, feel free! https://github.com/MeoMix/symbiants

  • netcode.io

    A protocol for secure client/server connections over UDP

  • ioq3

    The ioquake3 community effort to continue supporting/developing id's Quake III Arena

  • go-sdl2

    SDL2 binding for Go

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • zig-gamedev

    Main monorepo for @zig-gamedev libs and example applications

  • Allegro

    The official Allegro 5 git repository. Pull requests welcome!

  • Project mention: Not only Unity... | /r/opensourcegames | 2023-11-11

    Allegro (zlib/plain C) https://github.com/liballeg/allegro5

  • Open-Golf

    A cross-platform minigolf game written in C.

  • Project mention: Advice for bigger c projects? | /r/C_Programming | 2023-05-30
  • soloud

    Free, easy, portable audio engine for games

  • SGDK

    SGDK - A free and open development kit for the Sega Mega Drive

  • Project mention: FC8 – Faster 68K Decompression (2016) | news.ycombinator.com | 2024-04-29

    I'm working on a game for Amiga (another 68k-based platform) and settled on ZX0 to decompress assets on the fly: https://github.com/einar-saukas/ZX0

    I was originally using LZ4, but I switched to ZX0 after learning that it can do in-place decompression, which means I don't have to allocate separate memory for the compressed data. I'm very happy with the compression ratio, and decompression of large assets (~48kb) only takes a few frames on a 7MHz 68000.

    Also of note is LZ4W, included in Sega Genesis Dev Kit (and discussed in the comments section of OP's article), a variant of LZ4 that only uses word-aligned operations. That makes it much faster on the 68000, which can struggle to efficiently handle 8-bit data. More info here: https://github.com/Stephane-D/SGDK/blob/master/bin/lz4w.txt

  • raylib-go

    Go bindings for raylib, a simple and easy-to-use library to enjoy videogames programming.

  • Project mention: Raylib is a simple and easy-to-use library to enjoy videogames programming | news.ycombinator.com | 2023-07-04

    Raylib is awesome! It reminds me of the old school days of using BlitzBASIC to get things drawn on screen because it's easy and so much fun. This is how programming used to be, no fuss, just easy to use libraries.

    I currently use Raylib with Go and the Go bindings[1] to create screensavers for Linux and I'm really happy with the results.

    I even use it at work to draw interactive infrastructure diagrams that animate dependencies, allow controlling start-up etc. It's really flexible and simpler than anything else I've found to get stuff on-screen. I love it!

    [1]: https://github.com/gen2brain/raylib-go

  • space-shooter.c

    A cross-platform, top-down 2D space shooter written in C using only platform libraries.

  • Project mention: Beginner, intermediate, and advanced c programming projects | /r/C_Programming | 2023-12-09

    You can do something like this, but way less polished and stick to one platform: https://github.com/tsherif/space-shooter.c/tree/master

  • HandmadeMath

    A simple math library for games and computer graphics. Compatible with both C and C++. Public domain and easy to modify.

  • Project mention: Trouble calculating projection matrix | /r/GraphicsProgramming | 2023-06-20

    If you don't like using heavy libraries such as glm, I recommend looking at HandmadeMath. It is a single file c/c++ math library for graphics programming. You can just drop it into your project. It's lightweight and will save you a lot of time implementing the math yourself. In a lot of cases, it actually uses optimized solutions to save computation time (same with the glm).

  • dxwrapper

    Fixes compatibility issues with older games running on Windows 10/11 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension .asi into game processes.

  • Project mention: SimCity Classic - Guide to Installation (Windows / DOSBox) | /r/SimCity | 2023-07-08

    Then, download this and place the files inside the game directory (C:\Program Files\Maxis\SimCity Classic).

  • daScript

    daScript - high-performance statically strong typed scripting language

  • Project mention: DaScript: Fast and Versatile Scripting Language | news.ycombinator.com | 2023-10-27
  • keeperfx

    Open source remake and Fan Expansion of Dungeon Keeper.

  • Project mention: Lessons from Open-Source Game Projects | dev.to | 2024-04-10

    Keeper FX - Dungeon Keeper clone. C

  • pygame-ce

    🐍🎮 pygame - Community Edition is a FOSS Python library for multimedia applications (like games). Built on top of the excellent SDL library.

  • Project mention: How can I optimize projects made with Pygame? | /r/pygame | 2023-07-01

    See our release notes for full information about what's new: https://github.com/pygame-community/pygame-ce/releases

  • SSVOpenHexagon

    C++20 FOSS clone of "Super Hexagon". Depends on SSVStart, SSVEntitySystem, SSVLuaWrapper, SSVMenuSystem, JSONcpp, SFML2.0. Features JSON/LUA customizable game files, a soundtrack by BOSSFIGHT, pseudo-3D effects.

  • Project mention: Should there be an open-source FTL clone? Can one even exist? | /r/ftlgame | 2023-08-29

    Open Hexagon, re-implementation of Super Hexagon

  • Azul3D

    Azul3D - A 3D game engine written in Go! (by azul3d)

  • reliable

    A packet acknowledgement system for UDP

  • thirdroom

    Open, decentralised, immersive worlds built on Matrix

  • Project mention: Croquet: Live, network-transparent 3D gaming | news.ycombinator.com | 2023-12-26
  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020).

C Game development related posts

  • Zig! Can you C?

    1 project | dev.to | 4 Apr 2024
  • Ask HN: Do you know any open source (2D or 3D) asset libraries?

    1 project | news.ycombinator.com | 27 Feb 2024
  • Raylib – A simple and easy-to-use library to enjoy videogames programming

    1 project | news.ycombinator.com | 8 Feb 2024
  • Can't make my mind about which engine to use

    2 projects | /r/gamedev | 10 Dec 2023
  • Raylib Library For Video Games Programming as Senior Developer

    4 projects | dev.to | 9 Dec 2023
  • XCurl

    4 projects | news.ycombinator.com | 30 Nov 2023
  • Advice for managing a group of beginner C programmers, myself included

    1 project | /r/C_Programming | 21 Nov 2023
  • A note from our sponsor - InfluxDB
    www.influxdata.com | 19 May 2024
    Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →

Index

What are some of the best open-source Game development projects in C? This list will help you:

Project Stars
1 raylib 19,394
2 Pygame 7,006
3 GameNetworkingResources 6,852
4 flecs 5,589
5 netcode.io 2,383
6 ioq3 2,311
7 go-sdl2 2,145
8 zig-gamedev 2,007
9 Allegro 1,775
10 Open-Golf 1,758
11 soloud 1,660
12 SGDK 1,658
13 raylib-go 1,335
14 space-shooter.c 1,317
15 HandmadeMath 1,151
16 dxwrapper 1,119
17 daScript 800
18 keeperfx 694
19 pygame-ce 687
20 SSVOpenHexagon 605
21 Azul3D 598
22 reliable 574
23 thirdroom 575

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com