Don Williamson

@Donzanoid
279 Followers
95 Following
211 Posts
Irish gamedev, living in the UK, working in the US. Currently Head of Rendering @ PL&H. Founder @Celtoys. Past: Fable, Splinter Cell, Total War, Dauntless, No Mans Sky, etc. Lionhead/Microsoft, Ubisoft, Google/DeepMind, SEGA, etc.
Bloghttps://donw.io/
Personal Githubhttps://dwilliamson.github.io/
Company Githubhttps://github.com/Celtoys
@andrewwillmott lol, straight in the "is-that-a-hologram" (no) channel at work 😂

@dougbinks @runevision

Good point. It's C0 continuous but not C1.

Conflictingly, that's fine for old explicit integrators that break down under high stiffness. But not ideal for implicit integrators that handle high stiffness well.

We deal with asymmetry all the time in explicit integrators (e.g. Coulomb friction, which isn't even C0) by managing time steps, force magnitudes and integrator type.

A solution to make it C1 if there is trouble is add a quadratic smooth on the boundary.

@runevision Maybe an asymmetric spring-damper? Change your force constants if the distance is less than a "too close" distance.

Something like f = d < d_min ? (k_min * (d_min - d) - c_min * min(v,0)) : (k_max * (d - d_max) - c_max * max(v, 0))

Obviously this can become a stiff spring that will blow up your integrator so choose a large k_min wisely, or improve the integrator.

You could also make the <d_min spring exponential for possibly better animation.

@runevision Maybe an asymmetric spring-damper? Change your force constants if the distance is less than a "too close" distance.

Something like f = d < d_min ? (k_min * (d_min - d) - c_min * min(v,0)) : (k_max * (d - d_max) - c_max * max(v, 0))

Obviously this can become a stiff spring that will blow up your integrator so choose a large k_min wisely, or improve the integrator.

You could also make the <d_min spring exponential for possibly better animation.

@runevision Maybe an asymmetric spring-damper? Change your force constants if the distance is less than a "too close" distance.

Something like f = d < d_min ? (k_min * (d_min - d) - c_min * min(v,0)) : (k_max * (d - d_max) - c_max * max(v, 0))

Obviously this can become a stiff spring that will blow up your integrator so choose a large k_min wisely, or improve the integrator.

You could also make the <d_min spring exponential for possibly better animation.

@runevision Maybe an asymmetric spring-damper? Change your force constants if the distance is less than a "too close" distance.

Something like f = d < d_min ? (k_min * (d_min - d) - c_min * min(v,0)) : (k_max * (d - d_max) - c_max * max(v, 0))

Obviously this can become a stiff spring that will blow up your integrator so choose a large k_min wisely, or improve the integrator.

You could also make the <d_min spring exponential for possibly better animation.

@lritter she's incredible

Hurrah! The Nintendo Switch port I’ve been working on is finally done - Moonring is out today!

#gamdev #moonring

https://www.nintendo.com/en-gb/Games/Nintendo-Switch-download-software/Moonring-DX-2963719.html

Moonring DX

Travel, trade, sneak, fight and sail the world of Caldera in this retro-inspired open-world, turn-based RPG, featuring a mix of hand-crafted world and procedural dungeons.

Nintendo of Europe SE
“Look at me, I can write one line of code that looks like punctuation soup.” is my new favourite LLM quote of the day.

@dougbinks Thankfully I don't get that, as early morning (5am+) is when my brain is at its most active.

Caffeine dependence used to cancel that out and I'd feel relative bored and unmotivated most mornings.