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

273 Followers  |  540 Following  |  324 Posts  |  Joined: 21.10.2024  |  2.0516

Latest posts by sebdegraff.bsky.social on Bluesky

Video thumbnail

Added a histogram. It accumulates the durations of all zones that have the same name as the selected one

08.10.2025 12:35 โ€” ๐Ÿ‘ 3    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image Post image

A bit technical thread ๐Ÿงต

Iโ€™ve been improving the in-game ambient occlusion system - and ended up with something I call:
Blob-based Analytical Ambient Occlusion on Primitives

Hereโ€™s what it does to the final image:
(more examples later in the thread)

(1/16)

07.10.2025 10:28 โ€” ๐Ÿ‘ 7    ๐Ÿ” 2    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Then if you want to provide strided arrays on top of that, there could be mesh.GetStridedVertices() that returns a struct of strided arrays for pos, normals, uvs etc.

But people can already use the VertexBufferData if they want to access vertex data without the compaction step

04.10.2025 08:55 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

I donโ€™t know, that seems like more magic to me. Whatโ€™s wrong with mesh.GetPositions() and mesh.SetPositions() as a more explicit mesh.vertices?

Deprecate mesh.vertices with a message that says to use GetPositions(), but leave it in there for the next 10 years :)

04.10.2025 08:50 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Very cool to see Eike's progress on his project, and the sheer speed at which he's working. Also I find impressive how the smooth web build is. Try it!

03.10.2025 11:17 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

Another attempt to upload this video to Bluesky!

Halloween is coming and there is so much left to do!

Like, for instance, wish listing 8-bitBot: store.steampowered.com/app/3959370/...

#gamedev #raylib #solodev

30.09.2025 20:35 โ€” ๐Ÿ‘ 15    ๐Ÿ” 5    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
Post image

New blog post! In "Billions of triangles in minutes" we'll walk through hierarchical cluster level of detail generation of, well, billions of triangles in minutes. Reposts welcome!

zeux.io/2025/09/30/b...

30.09.2025 17:40 โ€” ๐Ÿ‘ 158    ๐Ÿ” 53    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 4

That's (apple) clang. I was already passing -Wall and -Wextra, so it seems -Wundef was not included in these. Same with zig cc.

29.09.2025 13:00 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0
a terminal showing a failed build with 17 errors, all pointing to mistakes such as #if __linux__

a terminal showing a failed build with 17 errors, all pointing to mistakes such as #if __linux__

-Wundef where have you been all my life?

29.09.2025 12:24 โ€” ๐Ÿ‘ 5    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

man this will be so good! Excited for the release

28.09.2025 10:06 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
VULFPECK /// Tee Time
YouTube video by Vulf VULFPECK /// Tee Time

What the?? So Funky!
The rhythm and some part of the chords progression are quite close to Vulfpeckโ€™s Tee Time, I wonder if thereโ€™s some inspiration youtu.be/iFG18LOlj-o?...

24.09.2025 21:47 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Ok! FWIW, glBeginQuery(GL_TIME_ELAPSED, ...) worked on all OpenGL core platforms I tested it on (admittedly not that many). Seems surprisingly old too (2.0)
registry.khronos.org/OpenGL-Refpa...

WebGL needs an extension: EXT_disjoint_timer_query. I didn't try it yet. Not sure about OpenGL ES.

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

(I had sketched a messy version of that, using a duration provided by metal in the command buffer callback, and performance counters/queries on GL and D3D. I think it would be really nice if sokol_gfx could expose GPU counter functionality for profiling, if it can be done cleanly)

23.09.2025 18:26 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

On that note, have you thought about showing a frame CPU and GPU time measurement in the samples somehow? Could help to compare perf across platforms and across sokol versions

23.09.2025 18:09 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Nice! More insight on whatโ€™s going on can only be a good thing

23.09.2025 18:06 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Also, a fun experiment I did that relates to reflection:
bsky.app/profile/sebd...

22.09.2025 10:50 โ€” ๐Ÿ‘ 0    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Hearing that sentiment about LLVM a lot lately.
I'm also doing basic reflection for my game engine, by roughly parsing C code and emitting reflection info as code as a step before compilation. I guess that's also the direction you're going in since you mention writing a custom parser in the OP

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

I see! Too bad it didn't pan out, seems neat. I totally believe you for the maintenance burden. I guess it's a good cautionary tale for me, I shall not attempt to mess with llvm :D

I really wish our compiler infrastructure was less bloated and easier to handle, we could do so much more...

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

Perhaps in your case you could build your version of llvm in a separate repo, and copy over only the binaries you need?

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

Having a cross platform compiler and linker checked-in with project makes sense to me though.
Personally I check in binaries of the compiler (currently using zig cc, might move to llvm-mingw at some point to not depend on zig bugs). Do you think this is a good approach?

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

Truly pushing the boundaries of human knowledge there ๐Ÿ˜Œ

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

More like b[i] = (1.0f - alpha) * a[i-1] + alpha * a[i]; at this point!

21.09.2025 22:23 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0

Brb, adding a low pass effect to the pause menus of all my game jam games

21.09.2025 21:52 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

Why did no one tell me you can implement a low pass filter in like 4 lines of C? ๐Ÿ˜ค

21.09.2025 21:52 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

wake up babe, new rxi lib just dropped
github.com/rxi/sj.h

21.09.2025 21:24 โ€” ๐Ÿ‘ 1    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

1 in 10 people in Gaza has now been massacred by Israel.

21.09.2025 01:36 โ€” ๐Ÿ‘ 661    ๐Ÿ” 319    ๐Ÿ’ฌ 19    ๐Ÿ“Œ 12

I love watching playtests, listening to them apologize for being bad at a game they've played for literally 1 minute, then watching them almost immediately proceed to do the sickest shit by sheer force of will.

20.09.2025 01:48 โ€” ๐Ÿ‘ 50    ๐Ÿ” 1    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Video thumbnail

Another puzzle idea; I am fascinated how nice the "code" of the bots look like and how it works in action, all without any collision.

#gamedev #solodev #raylib

19.09.2025 16:04 โ€” ๐Ÿ‘ 19    ๐Ÿ” 2    ๐Ÿ’ฌ 2    ๐Ÿ“Œ 0

Perfectly choreographed!

19.09.2025 18:00 โ€” ๐Ÿ‘ 2    ๐Ÿ” 0    ๐Ÿ’ฌ 1    ๐Ÿ“Œ 0
Post image

๐Ÿ”ด Livestreaming in 30 min:

Adding items that entities can drop when they die or are destroyed. This is yet another project โ€“ a game we're prototyping with my studio, Asteroid Lab.

Made in a custom engine, in C. #indiedev

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

19.09.2025 10:48 โ€” ๐Ÿ‘ 9    ๐Ÿ” 0    ๐Ÿ’ฌ 0    ๐Ÿ“Œ 0

@sebdegraff is following 20 prominent accounts