Sign in

Ming-Lun "Allen" Chou

@theallenchou.bsky.social
669 followers 933 following 149 posts

Principal Game Programmer at @NaughtyDog.com from Taiwan. Math. Physics. Graphics. Game AI. Bunnies 🐰 Gamedev Blog: AllenChou.net/blog MudBun: LongBunnyLabs.com/mudbun

PostsRepliesMedia
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 24/09/2026
Filling the gaps among splats with meshes or ray-marched surfaces. The data & acceleration structures are already there. Doing both splats & fill in one single pipeline is cheaper than doing them in two separate pipelines. #MudBun #GameDev #MadeWIthUnity #VFX
0114
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 23/09/2026
Right now it’s building brush masks from AABB trees per pixel. I’m going to experiment with lowering the number of such threads to per tile, and only run the expensive material resolution on pixels/quads/tiles where materials are blended.
010
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 23/09/2026
I haven’t profiled it yet but it’s not brute force. There are acceleration structures in place.
110
Reposted by Ming-Lun "Allen" Chou
DK Liao @chosenconcept.dev · 16/09/2026
PSA: my vector graphics library for Godot and Unity is currently free on itch. I’m in desperate need of feedbacks please do try it out! #gamedev #indiedev #godot #unity3D
712134
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 23/09/2026
I kept trying to geometrically solve blurry materials due to vertex interpolation at zero-blend brush boundaries, but to no avail. Here's a simple but effective alternative: resolving materials in the fragment shader. #MudBun #GameDev #MadeWithUnity #VFX
1185
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 13/09/2026
Destructive field stamping. There's only one active constructive brush, destructively stamping into a sparse signed distance field. Good for sculpting complex SDFs without blowing up constructive brush budgets. #MudBun #MadeWithUnity #GameDev #VFX
0185
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 10/09/2026
MudBun 2.0 in the works (still in early stages). Rect tool. Multi-renderer. #MudBun #GameDev #MadeWithUnity #VFX
03710
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 02/07/2026
PlayStation dragon paper puppet, complete with a headset 😍
050
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 16/05/2026
Never gets old. #GameDev
1133
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 15/05/2026
Long over-due full documentation for Boing Kit, my bouncy VFX tool for Unity. No longer just a short quick guide & a few disjointed readme text files. Docs: longbunnylabs.github.io/boing-kit/ Store page: assetstore.unity.com/packages/too... #BoingKit #GameDev #VFX #MadeWithUnity
0173
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 05/05/2026
Today is crazy hair day at school. #Pikmin
050
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 11/04/2026
lsp-mcp: A simple VS Code extension that exposes language server features as MCP tools. It hooks into whatever language servers VS Code already has running. github.com/TheAllenChou...
github.com
GitHub - TheAllenChou/lsp-mcp
Contribute to TheAllenChou/lsp-mcp development by creating an account on GitHub.
000
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 11/01/2026
When your kid goes to bed next to you with a Bulborb/Chappy and you wake up the next morning. #Pikmin
060
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 25/11/2025
Greeted by (´ᴥ`)
030
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/11/2025
I had to force myself not to.
010
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/11/2025
Croffle.
140
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 25/08/2025
Big Bro #NineSols
060
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 11/08/2025
New desk friends.
0110
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 14/07/2025
If this is done using SIMD instructions then there isn’t an extra cost for the fourth component divided by 2 (if that’s what you were referring to by optimizing out).
020
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 13/07/2025
When you spot a typo…
050
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 13/07/2025
And IMO angles in degrees and radians should technically be stored in different types because they are different units. But we didn't start out with such rigorous type structures so now we are left with people accidentally mixing degrees with radians.
130
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 13/07/2025
You mean packing Euler angles in Vector3? IMO people are only doing it because Vector3 happens to hold 3 floats, the same way people use Vector3 to represent 3D points. They are a parameterization of orientation and technically should be a different type.
170
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 13/07/2025
Right. This is indeed an annoyance. For my use cases at least (mid point, weighted average, lerp, etc.), I created helper functions that bypass usage of origin.
220
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 13/07/2025
Alright. In my next project I'm going to have separate point & vector types, as they should be. We have this at work in our C++ engine and I can't go back. This guards against things like accidentally adding together two Vector3's that represent points. #GameDev #MadeWithUnity
4294
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 28/06/2025
BTW this video was what prompted this search. www.reddit.com/r/NatureIsFu...
reddit.com
From the NatureIsFuckingLit community on Reddit: 🔥night call of the Kiwi bird
Explore this post and more from the NatureIsFuckingLit community
010
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 28/06/2025
Interesting choice of image, AI.
290
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 14/04/2025
They didn’t say adults couldn’t join a kids’ Easter bunny coloring activity at the park 🐰
020
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 15/03/2025
Just a few sphere brushes oscillating in sine waves.
010
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 10/03/2025
TIL the acronym FUI. Thanks and this is beautiful.
120
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 04/03/2025
Inverting normals can come in handy for shaping interior spaces more intuitively. #MudBun #GameDev #MadeWithUnity #VFX
0395
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 04/03/2025
GPU-based auto-smoothing was fun to implement. Adjacency is constructed by spatially hashing & adding coinciding verts to a shared list. Then each vert's normal is updated to be a weighted avg. of similar normals of verts in the same list. #MudBun #GameDev #MadeWithUnity #VFX
0213
Reposted by Ming-Lun "Allen" Chou
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 22/02/2025
Ray-marched surface, take 2. Not sure why it's so much brighter than regular meshing. Even dual contouring can't beat this because it's the ground truth. Voxel density affects the proxy mesh complexity but doesn't change the visuals. #MudBun #MadeWithUnity #GameDev #VFX
0165
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 22/02/2025
Take 1 was in 2021, and this time I have some ideas to make it more performant.
050
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 22/02/2025
Ray-marched surface, take 2. Not sure why it's so much brighter than regular meshing. Even dual contouring can't beat this because it's the ground truth. Voxel density affects the proxy mesh complexity but doesn't change the visuals. #MudBun #MadeWithUnity #GameDev #VFX
0165
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 19/02/2025
Another one. Blending between surface nets or dual contouring and intermediate dual quads never gets old. The mesh is constructed & animated by sampling triangle noise with scrolling spherical coordinates. #MudBun #GameDev #MadeWithUnity #VFX
1191
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 19/02/2025
Another demo of blending between surface nets and intermediate dual quads. #MudBun #GameDev #MadeWithUnity #VFX
0171
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 19/02/2025
Quick & easy way to get dithered transparency to look more convincing on overlapping transparent objects: throw unique object hash/ID into the mix for noise seed. #GameDev #MadeWithUnity
0181
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 19/02/2025
Transparency blend & splat size blend. #MudBun #GameDev #MadeWithUnity #VFX
0414
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 18/02/2025
I mean if you squint you can kind of see the axes pointing away from you…making this right-handed.
120
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 18/02/2025
Sometimes it's desired to jitter splat orientation. With high-frequency noise though, the normals might appear to be too noisy. A blend back to the original normals can help, in the same vein as normal transfer techniques for foliage in games. #MudBun #GameDev #MadeWithUnity #VFX
0172
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/02/2025
This is such a cute idea!
010
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/02/2025
More documentary of the shelved experimental ray-traced voxel render mode. Splat size was used as a proxy for rendered voxel size. Had to speed up the video to fit within bsky's limit. #MudBun #GameDev #MadeWithUnity #VFX
0121
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/02/2025
I tried other branching factors, but somehow (8, 8, 4) is the most performant, by a >20% margin compared to the runner-up IIRC, on my RTX 2080.
010
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/02/2025
Absolutely. bsky.app/profile/thea...
000
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/02/2025
Sparse hierarchical voxel nodes are used to narrow down which voxels to generate triangles for. I use branching factors (8, 8, 4), so one highest-level node, or "chunk", contains to 256 voxels. Only a node that intersects the SDF zero surface is further branched. #MudBun #GameDev #MadeWithUnity #VFX
1151
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/02/2025
The surface nets & dual contouring algorithms both involve an intermediate step that produces voxel quads and a final step that offsets vertices towards the SDF zero isosurface. Naturally...I'd want to try blending between the two steps. #MudBun #GameDev #MadwWithUnity #VFX
0173
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/02/2025
Demonstrating varying voxel density, render modes, and splat options. #MudBun #GameDev #MadeWithUnity #VFX
1142
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/02/2025
Using each splat's center to sample a 3D Perlin noise gradient for offset creates this interesting effects as the sphere brush is moved around. #MudBun #GameDev #MadeWithUnity #VFX
060
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/02/2025
SDF modeling is cool because you can just move the mouth around like this. #MudBun #BoingKit #GameDev #MadeWithUnity #VFX
0255
Ming-Lun "Allen" Chou @theallenchou.bsky.social · 17/02/2025
Seriously. It’s sooooo good. I ADORE movies with no dialogs. The first 20 minutes of Wall-E is the best part IMO (although the rest of the movie is great too).
010