Real-time navmesh editing with boolean ops. Can layer edits on top of the existing auto-generated navmesh. Used in-game for craters, bridges etc. (navmesh written from ground up in Unreal Engine).
Deterministic, hierarchical pathfinding and navmesh generation for RTS that supports multiple simultaneous maps, P2P lockstep networking and dynamic obstacles. About 5x faster than Recast but less feature-rich. Took a month, implemented in Unreal Engine.
I've been wanting to do this for a very long time and it's finally here. Uses my own GPU physics engine and instanced indirect rendering on DX12 in Unreal Engine 4.
GPU collision engine with 100k boxes written for UE4 on DX12 with SM6 compute shaders. Main purpose is exploded body parts, debris and destroyed vehicle parts. Box vs. plane and box vs. triangle (no box vs. box). Can't wait to blow stuff up!
Trying to get away from "that stock Unreal look", messed with the tonemapper and came up with a subtle "ink drawing" post process material that's making it all look sharp.And clouds.
Fast unit selection on the GPU. Base pass writes unit id/color to custom G-buffer MRT, compute shader stream-compacts pixels to unit id buffer, post process draws outlines from color. Unit ids downloaded to CPU via async copy queue. 0.2ms @ 1080p
Ever grow tired of clicking like a maniac to organize your units into formation in an RTS?
Now you can encircle enemies, stretch your army wide for defense or draw any shape you want and let the AI take care of the rest with custom formations!
100k units in multiplayer. Custom DX12 rendering pipeline in UE4, custom netcode, pathfinding, movement. 1500 bytes/sec (1.5KB) of bandwidth. Deterministic lockstep P2P of the floating-point variety. Animation handled via compute shaders, pathfinding and movement are on the CPU.
Play Horu v [...]
Unoptimized and unpolished, custom tech to enable real-time continuous pathfinding for up to 1 million units. Continuous means that the queries are running every frame.
Wrote an instanced skeletal mesh renderer that can render up to a million units in UE4. Fully custom DirectX 12 rendering tech built in the engine, all GPU-based including animations, bone transforms and skinning.
For the past 3 months I’ve been busy full time with making a giant army renderer from the ground up in UE4 and it’s finally finished.
It can render up to a million units 3x faster than stock Unreal Engine and is hopefully using many of the latest & greatest DirectX 12 tricks: single draw ca [...]
Computes everything in compute shaders on the GPU, including LODs and frustum culling.
No GPU-CPU stalls anymore, it’s faster than HISM or ISM.
Since around 4.22 Epic has exposed indirect rendering via the RHI mostly because of Niagara, but this is a custom rendering component so there’s no [...]
Implemented merge instancing in UE4 to render different meshes in a single draw call. Large meshes are multiple instances.
Can render an entire level in a single draw call.
Based on an older SIGGRAPH paper by Emil Persson of Epic Games.
All the colored parts in the video below are one single draw [...]
Fully deterministic unit movement integrated with custom P2P netcode.
Features steering, unit clustering, 2D collision resolution, movement lanes, group splitting, regrouping on arrival and navmesh pathfinding.
Animations are 100% done on the GPU to free up CPU capacity. [...]
Implemented 2D blend spaces on the GPU so I can have giant armies with minimal impact on the CPU so I can use it for stuff that matters e.g. AI and navigation.
2 months of writing netcode finally paid off as I now have deterministic lockstep P2P multiplayer in UE4.
This is a great step for the game and with it, the biggest technical challenge has been overcome.
Space dogfight explosions and smoke Lots of smoke and explosions in this dogfight now that I’ve finally optimized the rendering loop to a passable state.
All the spaceships are running rudimentary AI with pathfinding and targeting. 6M triangles on average with 111 draw calls. Spaceship: 3k tris @ LOD 0, 60 tris @ LOD 3 Laser projectile 16 tris, no LODs Using a tricked out hierarchical instanced static mesh component (ships) and instanced static mesh [...]
Showcase of galactic map, mission selection, map building and commencing a match. Day-night cycle shortened considerably to show how the transitions look.
I brought in some of the bigger SpeedTree assets for some exciting, tactical battles in the forest. Trees, rocks and the terrain provide cover. 1×1 forest battle tile.
I’ve always wanted to make an in-game oasis, and am pretty happy with how it turned out. This is a 1×1 battle tile with ample cover provided by the vegetation. And who knows what lurks in that pond…
Been working on the ice & snow shaders lately and have incorporated both in this compact, 1×1 frozen lake battle tile. The clusters of pine trees may be used as cover.
Decided to give Houdini a whirl and OMG just look at those realistic cliff faces that it produced. This is the beginning of a juicyful friendship! This time you’re looking at an L-shaped battle tile that fits into the forest biome. The tiny speck you see in the bottom left corner is an actual w [...]
A new battle tile is now complete. It is one of the smallest tiles in the game, a 1×1 forest. You use these to build your battlefields. Satisfied with how the grass turned out, too.
New screenshot from your favorite up & coming RTS, this time straight out of an Unreal sequencer, which is a mighty fine place to be! We have a warrior here caught in the fury of a giant, as an enterprising Diviner from another tribe tries profiting from the situation by blasting the giant wi [...]
The Diviner is a new unit in the game whose duties include capturing wild creatures and repairing friendly robots in the midst of battle. They arrive to war in very comfy landing pods – nothing but the best for her! More to be revealed when… she’s ready.
Here’s some of the new features I’ve been working on for Horu lately: flying limbs & body parts, time controls and a high enough FPS to go with it! These are 39 warriors duking it out to get to the center of the block. I’m removing their landing pods to make it easier to see what they’re [...]
That’s right, the planet of Horu will soon assimilate a new type of creature into its fauna: the GIANT! These beasts will be part of the creatures of the world, meaning that they will have no quarrels with either of the robotic tribes – initially…