Profile avatar
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
234 posts 231 followers 511 following
Regular Contributor
Active Commenter
comment in response to post
Ou: appliquer une taxe au kilo octet sur les jeux
comment in response to post
The audio is kind of satisfying! Kind of curious how you model piles in ECS, do the individual item entities still exist and belong to a pile? Or are they represented by pile entities that have a count?
comment in response to post
pixel perfection
comment in response to post
"You code by conversing with LLMs. I code by conversing with my past self. We are not the same"
comment in response to post
Or use this labeler which uses the reporting feature for bookmarking: bsky.app/profile/book... It will give you a timeline with all your bookmarked posts, which I find very handy
comment in response to post
Nice. Any hard earned advice to share?
comment in response to post
Agreed! It reminded me of a blogpost I read a while ago that I thought was really good: theorangeduck.com/page/atoi-tr...
comment in response to post
I see! Sounds like a potentially very useful project
comment in response to post
I went back your timeline and answered my question :) It's a cell based system where a single shader interprets render commands. Very nice! bsky.app/profile/mikk...
comment in response to post
Nice stuff! Not fully on topic, but: is it the same renderer than for the SDF things you posted a while back? How do you handle shaders and batching, is it one shader that branches, or multiple draw calls with different shaders, and perhaps some sort of smart batching?
comment in response to post
That works if the api user – whoever it is – is onboard with functions returning temp results, and have such globally accessible allocator. Otherwise I’d go with an arena passed as a parameter, similar to this: nullprogram.com/blog/2023/09...
comment in response to post
I don’t know if it fits your use case but recently I’ve started using a temp allocator for such results, reset every frame. If you want to hold to the data for longer, you copy it wherever you need. 95% of the time you don’t need to, and it makes for a simple api
comment in response to post
Ou: je peux me remĂ©morer la sensation gĂ©nĂ©rale de voir un paysage, mais c’est plus dur de visualiser les dĂ©tails du paysage. Je sais pas si il y a un analogue pour le toucher ou l’odorat, mais j’ai l’impression que la quantitĂ© d’info est moins grande
comment in response to post
Peut ĂȘtre que cela vient de la complexitĂ© plus grande de ces sens: par exemple il est possible pour certains d’imaginer des images jamais vues, mais je ne sais pas si il est possible d’imaginer des odeurs jamais senties đŸ€”
comment in response to post
Ah oui tient! Et maintenant que tu le dis, ça marche aussi pour les goĂ»ts et odeurs, j’en avais pas forcĂ©ment conscience.
comment in response to post
Ok! Looks really good!
comment in response to post
Interesting! Is it something like scaling up the particles to 1px and reducing their opacity accordingly?
comment in response to post
that comes after release was linked to the button press
comment in response to post
Never quite understood the "abort" argument: any serious editor would provide an undo command, which is a much more powerful way to solve it! For me the appeal of "act on release" is more a perceptual thing, your brain gets the confirmation the button was pressed and can be sure that the change 

comment in response to post
Clean!
comment in response to post
A necessary evil
comment in response to post
what’s the smooth camera trick? Rendering at a higher res than the pixel art res?
comment in response to post
1 min 24s in C. I need to improve these typing skills!
comment in response to post
Interesting! I could imagine this to be actually be useful if you want to call one of two functions with the same arguments. `(is_error ? log_error : log_warning)("there was a problem with %s in %s, at line %i", a, b, c)` Would that work?
comment in response to post
Oh, that's only for "read and write at the same time"? I'd assume that both reading and writing the same texture in one shader is a rare case. Usually you'd be flip-flopping between two textures, or have different textures for input and output, right?
comment in response to post
The copy would be of course an added cost, but it could compose nicely with the sokol api if you plan to add resources copying anyway (since you mentioned GPU -> GPU copying in your last blogpost)