A whistle-stop tour of some game-engine collision/pathfinding background, how modern engines work, how old engines work, and how I'm applying a mixed-approach in my game.
I was always inspiring the level editor in Cube 2: Sauerbraten (<a href="http://sauerbraten.org" rel="nofollow">http://sauerbraten.org</a>). This seems like an alternative to BSP approach which was more popular at the time. But I think this game's octree-based solution has more potential than just the render and raycast logic implemented in the engine. You could potentially make the entire level fully destructible and keep it optimized at the same time. The level building was also fun when I was teenager. No game allowed to edit levels with other players connected to the server and that was working in 2004!
Note that there is also TrenchBroom [1]. An editor which you can then use to create levels and import them in UE4/5 [2], including textures and collisions.<p>[1] <a href="https://trenchbroom.github.io" rel="nofollow">https://trenchbroom.github.io</a><p>[2] e.g. <a href="https://www.youtube.com/watch?v=41HZzy-nJDU" rel="nofollow">https://www.youtube.com/watch?v=41HZzy-nJDU</a>
I created my HN account to comment on the post announcing the release of the Descent 3 source code last year. So of course I immediately recognized the similarity to Descent 1 and 2’s cube-based level design, and was pleased to see the screenshot of DLE. :)
Thanks, Max! I've personally never been able to wrap my head around BSP; I appreciate your diagrams explaining everything, and I am optimistic about the new engine. It's crazy how much faster it can be; really drives home how much extra stuff Unreal is doing that your game may not need.
Thanks for sharing! I was thinking how this is a good example of the kinds of things that you <i>can</i> do with a game engine that already exists, as opposed to having to write everything yourself.<p>Also a nice mention of octrees' use outside of voxels.
Isn't this kind of like simply putting the data structures from the first Unreal Engine (which I believe used BSP), into the latest one? For the game you appear to be building, this appears to be rather unnecessary, even for authoring purposes. Even the Nintendo Switch 1, which is being phased out, might not necessarily benefit enough performance-wise to overhaul these core systems.