SilicatYT @silicatyt.bsky.social · 13/10/2026New song concept It's very repetitive still, but I like it as a starting point. 010
SilicatYT @silicatyt.bsky.social · 08/10/2026I will invest the time and try to understand why exactly the fix works, and I'll revert the code (which I generated to see whether it even works) and write it by hand. I don't want this to become vibecoded slop, but I acknowledge that I would've never been able to come up with it. 000
SilicatYT @silicatyt.bsky.social · 08/10/2026I sadly had to rely on AI quite a bit for this particular improvement. It's extremely complex, but I knew that my solution was far from optimal (because I saw a datapack that was significantly more stable with stacks than my mod). 100
SilicatYT @silicatyt.bsky.social · 08/10/2026This is with 10 velocity and 5 penetration resolver iterations. This should improve the datapack's performance by a ton once I get there. Each iteration is now a bit more expensive due to the stacking stability fix, but reducing the count (and the extra stability) is more than worth it. 100
SilicatYT @silicatyt.bsky.social · 08/10/2026[Physics Engine Update | Mod] Dramatically improved stack stability. Previously: Tower had strong offsets at tower height 8 (sometimes toppled), and couldn't handle any more than that. Now: Handles 30 stacked 1x1x1 cubes with literally 0 visible offset. Still 20 iterations per tick. 110
SilicatYT @silicatyt.bsky.social · 04/10/2026[Physics Engine Update | Datapack] Axis detection done! It now calculates which exact axis is penetrating, by how much. There's a bias toward pointFace for stability, and it performs comparisons with the previous tick's result with a small bias toward that. 000
SilicatYT @silicatyt.bsky.social · 03/10/2026Performance (after subtracting 0.5MSPT baseline): - 32 (rotating) objects inside each other: ~28MSPT - 32 (rotating) objects in a 4x1x4 area: ~10.5MSPT - 32 (rotating) objects spread far apart: ~5.6MSPT - 32 (non-rotating) objects spread far apart: ~3.6MSPT 000
SilicatYT @silicatyt.bsky.social · 03/10/2026[Physics Engine Update | Datapack] OBB collision checks between objects are done. Took a little longer because of studies (thesis, ugh) and because I had to rework certain parts so I can squeeze out more performance later on. I spent so much time brainstorming, lol. 110
SilicatYT @silicatyt.bsky.social · 16/09/2026[Physics Engine Update | Datapack] You can now punch physics objects! 011
SilicatYT @silicatyt.bsky.social · 16/09/2026Optimized it further: It now peaks at 1.1-1.2MSPT (so +0.5 - +0.6 mspt) for 38 objects. It's also faster if you only have 1 nearby object. Being near an object increases MSPT by 0.1, and looking at it costs another ~0.2MSPT. 100
SilicatYT @silicatyt.bsky.social · 15/09/2026Made it snappier (it now kills & respawns the hitbox every tick...). It also gets spawned at the correct location, so there's no weird flicker when first looking at an entity. 000
SilicatYT @silicatyt.bsky.social · 15/09/2026Performance check (physics disabled). Baseline is ~0.6mspt. 100
SilicatYT @silicatyt.bsky.social · 15/09/2026[Physics Engine Update | Datapack] A hitbox now spawns where you look (OBB intersection). The full 64 block entity interaction range attribute is supported. Sadly, I didn't manage to make the teleportation as snappy as last time (idk why), so some hits might miss at the moment. 200
SilicatYT @silicatyt.bsky.social · 14/09/2026[Physics Engine Update | Datapack] Added line of sight intersection checks for the AABB. Supports entity_interaction_range from 0 to 64 (full range). Took a hot minute because of some setup that was necessary, and some bugs that appeared. 000
SilicatYT @silicatyt.bsky.social · 12/09/2026The current performance (can still be micro-optimized by reducing data storage accesses). 40 objects performing the full integration (rotating) cost ~5.2mspt. Of which, ~0.8mspt are purely from 2 '/data' commands. I also need a macro for updating the entity position... 010
SilicatYT @silicatyt.bsky.social · 12/09/2026[Physics Engine Update | Datapack] Finished integration: - Position updates - Orientation updates - Several calculations for later (AABB, half extent axis projections, inertia) - "apply_force" and "apply_torque" Everything compatible with custom delta_time settings 110
SilicatYT @silicatyt.bsky.social · 08/09/2026I really like the scenery, but yeah I'm not sure how I feel about all the characters (except Ganondorf, he looks great from what I can tell) 000
SilicatYT @silicatyt.bsky.social · 07/09/2026A small teaser for the next 3D Zelda, but that's very unlikely 010
SilicatYT @silicatyt.bsky.social · 06/09/2026New song idea, lightly references "Castle Town Funk" (piano) & the hollow knight motif (slow strings). The short strings remind me of Tears of the Kingdom (Title theme) a bit. 011
SilicatYT @silicatyt.bsky.social · 03/09/2026The reason it took so long was because figuring out the scaling for the inverse inertia tensors was brutal. It can have super high or super low values, and at first I still wanted to do as much as possible purely with ints. Forget about that lol. Rotation matrix is 2^24 btw 010
SilicatYT @silicatyt.bsky.social · 03/09/2026[Physics Engine Update | Datapack] You can now set inverse_mass, orientation & scale. Orientation gets converted to the rotation matrix. Some calculations for integration are done, too. Figuring out scaling factors for storing values wasn't easy. 120
SilicatYT @silicatyt.bsky.social · 01/09/2026I'm glad I waited. Literally everything I could've wished for (and more!) was added in today's snapshot. pow, sin, cos, sqrt, length, abs, sub, div, and so on. I actually need pow for the datapack, but I didn't expect that we get it. I thought I'd need to improvise XD 010
SilicatYT @silicatyt.bsky.social · 30/08/2026It's so funny playing this game in German, and trying to figure out the word play anyway. Sometimes stuff like this just flies over my head because of this, though 110
SilicatYT @silicatyt.bsky.social · 29/08/2026Also, number providers are frigging awesome! Here, I split the position (float) into blockPosition (int) and positionWithinBlock (float), at full floating point accuracy, just with 2 commands per axis. Previously, this required weird macro hacks with "execute positioned". 010
SilicatYT @silicatyt.bsky.social · 29/08/2026I'm fairly confident that by the release of 26.3, we'll at least have division (which I need to properly calculate the settings like delta time, gravity per tick, etc), and hopefully subtraction & sqrt (-> faster maths) or exp (-> needed for linearDamping and angularDamping). 000
SilicatYT @silicatyt.bsky.social · 29/08/2026[Physics Engine Update | Datapack] Started developing the datapack. Because number providers currently don't have division or subtraction (well, subtraction can be done by multiplying by -1 and adding, but that's slow), I decided to start with the settings menu. 330
SilicatYT @silicatyt.bsky.social · 25/08/2026A pretty stable stack of 8 objects, at 20 TPS and only 20 iterations. That's the highest it can go for now, 9 objects will topple it. 000
SilicatYT @silicatyt.bsky.social · 25/08/2026So, uh... Good news, guys www.minecraft.net/en-us/articl... 000
SilicatYT @silicatyt.bsky.social · 25/08/2026The objects now also sink into the floor less, so that's a nice added benefit. This is how the same situation was simulated before (MUCH less stable): 100
SilicatYT @silicatyt.bsky.social · 25/08/2026[Physics Engine Update | Fabric Mod] Okay, this is insane. Apparently my tick order wasn't optimal, so I moved "apply velocities" to later in the tick, after resolution. Instantly, the engine became MUCH more stable. This is STILL with only 20 iterations per tick. 100
SilicatYT @silicatyt.bsky.social · 24/08/2026[Physics Engine Update | Fabric Mod] Fixed the bug mentioned in the previous post. The issue was that I applied an offset too late in a calculation chain, missing that I calculated a position difference earlier where it wasn't accounted for. This was the last obvious bug so far. 000
SilicatYT @silicatyt.bsky.social · 24/08/2026The next bug is visible at the very end of this clip. The cube rotates in the wrong direction here 000
SilicatYT @silicatyt.bsky.social · 24/08/2026[Physics Engine Update | Fabric Mod] Fixed the bug seen in the previous clip. A simple sign error. There is still at least one more bug I'm aware of, but it's very stable now. This is just 20 resolver iterations per tick, no sleeping system implemented yet. 100
SilicatYT @silicatyt.bsky.social · 23/08/2026The new version of the mod is also parallelized. Not necessary for the datapack (although I will use a certain mechanism in it for macro caching purposes). It's super fast now (but still has some obviously unoptimized parts ofc). 000
SilicatYT @silicatyt.bsky.social · 23/08/2026Here's how it looks at 20 iterations per tick (Roughly the same as, maybe just a tiny bit more than the datapack will have?) Totally serviceable imo 000
SilicatYT @silicatyt.bsky.social · 23/08/2026But HOLY SHIT, THIS NEW APPROACH ACTUALLY WORKS! I was so scared that it might not be stable enough, and that I had bugs everywhere, bad approaches etc, that the popular physics engines just used magic I cannot reproduce. I'm so fucking happy right now, seeing that this actually works. 001
SilicatYT @silicatyt.bsky.social · 23/08/2026Turns out the result was better when I used "normalize(1)", so yeah... But as I said, at least some bugs (probably even more) remain: Objects sometimes rotate 90° for no apparent reason, for example 100
SilicatYT @silicatyt.bsky.social · 23/08/2026The fix to the "falls through the floor, and in general jitters a lot" bug was the following. In the collision detection, for cross product axes, I wanted to normalize. I saw a method called "vector.normalize(length)" and thought I had to pass the current length into it... for some reason... 110
SilicatYT @silicatyt.bsky.social · 23/08/2026[Physics Engine Update | Fabric Mod] Found the issue (explained in the comments). This new approach is MUCH more stable. To be fair, I increased the number of iterations to 200 here, but even at 20, it's much better than before. But there are still some bugs (maybe you noticed) 410
SilicatYT @silicatyt.bsky.social · 23/08/2026[Physics Engine Update | Fabric Mod] Rewriting the mod, replaced contact generation completely (Now uses Sutherland-Hodgman clipping) I'm incredibly curious to see if it's more stable, but it's bugged rn. Flat objects just fall through each other lmao 000
SilicatYT @silicatyt.bsky.social · 21/08/2026I didn't o.O It would be so much crazier if the reward was a little better tho 011
SilicatYT @silicatyt.bsky.social · 17/08/2026It would absolutely rock if I eventually finish my physics engine datapack (burnout sucks, but I'm filled with the power of determination), and the video will have my own music in the background. That would be nice. But I need more finished tracks lol, and they don't all fit. 020
SilicatYT @silicatyt.bsky.social · 17/08/2026number providers are slowly getting built up as the next avengers level threat 020
SilicatYT @silicatyt.bsky.social · 15/08/2026Even the parts I like are pretty generic tho. It sounds fine, but eh. Not scratching my itch 000