Sign in

Alexandre

@kooparse.com
55 followers 157 following 55 posts

Working on something that will see the sunlight one day; but we must be patient.

PostsRepliesMedia
Alexandre @kooparse.com · 12/08/2026
I also wrote a post explaining my technical choices along the way fomenko.fr/devlogs/gui-.... #indiedev #gamedev #indiegames
fomenko.fr
GUI Programming
This post is an overview of my choices when programming my own GUI library, this is not a tutorial. It’s been a while since I wanted to own the GUI st…
061
Alexandre @kooparse.com · 12/08/2026
I open sourced my GUI library which currently powers my game editor. There is an auto layout system, themes, and a nice feeling while using widgets like smooth transition effects and such. #indiedev #gamedev #indiegames
1123
Alexandre @kooparse.com · 23/03/2026
How much time I spend looking at selected entities in my editor!? A lot! From splash overlays to nice outlines, and it was pretty cool and relaxing to make! fomenko.fr/devlogs/outl... #gamedev
fomenko.fr
Outline Rendering
When an entity was hovered or selected, I overlaid a white color on it, making it pretty difficult to see the material beneath. I survived one year li…
082
Alexandre @kooparse.com · 07/03/2026
I refactored lot of rendering code recently, aiming for greater simplicity in general. I changed the shape of my renderer, and how I load assets in the game, how I send materials textures to the shaders... and more; I wrapped up everything in this post: fomenko.fr/devlogs/big-...
fomenko.fr
Big Winter Cleanup
Those last few days I got distracted with rendering stuff. It was overly too complex, and now that I’m back being by myself on the project, it was tim…
000
Alexandre @kooparse.com · 18/10/2025
On dit que cet endroit est le bout du monde, que comme la vie, il n’y a rien après. Que seul les désemparés venaient se perdre ici à tout jamais. #indiedev #gamedev #indiegames #screenshotsaturday
070
Alexandre @kooparse.com · 18/10/2025
They say this place is the end of the world, that like life there is nothing after. Only the forsaken came here to lose themselves for eternity. #indiedev #gamedev #indiegames #screenshotsaturday
190
Alexandre @kooparse.com · 16/10/2025
Edgar contemple les tombes et les mausolées. On dit que les dieux sont enterrés ici. Bien loin de la cacophonie des batailles à leurs noms. Jadis, lui aussi se battait pour l’un d’eux. Les dieux sont partis depuis fort longtemps, seules les pierres survivent à la folie des hommes.
000
Alexandre @kooparse.com · 16/10/2025
Edgar gazes upon the graves and mausoleums. They say the gods are buried here. Far away from the cacophony of battles fought in their names. Once, he too fought for one of them. The gods have been gone for ages, and only the stones outlast the madness of men.
100
Alexandre @kooparse.com · 14/10/2025
Des dédales à n’en plus finir et le temps qui semble s’être arrêté depuis une éternité. Edgar poursuit son chemin, cela fait des jours qu’il navigue à l’aveugle la région du Roi Fou...
010
Alexandre @kooparse.com · 14/10/2025
A tangled path without end, and time that seems to have stopped for an eternity. Edgar continues on his way; it has been days that he has wandered blindly through the region of the Mad King...
110
Alexandre @kooparse.com · 11/10/2025
The main issue is how I blend probes. It’s too simple right now, and the grid becomes visible when nearby probes fluctuate between cells. It’s worse with sparse probes. I’ll try something new soon! But I want to avoids building a tetrahedral volume like big engines do...
010
Alexandre @kooparse.com · 11/10/2025
To easily get the surrounding probes from shaders, all probes are spatialized in a 5x5x5 grid. Still, I have to sort them in the shader to find the nearest four probes among the surrounding ones, and that’s not great and bloats performance right now.
100
Alexandre @kooparse.com · 11/10/2025
How it works: I place probes in the scene, which are just entities from my editor’s point of view. The baking system is pretty simple: I raycast a few times from each probe to get the irradiance of surrounding objects, then aggregate the results and store them as 9 spherical harmonic coefficients.
100
Alexandre @kooparse.com · 11/10/2025
I took a few days to dive into how I could compute indirect lighting in my game, and it was easier than I thought to get a working system. I like the result, it already adds a lot to the scene. But it still needs more work! #screenshotsaturday #gamedev
1132
Alexandre @kooparse.com · 04/10/2025
Early this week, I added a few things to the profiler I’m using in the codebase, including sorting, navigating the hierarchy, in the code being able to customize the name of the area, and a visual line display. It’s entirely based on the Iprof runtime code. #screenshotsaturday #gamedev
0102
Alexandre @kooparse.com · 27/09/2025
For today, I don’t have much to show; I lost my mind with this spatial grid optimization... pure rabbit hole. In the end, it’s not worth it for mesh culling (at the moment), but definitely worth it for querying the near entities for collision detection and raycasting! #screenshotsaturday #gamedev
0121
Alexandre @kooparse.com · 23/09/2025
Also, the SSAO target texture is now half the size of the framebuffer, then upscaled later. This resulted in a significant performance gain with almost no visual cost.
000
Alexandre @kooparse.com · 23/09/2025
After a few days optimizing the way I was gathering and sending objects to the GPU, the game is running smoothly again. It’s a relief, also the big step forward now would be to use some spatial grid algorithm, but that’s for another time! #gamedev
191
Alexandre @kooparse.com · 21/09/2025
Thanks; it's a symbol, a totem, a direction even, of the game I'm trying to make.
000
Alexandre @kooparse.com · 20/09/2025
Painting the ground... #screenshotsaturday #gamedev
0183
Alexandre @kooparse.com · 19/09/2025
That was a super interesting talk, thank you very much! Indeed, probably a bit of overkill for now, but there's some clever tricks there, like reusing/cached ray projections, how they blend probes...
000
Alexandre @kooparse.com · 18/09/2025
One of the most insightful articles I’ve come across on implementing a lighting probe system: handmade.network/p/75/monter/... I’m also open to suggestions for other papers or blogs on this topic. #indiegames #indiedev #gamedev
handmade.network
Engine Work: Global Illumination with Irradiance Probes
Global illumination is one key effect I want to achieve with Monter. For a low-poly style game, G…
1133
Alexandre @kooparse.com · 18/09/2025
And the more I read about lighting probes, the more I’m thinking that I could scratch a basic implementation in a week, but I don’t want to fall into some kind of rabbit hole...
000
Alexandre @kooparse.com · 18/09/2025
I’m thinking about basic irradiance probes, it could be a good enough solution (at least for now). Each probe would be an individual entity, and could be placed manually at first. The results of the computed irradiance are easily serialized too.
100
Alexandre @kooparse.com · 18/09/2025
The game is largely populated by static entities, so baking lightmaps would probably give the best result. But it’s also pretty complex to implement in the current engine right now...
100
Alexandre @kooparse.com · 18/09/2025
I’m starting to think of ways to take into account indirect lighting in the game. It would have a great impact on the overall feeling. #indiegames #indiedev #gamedev
1143
Alexandre @kooparse.com · 17/09/2025
I definitely want a darker tone for Oleg, but the art direction is still not the priority right now.
000
Alexandre @kooparse.com · 16/09/2025
What has been very hard, and I suppose will remain so for a long time, is finding a way to bring together everything a game is made of into a cohesive whole. #indiegames #indiedev #gamedev
1123
Alexandre @kooparse.com · 15/09/2025
And I judge how good a programing language is, through this exact metric: Its ability to let me stay in that flow, in that process.
000
Alexandre @kooparse.com · 15/09/2025
The way I like to experience programming is by compulsively molding the code and logic on the fly. At first, it’s always chaotic and messy, I compile and run my program like a maniac, and I like that. Everything will eventually takes its final form naturally. I trust the process for that.
100
Alexandre @kooparse.com · 14/09/2025
I think Jai and Zig have quite different end goals, but their common ground, in my opinion, is that both are languages that do not compromise on performance. Beyond that, they don’t share much.
000
Alexandre @kooparse.com · 14/09/2025
At some point, I’ll share more about my experiences with Jai. It’s been my main programming language for the past two years, and it honestly feels like it was designed to match how my brain works.
230
Alexandre @kooparse.com · 13/09/2025
The game I’m currently working on has around 75k lines of code and is written entirely in Jai, Jonathan Blow's upcoming language. #indiedev #gamedev #indiegames #screenshotsaturday
0184
Alexandre @kooparse.com · 10/09/2025
I recently worked on the ability to swap scenes in the game, and from there, I ended up adding a new menu. #indiedev #gamedev #indiegames
0153
Alexandre @kooparse.com · 06/09/2025
“Lost in a surreal and strange maze where nothing really makes sense in the way we know it…” #indiedev #gamedev #indiegames #screenshotsaturday
Lost in a surreal and strange maze where nothing really makes sense in the way we know it.
1113
Alexandre @kooparse.com · 03/09/2025
Thank you! Richard Serra is an inspiration to me. I’ve listened to many of his interviews, and it’s very interesting to hear what he says about being physically present with art, being able to touch it and feel it.
000
Alexandre @kooparse.com · 03/09/2025
Recently I added some optimizations though, since the number of samples directly influences the vertex count, it can get out of control fast. So the sample count is computed from the sharpness of the corner angle now. It works pretty well! #indiedev #gamedev
072
Alexandre @kooparse.com · 02/09/2025
Next on the todo list: adding procedural bricks and some irregularities, but I won’t go as far as what @anopara.bsky.social and @h3r2tic.bsky.social achieved for #TinyGlade!
010
Alexandre @kooparse.com · 02/09/2025
So now I can meticulously design the labyrinth by just placing points, the curvature will pass through each of them (Catmull-Rom behind). I can also add or remove points on the spline, move their positions, slice the wall, undo/redo. #indiedev #gamedev #indiegames
152
Alexandre @kooparse.com · 02/09/2025
A few month ago, I added a nice tool: a spline-based wall editor. Because the game is set in a vast and hand-crafted labyrinth, we needed ways of easily editing it. I wanted a labyrinth that looks sinuous, messy, and chaotic, so smooth curves were absolutely needed. #indiedev #gamedev #indiegames
2114
Alexandre @kooparse.com · 01/09/2025
Tho, we’re currently limited to three textures, but the blend map format could be anything in theory, for example 12 channels, though it wouldn’t be saved as a png, but that's fine.
000
Alexandre @kooparse.com · 01/09/2025
I added the ability to paint the terrain, so now there’s a blend map with four channels. The RGB channels are used to weight the different attached textures, and the alpha channel creates holes in the terrain. #indiedev #gamedev #indiegames
1102
Alexandre @kooparse.com · 30/08/2025
To integrate this terrain system to my collision system, I simply convert the position of the player from world space to the terrain’s grid space, cut a small area around it, then reconstruct triangles to test against.
010
Alexandre @kooparse.com · 30/08/2025
There is still a lot of work to be done, notably the ability to attach multiple textures and to add a way to paint on a blend map. But that’s for another time!
000
Alexandre @kooparse.com · 30/08/2025
Last week, I added a simple terrain editor for my game. The terrain can be molded with a detail density of one meter, and the mesh is divided into 256 smaller chunks for rendering and editing purposes.
100
Reposted by Alexandre
Konstantin Kopka 🌱 Ghostbutter @ghostbutter.com · 08/07/2025
Hey everyone, I’m now offering Nintendo Switch 2 porting & publishing services via Ghostbutter LLC – my company here in Tokyo. Hand-crafted, performance-optimized ports for indie studios. If you’re looking to bring your game to #Switch2: 👉 ghostbutter.com/porting #gamedev #indiedev
0175
Alexandre @kooparse.com · 11/08/2025
A tiny tip I discovered (shamefully) not so long ago. fomenko.fr/devlogs/comp...
fomenko.fr
Tip #1: Compare squared distances, not lengths
A vector magnitude is a few adds and multiplies, but crucially a square root; and that last bit is expensive, particularly when you’re doing it inside…
010
Alexandre @kooparse.com · 20/05/2025
In our latest article, @ostef.bsky.social shows how we built a graphics abstraction layer to write rendering code just once. fomenko.fr/devlogs/maki...
fomenko.fr
Making a graphics abstraction layer
For a while we've been writing graphics rendering code twice, for both Metal and OpenGL. I was tired of maintaining two different backends that want t…
011
Alexandre @kooparse.com · 30/04/2025
Recently, I updated our collision detection code; here’s a summary of what we’ve done. fomenko.fr/devlogs/bett...
fomenko.fr
Better collision detection
It’s been a while since I wanted to revisit our game’s collision-detection system to give it a little boost, but I dragged my feet before rolling up m…
010
Alexandre @kooparse.com · 16/04/2025
If you want some info about Jai, and how it has been for us for our current gamedev journey (spoiler alert: very good), don't hesitate to reach out on Discord.
030