The datapack is up to 4905 commands. Honestly, that's less than I thought it'd take to simulate 3D rigid body physics so accurately. With everything else implemented, it only took about 10 commands to add Buoyancy.
Ever notice how certain Minecraft mobs are shaped almost just like Tetris pieces? @MrMakistein and I did! Here's a video about our Tetris minigame in Minecraft! piped.video/U9uJEwzUOso
After debugging all weekend, I finally figured out that my rigid body physics textbook had a typographical error in the quaternion multiplication formula (some "-"s where there should have been "+"s).
I've implemented proper friction and bounciness, as well as scaling.
So a few weeks ago I fell victim to a phishing attack very similar to the one that took over @LinusTech last year. I was able to deal with it pretty quickly, but it was a wakeup call to improve my digital security.
Anyway, I've finally gotten back to working on physics stuff!
I figured out how to clone the physics simulation so that I can look ahead and plot out the trajectory, even finding the first object that the projectile will collide with to highlight it. It's really necessary because of how difficult it is to tell trajectories in 3D.
It took me an unexpectedly long time to get block damage working properly. It was hard to get the engine to differentiate between a heavy pile of stones pressing down in contact versus a high energy collision. The trick was to accumulate impulses to make them cancel out.
Blocket League will be officially released tomorrow morning, but if you join my channel as a member for $5, you can both support me, and also get it RIGHT NOW!
piped.video/xJLhCch08-M
I spent this week learning how to code Fabric server-side mods, so that I could import a real physics engine and run it in Java. Finally got it working. This opens up a lot more possibilities.
I used my vanilla physics engine datapack to make Rocket League in Minecraft (AKA "Blocket League"), and you can download and play it for yourself!
piped.video/xJLhCch08-M
Got collisions working between the edges of physics cubes and edges of Minecraft blocks. It's not perfect, but it still looks pretty believable most of the time. Helps a lot with rolling off of ledges.
Previously collisions were hardcoded for bouncing off/resting on the ground. I made them work for arbitrary directions.
Surprisingly, my friction model is stable enough to support a cube resting with its corner against a wall.
Today I managed to write an exporter for Unity scenes so that I can use it as a level editor for my physics mod project. Everything is mirrored for some reason, but it's a good starting place.
Wrote some rough ground-plane collision code for my physics datapack. It wobbles a lot when sitting still (because it only collides at one corner each tick), but looks pretty believable while it's moving.
I added collisions with live world geometry, although for now it's just point-face collisions, and not edge-edge collisions. Still looks pretty good for a large cube.
I'm back home from Texas, the eclipse was awesome!
But more importantly, I got the spherical target block model working and textured. It's still a cubic hitbox for now, but the sphere physics should be pretty simple to implement.
Still a lot of performance work to do, and I think maybe a bug or two to iron out, but the rigid body physics are complete.
It's been one hell of a learning curve!
I made a video detailing how I wrote a server-side Fabric mod to import the JBullet physics engine into Minecraft, and then used it to make Angry Birds. [Now with a better audio mix!]
piped.video/UpUY-G1Km3Q
Starting to incorporate world <--> local coordinate transformations. Here I'm using them to determine if/where the player's cursor collides with the rotating cube.
A test with textures. Also, I figured out that a ceiling of redstone lamps blocks light without blocking the map-filling algorithm, so it now only takes ~15sec to grab a picture.
I've uploaded my physics engine video, it'll go live in about 22 hours.
I've also enabled memberships on my channel. For $5 you can support me, and watch my videos before release, including this one right now, with the physics engine datapack download.
piped.video/sethbling/join
Gonna be out for a week to rendezvous with the sun and the moon, this experiment will have to wait. See you when I get back!
(Shoutouts to @ebic_gaymer and @phnixhamsta for the block model, though I haven't figured out how to get textures working yet)
If you run "/execute anchored eyes run particle minecraft:squid_ink ^ ^ ^0.15 3 3 3 0 3000 force" it blacks out your screen except for textures that have partial transparency. It looks really cool, but I don't know what to do with it. Ideas?
Bad news! I got COVID!
Good news! I used COVID isolation to watch/read machine learning materials!
Better news! I'm over COVID!
Other news: I'm training a neural net to deepfake my livestream. It's just started, but you can already see my splits and the SMB3 curtains!
Man, this new @twitch mobile UI is unusably bad. It's showing me only content that is totally unappealing to me, and makes it almost impossible to find content from the streamers I follow.
Fun Fact #1: There are currently 999 public videos on my YouTube channel.
Fun Fact #2: I'll have a new video out tomorrow morning.
Fun Fact #3: Genetic evolution simulations are really fun to play around with.
When I was making my physics engine datapack, I really struggled with collision detection between cubes, and I wished I had someone to explain it to me. So I made a video to explain how to do it!
piped.video/EB6NY5sGd08