Feangar

Feangar

@feangar.bsky.social

I make stuff sometimes No AI please a thank you

101 followers113 following158 posts

Instead of fixing this multi-threading bug now for my #Godot project, I’ll shove it off onto future me because I know he’s got my back.

I've been working on a new project in #Godot, and it's required a fair bit of multithreading to keep things running smoothly. I don't have much experience with multithreading, so if anyone with some experience has any thoughts on this snippet of example code, I'd appreciate hearing them!

Gonna upgrade my trauma team package to platinum for this season

Cyberpunk 2077@cyberpunk.net

You can't outrun your mind. 🧠 💥 Meet Roman, Talia, D, King, and more in a new cast as they face the brutal reality of life on the edge in Night City. Cyberpunk: Edgerunners 2 arrives exclusively on Netflix on October 20.

At the time of writing I have 59 unfinished #godot projects in my project manager. 9 are labeled WIP, 7 archival, 16 abandoned, 2 finished (they aren't), and the rest are unlabeled because I gave up on the labeling system. Here are some screenshots from the most visually interesting.

How many finished projects do I have? Zero. That being said, I consider a finished project one that is worth sharing with others, so while many projects might be feature complete, the features in question were for experimental purposes and weren't worth sharing publicly.

Also on that note, there are several projects of mine that I would consider as interesting if not more so than the ones featured here, but they weren't as *visually* interested so they've been omitted from the collection of screenshots.

HEADPHONE WARNING For the dice roller that I've been tinkering on in #Godot, I've implemented a crude sound system and measured and implemented the coefficient of static friction on an actual D6 (about 0.3 with the book I used by my rough measurements).

View full thread

I think it would be fun to implement accelerometer data so that I could build the project for my phone, and shake my phone to shake the dice, but that would require me to look into building for IOS and somehow I feel like that's a bigger pain than it's worth given the scope of the project...

Well, exporting for IOS is probably just as easy as exporting for other platforms, but I imagine that I'd have to put my phone into developer mode to get the project onto it, and I don't want to do that.

HEADPHONE WARNING For the dice roller that I've been tinkering on in #Godot, I've implemented a crude sound system and measured and implemented the coefficient of static friction on an actual D6 (about 0.3 with the book I used by my rough measurements).

View full thread

#Godot documentation says that the friction slider for physics materials is 'The body's friction' which I'm assuming is the kinematic friction and not the static right? I'll calculate the kinematic coefficient eventually™ but I figure the static coefficient is probably close enough for my purposes.

I implemented most of these new features a while back, but this project has moved into that state where it's a permanent work in progress, where it's technically a WIP but never actually gets worked on since I've moved onto other experiments.

HEADPHONE WARNING For the dice roller that I've been tinkering on in #Godot, I've implemented a crude sound system and measured and implemented the coefficient of static friction on an actual D6 (about 0.3 with the book I used by my rough measurements).

Most of the work left for sound is improving the system (implement some sound staggering so they don't overlap), do a better job of calculating the volume based on the magnitude of the current velocity, and find/record an actual dice roll sound.

Today on 'when did it become 1 am', I've make some QOL features for generating the LUTs, remodeled all the current dice (most of my time was working to streamline the process), added the D10, and spent time calculating and implementing the weight of the dice since they are jumbo sized in simulation.

View full thread

If anyone knows an efficient way to get the exact values for these, I'm all ears. If I had a ball of the same plastic that your typical dice are made of I would measure the coefficient of restitution myself, but I don't have one and don't even know where I would start looking.

Though, now that I think about it, getting a ball park measurement of the friction between my table and a D6 shouldn't be too hard...

Today on 'when did it become 1 am', I've make some QOL features for generating the LUTs, remodeled all the current dice (most of my time was working to streamline the process), added the D10, and spent time calculating and implementing the weight of the dice since they are jumbo sized in simulation.

All dice use the D6 as a reference point for both their scale and weight. The D6 is 1 meter per side, is just under 1m^3 in volume, and weighs about 700kg. I used Blenders 3D printing add-on to get the volumes of all the dice and determined their weights using the ratio of current dice d6 volume.

Trying to figure out the friction and 'bounce' coefficients to use in Godot has been primarily guess work. I started with some figures for the coefficients of friction and restitution that I found online and just started tweaking them until it looked better.

I’ve spent the past few hours whipping up a dice roller in #godot for no other reason than I figured out how. As of now it only has D4, D6, and D8 because it’s late.

View full thread

I’m looking forward to polishing this in my free time. Of course digital dice will never replace my magic math rock collection, so I doubt I’ll get much practical use out of this project. It’s been a short but fun learning experience though!

The implementation of the number selector is simple, the hardest part is creating the LUT and that's only because it's a time consuming manual effort (and even then, it's not actually that long and could be sped up with an smidge of code).

I’ve spent the past few hours whipping up a dice roller in #godot for no other reason than I figured out how. As of now it only has D4, D6, and D8 because it’s late.

View full thread

The hardest part was getting the physics engine to cooperate. Anyone who’s spent time playing with physics engines knows that they don’t like to simulate small things, so you scale things up and turn up the time scale.

This, of course, creates the new issue where physics engines don’t like simulating fast moving things, so I just scaled the physics TPS up with the time scale (I think it’s running somewhere around 400TPS, kudos to the Jolt engine for running at that rate with hundreds of objects).

I’ve spent the past few hours whipping up a dice roller in #godot for no other reason than I figured out how. As of now it only has D4, D6, and D8 because it’s late.

The number on the dice is checked when the rigid body goes to sleep. This is done by taking the basis vectors of the rigid bodies transform, dot producting them with the global upwards variable, rounding the outputs to the nearest tenth, and searching a look up table with the result.

I’ve decided to share some renders that I’ve made. I’m a blender artist of just over 6 years and sometime I feel like I don’t have a large volume of work to show off. #art #blender #noai #humanart #3dmodels #tf2 #teamfortress2

Sometimes I miss tutorial hell, but then I remind myself I miss the free time I had back then more than the actual tutorials. If anyone knows of some good intermediate/advanced tutorials for hardbody modeling I’m all ears though, they don’t have to be blender specific either.