Sign in

Oliver Franzke

@p1xelcoder.bsky.social
825 followers 190 following 330 posts

I'm making colored pixels for Double Fine Productions. Lead Programmer of Broken Age. Also worked on Keeper and the remastered versions of Grim, DotT, FT and Monkey Island. www.p1xelcoder.com

PostsRepliesMedia
Oliver Franzke @p1xelcoder.bsky.social · 28/08/2026
Crazy that everyone is so hyped about a top-down urban driving game.
2151
Oliver Franzke @p1xelcoder.bsky.social · 28/06/2026
How do you know that I’m a graphics programmer deep down in my heart? … Stopping in front of the fridge to admire these beautiful light patterns caused by the evening sun shining through tree canopy.
2271
Oliver Franzke @p1xelcoder.bsky.social · 16/05/2026
I went star gazing in a dark-sky area for the first time in decades and it was amazing, but man there are so many satellites these days. It’s almost unbelievable! As a bonus enjoy this photo of Jupiter I took with my phone. :)
060
Oliver Franzke @p1xelcoder.bsky.social · 23/04/2026
After all of these years hearing about and talking about Amdahl's law, I actually I had no idea what Gene Amdahl actually looked like until today. 🤷
010
Oliver Franzke @p1xelcoder.bsky.social · 27/01/2026
The RAM-price induced GPU shortage has led some folks to switch to alternatives…
010
Oliver Franzke @p1xelcoder.bsky.social · 20/01/2026
Gotta keep 'em at bay you know!
080
Oliver Franzke @p1xelcoder.bsky.social · 03/01/2026
The normal maps look sharp tonight.
1280
Oliver Franzke @p1xelcoder.bsky.social · 19/12/2025
Over the past two months, I’ve been diving into the Essence morph tech we built for Keeper - how we got here, how it works and some neat-looking results. I’m really proud of this system (and the game in general), and I hope you’ve enjoyed learning more about it. :)
0223
Oliver Franzke @p1xelcoder.bsky.social · 18/12/2025
The morph of the week is the "nightmare bridge". Nick did the initial pass and I tweaked the morph to make it more weird and "tentacely". This whole sequence is one of my favorites in the game.
0375
Oliver Franzke @p1xelcoder.bsky.social · 17/12/2025
One aspect of Keeper's morph tech I'm fairly proud of is the fact that I wrote more than 50 pages of documentation and recorded about an hour of tutorial videos for this system.
3553
Oliver Franzke @p1xelcoder.bsky.social · 16/12/2025
You can make things really weird by stacking a symmetry or twist operator on top of the fractal warp.
0142
Oliver Franzke @p1xelcoder.bsky.social · 16/12/2025
As I mentioned before the Mandelbulb alien in Annihilation was a big inspiration, so now you know where that inspiration went. :) bsky.app/profile/p1xe...
070
Oliver Franzke @p1xelcoder.bsky.social · 15/12/2025
This will be me Fractal Con! bsky.app/profile/p1xe...
0110
Oliver Franzke @p1xelcoder.bsky.social · 15/12/2025
My absolute favorite (and hands-down the most used) spatial warp in Keeper is the fractal. Our morph tech supports both Mandelbulb and Quaternion fractals. It's addictively cool and I could play with this all day long. :)
15011
Oliver Franzke @p1xelcoder.bsky.social · 11/12/2025
The morph of the week is this little peek-a-boo window. I love the fractal warp used for the tell and as always VFX made this look 1000 times better with the additional elements like the bugs.
1131
Oliver Franzke @p1xelcoder.bsky.social · 10/12/2025
Spatial warps can be stacked in Keepers morph tech, but of course the order matters. For example applying the symmetry operator to something that is twisted looks quite different than twisting an object that was first warped by symmetry.
071
Oliver Franzke @p1xelcoder.bsky.social · 09/12/2025
By now it should be obvious that I'm a big fan of implicit surface representations. At the extreme, they let you tear objects apart and turn them inside out. While we didn't use these (stamp and repeat) warp types in Keeper it was straightforward and fun to prototype them.
070
Oliver Franzke @p1xelcoder.bsky.social · 08/12/2025
Spatial warps are fun because you can get break the expectation of how an object might move, for example combining a simple melt deformation with a pull operator and animated warp centers.
0111
Oliver Franzke @p1xelcoder.bsky.social · 07/12/2025
Just in case ever you wanted to see all (remastered) animation frames from Day of the Tentacle scaled down on a single image.
0455
Oliver Franzke @p1xelcoder.bsky.social · 05/12/2025
Time for the morph-of-the-week. Nick modelled the source meshes and I set up the scene-graph and the basic sequence. Lee refined it and gave it the final touches.
1260
Oliver Franzke @p1xelcoder.bsky.social · 05/12/2025
Facebook reminded me that I watched the Holiday Special 10 years ago... I'll have to wait at least another 10 years before I can do that again. :P
010
Oliver Franzke @p1xelcoder.bsky.social · 04/12/2025
Spatial warps remap the positions used to sample an object’s distance field – effectively bending the space around the object. This illustration shows that process in action using a twist operation.
1244
Oliver Franzke @p1xelcoder.bsky.social · 04/12/2025
One of my favorite ways to utilize the twist warp is to align it with the cross-fade frontier. This way the shape blend happens in the coiled up region, which looks super neat. :)
2253
Oliver Franzke @p1xelcoder.bsky.social · 04/12/2025
Thanks. Yeah the trick is to modify the WS position prior to sampling and my implementation is definitely inspired by Inigo Quilez' excellent write-up about distance fields... in this case the "Displacement" section. iquilezles.org/articles/dis...
020
Oliver Franzke @p1xelcoder.bsky.social · 03/12/2025
Spatial warps are the real "magic sauce" of Keeper's morph tech. Since we use an implicit surface representation we can easily bend and distort space before the distance fields are sampled. This example is a showcase for the twist warp... Left: along-axis. Right: distance-from-center.
718029
Oliver Franzke @p1xelcoder.bsky.social · 02/12/2025
One thing I didn’t cover in the video is how we handle emissive glow. Instead of using a third cubemap (and increasing GPU bandwidth), we used color segmentation: the user picks which part of the base color should glow. It’s surprisingly effective and very cheap. bsky.app/profile/p1xe...
0182
Oliver Franzke @p1xelcoder.bsky.social · 02/12/2025
If you are curious how the morphs were made in Keeper, then you can watch me create this "monkey-bunny" from scratch utilizing the tech I developed for the game. Enjoy and let me know what you think. :) www.youtube.com/watch?v=f9V_...
2438
Oliver Franzke @p1xelcoder.bsky.social · 28/11/2025
I'm finalizing a video in which I create a morph from scratch and it looks like one needs a over-the-top pose for the "key-art" to grab attention. :P Which one should I use?
3100
Oliver Franzke @p1xelcoder.bsky.social · 27/11/2025
Todd Vaziri's great Vanity Fair piece reminded me of the Owlbear morphs in DnD Honour Among Thieves. Due to the non-interactive nature of the medium there are lot more tricks one can use. Super cool stuff.
081
Oliver Franzke @p1xelcoder.bsky.social · 26/11/2025
Additionally Annihilation also features a lighthouse... without legs though, so we win on that front in terms of weirdness.
130
Oliver Franzke @p1xelcoder.bsky.social · 26/11/2025
Given what I've shown so far it won't come as a big surprise that Annihilation was a huge inspiration for our morph tech. This movie captures how truly weird alien life could be... and weird is what we wanted to achieve in Keeper. bsky.app/profile/p1xe...
1150
Oliver Franzke @p1xelcoder.bsky.social · 26/11/2025
Here is another fun example of what one could do with the symmetry operator. On a related note... I do love my job! :) bsky.app/profile/p1xe...
1315
Oliver Franzke @p1xelcoder.bsky.social · 25/11/2025
The symmetry operator is one of my favorite effects in the Keeper morph tech. It is so much fun to play around with since it creates absolutely stunning visual pandemonium like this one.
1290
Oliver Franzke @p1xelcoder.bsky.social · 24/11/2025
The morph-of-the-week is the awesome "gear door", which was inspired by the "hands door" I talked about. With Lee's concept Nick modelled and animated this morph. I love the fact that gears temporarily appear while the passageway is revealed. The spinning ones are additive. bsky.app/profile/p1xe...
0110
Oliver Franzke @p1xelcoder.bsky.social · 24/11/2025
We need more "hand doors" in games like this one from the movie Return to Oz.
1162
Oliver Franzke @p1xelcoder.bsky.social · 21/11/2025
A major inspiration for the morphs in Keeper is the Nome king and his creatures from the movie "Return to Oz" (1985), which Jeremy brought to our attention. Rock surfaces change shape in unexpected ways and stuff appears / merges with the environment thanks to the wonderful stop motion animation.
2292
Oliver Franzke @p1xelcoder.bsky.social · 21/11/2025
With the rising platform we recognized, that the morph tech isn't good at growing branches organically. Much later in the project Danielle used Houdini to make these awesome growing vines for the glyphs. Unfortunately we never got the chance to combine these with a morph. bsky.app/profile/p1xe...
1181
Oliver Franzke @p1xelcoder.bsky.social · 20/11/2025
This Morph-of-the-Week is the growable platform - one of our earliest production morphs. Starting with the awesome concept by @leepetty.bsky.social the states were modelled by Nick. Once captured I set up the scene-graph and animated the morph. @lanethan.bsky.social added the cool foliage and fruit.
1152
Oliver Franzke @p1xelcoder.bsky.social · 20/11/2025
The surflets actually flow nicely. :) For the distance field morphs it doesn't quite work like that. I spent quite some time pondering solutions but it didn't yield in anything useable. Essentially you would need to author a in-between shape that you then use to transition from state A to B.
020
Oliver Franzke @p1xelcoder.bsky.social · 19/11/2025
In the Fall of 2021 - long before "AI" lost its soul - I did some experiments with early generative image models. Running a recording of myself looking around the room through VQGAN yielded in a wonderfully bizarre mess.
250
Oliver Franzke @p1xelcoder.bsky.social · 19/11/2025
I realized early on that a spatially constant cross-fade is nice, but for maximum expressiveness, spatial variance is required. We’ve added support for different transitions as a component that’s parented to the associated operation’s scene-tree node. You can even use a two-point Bézier spline...
31068
Oliver Franzke @p1xelcoder.bsky.social · 18/11/2025
Most morphs in the game have a fairly simple scene-tree (like in the illustration), but it can get quite complicated. A perfect example is last weeks morph-of-the-week: the bridge.
030
Oliver Franzke @p1xelcoder.bsky.social · 18/11/2025
Keeper's morphs are authored as scene-graph or more specifically as a scene-tree, which is evaluated bottom-up. I wrote a “compiler” which turns the tree into a command list which can be executed on the GPU. The compiler does a fair amount of optimization (e.g. dead branch pruning) to minimize cost.
4285
Oliver Franzke @p1xelcoder.bsky.social · 17/11/2025
The size of the morph proxy mesh is a major factor when it comes to shading cost. If the shape of a morphed object changes dramatically then a conservative proxy wastes GPU cycles. We therefore implemented an implicit selection method which picks the best proxy based on the state of the scene-graph.
2202
Oliver Franzke @p1xelcoder.bsky.social · 14/11/2025
To reduce the number of ray-marching steps needed to find the surface of our morphs we generate a proxy from the constituent meshes. It must fully enclose the morphed surfaces while remaining as tight as possible to maximize throughput. We want to minimize the red and blue regions in the debug view.
4429
Oliver Franzke @p1xelcoder.bsky.social · 14/11/2025
Here is a early prototype of this bridge. Not quite as expressive as the final version, but still looks quite neat.
0231
Oliver Franzke @p1xelcoder.bsky.social · 13/11/2025
We shipped Lucidity (in 2009) using XNA and writing the engine and toolset in C# was such a pleasure. :)
130
Oliver Franzke @p1xelcoder.bsky.social · 13/11/2025
I ported Broken Age and the adventure remasters to the PS Vita and man look at how huge the SteamDeck is compared to the Vita. :o
0210
Oliver Franzke @p1xelcoder.bsky.social · 13/11/2025
Here is a close-up (and partial slow-down) of one of my favorite morphs in the game: the bridge in the Mountain Shrine. When I first got the rock to look like flowing water at the end I was elated. :)
3569
Oliver Franzke @p1xelcoder.bsky.social · 12/11/2025
I’ve talked about how Keeper’s morphs use distance fields (DFs) as their surface representation. But if there are no polys, how do we render them? A DF gives the distance to the nearest surface at any point, which we can exploit for rendering by marching along the view ray until we hit the surface.
2245