Sign in

Froyok (Léna Piquet)

@froyok.fr
1.8K followers 335 following 577 posts

"For those who come after" - Gustave Aka Lady Bloom. ☀️🇫🇷 Principal Product Manager on Substance 3D Painter. Stay up at night to fiddle with shader stuff. - www.froyok.fr - mastodon.gamedev.place/@froyok

PostsRepliesMedia
Froyok (Léna Piquet) @froyok.fr · 08/08/2026
A month later and I finally have a render ! Still plenty of code to migrate, but I'm happy to have the depth prepass and ssao working (now on SDL_GPU) !
A screenshot of my game engine Ombre showing a red and black render of the entrance of room. Dark shadowing appear in the corners of the walls and objects.
140
Froyok (Léna Piquet) @froyok.fr · 24/06/2026
Having a great summer
The image is a “Types of Headaches” meme.

 It shows three classic headache types with red pain zones on a head diagram:
 - “Migraine” with pain on the front/side of the head.
 - “Hypertension” with pain around the back/top of the head.
 - “Stress” with a band of pain around the forehead.

 The fourth panel is edited to say “Heat wave” and replaces the head diagram with a red map of France, with the west and north of the map bright red.
0171
Froyok (Léna Piquet) @froyok.fr · 04/05/2026
Just noticed curved motion blur looks wrong when spinning the camera while looking down. But it sure as hell looks fun/trippy !
Screenshot of my game engine showing weird waves from the motion blur of a spinning camera.
160
Froyok (Léna Piquet) @froyok.fr · 29/04/2026
Was checking out the latest Anno GDC conference slides and noticed the MSAA mention: only 1.14% of their PC used switched from TAA to MSAA.
Extract of the slide and its description underneath:
Learnings

  - Get the asset pipeline running quickly!
  - Profile new features early on different hardware!
  - Implement debug visualizations early!
  - TAA vs. MSAA: Madness ☺

The last point I want to mention is something that we only touched on very briefly in the beginning. On PC we shipped both Deferred Shading with TAA as a default and Forward Shading with MSAA as an option. The decision was made at some point during development since some people on the team felt that TAA did not give us the same sharp and crisp image we had on Anno 1800 with MSAA. But it forced us to maintain both a deferred and a forward rendering path in our engine, which caused a ton of issues and doubled shader permutations.

With MSAA we had issues with noise since a lot of features rely on a temporal component. MSAA with RT is a pain (do not have the temporal smoothing PLUS multiple samples per pixel), our only solution was to trace in higher resolution :(

Testing all possible settings permutations was a nightmare

The big question is: was it worth the effort? Only ~1.14% of PC players play with MSAA and we would not make the same decision today.
2162
Froyok (Léna Piquet) @froyok.fr · 18/04/2026
Some folks asked to see my motion blur in movement, so here it is, slowed down 3 times (90fps to 30.fps). You can see a bit the curving effect. :D
2263
Froyok (Léna Piquet) @froyok.fr · 17/04/2026
Small update: now my motion blur can be curved. 👀 Same as before, but now I shift the sample position along a quadratic bezier curve, based on 4 states of the camera.
A screenshot from my game engine showing the motion blur effect drawing a curve/arc on bright source of light.
3342
Froyok (Léna Piquet) @froyok.fr · 13/04/2026
I generate mips and use textureGrad with anisotropy to make it a non-uniform blur, needing only 7 taps per pixel. Final result is really good, and cost 0.4ms (downsample, mip, effect, blit back up).
Motion blur effect from my engine. Camera is moving up/down creating bright yellow/orange streaks.Motion blur effect from my engine. Camera is moving left/right creating bright red and orange streaks.
2461
Froyok (Léna Piquet) @froyok.fr · 30/03/2026
Now 100% sold on the upscale pass for it yet, but current results are relatively good still. :) (I support spotlights and my local directional lights only for now.)
A screenshot of my engine showing a character viewed from the side inside the cone of a spot light. The light produces a foggy cone where the character cast a shadow in it.
120
Froyok (Léna Piquet) @froyok.fr · 30/03/2026
By hey ! Now I have a particle entity in my level ! :D
A screenshot of my game engine showing a particle entity. A simple smoke effects is visible inside a red sphere showing its volume. Three arrows showing the gizmo show that the element is selected. An icon in the center composed of several dots shows the object origin.
100
Froyok (Léna Piquet) @froyok.fr · 21/03/2026
To illustrate a bit, In the worst-case scenario this is how it looks like:
Screenshot of my game engine showing a volumetric effect, aliasing on the edges of the silhouette of a mesh can be noticed.
110
Froyok (Léna Piquet) @froyok.fr · 06/03/2026
Here are mines !
A 3x3 grid with video games cover :
- Half-Life 2
- Mirror's Edge
- Opus Magnum
- Factorio
- Final Fantasy VIII
- Chrono Trigger
- Golden Sun
- The Chronicle of Riddick : Escape from Butcher Bay
- Prince of Persia : Warrior Within
180
Froyok (Léna Piquet) @froyok.fr · 27/02/2026
I fell for this new French edition of Jules Vernes 20,000 leagues under the sea. It's incredible, the layout and font choices are soooo good !
The bright red cover of the book 20,000 leagues under the sea Photo showing two pages of the inside of the book 20,000 leagues under the sea.
050
Froyok (Léna Piquet) @froyok.fr · 24/02/2026
And if anybody is wondering how big this volume is, here is it next to the other ones.
Photo of my book shelf showing all the GPU Zen books next to each other.
090
Froyok (Léna Piquet) @froyok.fr · 24/02/2026
Got my copy of GPU Zen 4 !
Photo of myself hiding behind the book GPU Zen 4. Only the top of my head is visible.
1310
Froyok (Léna Piquet) @froyok.fr · 21/02/2026
Sweat blob emoji
120
Froyok (Léna Piquet) @froyok.fr · 27/01/2026
The result is nice to the ears, and also less of a pain to press !
010
Froyok (Léna Piquet) @froyok.fr · 27/01/2026
I was busy this morning : I changed my brown switches into red one ! They were annoying to remove, but it was worth it.
A photo of my desk at work showing a work showing a mechanical keyboard with missing keys and some empty slots next to red switches.
270
Froyok (Léna Piquet) @froyok.fr · 24/11/2025
Took a few tries, but I got the old ATI Toyshop demo running on Linux (with Proton 7). I found some old tech demos to download from here: soggi.org/video-cards/...
Screenshot from the old ATI Toyshop tech demo, showing a wide view of the street under the rain.
0170
Froyok (Léna Piquet) @froyok.fr · 20/09/2025
- J'utilise un kernel custom, en vram sous forme de SSBO, que je change suivant la résolution de l'écran (histoire que le bokeh soit relatif à ce qu'il y à l'écran) et la forme (en me basant sur CryEngine Gems) ia800704.us.archive.org/32/items/cry...
Slide from CryEngine graphics gems presentationSlide from CryEngine graphics gems presentation
010
Froyok (Léna Piquet) @froyok.fr · 15/09/2025
An image showing the meme "not what I'm called", but with a Fourier transform being called "furry transfem".
040
Froyok (Léna Piquet) @froyok.fr · 22/07/2025
That demo level is starting to shape up as I'm now making more and more textures for it. Here are a few bonus screenshots:
Screenshot of my game engine Ombre showing a close-up on a character wearing a scifi armor.Screenshot of my game engine Ombre showing a close-up on a character wearing a scifi armor.Screenshot of my game engine Ombre showing a red neon light next to two stacked up boxes and a some steam particle.Screenshot of my game engine Ombre showing a bright light at the end of a corridor.
1221
Froyok (Léna Piquet) @froyok.fr · 11/07/2025
Past few days have been focused on building a basic particle system, mostly to add smoke in a few places of the demo level to add some life. I got a simple vertex+frag shader working, driven by the particle logic stored in a texture. I'm already liking the early results. :)
1160
Froyok (Léna Piquet) @froyok.fr · 15/06/2025
C'est aussi à cette période que j'ai découvert ! D'ailleurs je suis tombée sur ça hier :
Photo d'un paquet de Dinosaurus Minis
000
Froyok (Léna Piquet) @froyok.fr · 06/06/2025
Ça marche mieux si on prend le titre original :
Affiche du film The Accountant 2
100
Froyok (Léna Piquet) @froyok.fr · 25/05/2025
I think it's a good opportunity to focus on building a demo level and some assets to showcase the engine features. So I started working on a little level, playing with lights and building materials. :D
Screenshot of my game engine showing a long and dark corridor barely illuminated by red and white light. On the wall are metallic horizontal bands, while on the floor are yellow plastic tiles.
180
Froyok (Léna Piquet) @froyok.fr · 25/05/2025
I added some tooltip when hovering assets in the window, but most importantly I started adding support to drag and dropping. First test was with meshes, to be able to drop them into the scene:
120
Froyok (Léna Piquet) @froyok.fr · 25/05/2025
Then I did a few other style hack to make the tree view nicer to look at, and also started adding icons based on the file type.
Screenshot of my game engine showing a close-up of the Assets window, divided in two section. On the left is a tree view, on the right is a list of object in the currently selected folder.
210
Froyok (Léna Piquet) @froyok.fr · 25/05/2025
I moved onto another big task, which took less time than I expected : I finally implemented an asset browser in-engine, to be able to navigate through my project files. At first I spent some time fiddling with ImGui to add a custom split separator that is resizeable.
120
Froyok (Léna Piquet) @froyok.fr · 25/05/2025
Another little feature I finally added was a color picker. I wanted to be able to edit more stuff directly in-engine, so I finally implemented the color widgets for lights. It was easy enough because most of the code was from another project of mine. So "yeay" for copy pasting ! :)
Screenshot of my game engine showing an orange colored button at the top and a floating window below it. The window contains a hue gradient slider and a orange to white/black area below it.
The at the bottom are available several text field with RGB, HSV and Hexadecimal color controls.
120
Froyok (Léna Piquet) @froyok.fr · 25/05/2025
Then I added a prototype for a new entity type : the rotator ! The goal is to have this entity control another one (here a mesh) to update its rotation. The moody light + fan was born ! :D
110
Froyok (Léna Piquet) @froyok.fr · 25/05/2025
Now that I was able to get information on the fly, it was easy to expand it to the selection overlay system and draw an outline when hovering object. That makes selection much easier: less mistakes !
120
Froyok (Léna Piquet) @froyok.fr · 25/05/2025
Finding stuff can be hard sometimes, so I started adding more debug information. I added a little tooltip when I hover objects in the scene to get some quick info for example.
A screenshot of my game engine showing a little bubble floating next to the mouse cursor with the text "Cubemap (2)".
100
Froyok (Léna Piquet) @froyok.fr · 25/05/2025
Been a while, so where are we with things in Ombre ? I continued working on the manipulator a bit to handle scale transformation. I stopped there because I didn't want to think about rotation stuff yet. 😅 Also adjusted its style, wanted to make cooler.
110
Froyok (Léna Piquet) @froyok.fr · 22/05/2025
Might have been true in the past, but I don't think that's the case anymore. I personally run multiple games or software at the same time, for example:
Screenshot of Steam library showing two versions of Substance 3D Designer running at the same time.
120
Froyok (Léna Piquet) @froyok.fr · 28/04/2025
Updated Mesa and that fixed all my issues. Now my enjoying a lot the game. Also crying a lot. Please enjoy this meme I made: (Tagged graphic to "spoiler" it.)
An image composed a two images top / bottom. Top image is a walking cane. Bottom image is a single frame of a gif from TV show The Punisher with the character saying "no, no, no, no, wait, wait, wait ,wait".
000
Froyok (Léna Piquet) @froyok.fr · 25/04/2025
The runs game pretty well so far via Proton. Only issue I have is mostly during some cinematics where meshes tend to suddenly disappear, creating very bright flashes because of the background color/bloom. I guess I have another reason to update Mesa.
100
Froyok (Léna Piquet) @froyok.fr · 24/04/2025
Just for that it is GOTY for me 😆
Screenshot of the game Clair Obscure Expedition 33 showing a cake and a candle. The candle is in the form of the eiffel tower but distorted. The top of the tower has a little flame.
150
Froyok (Léna Piquet) @froyok.fr · 23/04/2025
Haven't played the first game, but seeing a fullbody awarness system in this one, especially for swimming, is actually quite cool. I wish more game would have that.
Screenshot of Subnautica 2 video showing the bottom of a body (pelvis and legs) in front of the camera while player is swimming backward.
050
Froyok (Léna Piquet) @froyok.fr · 22/04/2025
Manipulator is finally working, I can now move stuff around easily in my scenes. :) I also refined a bit the color/transparency of the manipulator.
130
Froyok (Léna Piquet) @froyok.fr · 21/04/2025
Started adding a state machine in the gizmo code, and hooked some events. So now I can select objects around in the scene and it shows the gizmo on it. Also started animating it, because it's fun. :)
160
Froyok (Léna Piquet) @froyok.fr · 20/04/2025
And then yesterday night I found out that blue lights were behaving weirdly. After some back and forth I isolated the issue not with the tone curve but actually with my color grading LUT.
A screenshot of my game engine showing a blue light reflection on a floor with a reddish halo around it.
100
Froyok (Léna Piquet) @froyok.fr · 20/04/2025
Hooking collisions after that was easy, because I could use SDF functions on the CPU too to do ray intersections. I use a capsule in this case to make the area a bit bigger.
100
Froyok (Léna Piquet) @froyok.fr · 20/04/2025
A few lines of code later... gizmo was alive ! :D
A screenshot of my game engine showing a 3 arrows colored Red, Green, Blue and aligned with the world axes.
120
Froyok (Léna Piquet) @froyok.fr · 20/04/2025
So the first try of making an SDF got borked a bit, but I got nice glicthes out of it once again ! 😆
Screenshot of my game engine showing a weird circular noise.
110
Froyok (Léna Piquet) @froyok.fr · 20/04/2025
I quickly hit a snag however: sorting issues ! Without depth writing, you cannot properly draw that object, especially since it's a single mesh. However because it's gizmo I didn't want to overwrite the scene depth buffer.
Sorting artifacts of the mesh faces related to depth writing being disabled.Sorting artifacts of the mesh faces related to depth writing being disabled.
200
Froyok (Léna Piquet) @froyok.fr · 20/04/2025
So I put that stuff on the back for the moment. I needed a creative break. So I started working on finally implementing a translation manipulator in my editor ! It started with drawing a basic axis mesh at first:
A screenshot of my game engine showing 3 arrows as Red, Green and Blue representing the world axes.
110
Froyok (Léna Piquet) @froyok.fr · 20/04/2025
I went back to do more Steam Audio after that. This time to plug in the transmission property, which allows sound to go through objects (instead of just being fully occluded).
100
Froyok (Léna Piquet) @froyok.fr · 20/04/2025
I got some "fun" glitches out of it at least. First time it crashes the system, the other times it was able to recover fortunately. (Turns out I writing data into an SSBO but out of bounds).
Screenshot of my game engine with a scene filed with simple cubes and wall. Over the image appears random black squares, typical of GPU artifacts.
100
Froyok (Léna Piquet) @froyok.fr · 06/04/2025
End result is that I now have occlusion working on my audio sources ! It gets evaluated with several samples so that sounds fade in/out nicely.
171
Froyok (Léna Piquet) @froyok.fr · 11/03/2025
Some progress on Steam Audio integration: I have now attenuation, air absorption and binaural effect working. Results are starting to get pretty cool ! :) (Sound ON for the demo !)
1131