Making the course material pleasant to read involves a surprising amount of work and attention to detail. The latest addition: supporting light and dark variations for the images.
While there is always room for further tweaking, it is nice when the different pieces start to fit together.
10.08.2025 12:03 β π 2 π 0 π¬ 0 π 0
β’ Having access to _Alignof/alignof makes arena allocation nicer, as it can be wrapped in a macro that automatically passes the required alignment for the type (avoiding any waste caused by over-aligning for the worst case).
β’ Anonymous structs/unions make for more succinct code with nested types.
07.08.2025 13:29 β π 3 π 0 π¬ 0 π 0
I just upgraded my C99 codebase to C11. It improves a few things here and there:
β’ I use forward declarations a lot. But it turns out redeclaring typedefs in the same scope, which is just fine in C++, is not legal in C99. I only learned about this when compiling with -pedantic for the first time.
07.08.2025 13:29 β π 3 π 0 π¬ 1 π 0
X11/Wayland in SDL 3
On why SDL 3 picks X11 over Wayland on some Wayland-based Linux distros.
A recent Fedora upgrade turned into a "Linux ecosystem: X11 and Wayland" crash course for me, so I wrote some quick notes about it in case they might be helpful. Or, in other words, why SDL 3 might still pick X11 over Wayland even on a Wayland-based distro.
www.innercomputing.com/blog/x11-way...
14.06.2025 14:21 β π 2 π 2 π¬ 1 π 0
C language
The homepage of the C programming language
C has an official website now!
www.c-language.org
19.03.2025 10:23 β π 6 π 2 π¬ 1 π 0
Yes, you can extend the idea depending on how you want to use them. I do single translation unit builds, so linking is not an issue.
02.03.2025 15:07 β π 0 π 0 π¬ 0 π 0
Generic collections in C
An overview of different approaches for emulating generics in C.
Every time I encounter a void*-based collection implementation in C, my heart sinks. π
So I wrote some notes on writing generic collection code, as it turns out you can go pretty far without sacrificing type safety in the process.
#c #gamedev #indiedev
www.innercomputing.com/blog/generic...
02.03.2025 14:09 β π 17 π 3 π¬ 1 π 0
Putting an actual end to the game in ante 8 would have made it clearer that this title is not really after the "Slay the Spire playing experience" (where beating the game is more like the actual beginning), but I wonder how such a design decision would have affected its reception.
28.02.2025 11:36 β π 0 π 0 π¬ 0 π 0
Solitaire β LocalThunk
I have cited a few games as inspiration for Balatro in the past, but I wanted to talk about one in particular that hasnβt been mentioned much that arguably is the most important. I think if I had som...
Some #gamedesign notes by LocalThunk (of Balatro fame). It is very interesting to contrast the 'evergreen, comforting and low-stakes' type of experience the author intended with the way many players are interacting with the game.
localthunk.com/blog/solitaire
28.02.2025 11:33 β π 3 π 0 π¬ 1 π 0
YouTube video by Michigan TypeScript
TypeScript types can run DOOM
Running DOOM on TypeScript types might just be the endgame of the "Can it run DOOM?" subject matter.
www.youtube.com/watch?v=0mCs...
27.02.2025 07:09 β π 2 π 0 π¬ 0 π 0
Just finished with the implementation of the 2D sprite renderer for my course. It uses the new GPU API in SDL 3, which is very nicely done.
Now moving on to writing how it all works! βοΈ
#gamedev #c #sdl
23.02.2025 15:15 β π 16 π 2 π¬ 1 π 0
Exactly! I have also found that "using the right tool for the job" in practice often means ending up with a combination of different approaches in the same codebase.
05.02.2025 12:57 β π 1 π 0 π¬ 0 π 0
Many games have a small and well-defined set of entity and component types, and these are probably better served by an ad-hoc architecture that avoids the rigidity and complexity an ECS would introduce. It can still be data-oriented, but just a simpler approach tailored to the problem at hand.
05.02.2025 11:50 β π 1 π 0 π¬ 1 π 0
A data-oriented approach does not _require_ using an ECS architecture. I see ECS more useful when writing code that is intended to be used for a wide variety of different games, or as a way to manage the complexity with game designs involving a combinatorial explosion of behaviors.
05.02.2025 11:50 β π 1 π 0 π¬ 1 π 0
YouTube video by CppCon
CppCon 2014: Mike Acton "Data-Oriented Design and C++"
Data-oriented programming is about understanding the shape of the data in your problem domain in order to maximize performance on contemporary hardware (and improve modularity in the process): What are the inputs and outputs? What is the transformation process?
www.youtube.com/watch?v=rX0I...
05.02.2025 11:50 β π 1 π 0 π¬ 1 π 0
Data-Oriented Design (Or Why You Might Be Shooting Yourself in The Foot With OOP) β Games from Within
I try to present a non-dogmatic view on the ECS architecture, which is too often introduced as a "One True Way" of doing things nowadays. Many of the original resources on data-oriented programming do not even mention the term ECS in the first place!
gamesfromwithin.com/data-oriente...
05.02.2025 11:50 β π 1 π 0 π¬ 1 π 0
Putting the final touches on the entity systems chapter of the course. It covers data-oriented programming and the implementation of an ECS in C, which is a very interesting exercise in terms of design decisions and data structures.
#gamedev #indiedev #gameengine #c #sdl
05.02.2025 11:50 β π 8 π 3 π¬ 2 π 0
Orthodox C++
Orthodox C++. GitHub Gist: instantly share code, notes, and snippets.
Orthodox C++ is a reasonable subset if you want to keep things minimal: gist.github.com/bkaradzic/2e...
And if you want to avoid the STL, there are interesting alternatives such as the EASTL, Sane C++ by @pagghiu.bsky.social or Bedrock by @jeremy.laumon.name.
22.01.2025 14:09 β π 5 π 0 π¬ 0 π 0
This also means I can finally update this section of my game engine programming course, which makes me very happy.
22.01.2025 09:13 β π 1 π 0 π¬ 0 π 0
Release 3.2.0 Β· libsdl-org/SDL
Announcing the SDL 3 official release!
SDL 3.0 is finally here!
We have many many people to thank on the road to get here, but I'd like to call out special thanks to:
@slouken and @icculus, lead d...
SDL 3.2.0 is out! This is the first stable release of SDL 3, containing many notable changes and improvements. A particular highlight of mine is the new, compute-ready GPU API.
#gamedev #indiedev #gameengine #c #sdl
github.com/libsdl-org/S...
22.01.2025 09:13 β π 10 π 3 π¬ 1 π 0
Single translation unit builds
Because, sometimes, the best build system is having no build system.
I wrote some more detailed notes on single translation unit builds in C that might be useful if you are interested in keeping a simple workflow. Sometimes, the best build system is having no build system in the first place.
#c #gamedev #indiedev
www.innercomputing.com/blog/single-...
19.01.2025 11:59 β π 10 π 2 π¬ 0 π 0
Designated initializers and compound literals in C
A better way to initialize structs in modern C code.
Designated initializers and compound literals are awesome features of C99 that almost turn C into a new language, so I wrote a small blog post explaining how they work in order to spread the word.
#c #gamedev #indiedev
www.innercomputing.com/blog/designa...
11.01.2025 11:40 β π 9 π 3 π¬ 0 π 0
Release 3.1.8 Β· libsdl-org/SDL
This is an update to the SDL Stable ABI Preview.
As promised, this update maintains ABI compatibility with 3.1.3, and has lots of bug fixes as we head towards 3.2.0 release. In addition, this updat...
SDL 3.1.8 is out! This pre-release version adds many goodies:
β’ Asynchronous I/O
β’ Main thread dispatching
β’ Desktop tray API
β’ Support for format strings in debug text rendering
#gamedev #indiedev #gameengine #c #sdl
github.com/libsdl-org/S...
08.01.2025 14:03 β π 9 π 1 π¬ 0 π 0
Thank you, Michael! Different beasts indeed. π
04.01.2025 14:09 β π 0 π 0 π¬ 0 π 0
How to get started with C programming
Some notes on making your learning journey a bit less daunting.
I wrote some notes on how to get started with C programming. The process can be a bit overwhelming if trying to learn it all at once, and I have found that focusing your efforts on a smaller and more modern subset can be really helpful.
#c #gamedev #indiedev
www.innercomputing.com/blog/how-to-...
04.01.2025 10:02 β π 16 π 4 π¬ 0 π 1
Oh I see, thank you! This is great to know, as it made me learn what I did left a pointless GRUB entry.
31.12.2024 14:26 β π 1 π 0 π¬ 0 π 0
The solution was to uninstall the current kernel with 'sudo dnf remove' and set the latest as the default with 'sudo grub2-set-default'. A list with the names of the installed kernels can be retrieved with 'rpm -q kernel'.
31.12.2024 08:30 β π 0 π 0 π¬ 1 π 0
Today I realized my Linux machine had been stuck with an older kernel version ever since I did the upgrade from Fedora 40 to 41.
'Manually messing with the kernels' rite of passage is now complete.
#framework #linux #fedora
31.12.2024 08:30 β π 2 π 0 π¬ 1 π 0
I made some games (The Swapper & Noita)
@olli_harjola@mastodon.gamedev.place
Coder and woodworker. Author of Recast&Detour and NanoVG. Previously at Epic Games, Unity, Tinkercad, Crytek, demoscene.
https://github.com/memononen
Game dev, working on Terraformers terraformers-game.com
Game jams, homemade game engine dev.
Sometimes streaming on youtube:
π΄ https://www.youtube.com/@seb_degraff/streams
Also on mastodon:
π http://mastodon.gamedev.place/@seb_degraff
NVIDIA Developer Technology Engineer. Past game & tech artist, quake2/3 mods (CrazyButcher). Personal account, speaking for myself. he/him
German game dev / game artist
Favorite tools: C, Aseprite, Blender
Working a lot with raylib and programming in C.
Twitter: @zet23t
Blog: https://quakatoo.com
https://mastodon.gamedev.place/@harold | http://haroldbot.nl
Application developer by day, open source developer and Khronos contributor by night. Maintainer of the Vulkan and OpenGL and hardware databases at https://www.gpuinfo.org
Pretends to be a Graphics Programmer, multiplying by -1.0f. I like video games and people who make them. Ex R*. Helped out with Horizon Remaster and TLOU2 port. All opinions are my own and not rated by the ESRB. He/him.
Tools Programmer @ Ubisoft Reflections
Animation & Machine Learning at Epic Games. Ex Ubisoft La Forge. Programmer & Occasional Writer. https://theorangeduck.com/
The Forge Interactive, Inc. is a think-tank for advanced real-time graphics, specializing in custom game engines, rendering solutions, and offering expert game engine consulting and programming services.
π: theforge.dev/
βοΈ: github.com/ConfettiFX
Remaking consumer electronics to respect people and the planet. π»πͺ Framework Laptop 13 and 16 are now in stock, and pre-orders are open on Framework Desktop!
Game developer @ Snowprint Studios
Created Gridr - Game framework, Unity Asset Store
Making Uprising π₯ and Blitz
Strategy & AI π²β
Indie Dev @StudioBravarda | Engineering Team Lead | Senior Gameplay Programmer
Data Oriented Design is my new passion
π§π· EN | PT
Narrative, trading RPG set in future dystopian Finland. Featuring a point-and-click driven plot and card-based combat.
Set route to trucker2056.com or wishlist now on Steam https://store.steampowered.com/app/3482200/Trucker_2056/
Graphics programmer
http://anki3d.org | http://github.com/godlikepanos
C/Go/WASM consultant living in Vancouver, Canada, building the tools and core tech that make your multiplayer project better. Doom, guitars, code, biz.
Engine programmer @ Asobo Studio (A Plague Tale: Requiem, MSFS 2020, A Plague Tale: Innocence, ...).
Opinions are my own.
https://tcantenot.github.io
https://x.com/ThierryCantenot
Serving the video game industry through breaking news, insight on game industry trends, expert advice & resources, and more.
Hi, Iβm Arnold Rauers.
Since 2012 Iβm creating independent video games as Tinytouchtales.
π http://www.arnoldrauers.com π