Animation Progress - Trailblazing!
Added 2020-01-16 11:07:28 +0000 UTCIt's a rather boring progress update for the last couple of days, as they have been dominated by documentation reading and experimentation. I have continued to work on core of the soon-to-be animation system, which revolves around turning a Ren'py displayable into a static image. This static image can then be manipulated by shaders, which give me direct access to pixel-by-pixel control if I want it.
The bad news first: as best as I can find I am one of a very few number of people who have tried to take a general Ren'py displayable and turn it into a static image. As such, there is very little information available about how to go about doing this, and most of it is painfully inconclusive. This classic xkcd comic pretty perfectly sums up my experience so far. I have had to dive into the renpy source code and follow trails of function calls to figure what does what, where I can pull the displayable information from, and how I can format it in the way I need.
Now the good news: Success is within my grasp! I currently have the system producing a standard .png file of any arbitrary displayable. The sole remaining hurdle is that the file produced has a flat black background and not a transparent one, which is needed so that the character can be rendered over top of the background properly. My current most promising lead for resolving this makes us of the Ren'py software rendering mode. When in software rendering mode Ren'py does all of it's drawing calcultions in python and on the CPU, which is painfully slow but supported by anything that supports python in the first place. When using software rendering mode I am able to render an arbitrary displayable with the transparent background I want. In thoery I can make a few modifications and give myself access to the software rendering pipeline to generate my desired static image.
I hope in a day or two I'll be able to report complete success, hopefully with some demo gif's, and in the days after that I can start setting up some basic idle animations for characters.
Comments
I guess a couple of other notes while I'm in the same spot: line 3437: person_one.char "That's it, look at these puppies [person_one.title]..." I think you mean [person_one.mc_title], otherwise she's talking to herself. line 3447: person_two.char "Hey, go easy on them! Well then [person_two.mc_name], the person class doesn't have an 'mc_name' property. I believe you meant 'mc_title'
2020-01-17 23:41:38 +0000 UTCOn a less exciting note: in game/crisis.rpy Lines 3390 and 3430 you attempt to invoke $ person_one.outfit.remove(the_item) but 'remove' is not a property of the outfit class. I believe you want outfit.remove_clothing(the_item)
2020-01-17 23:34:26 +0000 UTCDid you try hitting up PyTom the creator of Ren'Py and seeing if he was able to give you any help? He's pretty active on the Ren'Py home site and is pretty good about answering questions of varying technical depth.
Perversity
2020-01-17 17:59:57 +0000 UTCOne of the things that has endlessly impressed me about this project is that you're really pushing the limits of the platform and genre. There are plenty of adult games out there (some of them very good) that never expand their thinking past the visual novel. The modular character-agnostic framework you've made for this game is already brilliant, the expandable wardrobe system and the way characters build outfits is fantastic and its just crazy to me that on top of that you want to push Renpy into entirely uncharted animation territory. After Lab Rats 1 I expected this to be a good piece of entertainment - what I did not expect was to be blow away by Lab Rats 2 as an example of programming and project design. Even if you never get this animation thing working it'll be a credit to you that you came so close.
2020-01-17 16:41:36 +0000 UTCI recommend that you replace the сuni animation from the "sit" position to the "missionary" position. It would be more correct.
2020-01-17 05:30:51 +0000 UTCHa ha. That comic, too real.
Mr. L
2020-01-16 21:40:53 +0000 UTCThis is badass.
blakeness
2020-01-16 18:38:19 +0000 UTC