One more post before I'll get back to work. Here's the current progress and some kind of road map for the future of this mod development:
- Need to combine all unique girl skeletons (anna, aure, vivi) into one common slave girl skeleton
- Need to combine all unique woman skeletons (bella, claire, karen, nero, sylvia) into one common slave woman skeleton
...
New step is to merge these girl-woman skeletons into one file. Here's the deal. In previous packed sprite sheet I showcased there were 200+ sprites.
I analyzed every sprite and found that plenty of resources for girl and woman are duplicated with some minor+scale changes. Basic hair sprites are mostly identical, horn types... but then there's some parts they don't share and that's when whole idea of merging them together comes into play:
Don't know if you'll notice additions, but there's some on this screen. And skeleton complexity is much higher now.
Plus, I readjusted similar looking sprites. Like taking 1.0x scaled woman part and replacing smaller identical girl part with it by setting it to a lower (typically 0.9x-0.8x scale). In these cases downscaled part (1.0x to 0.8x) results in a sharper sprite. Sometimes it's pretty noticeable.
Yes, these are the same. Scale and position was adjusted manually.
In terms of additional sprites, common girls got most of "tits" sprite variations. So in this particular case I ported Size 4 and 5 to woman part of the skeleton which previously was only available for girl skeleton type.
At the end, sprite count for this skeleton went down to 168. Much lower than I expected.
How tight can it be packed? Well, how about 888x888 for every single combination available for "Dead" pose?
But typically I go for "Power of Two" principle for sprites so it fits 1024x1024 set limit very nicely. I'll need to 'relax' some meshes for Vertex/Triangle count reduction later anyway.
It only comes with one big problem: how to tell the game which skeleton to load in the scene? By default it will load everything not specified in the Spine scripting file data. For now I'm testing animation method which splits timelines for Girl and Woman types:
Basically, when you switch to Woman type skeleton file loads timeline (idleW) with only Woman slots (parts). Same for idleG "Girl" timeline.
It's something new and untested for the mod and I can only tell that it doesn't crash so far and seems like it can load Girl and Woman parts independently from a single skeleton.
This particular skeleton doesn't have animation bones by default, so other scenes with same tech will be pretty damn hard to make. But as I can tell, it's the only way forward with this mod.
As for performance... I don't know. Bones/constraints count will multiply by 2, which sounds bad at first. But then I remember that by default game use separate assets for common girl/woman and then player can have eight Unique Characters on screen each with it's own skeleton at the same time...
For now let's just say any potential performance hit in the future which may happen is justified now. But I think it will be much faster at the end.
Yeah, every single skeleton needs to be remade, but actual skeleton count loaded in game will drop from ~450 to 28 for Female actions. Because by default 28 is for a girl or woman only, then it's multiplied by 2 (56). Then it's multiplied by 8 for Unique slaves... Seems crazy? Well, here's the list of actual unique poses without repeats (no separated girl/woman/unique skeletons included now) :
- Bed 1 (VIP room)
- Bed 2 (VVIP room)
- B
ed 2 right (VVIP room, practically only reverts same female skeleton to -1 on coordinate bone, need to merge it with 'bed 2'.
- Birth (4 skeleton for each character by default, yikes. This one is the reason for initial skeleton merge. Also the hardest one.)
- Card (female preview when you select them. Use separate "Stand" skeleton type, can try to merge it with actual Stand skeleton)
- Capsule
- Dead (
Current WIP with full asset merge)
- Drain
- Goblin 1
- Goblin 2
- Horse
- Man 1 (Gloryhole scenes for brothel in man1-4. No faces, few body parts, easier to merge)
- Man 2
- Man 3
- Man 4
- Milk
- Minotaur 1
- Minotaur 2
- Move 1 (Dragging slave around. Alive)
- Move 2 (Dragging slave around. Dead State)
- Orc 1
- Orc 2
- Rest
- Salamander 1
- Salamander 2
- Stand (Separate Maid Skeleton IS merged into it at this point)
- Werewolf 1
- Werewolf 2
So yeah. These are skeletons I'll need to remake in the same way.