Julien Koenen

1.9K posts

Julien Koenen banner
Julien Koenen

Julien Koenen

@motor3d

engine director @KeenGamesStudio

Frankfurt, Germany Katılım Haziran 2009
1.7K Takip Edilen722 Takipçiler
Olex (Solo gamedev Diablo-like) 🇺🇸🇺🇦
It's nice to have my own GPU allocator. Writing a custom ImGui is easy. Here is a view into GPU images that are involved in my pipeline. A raytraced pass produces color and glow values, then a set of mipmaps for the bloom, and intermediary for FXAA pass in sRGB, and a depth buffer for the UI pass. I allocate out of 256MB blocks. (Configurable.) Everything is doubled because I have up to 2 frames in flight.
Olex (Solo gamedev Diablo-like) 🇺🇸🇺🇦 tweet media
English
2
0
48
3.4K
Julien Koenen
Julien Koenen@motor3d·
@OlexGameDev But only one frame is executing on the gpu at any point in time - so what exactly do you need to wait for?
English
1
0
0
50
Dennis Gustafsson
Dennis Gustafsson@voxagonlabs·
Adding multiplayer to this game has been far more complicated than making the entire engine for single player. This is a project that spans 3+ years and dozens of developers and now it's finally time to let it out in the wild!
Teardown@teardowngame

🚨 Teardown Multiplayer update launches on PC March 12 – 2 PM CET 🚨 It's time to squad up and cause chaos together 💥 Co-op destruction, physics madness, campaign with friends & community mods like never before. Console version is coming later this year. Watch the trailer 👇

English
97
434
8.2K
437.6K
Eskil Steenberg
Eskil Steenberg@EskilSteenberg·
Spot the logical problem with Vulkans design: -Shaders are const assets that can be compiled offline. -Detect GPU capabilities at run time. -Make sure your shaders take advantage of GPU Capabilities.
English
22
13
379
39.3K
Julien Koenen retweetledi
Arseny Kapoulkine 🇺🇦
After nine years of development, meshoptimizer has reached its first major version, 1.0! This release focuses on improvements in clusterization and simplification as well as stabilization. Release announcement with more details on past, present and future is below; please RT!
English
9
116
494
39K
Dennis Gustafsson
Dennis Gustafsson@voxagonlabs·
Next week I'll go to Breda for the Graphics Programming Conference. @GabeRundlett and I will give a presentation on Tuesday about raytracing voxels, covering methods used both in Teardown as well as our new engine. If you are also there and would like to meet up, let me know!
Dennis Gustafsson tweet media
English
16
46
598
33K
Julien Koenen retweetledi
Keen Games ➡️ Enshrouded out NOW!
With the end of October looming on the horizon, it was time for us to put on our wellies and wade into the shallows to bring you some well-deserved updates on Enshrouded: Wake of the Water! 💦
English
29
35
262
20.1K
Julien Koenen
Julien Koenen@motor3d·
#water-simulation-rendering-in-enshrouded" target="_blank" rel="nofollow noopener">graphicsprogrammingconference.com/2025/#water-si… My collegues Andreas and Simon will talk about the new Water Simulation&Rendering in Enshrouded at the great #GPC2025
English
0
5
30
1.8K
Julien Koenen
Julien Koenen@motor3d·
@matiasgoldberg Crying over here with players recreating Minas Tirith with thousands of tiny light sources :-)
English
0
0
2
160
Matías N. Goldberg
Matías N. Goldberg@matiasgoldberg·
And artists must be continuously taught about performance-aware methods. Of course it's hard when art is outsource and AAAA projects are huge. UE5's problem is that its material system can easily lead to bloat if not kept in check, and that remains unacknowledged. [3/3]
English
7
2
77
3.3K
Matías N. Goldberg
Matías N. Goldberg@matiasgoldberg·
While Sweeney isn't wrong (devs not caring for perf -> perf sucks); UE4/5 prioritized artist-driven materials. They're a blessing for expressing artistic vision; but it *sucks* for performance. If you want a game to run fast, from day 0 appoint a savvy tech lead. [1/3]
VGC@VGC_News

Epic Games CEO Tim Sweeney has suggested that some platforms may struggle to run Unreal Engine 5 games because developers aren’t optimising them properly. vgc.news/news/unreal-en…

English
10
16
272
22.7K
Ryan Fleury
Ryan Fleury@rfleury·
@motor3d @neogoose_btw The whole point of what I’m saying is that in the majority of cases, the fix is to default to zero.
English
1
0
0
512
Dmitriy Kovalenko
Dmitriy Kovalenko@neogoose_btw·
omfg unsigned integers are the most important thing ever existed. If only you’d know how many crashes happened because APIs like “max_threads” accepts int instead of unsigned int. Having in your type system ability to ban negative numbers is crucial, and having unsigned easily accessible via shortcuts like u32 is alone a solid reason to migrate to Rust/Zig
Łukasz | Wookash Podcast@wookash_podcast

„Hey @rfleury, what would you remove from C?” This was wild! It’s a snippet from our discussion C language with @rfleury and @TheGingerBill! It’s unclear whether it will be out this Saturday or next one… but it’s coming! Soon!

English
47
11
607
98K
Ryan Fleury
Ryan Fleury@rfleury·
Division by zero should simply produce zero. always. If you wanted something special to happen (especially a damn exception), then you should just have to check for a zero divisor. The vastly common case is that you want to gracefully decay to some default, zero being the most useful one.
English
14
2
38
18.9K
Ryan Fleury
Ryan Fleury@rfleury·
@motor3d @wookash_podcast @TheGingerBill It’s very much not a good way to do that. What you want are just type annotations which go far beyond “unsigned”. There is no reason this should be coupled with what ops are generated.
English
2
0
5
1.3K
Łukasz | Wookash Podcast
Łukasz | Wookash Podcast@wookash_podcast·
„Hey @rfleury, what would you remove from C?” This was wild! It’s a snippet from our discussion C language with @rfleury and @TheGingerBill! It’s unclear whether it will be out this Saturday or next one… but it’s coming! Soon!
English
19
9
342
112.9K
Ryan Fleury
Ryan Fleury@rfleury·
Somehow this video unfortunately made it to PLT Twitter, and since they lack inference abilities & because the clip omitted all context, some clarifications: - I am not saying you only allow signedness (or only unsignedness). - I am saying signedness should live on the *op* rather than storage types—same as with atomics. I do not think atomic type operators are ever useful. I just want to write the explicit atomic operations in code. Same when signedness is important. Just let me write the ops I want the CPU to do. - Using unsignedness as a way to “disqualify negative values” is absolutely awful and is not a good example of type systems being used to make things “safer” or more robust.
English
15
0
119
16.5K