pacman.c
astera
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.
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.
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
What are some alternatives?
microui - A tiny immediate-mode UI library
gunslinger - C99, header-only framework for games and multimedia applications
pns
sokol - minimal cross-platform standalone C headers
gb - gb single-file public domain libraries for C & C++
nanovg - Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations.
c_exceptional - A simple Exception-handling library for C99, that uses some fancy macros for true try{...}catch(err){...}finally{...} syntax!
rotate - [WIP] static typed programming language that compiles to vm bytecode