Yup! It's written in C with a homebuilt framework, which allowed me to do a lot of interesting things with data efficiency.
Some relevant history: Long ago, I used to write games for the Macintosh by using system APIs directly. In 2009, after copying code from project to project a few times for stuff like window creation and event handling, and desiring to be able to support other platforms, I decided it would make more sense to package up the code I had been copying around into a set of libraries, each of which would encapsulate a specific set of functionality, and I could pull in the relevant ones for each project I was working on without making a mess. I named this collection of libraries "Stem", and everything I wrote from then on used it as the foundation to build upon, gradually expanding the Stem framework as needs arose.
Sometime around 2021, I started working on a suite of productivity applications that acted as a companion to Stem (while also being built with it), which consisted of a bitmap graphic editor, an audio synthesizer, and a 3D modeler. When I wrote Throw Rock in 2022, I used these tools for asset creation, and then a more mature iteration of them was used for Leaf's Odyssey. The main reason Leaf's Odyssey is so small on disk is because there's no sampled audio in it at all - everything you hear is synthesized at runtime from very compact configuration files. All of the graphics are packed into one PNG file, which is used as a texture atlas with a supplemental index of rectangles for every sprite in the game. The title screen graphic was made with my 3D modeler, though instead of including the entire scene, it's actually just a 480x270 render packed into the main texture atlas.
All of these libraries and tools are open source, though I haven't yet put in the effort to make them easily buildable without specialized knowledge; however, if you just want to browse some code, you can find the relevant sections of my WebSVN repository here: https://ludobloom.com/svn/StemLibProjects/ https://ludobloom.com/svn/Tools/
I'm pretty happy with how all of this turned out. Having full control over every part of the process means I don't have to compromise on anything; if there's a bug at any level of the program, I can fix it myself instead of having to convince a third-party vendor to do it for me, and if I want to do something unconventional, I have the freedom to insert it into whatever part of the pipeline is most appropriate, or build something entirely new to do what I want. Since the tools I've written use the same framework as the game, I can continue to run them on every platform and setup relevant to what I use them for.
I would estimate that the amount of system APIs and paradigms I've had to learn to get this all to work is roughly comparable to what it would take to master a typical pre-built game engine, and the benefits I get from it are quite substantial. C happens to be my favorite programming language, and it's perfectly suited to this task. I wouldn't necessarily recommend this approach to other game developers since it takes a specific kind of dedication, but if this fits your style, you're probably not shopping around for that type of recommendation in the first place. That said, I would love to see more software written in this way, and would encourage everyone to at least give it a try and see if it works for you!