Comment by theturtletalks
3 years ago
Thought this was using three.js, but they built their own physics engine: https://github.com/saharan/OimoPhysics
3 years ago
Thought this was using three.js, but they built their own physics engine: https://github.com/saharan/OimoPhysics
This has vibes of the old Web, where amazing and niche things were happening. Apparently that engine is written in something called Haxe and its multi-platform.
Sometimes I wonder what I'm missing out by looking at lists curated by points given out by people who come together by hyper specialised interests. Should have heard of it before hearing about the millionth JS framework.
> Apparently that engine is written in something called Haxe and its multi-platform.
Haxe is interesting. I remember coming across it back in the days of Flash.
They also had a bytecode VM of their own called Neko.
At the time when I heard of it there were three platforms you could target with Haxe: JavaScript, Flash, and Neko.
It’s pretty cool to see that after all these years Haxe is still alive and in use.
Haxe can compile to even more targets these days, like C++, JVM, C#, PHP, Lua, etc. It also includes an interpreter to run without compiling, and there’s a newer, faster VM for Haxe called HashLink.
Haxe is a pile of dump with bugged generics, garbage tooling and no community. Unusable for anything bigger than toys.
Had to use it at a gaming startup. Everybody hated it, including the CEO, and we were planning moving to Unity as soon as possible.
I feel like I'd StumbleUpon this...
I wish there was something like what Stumbleupon was back in the day. I miss it.
2 replies →
Haxe is not that niche and is on the front page a lot:
https://hn.algolia.com/?q=haxe
I see, it pops up every few months but most of the time it appears that doesn't get any traction with exception of a few times in the last 10 years. Interesting case, at glance I think it should be getting more love than it has.
Three.js is just a rendering engine -- it wouldn't allow you to create something like this anyway.
Also, I don't believe that the bubble toy is related to their physics engine; it seems like a different type of physics. The engine is focused on 3D collisions, joints, springs, etc., whereas the bubble toy is simulating thin films.
I wish there was source code for the bubble toy so we could see how it works!
The author just explained the algorithm on Twitter: https://twitter.com/shr_id/status/1589238902325669893
Might take a little bit of refactoring ;) but https://oimo.io/works/bubbles/main.js
Written in haxe.
That caught me off-guard as well. I only ever written one thing in Haxe, but the experienced was mixed. It worked, but it also kind of painful to work with.
For context: Haxe is a programming language with the main purpose to have several compile targets for many programming languages.
Glad it is working for them.
Holly cow.
Old Version Written in ActionScript 3.0 Supports spheres and boxes as collision shapes Supports various joints (ball and socket, distance, hinge, prismatic, etc...) Fast and stable collision solver
Very impressive!