Game development career thread:

  • Guest, it's time once again for the massively important and exciting FoH Asshat Tournament!



    Go here and give us your nominations!
    Who's been the biggest Asshat in the last year? Give us your worst ones!

Kharzette

Watcher of Overs
5,522
4,515
I've started integrating this cool UI layout library: Clay - UI Layout Library

Weirdly I came across it on youtube. For once the algorithm helped me out.

I've just got some basic shapes drawing so far I think this is going to be really handy:
Screenshot_2025-01-15_04-08-30.png
 

Kharzette

Watcher of Overs
5,522
4,515
It is comin along now! Mine on the left and the raylib sample I copied on the right. Still a few bugs and missing things.
Screenshot_2025-01-20_07-41-11.png
 

Kharzette

Watcher of Overs
5,522
4,515
I've got it mostly working now with just a few visual bugs. I used it to bring over my skeleton editor functionality I had on my old C# tool. This lets you edit bone collision shapes for localized hit detection or ragdolly physics or whatever.

 

Kharzette

Watcher of Overs
5,522
4,515
And speaking of physics, I'm finally getting around to trying a ready-to-go physics library. There are a bunch out there but I decided on jolt. It is C++ but there's a C adapter made by the same person that wrote the C# stuff I used for awhile vortice.



I expected it would take a few days to get anything working, but it was super easy to get going. I had spheres bouncing around in about 5 hours.

Next up is biped movement, then ragdolls, then maybe might try some vehicle stuff.
 
  • 1Like
Reactions: 1 user

Kharzette

Watcher of Overs
5,522
4,515
Hmm looks like most of it isn't implemented on the C side.

I'm looking into directly using the C++ library, but the code makes me ill. The "hello world" is 300 lines.

While the code makes me gag, if you run the samples, they are really well done. It is a good library just wish they had written it in C.
 

Kharzette

Watcher of Overs
5,522
4,515
So ever since the early soul blade games, it was readily apparent that the "east" has a huge edge on the west when it comes to character models. I remember the first soul calibur that came with posing tools, I sat with artists and we looked at the joints and just could not figure out how they were so perfect.

I probably could have figured it out in the meantime with the rise of MMD, but I just never got around to looking into it.

Some gacha game has released their models in mmd format and this artist goes into how it works. 20+ year mystery solved for me. It is similar to how the twitch artist shonzo showed me with the wrists, a twist bone near the joint.

 
  • 1Like
Reactions: 1 user

Kharzette

Watcher of Overs
5,522
4,515
So among my list of bad decisions for making games, one of the best/worst was choosing Collada as a go-between format for art programs and my code.

Blender is getting rid of it in the next couple years, but most linux packages have already removed it as the code is using old libraries that have security vulnerabilities.

This looks like the current favourite art interchange format. glTF™ 2.0 Specification

So I'll probably be moving to that. Will be nice to have everything in C.
 

Kharzette

Watcher of Overs
5,522
4,515
This format is cool. There's even a few vscode addons that read it. Animations even work. Not really possible with collada.
Screenshot_2025-03-04_02-51-08.png

The above was handy because the blender exporter is a bit vague on the details. Took alot of trial and error to get any of the skinning or animation data to export. At first I was painfully digging through it in json (all squished onto one line).

Every format I've ever used with blender won't export real keyframes though. It wants to interpolate and export a new key for every frame. Sampled animation it calls it. It does have some kind of keyframe reduction so maybe in the end it will come out about the same. I'll see once I get it going.

The file's approach is to cram anything that has a name or references into json, and then the raw lists of vectors and matrices are saved in a binary blob. The json gives you the offsets to what it wants. Seems like a solid format.
Skelly.png
 
  • 2Like
Reactions: 1 users