Prototyping Update - Automation Success!
Added 2017-09-15 05:40:02 +0000 UTCMy efforts to automate the image set production for Lab Rats 2 have gone well the last few days, and I thought I'd do up a quick recap of what's been done and how it will help out with the development of Lab Rats 2 in the future.
First, lets cover what I've been working on and why. Lab Rats 2 will feature the ability to dress girls up in different outfits, which can be designed by the player piece by piece and that are removed during sex scenes and represented dynamically by the characters image. There will also be a number of different angles and positions the girls will be represented in, standing normally, from behind, kneeling, ect. Each girls image is built up of individual sprites for each piece of her clothing, layered up to create a complete outfit.
While this lets me give you a ton of control over how sex scenes play out, it results in a huge number of different clothing items that have to be imaged at different angles. With 10 breast sizes and 3 body types and starting with 5 basic poses, each new top would require 65 individual images. Generating these images is a fairly simple process, but involves a ton of routine menu switching that eats up a lot of time. At 2 minutes per pose, a single new piece of clothing would take over 2 hours just to generate the basic images. These images then have to be photo shopped a little to make sure they layer correctly with everything else.
So, to make this easier and faster, I set out on a journey to automate the whole process. First, I needed a way to interact with Honey Select on a more direct level. The IronPython Interactive Console Mod was exactly what I needed. It gave me an interface that allowed me to call HS functions directly with a python script. Without this the whole automation effort would have been much harder.
The console mod gave me a way to call any HS function, but didn't include much documentation on how they should be used. To figure out what functions did what, I needed to dig into the actual code of HS and poke around. dotPeek provided me a way to decompile the C# code of HS (Which is built in Unity, an engine I'm fairly familiar with). The decompiled code included every method, class, and field inside Honey Select, but no documentation for how they were intended to work together. Finding the functions I needed and teasing out the way to use them was an interesting mixture of fun puzzle and frustrating wild goose chase. It took two days of digging to pull out all of the functionality I needed, but my efforts ended in success.
Last night I wrote up the first version of my automation software, which will sequentially load character models, clothe them in the appropriate piece of clothing, take a screenshot, then move onto the next piece of clothing/position. There is still some photo shopping work that needs to be done once the image set is created, but the most tedious section has been completely removed now. Tonight I will be polishing up the software so it's as user friendly for me as possible, then I can turn my attention to other parts of Lab Rats 2.
Comments
Smart people before me flattened out a rock and trapped lightning inside. Now I'm tricking the lightning to do stuff for me too.
Vren
2017-09-24 04:08:38 +0000 UTCWoah, i am no computer expert. Therefore i barely understood half of it. But heck. You're doing a terrific job. Love labrats and have played it through already several times. Comtinue the awesome work. I really appreciate what you are doing here. Thank you.
eldenor
2017-09-22 18:26:46 +0000 UTC:o YESSSSSSSSSSSS
Justa Badge
2017-09-20 15:25:00 +0000 UTCA breast expansion serum will certainly be one of the things I'll look at adding. Thanks to all the automation work I've been doing adding new body types, breast sizes, ect will actually be relatively easy.
Vren
2017-09-20 02:57:31 +0000 UTCSo since there are different breast sizes would breast expansion serums be a thing? I would love to see that but I can imagine it being a pain to implement.
Justa Badge
2017-09-20 02:04:36 +0000 UTCAlways impressed with your work and your ideas. Thanks for sharing
jpostel
2017-09-18 01:02:53 +0000 UTCYou can also use opencv/numpy/python to automate image generation. Although that takes much more work to learn. Good to hear Photoshop works though. :) If all you are doing is merging layers or cropping it would be fairly easy to do so in opencv. Although with merging layers opencv doesn't technically have an alpha layer so invisible would be black which creates all kinds of problems unfortunately with edge blending.
Mylen Ploa
2017-09-17 11:18:47 +0000 UTCWhen I started working on this I had written off the photo shopping part as being a bridge too far, but I've had an epiphany when you mentioned this. With some clever use of difference layers and very similar images I might be able to automate almost everything. Hmm, I'll have to give this a try as soon as I have an hour or two...
Vren
2017-09-17 10:22:57 +0000 UTCFor photoshopping, you can use photoshop actions. Or on linux depending on what you want done phatch might also work.
Mylen Ploa
2017-09-16 07:24:43 +0000 UTCWow, this kinda sounds like a more advance photo-realistic version of the paperdoll system. I haven't really seen anyone else try this and I eagerly await the fruits of your labor.
Tu
2017-09-15 14:24:46 +0000 UTCNice to see someone who can make good use of their tools. So many H-game creators are strong artists but have little coding prowess.
Dubsington
2017-09-15 13:09:06 +0000 UTCSounds fantastic!
uncejay
2017-09-15 11:17:49 +0000 UTC