Mike Turitzin's Avatar

Mike Turitzin

@miketuritzin.bsky.social

Building a game/engine based on signed distance fields ~ Past: rendering lead @figma.com, indie VR dev, founder @ Workflowy, search backend @ Google, Quake modder miketuritzin.com

1,162 Followers  |  587 Following  |  441 Posts  |  Joined: 08.11.2024
Posts Following

Posts by Mike Turitzin (@miketuritzin.bsky.social)

(Wrapped diffuse just remaps the range of the N-dot-L term so some of the negative range maps to positive. Using [-0.4, 1.0] -> [0.0, 1.0] here.)

Obviously this has issues, but leaving it in for now.

/end

03.03.2026 20:01 β€” πŸ‘ 8    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Experimenting with "wrapped diffuse" for my point lights while I don't have global-illumination.

Seems to work decently in caves to "warm up" the vicinity of the light.

1/

03.03.2026 20:01 β€” πŸ‘ 22    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

Broad-phase tests use AABBs, narrow-phase can use many shape types.

27.02.2026 21:04 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Sure, I am also using my own custom thing for SDF edits, in part because I need a format that's easy to transfer to the GPU.

27.02.2026 21:03 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Non-simulated objects can be put in a separate broad-phase layer, so there is zero impact on physics sim performance.

27.02.2026 19:53 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

An underrated use of physics engines is as a spatial "database" for game objects, even ones that aren't part of the physics sim.

Currently using Jolt for this - get high-perf spatial queries of various types, both broad-phase and narrow-phase, multithreaded updates, etc.

27.02.2026 19:53 β€” πŸ‘ 21    πŸ” 1    πŸ’¬ 3    πŸ“Œ 0

I have played it a bit, and liked a number of things! Having temporary lights like that is interesting - for now I'm leaning toward lights that are "permanent" but I could experiment with other ways of placing them.

26.02.2026 03:12 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I will accept that comparison, but the gameplay I have planned is actually very different from Minecraft!

25.02.2026 23:37 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

This is the most minimal possible implementation of point lights, actually - every one is evaluated per-pixel during deferred shading!

So very soon I'm going to need to implement tiled/clustered shading so only relevant lights are evaluated for each pixel.

25.02.2026 21:36 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

You can now place lights while digging deep into the ground in my game. The plan is to have lights be a resource that must be conserved.

Given there are no shadows for these lights right now (much less GI), this is already looking better than I was expecting.

[cont]

25.02.2026 21:36 β€” πŸ‘ 35    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0
How I made a shooter game in 64 KB
YouTube video by daivuk How I made a shooter game in 64 KB

Highly recommend this video, which is a super deep dive into the techniques used to create a 64kb demoscene-style '90s FPS:

www.youtube.com/watch?v=qht6...

21.02.2026 19:43 β€” πŸ‘ 40    πŸ” 8    πŸ’¬ 0    πŸ“Œ 0

Humorously, while my SDF engine has gotten pretty sophisticated, I still had not added any way of rendering normal triangle meshes.

So I'm adding that now (loading a subset of glTF), trying to do the bare minimum with regard to materials, batching, instancing, etc.

20.02.2026 20:08 β€” πŸ‘ 21    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

It's possible, and I've thought about it a bit, but it would be a big project and probably won't be something I ship in the current game I'm making.

13.02.2026 19:30 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thanks, yeah I have thought this could look pretty cool with transparency/refraction, maybe will mess with that at some point!

13.02.2026 03:02 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

I built a sculpture for Burning Man.

12.02.2026 19:21 β€” πŸ‘ 31    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

Getting this to work was just some plumbing, but I was putting it off before some work to reduce the footprint of cached material values.

Just decided to punt on that for now - thus, +25% VRAM usage for SDF surface cache.

11.02.2026 23:07 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Metallic materials are now officially supported in my engine.

Previously, I hacked this for some videos by interpreting inverse "roughness" as "metallic", but obviously that isn't a great long-term solution :)

11.02.2026 23:07 β€” πŸ‘ 80    πŸ” 4    πŸ’¬ 1    πŸ“Œ 0

Appreciate the offer but I am keeping it a solo dev project for a while at least

09.02.2026 23:04 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Thanks! Well, I am making a game with it so it won't be a public thing

09.02.2026 23:01 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I just keep using that shiny reddish material, don't I

05.02.2026 22:11 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Yeah, definitely a lot more to do in terms of visuals / game feel!

Destruction physics aren't something I have now, and are likely out of scope for this project, but definitely something I'd like to explore more.

05.02.2026 21:49 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Definitely a reference point for me :)

05.02.2026 20:00 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

The beginnings of prototyping digging/mining gameplay.

Resources are embedded in the ground and are dislodged when the surface is cut away. They're placed in colored regions that reveal their proximity.

Lots of different directions to go with this, continuing to experiment!

05.02.2026 19:28 β€” πŸ‘ 44    πŸ” 3    πŸ’¬ 3    πŸ“Œ 0
Preview
The Road to Substance Modeler: VR Roots, Desktop Reinvention I volunteered to join theΒ  Substance Modeler Β  team less than a year after it came to Adobe, from Oculus. The team was really strong, and it...

This article is a great technical overview of the workings of Adobe Substance 3D Modeler (which I originally remember as Oculus Medium!)

There are many parallels to what I'm doing in my engine, though obviously this is a very different application.

dakrunch.blogspot.com/2026/01/the-...

05.02.2026 18:20 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yup, exactly!

05.02.2026 15:40 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thanks! So one thing that might be unclear with my visualizations is that each "brick" shown is actually itself an 8x8x8 grid. So the resolution is 8x more detailed in each dimension than it may appear!

04.02.2026 20:20 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I think there is a lot of possibility (though also moral hazards) for creating assets via AI techniques and then using them in a game engine. My main doubt is whether a "world model" is a good substrate for a game.

04.02.2026 20:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Fixed the way I apply materials for SDF subtractions.

My previous approach is common in shaders, but causes problems for future edits that use a material alpha<1.0 (the 1st subtraction material will extend infinitely into the surface).

Looks like a nice crunchy candy coating :)

03.02.2026 23:14 β€” πŸ‘ 40    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

As many have pointed out, consistency, rules, mechanics, etc. are core to games.

02.02.2026 22:53 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

It seems like a lot of people think "games" when they see generative AI video "world models."

What I think of is something a lot more like a Holodeck (Star Trek), where environments and experiences can be summoned, but everything is "squishy" in a way that games are not.

02.02.2026 22:53 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0