Don Williamson @donw.bsky.social · 17hIs 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 WilliamsonMatt Keeter @mattkeeter.com · 28/09/2026hi 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.comHalfspaceAn IDE for solid modelling with distance fields 520648
Reposted by Don WilliamsonTom Forsyth @tomforsyth.bsky.social · 28/09/2026DASHR - 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.beDASHR - Dynamically Animated Skinned Heightfield Rendering - six minutes versionYouTube video by Tom Forsyth 1422973
Don Williamson @donw.bsky.social · 29/09/2026Look 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/2026300 animated/skinned characters on PS2 using tricks like this. Those were some good times. 0130
Don Williamson @donw.bsky.social · 25/09/2026Lord 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/2026In ~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/202615 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 · 25/08/2026I 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/2026lol: "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/2026I'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/2026Can 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/2026What a feast for the eyes www.kay-bruns.de/mod4win/mod4... 020
Don Williamson @donw.bsky.social · 24/07/2026Poutine for dinner! You can take the immigrant out of Montreal but Montreal never leaves the immigrant. 020
Don Williamson @donw.bsky.social · 21/07/2026Rode 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/2026I 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/20268 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/2026The 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/2026Star 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/2026Ported 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/2026Math 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/2026Ported 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/2026I have no means to cope with this much awesome in one day. 030
Don Williamson @donw.bsky.social · 02/07/2026You 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 WilliamsonErin Catto @erincatto.bsky.social · 01/07/2026I’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.orgAnnouncing Box3DI’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/2026What 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/2026Heretical 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/2026When 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/2026I 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 WilliamsonErin Catto @erincatto.bsky.social · 08/06/2026New 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.orgReplayReplay 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/2026C++: "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/2026Just 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 WilliamsonMattias Ljungström @spacesofplay.com · 21/05/2026I'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.devminc.devminc — A minimal language for building native softwareA 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 WilliamsonChristopher Batty @topher-batty.mastodon.acm.org.ap.brid.gy · 20/05/2026We 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] 14011
Don Williamson @donw.bsky.social · 22/05/2026Working 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/2026More 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/2026This 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/2026Wowsers, 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/2026One of my guilty pleasures is sneaking the use of "centre" into US code-bases. 380
Don Williamson @donw.bsky.social · 11/05/2026Can somebody wake me up when we stop adding more fixed pipeline steps to our GPUs? 030
Reposted by Don WilliamsonGauthier 'Gautoz' Andres // Origami-ami @gautoz.cool · 05/05/2026Oh wow www.vaskange.worldvaskange.worldVaskange World 16262129
Don Williamson @donw.bsky.social · 03/05/2026Pushed 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/2026Whatever 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/2026I 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/2026The 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 WilliamsonSimon Carter @bbbscarter.bsky.social · 26/03/2026I'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 #gamesblog.simoncarter.meThe Origins of FableThe story of Fable's origins - failed pitches, a game called Wishworld, and unlikely sources of inspiration. 34417
Don Williamson @donw.bsky.social · 27/04/2026It'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/2026Remotery 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