Sรฉbastien de Graffenried's Avatar

Sรฉbastien de Graffenried

@sebdegraff.bsky.social

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

287 Followers  |  554 Following  |  363 Posts  |  Joined: 21.10.2024  |  2.0676

Latest posts by sebdegraff.bsky.social on Bluesky

Neat, going to update my dynamic array too, thanks!
Also, what a nightmarish bug. Glad you could catch it

09.12.2025 13:03 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Damn, that effect looks so cool on that artwork! Love it

08.12.2025 17:04 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Adding "God powers" to the game
YouTube video by Sรฉbastien de Graffenried Adding "God powers" to the game

Streaming the addition of a new mechanic "God powers".

www.youtube.com/watch?v=scFx...

08.12.2025 13:50 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Oh sweet! Going to watch it tonight

05.12.2025 17:35 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Since posting my debugging tale, I've learned more:

- I can use an NVIDIA stats HUD to show dynamic changes to the GPU clock rate (which are very large).

- A D3D12 method, SetStablePowerState, is available to disable these dynamic changes.

Some numbers below!

1/

03.12.2025 00:09 โ€” ๐Ÿ‘ 5    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Interesting, I was wondering about how to do that recently. I assume itโ€™s mostly BIOS settings?

03.12.2025 09:13 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
The experimental Sokol Vulkan backend In a couple of days I will merge the first implementation of a sokol-gfxVulkan backend. Please consider this backend as โ€˜experimentalโ€™, it hasonly received l...

The blog post about the upcoming experimental sokol-gfx Vulkan backend is up:

floooh.github.io/2025/12/01/s...

(as always I'll need to do a couple more edits to fix typos and repetitions but first I'll need some food intake)

01.12.2025 18:16 โ€” ๐Ÿ‘ 18    ๐Ÿ” 4    ๐Ÿ’ฌ 4    ๐Ÿ“Œ 0

Store fees over 10%

30.11.2025 09:06 โ€” ๐Ÿ‘ 60    ๐Ÿ” 5    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

congrats!

27.11.2025 13:01 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
HORSES cover with a banned from Steam logo

HORSES cover with a banned from Steam logo

Our upcoming game HORSES was preemptively banned from Steam, with no path to appeal. The game will still launch next week on December 2nd and will be available on EGS, GOG, Humble, and Itch for $4.99. Here is a detailed FAQ covering what happened: horses.wtf/BannedFromSt...

25.11.2025 17:05 โ€” ๐Ÿ‘ 2783    ๐Ÿ” 1505    ๐Ÿ’ฌ 80    ๐Ÿ“Œ 254
Video thumbnail

Here's some cute bounding box functions for 2D shapes. A longer list here: iquilezles.org/articles/bbo...

25.11.2025 00:34 โ€” ๐Ÿ‘ 223    ๐Ÿ” 45    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0
Video thumbnail

Do you already have a present ๐Ÿง‘โ€๐ŸŽ„? It is only a little more than a month away!
In other news, I managed to get tracks in the snow working ๐Ÿฅณ
It just broke a few other systems, but I guess I can fix those ๐Ÿ˜…
I'm really happy how this is starting to look!

#gamedev #raylib #cozygame #puzzlegame

22.11.2025 17:45 โ€” ๐Ÿ‘ 7    ๐Ÿ” 2    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Quite interesting, I hit something similar the other day but couldn't find the reason.
If the stack was the same size for every platform, stack overflow could be caught while developing. I'll see if I can set the stack size to the same (modest) size for all platforms in my engine

17.11.2025 22:26 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

damn right

17.11.2025 11:37 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

nice!

15.11.2025 22:57 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Exciting! Custom engine I assume?
What's your approach to level editing, do you use a specific tool?

15.11.2025 15:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Preview
GitHub - Geolm/bc_crunch: tiny dependency-free lossless compressor for BC/DXT texture streams (C99, ~700 LoC) tiny dependency-free lossless compressor for BC/DXT texture streams (C99, ~700 LoC) - Geolm/bc_crunch

Just released bc_crunch: a tiny (~700 LOC), C99 library for lossless BC1/BC4/BC3/BC5 compression.
One .c/.h pair, no deps, no malloc
GPU-ready output
Zigzag + delta + popcount/dictionary tricks
Tested
Perfect for games, procedural assets, streaming textures.

github.com/Geolm/bc_cru...

15.11.2025 13:18 โ€” ๐Ÿ‘ 40    ๐Ÿ” 8    ๐Ÿ’ฌ 3    ๐Ÿ“Œ 0

Looks awesome, canโ€™t wait to try. Thanks for sharing!

15.11.2025 15:09 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
a game data editor that looks suspiciously like a spreadsheet

a game data editor that looks suspiciously like a spreadsheet

Streaming some tools programming on youtube in a bit: www.youtube.com/@seb_degraff
I'll add features to the in-game editor that the game designer requested!

14.11.2025 13:09 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

For more complex cases like returning a dynamic array from a function, arenas are a simple and easy to use solution. That said you do have to put in the effort to make yourself a nice codebase for C to become enjoyable, which is both a curse and a blessing

14.11.2025 11:46 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
vec2_t points[3] = {
  angle_to_dir(0),
  angle_to_dir(TAU / 3),
  angle_to_dir(2 * TAU / 3)
};

for (int i = 0; i < countof(points); i++) {
  // ...
}

vec2_t points[3] = { angle_to_dir(0), angle_to_dir(TAU / 3), angle_to_dir(2 * TAU / 3) }; for (int i = 0; i < countof(points); i++) { // ... }

C# for sure improved a lot with regard to memory management. I would still challenge the "almost always less work than using an unmanaged language" part though.

For this (arguably simple) example, it would look basically the same in C:

14.11.2025 11:46 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

My fellow Europeans, I'm once again asking you to write or call your EU representatives and tell them this is unacceptable. They're essentially selling our sensitive data to companies, effectively destroying our privacy and risking our digital well-being.

Check the site!

fightchatcontrol.eu

13.11.2025 08:05 โ€” ๐Ÿ‘ 528    ๐Ÿ” 681    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 6

Oh, I think I like the 1st one because you can clearly see the dispenser and the belt where the crates should be put. So you instinctively understand that the bot should transport crates from A to B, and thatโ€™s already compelling to me

13.11.2025 10:25 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I think I prefer the first one, but not entirely sure why. Perhaps because it shows better the grid based nature of the game, and has visually interesting props?
The idea of making the bot bigger and focusing on fewer things is good though, Iโ€™d say

13.11.2025 10:23 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
The Making Of Double Fine's Keeper
HEADLINE - Double Fine shocks with unprecedented development transparency! Wait, what do you mean we do this all the time? ....33 episodes? Who has time for that in this day and age!? Thankfully,โ€ฆ The Making Of Double Fine's Keeper

๐Ÿšจ "The Making of Double Fine's Keeper" is now available! ๐Ÿšจ

Many of you have been asking for this one; we're happy to say the cameras continued to roll here at the studio during Keeper's development. Come see how this very special game came to be, from the team themselves! ๐Ÿ˜Š

youtu.be/1OOfRTfMnx0

12.11.2025 20:23 โ€” ๐Ÿ‘ 193    ๐Ÿ” 54    ๐Ÿ’ฌ 6    ๐Ÿ“Œ 13

I see. Never used rust or Julia. Used C# where references (ref keyword) work like ref arguments in cpp, and are not allowed in struct or classes.
Using C these days and appreciate the simplicity!

11.11.2025 09:05 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

For me the point of ZII is to make things simpler and more straightforward. No need to think about constructors. "Initialize" a whole array at once to a valid state with just = {} or memset to 0.

Works well when composing data structures too, eg node structs can have pointers, null by default

11.11.2025 08:58 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Ah, weโ€™re talking about cpp! Just learned that references in structs are a thing. I was thinking about references in the C pointer sense.
Then indeed they seem incompatible to ZII in this context

11.11.2025 08:54 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

I didnโ€™t know you could have class members that store references in cpp, interesting.
Also it seems you canโ€™t assign them first in the constructor (makes sense, you could call other things from in there at which point the non-null guarantees would not hold).

11.11.2025 08:49 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I donโ€™t get your point: you certainly can initialize a reference to zero, then assign it something else later. Is it that you want to avoid null refs at all time?

11.11.2025 08:26 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

@sebdegraff is following 20 prominent accounts