Sign in

Don Williamson

@donw.bsky.social
1.2K followers 200 following 314 posts

Head of Rendering @ Pacific Light & Hologram ~30 games/engines/platforms: Fable, Splinter Cell, Total War, Dauntless, No Mans Sky, DeepMind Lab, etc. Lionhead/Microsft, Ubisoft, Google/DeepMind, SEGA, etc. donw.io github.com/Celtoys

PostsRepliesMedia
Don Williamson @donw.bsky.social · 17h
Is it wrong that I'm considering unfollowing/muting people who can't recognise when a re-post or re-tweet or whatever is written by Claude?
110
Reposted by Don Williamson
Matt Keeter @mattkeeter.com · 28/09/2026
hi friends I'm very excited to announce Halfspace, my experimental cross-platform IDE for solid modeling with distance fields! This has been in progress since midway through last year, and it's finally "done enough" to make it more public.
mattkeeter.com
Halfspace
An IDE for solid modelling with distance fields
520648
Reposted by Don Williamson
Tom Forsyth @tomforsyth.bsky.social · 28/09/2026
DASHR - Dynamically Animated Skinned Heightfield Rendering Short video for now - I might do a longer one later? youtu.be/-Su9YrcazRk But there's ALL the details in the paper, and you can always Use The Source, Luke for the really deep info. github.com/tomforsyth10...
youtu.be
DASHR - Dynamically Animated Skinned Heightfield Rendering - six minutes version
YouTube video by Tom Forsyth
1422973
Don Williamson @donw.bsky.social · 29/09/2026
Look what I found! My original compiler in the 90s back in school, bought for me by a friend's parents. Dad threw it away along with all my other stuff when I left home and it's taken me 20 years to track a copy down.
2140
Don Williamson @donw.bsky.social · 26/09/2026
300 animated/skinned characters on PS2 using tricks like this. Those were some good times.
0130
Don Williamson @donw.bsky.social · 25/09/2026
Lord Save Me from the Old Dudes in my LI feed suddenly trying to become "AI Influencers," now that LLMs can temporarily prop up their washed out relevance refusing to step aside and let the younger generations thrive and grow. “LLMs have granted me a second career as a thought leader”
251
Don Williamson @donw.bsky.social · 09/09/2026
In ~2007 when coding the ambient lighting of Splinter Cell, I had the idea of storing dynamic SH probes in Voronoi cells, where a) dynamic objects could walk/lerp the face graph, and b) static meshes "palettised" probes per vertex and lerped to give Realtime GI. It never shipped but look how pretty!
410515
Don Williamson @donw.bsky.social · 08/09/2026
15 years ago I built a DCPU-16 assembler/debugger/emulator/editor in JS. I asked an LLM for a tiny Zelda-ish adventure. It wrote the code and encoded it in a URL format I designed for sharing. I clicked it and the 15-year-old emulator ran it. dwilliamson.github.io/dcpu-zelda.h... Strange times?
050
Don Williamson @donw.bsky.social · 03/09/2026
RenderDoc is a gift we do not deserve.
0120
Don Williamson @donw.bsky.social · 25/08/2026
I was noodling over API design philosophy during breakfast and made a link I should have made long ago about white-board/test interviews. Recently somebody claimed "we have the best engineering team in Europe" and it grated on me specifically because this is how they hired (they weren't very good).
020
Don Williamson @donw.bsky.social · 18/08/2026
lol: "Compile time is one of the bottlenecks HFT engineers notice every day." I mean, have you SEEN the code these guys write? It's like they looked at Boost and thought it didn't have enough code in its header files and templates in its templates.
2170
Don Williamson @donw.bsky.social · 13/08/2026
I'm getting really tired of reading Claude-generated readmes. The voice and drama is so obvious and it immediately turns me off whatever well-thought-through library I'm evaluating.
0100
Don Williamson @donw.bsky.social · 07/08/2026
Can you imagine how good Irish Rugby would be if the AIL was as competitive as the NPC? David Nucifora proposed it once but failed. Each year I get a little down because all the seasons end and then forget NPC is only few weeks away. Glorious Rugby, almost enough to make you want to move over!
010
Don Williamson @donw.bsky.social · 31/07/2026
What a feast for the eyes www.kay-bruns.de/mod4win/mod4...
020
Don Williamson @donw.bsky.social · 24/07/2026
Poutine for dinner! You can take the immigrant out of Montreal but Montreal never leaves the immigrant.
020
Don Williamson @donw.bsky.social · 21/07/2026
Rode Voltron at Europa Park at the weekend. Nothing in the UK could prepare me for such an amazing experience, totally out of this world. My 10 year old subsequently labelled Blue Fire as "relaxing"! Back home and already rueing the lack of options here.
110
Don Williamson @donw.bsky.social · 13/07/2026
I added Rust-style error propagation to TypeScript by placing an AST rewriter in front of the compile step. Normally a bonkers idea but using Bazel to apply a build step for this was trivial and a huge win! (Try early-returns any error to the caller, propagating up the call stack)
110
Don Williamson @donw.bsky.social · 12/07/2026
8 years ago I ported Remotery's UI from JavaScript to TypeScript and added a pretty awesome docking and control layout system. It's massively simpler than the standard dance you have to do, and uses auto snapping/anchoring. Quickly copied over just the window management and it feels great!
160
Don Williamson @donw.bsky.social · 09/07/2026
The Danger Coder: just enough knowledge to write lock free code, not enough insight to know the difference between lock free and wait free, not enough wisdom to know that the mutex was better.
1100
Don Williamson @donw.bsky.social · 08/07/2026
Star had its own imgui built with NanoVG. One of the funnest bits of the engine I wrote. TypeScript has the DOM canvas so porting the UI window basics from C++ was trivial! Including that lovely "throw that window out of your way" feature 😄 (sim moves faster because it's a fixed-dt multi-stepper)
290
Don Williamson @donw.bsky.social · 08/07/2026
Ported to TypeScript: Thing/Part updates, harmonic scheduler, sphere-constrained fly camera and a ray-traced visualisation of the earth-size planet. Feels exactly like the C++ version despite being 0.0001% of it. But it lives! (lines are askew because it's an octahedral subdivision of the sphere)
110
Don Williamson @donw.bsky.social · 06/07/2026
Math library all in! Matrices, quaternions, vectors; all HLSL-like. C++ code used pycgen to avoid templates and worked well. Thankfully TypeScript doesn't have template-compile-time-bloat or need fwd-decl discipline, so could template everything and alias simple types. No operator overloads tho :(
120
Don Williamson @donw.bsky.social · 05/07/2026
Ported the Thing/Part system from C++ to Typescript and made massive gains for V8-style hot loop optimisations and GC traffic reduction/zombie removal using a Handle system. Wrote my first ever WebGPU code to get started in porting the rendering. Feast thine eyes on yon glory!
030
Don Williamson @donw.bsky.social · 03/07/2026
I have no means to cope with this much awesome in one day.
030
Don Williamson @donw.bsky.social · 02/07/2026
You know that Thing that happens when you live with somebody for a long time? You start taking on each others' speech patterns? I'd say it's pretty easy to tell the high-volume LLM users for just that reason: "the bit that bites", "this is load-bearing", etc. You can't un-notice once you hear it!
030
Reposted by Don Williamson
Erin Catto @erincatto.bsky.social · 01/07/2026
I’m happy to announce the release of a new open source 3D physics engine called Box3D. I’ve been working on this project for a few years now, but it represents over 20 years of experience writing physics engines for games. Read more here: box2d.org/posts/2026/0...
box2d.org
Announcing Box3D
I’m happy to announce the release of Box3D, an open source 3D physics engine. It is now available on GitHub. Box3D repository You can think of Box3D as a fork of Box2D, extended with many features nee...
13783220
Don Williamson @donw.bsky.social · 30/06/2026
What sounded insane is actually playing out really well: porting my aging C++ moonshot to TypeScript and WebGPU. I recall the weeks I spent perfecting the dynamic octree split/merge/constrain queues. Fond but painful memories. Ported in a day; old me actually had a use for once!
130
Don Williamson @donw.bsky.social · 27/06/2026
Heretical but I build my Typescript/Typia and C# code with Bazel because the concept of a language package manager that mutates your machine is exactly the footgun that can run riot. Packages are a pinned, hashed input like any other build input. Hermetic, no global tool leaks, no post-install crazy
240
Don Williamson @donw.bsky.social · 26/06/2026
When I read code, a visual model builds in my head. Hand me a node graph and it's just inert boxes and lines I have to translate. For others it's the reverse. Neither's richer and different formats suit different heads. But whatever format you pick: JUST MAKE SURE YOU CAN DEBUG THE FSCKING THING.
1111
Don Williamson @donw.bsky.social · 13/06/2026
I see 5 satellites every minute looking up at the stars now. The meditative state I used to reach while in awe of the cosmos, has been ruined. If you worked on this ruinous technology, I hope there's at least a little shame in there. But I doubt it.
140
Reposted by Don Williamson
Erin Catto @erincatto.bsky.social · 08/06/2026
New recording and replay feature added to Box2D. Uses determinism to exactly reproduce the simulation for your game. Debug your game with all details including ray casts and other queries. Deterministic rollback too. box2d.org/posts/2026/0...
box2d.org
Replay
Replay is a new system I developed for Box2D. The main goal is to allow users to send me files I can use to reproduce bugs. Because Box2D is open source, I can rarely run a user’s game or see their co...
1469
Don Williamson @donw.bsky.social · 08/06/2026
C++: "We focus on performance!" Me: "OK so where's my memset32 or memset64, then?" C++: "Ohhhh don't worry about that. The compiler will do that for-loop automatically for you!!! (but not in debug obviously)" Me: C++: *shit-eating-grin*
050
Don Williamson @donw.bsky.social · 28/05/2026
Just realised on Fable 3 we gave special thanks to the engine and systems and gameplay teams who only worked on Fable 2. Awesome; that's how it's done!
180
Reposted by Don Williamson
Mattias Ljungström @spacesofplay.com · 21/05/2026
I'm soft-launching my compiler project minc today. It compiles directly to minimal native executables for x64 Windows (PE), x64/ARM64 Linux (ELF), ARM64 macOS (Mach-O), ARM64 iOS, ARM64 Android (.so), and WASM. See minc.dev
minc.dev
minc — A minimal language for building native software
A minimal C replacement that compiles directly to native executables for Windows, Linux, macOS, iOS, and WebAssembly. No assembler, no linker, no runtime.
2713426
Reposted by Don Williamson
Christopher Batty @topher-batty.mastodon.acm.org.ap.brid.gy · 20/05/2026
We have a fun new paper to appear at SIGGRAPH 2026, led by Columbia PhD student Xiana Carrera, that extends dual contouring to work nicely with [pure] signed distance samples. It avoids classic DC's additional requirement of providing accurate Hermite / […] [Original post on mastodon.acm.org]
A 3D model of a fan disk, reconstructed from signed distance data using (left) classic dual contouring with finite difference estimates of surface normals/gradients, which shows bumps and unevenness near expected sharp curved features, and (right) our improved method, which produces much cleaner and sharper reconstruction of features.
14011
Don Williamson @donw.bsky.social · 22/05/2026
Working with Maxwell's equations daily has reinforced for me that photons don't travel along rays. The ray has a physical basis, for sure: it's normal to the EM wavefront. But photons aren't things in flight: they're discrete units of energy the wave trades with matter when it's emitted or absorbed.
120
Don Williamson @donw.bsky.social · 21/05/2026
More people need to be aware that TOML 1.1 can be a much better JSON. (this is a .scene file from a Flax Engine game)
380
Don Williamson @donw.bsky.social · 19/05/2026
This is my WebOS LG TV in so-called "Standby Mode." I've just installed Adguard on my Synology NAS and this traffic is rapidly nuking all my other machines' logs from orbit. WTAF.
151
Don Williamson @donw.bsky.social · 18/05/2026
Post a meme made by you.
031
Don Williamson @donw.bsky.social · 18/05/2026
Wowsers, you D3D12 programmers have life so much better than we did even a few years ago! I'm totally going to have to build a pull-only RHI now. Enhanced barriers alone are so good. ...still not better than Metal, though.
020
Don Williamson @donw.bsky.social · 15/05/2026
One of my guilty pleasures is sneaking the use of "centre" into US code-bases.
380
Don Williamson @donw.bsky.social · 11/05/2026
Can somebody wake me up when we stop adding more fixed pipeline steps to our GPUs?
030
Reposted by Don Williamson
Gauthier 'Gautoz' Andres // Origami-ami @gautoz.cool · 05/05/2026
Oh wow www.vaskange.world
vaskange.world
Vaskange World
16262129
Don Williamson @donw.bsky.social · 03/05/2026
Pushed an example of the videos I used to make for clients. This one dates to 2015, adding Shell Mapping to UE4 for Dauntless. Covers why POM failed us, how I improved it, but ultimately why POM was a dead-end. This motivated the UE shader compiler "half instruction count" fix. youtu.be/6f37CFbJ9k0
2131
Don Williamson @donw.bsky.social · 02/05/2026
Whatever that site Twitter was renamed to is so depressing. This place is full of life and positivity, in comparison.
0120
Don Williamson @donw.bsky.social · 01/05/2026
I still can't over the impression that I'm looking at Remotery every time I see a screenshot of the UE profiler 😅
030
Don Williamson @donw.bsky.social · 27/04/2026
The youngest has started using Roblox and it's pretty disappointing. It was exactly what I thought: an attempt to bring the mistakes of behind-the-scenes game development into popular culture. It worked! And it's wildly successful. Which makes it all the more disappointing. But it *is* old, so...
160
Reposted by Don Williamson
Simon Carter @bbbscarter.bsky.social · 26/03/2026
I'm trying to write a little more frequently, so I wrote some words about the development of the original Fable. Yay! blog.simoncarter.me/blog/the-ori... #gamedev #fable #games
blog.simoncarter.me
The Origins of Fable
The story of Fable's origins - failed pitches, a game called Wishworld, and unlikely sources of inspiration.
34417
Don Williamson @donw.bsky.social · 27/04/2026
It's great to see Total War: Rome II do so well these days. I recall spending months boosting engine perf by ~100x (texture-space blend virtual textures ftw) and super-fast on old Intel integrated cards. Gutted when we released with such bad gameplay perf. Whatever CA have done since is awesome 👍
0110
Don Williamson @donw.bsky.social · 19/04/2026
Remotery is still here, with no real UI changes, functioning on 100s of diverse platforms and form factors... 10 years after I was told you can't build tools for the web because they keep breaking. It's not my achievement, it's a browser industry achievement. I just made the right calls.
060