If you keep migrating at this rate you reach Nordkapp by the time you retire!
Posts by Mikko Mononen
Nah... it's just nonuniform random mixing distribution.
It does remind a bit of ear clipping algorithm. If you have consecutive points A, B, C, D, then you should be able to remove B if D is not in triangle ABC. Or maybe just test that A is left of line CD. Plus some boss battles with collinear points.
Graphics Programming weekly - Issue 434 - March 29th, 2026 www.jendrikillner.com/post/graphic...
I approve!
The programmer me would prefer consistency of the splits, marker always marks start, so D. And the artist me would probable think that he chose the last good and first good frames, and would expect C, except after coffee he would select the first and last bad frames and expect for B.
This is generally an edit time concept, in the release build you bake everything down. And once something is instantiated in game the inheritance relation is gone.
Ok. In the "prefab" style data inheritance if you change one value in the parent, and all derived data change too (unless you have overridden it). The point being that you usually end up creating a bunch of complicated things and want small variation and/or use composition.
In the Car example I would expect both Car and RedCar have the color property, the difference is that the value of the property in RedCar is different.
In the DB example, does changes in Car (say changing MaxSpeed), also carry over to RedCar after it has been created?
What I omitted from the article how to compose the full document out of smaller pieces, like a hierarchy of nodes, etc.
In my article I'm trying to explain the case where you could have an asset that defines "Car", and another asset that is "Red Car" and you created that second asset by inheriting from the first, and overriding a color property.
Does that data inheritance model the "shape of the data" or does it also migrate the data changes through the hierarchy? Based on that article, it sounded like how to define tagged unions for DBs, could not figure out if it also deals with value inheritance.
The short answer is that it just the same but recursive, but it does have some nuances.
I'm not very database savvy, so that does not compute :) Do you have example, or can you point to some docs how it works?
One thing that I intentionally left out from the article is how the inheritance works when you have hierarchy of data (say, at document/asset level).
I think the model I describe is very close to the prototype model. As in, you base asset is the prototype of the derived asset, and it is not rigidly set in code like in C++.
I tried to keep things simple and used Dear ImGui for the example code, i n the hopes that someone can pick up the ideas and run whit them. Thanks @ocornut.bsky.social for awesome support!
I just released an article how to do that on property and container level. It tries to cover both the low level bits and the UI. It's one of those problems that have to be worked as a whole.
github.com/memononen/da...
I have been working on data inheritance recently. The kind of stuff that you usually see with prefabs, but I believe that all the assets should support data inheritance.
Could you do radiosity with this? I guess it could get really expensive.
So cool, thanks for figuring it out :) The iterative method in the original always felt overkill, nice that there's analytical solution too.
Here's a write-up of my investigations into a technique called "Inertial Easing" - an interesting idea on how to use easing functions for spring-damper-like applications.
theorangeduck.com/page/inertia...
Same thing happens to me (to far lesser extent) each time I post a screenshot of what ever I'm working on.
Other than that, a hierarchical system is usually a good starting point. Something high level that weights what is currently most important, sets a goal or constraints. Next level tries to fulfill that goal, while reacting, down to the lowest level you need.
There is starcraft bot ai competition, which has resulted many papers too. it might make sense to look into to that, just to get an idea how they have solved the issues.
Baku journaled some of the dev on twitter back them, and i think there was a japanese blog post too, but could not find them.
A lot of driving games use lookup tables for acc and dec for tuning. Not sure how well that would translate to character movement tuning.
I think, lookup tables plus the idea from "inertial easing"
openprocessing.org/sketch/1684527
could be combined for data driven speed control.
I'm seeing the same linear-ish bits in your graphs too.
I think it always makes sense to try to find the underlying model for gameplay, but tweaking often is more important that other kinds of correct.
It was a kind of relief, since specifically in automaton driven characters that's where you need the hacks and tweaks. And linear interpolation being one of them :)
One thing I found interesting while staring at the anim data was that starts and stops tend to have an almost linear speed at the extrema where you are not quite running.
At one point in past I tried to use the spring based character to follow path, and ran into these issues. Like when to start to slow down at the end of the path, and how to translate avoidance predictions to speed control. I failed, and looking at the math, no wonder :)