astera
pacman.c
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
astera
-
What is your own favorite C project?
In terms of favorite personal projects: the 2D game engine I work on Astera.
- Astera 1.0-ish Release - C99 Cross Platform 2D Game Library
- Astera 1.0-ish release - C99 Cross Platform 2D Game Library
pacman.c
-
How to Pacman
Floooh's pacman.c is an outstanding one file implementation of Pacman in C. He uses his own very good libraries (called sokol) to do the graphics and audio but you can definitely learn a lot from reading the code. It is very accurate too - it's based off the Pacman Dossier (copy included).
-
What is your own favorite C project?
Some of my favorites are: sokol/pacman.c, Gunslinger, and gb
-
Zig in 30 Minutes
Not "serious" at all but I wrote a Pacman clone over the holidays as an excercise and test for my cross-platform C header bindinds:
https://github.com/floooh/pacman.zig
...and before that I did the same in C99 (might be useful for comparing the languages):
https://github.com/floooh/pacman.c
Disclaimer: I'm not a Zig expert at all, and the project doesn't really require most things where Zig differs from C. But I think writing small and "for-fun" projects like this is important for getting used to a language. I think one of Zig's big qualities is that it is so straightforward, after a few hundred lines you hardly have to look up things in the language documentation anymore.
What are some alternatives?
gunslinger - C99, header-only framework for games and multimedia applications
microui - A tiny immediate-mode UI library
pns
sokol - minimal cross-platform standalone C headers
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
gb - gb single-file public domain libraries for C & C++
rotate - [WIP] static typed programming language that compiles to vm bytecode
c_exceptional - A simple Exception-handling library for C99, that uses some fancy macros for true try{...}catch(err){...}finally{...} syntax!