I'm sure you know, but for others reading: even on the same architecture, there is more to floating point determinism than just running the same "x = a + b" code on each system. There's also the state of the FPU (eg: rounding modes) that can affect results.
On older versions of DirectX (maybe even in some modern Windows APIs?) there were cases where it would internally change the FPU mode, causing chaos for callers trying to use floats deterministically[1].
> FreeBSD was perfectly fine but it didn't do anything I needed that Linux didn't already do.
I broadly agree, even as a FreeBSD fan myself; things have converged a lot over the decades. But still, I generally feel that while you can get the same work done in both, FreeBSD does things better (and/or cleaner, more elegant, etc) in many cases.
The overall feeling of system cohesion makes me happier to use it, from small things like Ctrl-T producing meaningful output for all the base OS tools, to larger and more amorphous things like having greater confidence core systems won't change too quickly over time (eg: FreeBSD's relatively stable sound support, versus Linux's alsa/pulse/pipewire/..., similar for event APIs, and more).
Though I totally feel your pain about latest-and-greatest hardware driver support. Has gotten better since the '90s, but that gap will probably always be there due to the different development philosophies.
I hope FreeBSD never gets too "Linux-y"; it occupies it's own nice spot in the spectrum of available options.
Partly what I mentioned above: a higher rate of development "churn" — incorporating new systems or technology before it's well-baked or well-integrated with the rest of the OS, only to be replaced a few years later with something else. The kerfuffle over WireGuard in FreeBSD 13 (ultimately backing it out of that release) is, I think, one recent-ish example of the FreeBSD devs taking a stance to demand a certain quality bar for such things.
Another aspect for me is documentation. I've been disheartened recently by how some faster-paced changes to the FreeBSD ports system aren't well-documented, so 'man ports' and the handbook are a bit out-of-sync with reality. Being able to read the handbook and the manpages to get an accurate education on the OS has always felt right to me, and the Linux ecosystem doesn't do it nearly as well, I feel.
I think generally it's a cathedral-vs-bazaar sort of difference. I hope FreeBSD stays more cathedral-y than Linux.
This is super cool, and I like the no-nonsense presentation.
I'm curious to know where he takes the gameplay. He mentions it being digging-focused, and also mentions the digging/terrain deformation aspects in other games like No Man's Sky are relatively low-fidelity. I wonder what a "high-fidelity digging game" looks like (:
Aside, if I may self-plug: I wrote a small series on SDFs, for those who might be interested[1]. I'm also using them in my game engine (though it's 2D, for me).
I'm reminded of that scene from A Beautiful Mind where someone asks him if he still has his hallucinations. He looks over and sees the fake people still there, and says "Oh no, they're not gone. Maybe they'll never be." And they still would drag him into things again, but he has learned to ignore them and not get pulled in.
So it is with internal demons sometimes, I find. You learn to recognize them, rather than expunge them.
Sometimes they help recognize what's important. Upon identifying them, I get angry my brain is talking to me that way, and find the will to get shit done.
It's kind of incredible how the sub-concious finds ways to help you out sometimes. It sucks one needs to first learn how much it likes to use dirty tactics though.
Pretty cool. I haven't dived into the details of this post, but it's a problem I've been wrangling with from time to time in my game.
Below is a series of writings on this topic that I enjoyed, by James Blinn, of "Blinn-Phong reflection" fame (and more). Not state-of-the-art, but an interesting read. It's just for cubics, which is what you need to solve the distance formula for quadratic bezier curves (my particular case), rather than the harder cubic curves of the linked article.
From the name, I thought it was going to be about fractal dimensions[1] (:
So on that tangent ... you can measure that value for ordinary objects using the "box counting" method[2], to get a notion of objects being "1.3 D" and such.
This seems fairly culture-dependent, from my experience.
For instance, I've noticed a distinct difference in how sarcasm is received in the Northeast US vs the West Coast. What you described feels more Northeast-y to me (I'm sure it varies by other segments and sub-sub-cultures, too).
There's the saying: "If an Irish person calls you 'asshole,' it means they think you're a friend. If they call you 'friend' it means they think you're an asshole."
Ha that's funny. I'm from the Midwest and found my dry/sarcastic humor tended to confuse people on the West Coast. A lot of people tended to take me completely seriously when I was obviously joking.
I always chalked that up to being around people that were new to the country and hadn't yet wrapped their head around the latest fashionable American cynicism. Generally takes a few decades to kick in, but when it does it's usually worth the wait (see Kumail Ali Nanjiani).
As an aside, this "robot tentacle" paper was referenced in a recent HN story: "SpiRobs: Logarithmic Spiral-shaped Robots for Versatile Grasping Across Scales"[1]
Seems like a pretty high bang-for-the-buck for versatility and capability with only a few cables controlling it.
Speaking as someone who has made their own game engine for their indie game: it really depends on the game, and on the developer's personality and goals. I think you're probably right for the majority of cases, since the majority of games people want to make are reasonably well-served by general-purpose game engines.
But part of the thing that attracted me to the game I'm making is that it would be hard to make in a standard cookie-cutter way. The novelty of the systems involved is part of the appeal, both to me and (ideally) to my customers. If/when I get some of those (:
On older versions of DirectX (maybe even in some modern Windows APIs?) there were cases where it would internally change the FPU mode, causing chaos for callers trying to use floats deterministically[1].
[1] https://gafferongames.com/post/floating_point_determinism/ (see the Elijah quote, especially)
reply