I Write Games in C (yes, C)

Old-school dev picks C for games; comments split between 'respect' and 'why suffer'

TLDR: A solo dev champions C for game-making because it’s simple, fast to compile, and portable. Commenters argue over nostalgia vs practicality: some praise C’s minimalism, others say teams and UI suffer, while modern-language fans pitch Odin/Zig and ask if the dev’s 2015-era critiques still hold today.

A solo game maker just dropped a love letter to the C programming language, calling it simple, fast to compile, and here for the long haul—no frills, no object parade, and definitely no “stop-the-world” garbage collectors. Cue the comments section turning into a retro vs modern showdown. One veteran waved the C flag, confessing it’s their “core” language but warning that group projects in C can be pure pain and that “anything takes a long-ass time” compared to slick modern tools. Another chimed in with a classy middle ground: simplicity is king, but sometimes you need “necessary complexity” done elegantly, name-dropping modern minimalist flavors like Zig, Odin, and Golang. A nostalgic commenter joked that writing games in C is now “hardcore mode,” noting the real grind is building user interfaces, not the game world itself. Meanwhile, a timeline detective asked if this take is stuck in 2015—especially the bit dunking on Go’s garbage collector and the death of Flash—while a recruiter for the church of Odin popped in with a breezy “Come try Odin!” Plug wars ensued, memes flew, and the crowd split: monk-like simplicity vs modern comfort features. The vibe? Respect for C’s steel, side-eye for its splinters.

Key Points

  • The author writes solo game projects in plain C to meet needs for reliability, longevity, and portability.
  • They value simplicity, strict typing, strong warnings, static analysis, good debuggers, and fast compilation to reduce bugs and maintain flow.
  • C++ is common and used by the author professionally but rejected for solo work due to complexity, subtle bugs, and slower compile times.
  • C# and Java are declined as verbose, complex, and strongly OOP-oriented, which conflicts with the author’s data-first approach.
  • Go is rejected due to stop-the-world garbage collection and limited game library support; JavaScript is avoided, while Haxe is seen as promising for web projects.

Hottest takes

"anything takes a long-ass time to do compared to modern alternatives" — Keyframe
"writing games in C is now seen as some kind of 'hardcore mode'" — webdevver
"a language that embraces what I call necessary complexity, but do it in elegant ways" — vascocosta
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.