Postmortem, Character details, and Project future


The original idea is to have "fully interactive 3D characters with physics and code driven animations." Allow grabbing a character, then lower them down onto a funny thing instead of "press space to smash." Additionally, I also wanted it to run on a web browser through webassembly.

These set some technical constraints, such as requiring CPU-side vertex skinning to allow interacting with the character mesh. No game engine can really do all this (nor do I like how most game engines are structured), so I might as well do it manually with "C++17, raylib, obscure 'data-oriented' solutions, a few other libraries, and an enjoyment for pain."

source code branched before funny stuff was added: sfw branch

If anyone really wants to know the deeply technical nonsense, then ask. btw, OOP = bad!!!!

physics is hard: https://twitter.com/caws_a_bit/status/1496693065444036616?s=20&t=pKVi2PbRi1_GQ_X...

At first, I envisioned the game to feature a selection of poses, with an emphasis on rope bondage, which was a bit uncertain. The resulting pose-making gameplay arose from playing with the grab tool added 3 days before the deadline.

Either way, I got the idea out. Not fantastic, but definitely a start of something. 

Character details

The swizzle model is entirely made in Blender, and exported to glTF. Lots of manual work involved in loading these, but glTF is a relatively easy format and can get shoved directly into the GPU. Named nodes are used to mark locations that follow bones like eye positions (fun fact: known as "Apples" in code). The bones have custom properties set via python script for physics properties. Custom characters are definitely possible (without the jam-quality messy workarounds), which I might consider using to fund this project if it ever gets more serious.

I can't tell if anyone noticed, but vertex paint is used to mark how certain areas respond to touch.

Project future

I will not be working on this project for a few months. I'm cooking up some other really cool stuff that I really want to get done, and can actually show to regular people. This may be ported to a more capable engine when I do get back to it.

Leave a comment

Log in with itch.io to leave a comment.