Gavin Clayton @gavinclayton.bsky.social · 26/09/2026Last IK thing using Ozz is foot placement on uneven terrain / static props. 061
Gavin Clayton @gavinclayton.bsky.social · 26/09/2026Aim target look at attached to head joint. Again, driven by Ozz Animation. The only thing I added was some clamping so my guy doesn't look possessed. 060
Gavin Clayton @gavinclayton.bsky.social · 25/09/2026Inverse kinematics with hand attach points. I have Ozz Animation to thank for the IK support, it's the animation library that keeps on giving. 080
Gavin Clayton @gavinclayton.bsky.social · 14/09/2026After porting DFU to my engine, I've caught the bug again for huge streaming terrain that stretches out over the horizon. Working on that with all the tricks I've learned since 2014. 1111
Gavin Clayton @gavinclayton.bsky.social · 31/08/2026I've enabled kits (my scene/prefab) to be used as a stamp when nested into a parent kit's terrain. Here the same small terrain kit is nested twice and blended with RadialLog on left for a smooth join and Square on the right to show how it stamps. Foliage rescatters based on layer settings. 190
Gavin Clayton @gavinclayton.bsky.social · 22/08/2026I've mostly ported Daggerfall Unity to my C# game engine as a fun test, and wanted to brain dump the stickiest problems I've hit so far. This might be useful to someone attempting the same in future. I'll just write these out as I think of them in roughly the order I hit them. 1101
Gavin Clayton @gavinclayton.bsky.social · 20/08/2026I've been experimenting with porting Daggerfall Unity to my custom Deep Engine. Challenging but doable, and a good proof that my engine is ready to build with. 1285
Gavin Clayton @gavinclayton.bsky.social · 16/08/2026Snow is the weakest setup so far, as my basic particle system can't produce nice flutter yet. Still looks OK with a little distance fog and a cloudy sky. 070
Gavin Clayton @gavinclayton.bsky.social · 15/08/2026Rain and mist particle systems, volume fog. The mist particles and fog interact with directional lights and a spot light from above. 190
Gavin Clayton @gavinclayton.bsky.social · 15/08/2026GPU driven particles. Started work on this last year around the same time as foliage imposters. Still very much WIP but it's good enough for a lot of basic effects. 080
Gavin Clayton @gavinclayton.bsky.social · 15/08/2026GPU driven foliage and hemi-octahedron imposters for select objects like the trees. Terrain shown is 512x512 metres. Uses GPU scattering for foliage with gather and frustum cull. Draw instanced indirect means the buffers never touch the CPU once setup. 080
Gavin Clayton @gavinclayton.bsky.social · 15/08/2026Mixed deferred and forward materials all lit by the same renderer and clustered lighting. There's IBL, directional, and two spot lights in scene with transparency on a few objects. Sorting transparent objects is still a problem to solve, but this is good enough for standalone objects for now. 090
Gavin Clayton @gavinclayton.bsky.social · 05/08/2026Buoyancy physics for dynamic objects. Uses four probes around the middle height of each object sampling the Gerstner waves with same math as GPU. Lowering buoyancy causes objects to sink until they settle on underwater terrain surface. 0100
Gavin Clayton @gavinclayton.bsky.social · 27/07/2026The UI system in my engine is basically the same used in DFU, even if it has come a long way in the last few years. I cut the first code for this UI in 2012. Almost 14 years later it finally has a visual editor haha. Feels great just dragging around layouts with undo/redo, etc. 060
Gavin Clayton @gavinclayton.bsky.social · 27/07/2026My engine now has a fully lit forward path consuming the same light clusters deferred path uses. This allows me to setup things like semi-transparent windows and other forward objects that still interact with scene lighting. Volume fog and area GI also came out of the same work. 0161
Gavin Clayton @gavinclayton.bsky.social · 24/07/2026Pushing more enemies at higher frame rates after some optimisations. Every mob is individually skinned, holding a weapon that tracks with their hand node, running a Lua script for flocking behaviour, and interacting with physics / navmesh. The fights won't be this large, but I always test at scale. 090
Gavin Clayton @gavinclayton.bsky.social · 23/07/2026Working on grouping behaviours for enemy combatants. Uses boids-styled flocking where they aim to encircle the player without getting too close (for now). 160
Gavin Clayton @gavinclayton.bsky.social · 21/07/2026Player character holding a weapon with attachment socket driven by animation tracks. Root motion and blending based on facing. This is all driven by a Lua script consuming a state machine controller and action input system. Next rung of the ladder will be more states in the controller. 080
Gavin Clayton @gavinclayton.bsky.social · 21/07/2026Working on nodes linked to animations so that characters can hold weapons, and realised I was most of the way to root motion. I can now drive any animation state with motion so they play as authored. Engine uses Ozz Animation in back end, anim shown is by Quaternius. 150
Gavin Clayton @gavinclayton.bsky.social · 12/07/2026Working on a local GI volume. No bounces, but it can gather local, directional, and environment lights into a few sliders and carry illumination into underlit areas, e.g. the recess on the right and under the furniture. It's cheap and useful for interior spaces that need a little pop. 1120
Gavin Clayton @gavinclayton.bsky.social · 08/07/2026Over the last couple of weeks, I've revived the terrain and foliage systems I was working on in 2024/2025 with some fixes and added a Gerstner wave water plane to tie it all together. Art aside, all the tech I needed to build in my engine for outdoor environments is finally in. 1120
Gavin Clayton @gavinclayton.bsky.social · 23/06/2026After all the work on point lights, spot lights came together easy. 090
Gavin Clayton @gavinclayton.bsky.social · 23/06/2026Point light shadows now functional in my engine. I've been trying to solve various problems with these for ages now. There's always more refinement to do later, but they look good in action and remain stable. 2150
Gavin Clayton @gavinclayton.bsky.social · 21/06/2026Engine now has a mobile character state machine with behaviours driven by Lua script. Each of these angry little guys is running on a Lua "brain", following me around a navmesh in a simple test kit. 0121
Gavin Clayton @gavinclayton.bsky.social · 16/05/2026I've wired up the Kit > Sandbox instantiation flow. Now I can instantly test and replay kits with full physics simulation at the press of a button. Here, I've built a quick tower of blocks in Kit editor surface than Ctrl+P to run in Sandbox and smash them. 1110
Gavin Clayton @gavinclayton.bsky.social · 11/05/2026Sandbox is linked to gametime, which animates a procedural sky with day/night cycles. Later it will handle timed events for quests and so forth. Wiring all this up so that I can playtest kits instantly in sandbox with start/pause/stop and time controls. 1100
Gavin Clayton @gavinclayton.bsky.social · 10/05/2026Reworked editor UI from everything docked into a single frame and feeling cramped to tabbed layouts where each tab is responsible for a single workflow. This feels much nicer and everything has more room to breathe. 0211
Gavin Clayton @gavinclayton.bsky.social · 07/05/2026If you're interested in the custom engine I'm building for my game project, I've made it available for free on Itch at page below. It's still early days, but the purpose of all this work is to build a full-featured modding toolset directly into my next game. interkarma.itch.io/project-arro...interkarma.itch.ioProject Arroa Tools Preview by InterkarmaProject Arroa standalone tools environment for the purpose of testing, feedback, and iteration. 2153
Gavin Clayton @gavinclayton.bsky.social · 07/05/2026The scene editor in my engine is now functional enough to author complete scene assets. I'll run through some of what I've built over the last 6 months. First up is visualising collider shapes (mesh, capsule, sphere, convex hull, etc). 190
Gavin Clayton @gavinclayton.bsky.social · 13/07/2025After a year of working full-time independent on my game, I've been fortunate enough to pick up some great part-time work. This provides me more financial security and some resources to help self-fund development into the future. 1270
Gavin Clayton @gavinclayton.bsky.social · 01/07/2025Asset manager can now import a mix of files and folders while preserving source hierarchy on import. Asset builders are multithreaded and run even while files are being copied, so whole process completes in about the same amount of time as file copy, including thumbnails for textures and models. 0180
Gavin Clayton @gavinclayton.bsky.social · 29/06/2025Deep Engine drag-and-drop several hundred FBX model files into asset manager 070
Gavin Clayton @gavinclayton.bsky.social · 26/06/2025Setting up a modal progress dialog so editor can display progress after user drags and drops a large number of asset files into engine. 180
Gavin Clayton @gavinclayton.bsky.social · 08/06/2025Early stage of Deep Engine's asset rebuild and hot-load in action. After editing and saving image file, the build system detects change to source file and rebuilds it into a texture asset based on current meta properties. Note editor thumbnails on left update after image is saved. 160
Gavin Clayton @gavinclayton.bsky.social · 02/05/2025I haven't posted a blog update in several weeks now, but I have been working hard across several fronts! This blog post catches up on what I've been doing and where I'm headed next. dev.interkarma.net/2025/05/02/m... 1110
Gavin Clayton @gavinclayton.bsky.social · 25/04/2025Making an editor front-end for asset compiler. Asset builders are now multithreaded, so an expanding log reader is required to solve the problem of linear output becoming interleaved from different threads executing in parallel. I can also highlight any build errors directly in the editor. 150
Gavin Clayton @gavinclayton.bsky.social · 17/04/2025Making some big improvements to asset browsing. In addition to thumbnail view, it will now support lists and trees and more filtering options. Also built a new tree view control that's fully virtual and can scroll hundreds of thousands of items without slowing down. 060
Gavin Clayton @gavinclayton.bsky.social · 10/04/2025Just a heads-up that I'm changing hosting providers for dfworkshop.net and interkarma.net. They will go down over the few days as I move everything over. 031
Gavin Clayton @gavinclayton.bsky.social · 03/04/2025I really want to become more proficient in Blender. Following some courses and immersing myself in practise each day. Right now learning how to model a detailed human figure and I'm slowly becoming more confident with the tools. Best way to learn is to make mistakes and fix them. 0100
Gavin Clayton @gavinclayton.bsky.social · 30/03/2025Animation retargeting now working well enough to throw all kinds of animations at all kinds of models. This whole process was really involved. I had to set up a retargeting pipeline to handle joint-to-joint mapping, pose correction, and proportion correction. 0140
Gavin Clayton @gavinclayton.bsky.social · 28/03/2025Revisiting and improving animation retargeting in my engine. Looking forward to supporting more animation inputs. 050
Gavin Clayton @gavinclayton.bsky.social · 21/03/2025Really happy with my procedural sky so far. Shadows lengthen and shorten as the sun disc arcs from dawn to dusk. Clouds are lit by sun's direction as they drift and evolve throughout the day. The skybox colours light environment based on time of day. It's a good base to build on! 081
Gavin Clayton @gavinclayton.bsky.social · 05/03/2025Spent the last two days in cyclone prep - trimming trees near house, cleaning gutters, securing what I can. Now feeling completely physically drained. Put in about two hours of gamedev today and I'm spent. Just going to crack a beer and watch the storm roll in from this arvo. 0120
Gavin Clayton @gavinclayton.bsky.social · 28/02/2025I forgot to mention - new sky system casts shadows over terrain that move as the sun tracks across the sky throughout the day. I'll do a proper pass on this once distant terrain is further along. It's not much, it just adds a little extra something. 1160
Gavin Clayton @gavinclayton.bsky.social · 27/02/2025Working on sky colour gradients that are a bit more "grounded" by reality, then I'll finish animation of day night skies. These skies aren't going to win any technical achievement awards, but they can sometimes make pretty background vistas, and I'm OK with that. 050
Gavin Clayton @gavinclayton.bsky.social · 27/02/2025Working on game time and day/night cycles. An animated sun disc follows directional light as it rotates through the sky. Also animating environment light intensity on a curve. Now to animate sky colour gradients and a few other refinements, and I'm done with skies for a bit. 080
Gavin Clayton @gavinclayton.bsky.social · 26/02/2025Fixed some visual bugs and improved performance a whole lot. Static HDR image-based lighting on left, dynamic sky shader HDR lighting on right - computing whole skybox + irradiance maps every frame at only +3ms. 180
Gavin Clayton @gavinclayton.bsky.social · 26/02/2025Now using my dynamic skies as a source for HDR image-based lighting. Comparison between a static HDRI and dynamic sky pickup on spheres with roughness and metallic gradient. 050
Gavin Clayton @gavinclayton.bsky.social · 25/02/2025Creating utterly lurid skies to get them out of my system. 1100