20 comments

  • ludicrousdispla 2 minutes ago
    The interaction with the terrain reminds me of Astroneer, although I don't know if that game uses SDFs.
  • turtledragonfly 9 hours ago
    This is super cool, and I like the no-nonsense presentation.

    I'm curious to know where he takes the gameplay. He mentions it being digging-focused, and also mentions the digging/terrain deformation aspects in other games like No Man's Sky are relatively low-fidelity. I wonder what a "high-fidelity digging game" looks like (:

    Aside, if I may self-plug: I wrote a small series on SDFs, for those who might be interested[1]. I'm also using them in my game engine (though it's 2D, for me).

    [1]

    * https://festina-lente-productions.com/articles/sdfs-1/

    * https://festina-lente-productions.com/articles/sdfs-2/

    * https://festina-lente-productions.com/articles/sdfs-3/

    • plagiarist 7 hours ago
      I am interested in the small series and also the game engine (if not covered in the series). I will read these, thank you for sharing.
  • rjh29 3 days ago
    Really impressive work. He covers it at the end, but being able to create tunnels into terrain, walk through them and then make the terrain disappear. Or make holes in the ground and move them around to suck items in. Or dynamically erase or add to any terrain in real time. A lot of interesting gameplay opportunities here and surprisingly performant!
  • mbullington 12 hours ago
    Go Mike! Been seeing his progress for a while on Bluesky, I knew exactly (and who) what this was when I saw it on HN.

    I was rendering-curious when we overlapped together at Figma. Mike was super patient and giving with his time, answering all my dumb questions and aiding with my Maker Week projects. Excited to see him take on something so ambitious next.

  • rcarmo 57 minutes ago
    I watched this over the weekend and loved the approach. I’ve played with SDF for 3D modeling (even though the current libraries generate meshes for slicing using marching cubes, which is slow as heck and can lead to imprecision on small features), and wish I had more time for playing around with it.
  • msephton 2 days ago
    Great video. A new game engine powered by SDFs is the sort of thing I want to find out about. Not the next game in a long running franchise that looks the same as all the others that preceded it. One for the from-scratch game dev nerds like myself!
  • yunruse 3 days ago
    The physics engine mentioned towards the end, Jolt Physics [0] is used in the frankly blockbuster games Horizon: Forbidden West and Death Stranding 2 and yet opens its description with

    > Why create yet another physics engine? Firstly, it has been a personal learning project.

    which is really rather wonderful and inspiring to see.

    [0] https://github.com/jrouwe/JoltPhysics

    • armada651 10 hours ago
      Its use in those games is no mere coincidence though, the creator of that physics engine, Jorrit Rouwé, has worked at Guerilla Games since the Killzone days.

      https://jrouwe.nl/games.php

    • V__ 11 hours ago
      It has also become the default physics engine in Godot.
    • thom 11 hours ago
      Also increasingly well integrated into Godot.
  • deckar01 12 hours ago
    Dreams on PS4 had an SDF modeler, but I’m not sure if the runtime was SDF. Now that I think about it, the rendering engine had a Gaussian splat look to it years before that paper.
  • num3ric 10 hours ago
    I wonder if ReLU fields could help reduce cache grid resolution while improving reconstruction precision? See https://arxiv.org/abs/2205.10824
  • Glyptodon 9 hours ago
    Using layers with settings about which SDFs interact with which layers for operations seems interesting. Like put trees in a layer and then have an axe that can negatively deform the trees but not the ground layer or something. Or a predator layer that can absorb things in the prey layer. Haven't really thought through.
  • jacobgorm 10 hours ago
    GameGlobe from Haptico and Square Enix, the engine of which also powered Project Spark from Microsoft, also used an SDF engine. Former colleagues of mine built the tech in Copenhagen and I remember getting a super impressive demo back then. This was the first time I heard of SDFs.
  • vivzkestrel 5 hours ago
    stupid question to anyone reading this: not a gamedev, not even by a long shot but i had to ask

    - with the advent of all the AI tools, is it actually possible to vibe code a 3D FPS shooter from scratch like if you wrote a 2000 page prompt, can it actually be done?

    • nmfisher 4 hours ago
      Probably, yes. But it's not 1997 any more, you can "code" a vanilla FPS in Unity in 15 minutes too. Games are more about artwork and design, which agents aren't great at (yet).
    • ehnto 5 hours ago
      A big challenge of game dev is the asynchronous nature of all the requirements, and that the game will develop its direction continuously throughout dev. That is to say you don't know what assets etc you need until you've developed the part of the game that generates that requirement. I find it hard to imagine even a 2000 page pre-planning could capture that process.

      You could try planning ahead and restricting assets to an asset library, that could fix some of that problem. But having used coding agents for complex software work, and games being one of the most complex software tasks in the industry, I just don't see it happening quite that easily.

      I also think the outcome would be shit, pure and simple. The development of a game is usually the stylistic input of dozens to thousands of humans over the course of years. They are not trivial pursuits. There's a lot of variance in there, but generally speaking I expect this to be one of the final frontiers for AI development. There's not heaps of training data since game code is usually proprietary, which doesn't help.

      • vivzkestrel 3 hours ago
        out of curiosity, i want to experiment creating a third person shooter from scratch with vibe coding (yes third person, i wrote FPS above by mistake). think of a proper military game with actual uniforms, movements like walk, crouch, jump, take cover etc. and being able to fire bullets, ballistics, grenades, explosions etc. what do you think is the process to vibe code something like this. obviously i ll need to give it models or assets for characters, map locations etc. how does this sorta thing work?
        • bschwindHN 32 minutes ago
          I would recommend _not_ vibe coding it if it's a game you actually want to see become real, and instead pick up Godot or Unreal or Unity.

          I'm sure an LLM could output something or other that resembles a vague concept of a game but you're not going to prompt your way into something that's actually fun for a human to play.

        • socalgal2 1 hour ago
          I don't think you can describe all of that in an HN comment. There are lots of videos of people vibe coding games though.
    • protocolture 5 hours ago
      You can pretty much drag and drop a working FPS in unity.

      But I have half vibed an FPS in Pygame so its 100% viable (Mine is First and Person, and has motion, but its more of a flight simulator. I am sure the rest of the features would be piss easy)

    • MattRix 5 hours ago
      I mean you can download a free sample project for Unity or Unreal and have a 3D FPS Shooter even without AI. If you want to make one from scratch using AI, you’ll still need to provide some kind of art…

      With that said, yeah Claude Code CAN build one, but for action games a big part of them comes down to “game feel”, something that can’t be captured in a screenshot. You really need to have taste and the ability to describe what isn’t working and why.

    • ttawehed 5 hours ago
      Elon Musk is working on this(XAi)
  • d--b 5 hours ago
    Reminded me of Red Faction, a FPS where you could destroy the environment.

    Kind of like Quake in a Lemmings world.

    This is quite more polished to say the least.

  • cubefox 10 hours ago
    Almost every 3D game uses textured polygons almost everywhere (except sometimes for fog or clouds), so this SDF engine is nice to see.

    However, he doesn't mention animations, especially skeletal animations. Those tend to work poorly or not at all without polygons. PS4 Dreams, another SDF engine, also had strong limitations with regards to animation. I hope he can figure something out, though perhaps his game project doesn't need animation anyway.

    • Boxxed 10 hours ago
      I'm not super familiar with this area so I don't follow... Why is animation any more difficult? I would think you could attach the basic 3D shapes to a skeleton the same way you would with polygons.
      • dahart 9 hours ago
        There are lots of reasons you don’t see a lot of SDF skeletal rigging & animation in games. It’s harder because the distance evaluations get much more expensive when you attach a hierarchy of warps and transforms, and there are typically a lot of distance evaluations when doing ray-marching. This project reduces the cost by using a voxel cache, but animated stuff thwarts the caching, so you have to limit the amount of animation. Another reason it’s more difficult to rig & animate SDFs is because you only get a limited set of shapes that have analytic distance functions, or you have primitives and blending and warping that break Lipschitz conditions in your distance field, which is a fancy way of saying it’s easy to break the SDF and there are only limited and expensive ways to fix it. SDFs are much better at representing procedural content than the kind of mesh modeling involved in character animation and rendering.
    • 01HNNWZ0MV43FF 9 hours ago
      His SDF probably puts out a depth buffer, so with some effort (shadows might be hard?) you can just mix it with traditional polygons. The same way raytracing and polygons mix in AAA games.

      He's using the SDFs to fill a space sort of like Unreal's Nanite virtual geometry. Nanite also doesn't support general animation. They only recently added support for foliage. So you'd use SDF / Nanite for your "infinite detail" / kit-bashing individual pebbles all the way to the horizon, and then draw polygon characters and props on top of that.

      In fact I was surprised to see that Nanite flipped from triangle supremacy to using voxels in their new foliage tech. So maybe the two technologies will converge. The guy who did the initial research for Nanite (his talk also cites Dreams ofc) said that voxels weren't practical. But I guess they hit the limits of what they can do with pixel-sized triangles.

  • DetroitThrow 10 hours ago
    Such impressive demos and great explanations in the video. Mike, if you're reading this, keep making videos!
  • matt3210 11 hours ago
    Dang! Very nice!
  • doctorpangloss 4 hours ago
    how does this compare to MudBun?
  • Keyframe 9 hours ago
    really cool! CSG: The Game!
  • darubedarob 10 hours ago
    [dead]
  • andrewstuart 3 hours ago
    There’s game developers who develop games.

    And there’s game developers who develop game engines thinking they are developing games.