Rogue-Like Update 4/11/2019 (any programmers in the house?)
Added 2019-04-11 05:19:08 +0000 UTCHey, this one's going to be all technical stuff, a call to arms to hopefully sort out a technical issue in the game, so if you aren't into that, sorry, there will be more later. :D It's also a little "NSFM."
Basically I'd like some help sorting out an issue with some of Laura's animations (no April Fools this time), and it's a computer sciency issue, so while "I might be able to figure it out myself, it'd mostly be a lot of trial and error and waste time I could be building other things, so if anyone who knows more than I do about this stuff can just realize the solution right away, that'd be great. :D
The issue is that in her BJ poses, when I load each of her animations for the first time in a given session, they load just fine, but when they are loaded again (by the player switching back to a previously viewed speed), all the various components of the animation flip out and end up all over the screen for a second before re-assembling.
My hypothesis is that this is a memory loading issue, that these are fairly large image files, and that what is happening is that while the animations continue to function in the background, the data inside them is removed from memory, and then when they're called up again, they are re-loaded into memory, but not so fast that you don't notice, and it takes a while for their proper locations to reassert themselves.
I do know that with the way I structure character images, if an animation ever starts, it continues to run on some level until the game is rebooted, so for example if an animation "starts at the bottom and goes up, then down, and repeats," then that will happen the first time it is shown to the player, but the next time it could start at any point in the animation, because it's just been running in the background the entire time. If an animation does not repeat, then it won't replay each time it becomes visible, it will only play the first time and never again until they reboot. It would be handy to have a way to bypass this, as it would make it easier to show "one time use" animations, so any suggestions there could be nice.
Ideally I'm looking for solutions that would not increase the overhead to the point that it would become unplayable on devices that can currently handle it. At minimum I'm hoping for an ugly patch that could just make these current animations load smoothly every time, but if anyone can figure out a way to force all these animations to reboot cleanly every time the game displays them, that would open up a lot more options. Ask any questions and I'll answer them best I can.
There's plenty of official Renpy documentation, here are a few that might be helpful:
https://www.renpy.org/doc/html/screen_optimization.html
https://www.renpy.org/doc/html/displaying_images.html
https://www.renpy.org/doc/html/atl.html
Edit: I've tried a few things, renpy.force_full_redraw() and renpy.free_memory() don't seem to fix anything, and actually freeing memory seems to make the issue worse, causing the animation to pause in the broken state for an extra couple frames before "getting right." One half-assed solution I've come up with is just using a "fade to black" every time the speed changes, which hides the glitch, but is inelligent.
It should also help to know the basic structures of the animations being used. The core image, the one that is "displayed" is a Live Composite, and then the sub-images that are called as part of a condition switch are just standard images full of "contains." Simplified example below:
image Laura_BJ_Animation:
contains:
ConditionSwitch(
"Speed == 1", "Laura_BJ_Body_1",#Licking
"True","Laura_BJ_Body_0",#Static
)
zoom 1.35
anchor (.5,.5)
pos (600,605)
image Laura_BJ_Body_0:
contains:
#Hair underlay
"Laura_Sprite_BJ_HairBack"
zoom 0.81
anchor (0.5, 0.5)
pos (490,400) #(535,340) #top
rotate 0 #-30
parallel:
ease 1.1 ypos 405 #bottom
pause 0.2
ease 1.1 ypos 400 #top
pause 0.2
repeat
contains:
#base body
"Laura_Sprite"
subpixel True
pos (650,800)#(673,740) #top
zoom 2.2 #.75
anchor (0.5, 0.5)
rotate -20
parallel:
pause 0.1
ease 1.1 ypos 810 #bottom
pause 0.2
ease 1.1 ypos 800 #top
pause 0.1
repeat
contains:
#base head under cock
subpixel True
"Laura_Sprite_BJ_Head"
zoom 0.81
anchor (0.5, 0.5)
pos (490,400) #(535,340) #top
rotate 0 #-30
parallel:
ease 1.1 ypos 405 #bottom
pause 0.2
ease 1.1 ypos 400 #top
pause 0.2
repeat
contains:
#zero's cock
AlphaMask("Blowcock", "Laura_BlowCock_Mask")
subpixel True
pos (412,292) #tilted/top #(640,198)
zoom 0.4
alpha 1
rotate 10
parallel:
pause 0.1
ease .15 rotate -5 #bottom
pause 0.4
ease 1.95 rotate 10 #top
repeat
parallel:
pause 0.1
ease .15 pos (405,255) #bottom(637,168)
pause 0.4
ease 1.95 pos (420,292) #top 412
repeat
#End BJ animation Speed 0
Comments
Ok, thx
Igroman
2023-04-04 07:27:49 +0000 UTCYou'll just be streaming video of you playing the game? That's fine. Just make sure to include a link to the Patreon.
Oni
2023-04-03 20:08:55 +0000 UTCHi I need to get permission to stream on these sites - www.xvideos.com, xhamster.com, and that you don't mind that I will receive income and advertise your game.
Igroman
2023-04-03 11:07:05 +0000 UTCEres magnífica
2021-06-16 18:27:53 +0000 UTCI was thinking about mystic
Mohammad Al-Sairafi
2019-10-14 18:42:54 +0000 UTCWould u include more characters?
Mohammad Al-Sairafi
2019-10-14 18:42:41 +0000 UTCthis game is so good but still have so many bugs :( like (some times girls go under each other :|) please update this game faster and make more content for Spending time like (mini games) thanks :)
mahdiyar
2019-09-12 19:46:27 +0000 UTCwhen the new update will come and please more girls and scene come
2019-09-06 18:35:43 +0000 UTCAnother fun line to consider adding, if MC manages to convince Emma to publicly "leave in place" a load of spunk on her face, uncleaned: "Well, unusual facial markings are a known mutant characteristic..."
Shremedy
2019-09-03 04:53:17 +0000 UTCHeh, that might be a fun option.
Oni
2019-07-27 05:11:14 +0000 UTCI had an idea. If you ask girl to take panties off and she is already not wearing any have MC say "prove it" where she will lift skirt or pull down pants to prove it.
2019-07-26 18:16:38 +0000 UTCI put out a new build a few days ago that includes several new options for X-23.
Oni
2019-07-03 03:59:35 +0000 UTCOni please make a launch for this game by putting all the options on the X-23 I think that's the name of it I do not see the time of this game to launch a new version please read this comment of preference ueria the game tomorrow 07/03/2019 lol
2019-07-02 23:44:08 +0000 UTCOni, when update?
LexOneTwo
2019-06-23 18:56:12 +0000 UTCWhy not just load the image offscreen and move it to the correct position (and hide the old one) next frame?
2019-05-27 18:56:02 +0000 UTChow do you input the console codes?
BlueOzStarstep
2019-05-27 04:31:54 +0000 UTCI arrived at a workaround that I believe should be "good enough," (basically I just do a fade to black when altering speeds that hides the wonkiness in an elegant manner), but if you'd like to take a crack at it, it couldn't hurt.
Oni
2019-05-23 23:59:06 +0000 UTCDid you get this figured out, or do you still need some more eyes on this?
Gregory Andrus
2019-05-23 17:48:43 +0000 UTCAny approximations on when the new update will release?
2019-05-18 04:25:55 +0000 UTCI know, sorry, I should really do another update post soon. I am working hard on the next release, I've got the most basic art for Laura's sex pose done, as well as some interesting scenes for her and a bunch of other stuff going into the next version. I will also definitely be showing off the other potential girls, I just need to get sketches for them done.
Oni
2019-05-17 21:58:40 +0000 UTCHello Oni, how's progress with the next update? It's been so long. And are you gonna show off all of the Girl 5 Candidates before releasing the next update? Thanks for the info :)
ParagonFlynn
2019-05-17 09:41:24 +0000 UTCLike, with their back side facing you? I'd like to do that. Some sort of "back side" pose would be good for all of them, the issue is that with all the clothing and faces and stuff, there's a lot of added work that goes into every pose that's added to make it compatible. I've been having a more efficient art pipeline lately, so maybe I can get something done along those lines though.
Oni
2019-05-01 04:56:51 +0000 UTCHello Oni, Will you add the "Massage" pose to other girls? Right now only Rogue seems to have it. x
Miss00000
2019-04-30 23:54:38 +0000 UTCThe next update will hopefully finish most of Laura's stuff, as well as some other elements for existing girls, no new girl yet. At the same time, I'm prepping for the new girl vote, and plan to start working on whoever wins after the Laura stuff is done.
Oni
2019-04-30 22:29:33 +0000 UTCWould the next update finish laura then are you going begin working on the new girl. (who ever wins the vote.) Or are you planning working on one more update before the new girl.
Sub_Zero
2019-04-29 19:55:00 +0000 UTCIt'll still be a few months out, but it's shaping up well.
Oni
2019-04-24 06:03:02 +0000 UTCFinally got a chance to playing .982 and aaaaaany dea when we might see .983? Cuz man am I thirsty for the rest of Laura's, uh, scenes.
Rodimus Prime
2019-04-23 23:27:53 +0000 UTCUnfortunately, I can not tell you something useful, but I have the same problem. The animation is loaded long and in parts. But I wish you a speedy resolution of this problem.
VitAnyaNaked
2019-04-22 12:14:36 +0000 UTCOni for when Laura's problem was fixed in a patch or in the next update?
2019-04-15 00:39:20 +0000 UTCHi Oni, did you read this post talking about performance in renpy? <a href="https://lemmasoft.renai.us/forums/viewtopic.php?p=398394" rel="nofollow noopener" target="_blank">https://lemmasoft.renai.us/forums/viewtopic.php?p=398394</a>#p398394
Mederic64
2019-04-13 09:48:34 +0000 UTCno
Skeletor
2019-04-13 00:13:22 +0000 UTCIs there an android version to download?
CrimsonDeLance
2019-04-12 21:00:38 +0000 UTCTo fix the positioning issue I just copyed the positions attributes of Laura_BJ_Animation to each Laura_BJ_Body_# If you want I could send you the entire fix ( Ican't/don't know how to open a chat with you here)
2019-04-12 15:53:06 +0000 UTCInstead of using a ConditionSwitch inside the Laura_BJ_Animation image, you could modify the label Laura_BJ_Launch to take in the speed as an attribute and show the images Laura_BJ_Body_0 to 6 through it. Since they're different images, when you hide them you won't have the same problem, I made some quick changes here and it seems to work. The positioning of the whole animation got a little messed up, but seems like an easy fix.
2019-04-12 14:15:50 +0000 UTCHaving access to the source code would help in fiddling around with it, and would probably make more people interested in providing a solution rather than loose hints of one :) If you have doubts about having your source code accessible, then try talking with Vren who makes Lab Rats 2, he's keeping his source code accessible to all. EDIT: Also please note which version of Ren'py you are running if you do decide to make the source code accessible.
waffel
2019-04-12 09:45:38 +0000 UTCWell, that wouldn't likely be the "easy" route. :D Any useful reduction in visual size would likely be noticeable, and it always takes time to export out art, so like making smaller versions of Laura's face would mean exporting out around 80-100 images, which can be a bit time consuming.
Oni
2019-04-12 08:07:56 +0000 UTCHmm, might be worth a test. I also found this post <a href="https://lemmasoft.renai.us/forums/viewtopic.php?t=47408" rel="nofollow noopener" target="_blank">https://lemmasoft.renai.us/forums/viewtopic.php?t=47408</a> I'm not sure what impact that might have overall though.
Oni
2019-04-12 08:05:31 +0000 UTCCouldn't you just take the easy route and somewhat reduce the image size, so that there is barely any reduction in visual quality, if possible?
Phnx
2019-04-11 16:29:42 +0000 UTC*glances at Google* Tried stuff like "renpy.free_memory() " ?
Anti-No
2019-04-11 15:46:36 +0000 UTCI'll look into it. Yeah, the basic "animations not resetting" thing I know has been a persistent issue, but the new problem is the "and all the bits appear scattered around before returning to their intended positions" part. I hadn't had that happen on any of my previous animations. It might be that an animation would "start" in what was intended to be the middle of the animation on the second play, but it would always at least appear in a way that was intended to be somewhere in the animation cycle. With these current ones, the starting point can end up with pieces all over the place.
Oni
2019-04-11 12:22:09 +0000 UTCHere is an example. Most of the way down the page is some code that might help. <a href="https://lemmasoft.renai.us/forums/viewtopic.php?t=37312" rel="nofollow noopener" target="_blank">https://lemmasoft.renai.us/forums/viewtopic.php?t=37312</a>
C
2019-04-11 12:11:11 +0000 UTCThis is a known problem in Ren'Py. People have been complaining about it for years.
C
2019-04-11 12:10:47 +0000 UTC1. If that's possible, I don't know how to. I mean, a lot of the underlying animation systems are baked into the Renpy engine and all I know how to do is "drive" them. There may be a command for wiping an image out of memory, but I don't know what it would be. 2. I would LOVE to have that option. But no, as I understand it, animations just run indefinitely until you reboot the game. This is a limitation of having them in Live Composites, if an animation is outside the image itself I can start and stop it, but doing it that way would make it more complicated to position the overall animations, it would be showing and hiding the animations manually instead of using the Condition Switch to switch between them. 3. I might be able to try something with this, but so far as I can remember, if you place any sort of variable check inside a repeat block, it only gets checked once when the animation is first run, and then never updated. So like "if variable == 5" is true the first time the animation gets called in a given session, then it will consider it true until reboot even if you change that variable. Again, this is something that would be nice if it were otherwise, because it could allow much more flexible animation systems than what I currently use.
Oni
2019-04-11 11:57:53 +0000 UTCI love your work btw I would love if I could help with it from time to time
Rodrigo Elias Cosendey
2019-04-11 11:53:38 +0000 UTCHet I am on 2nd year of computer science I didn't have an in depth look to solve it properly I imagine I would need the full code to go over.However from experience with python the problem seems to be one of the following: 1 you simply put the wrong coordinates on the images when they load again 2 if the top one is not the problem the speed parameter might be imfluencing the position parameters 3 if neither of the above it might be actually something wrong with the loading method in which case you case this is going to take alot of work again I don't the full code if could give me acess to it I am sure I could find the problem
Rodrigo Elias Cosendey
2019-04-11 11:53:18 +0000 UTCOkay, first things first, I'm comming from C# and haven't done much with animation. But some ideas that crossed my mind: 1.: Probably more ressource costs, but what if you fully unload the animation and load it back in, when it's needed. 2.: Can you pause the animation, and continue it, when shown again. 3.: Use single time animation, and ever time the animation finished, check, if it's still on screen, if yes, play it again.
2019-04-11 11:06:54 +0000 UTCI'm familiar with Python the language Renpy is built on and will check it out in my freetime. Might be a while until i get the hang of Renpy though.
2019-04-11 08:45:59 +0000 UTCThat'd probably be a little tricky to time, but essentially it's just a matter that the individual components are all out of position. Basically in the BJ pose, there are a number of elements stacked on each other. From bottom to top it's the hair behind her head, her body, her head, the penis, and then in some poses a mask over the penis. When everything's working right, these elements all move in sync, but when the flipouts" occur, these objects all appear at different positions and orientations, not lined up, and then within the first "cycle" of animation they move into their intended position and from there move normally. You can test this by just loading up her BJ and switching speeds back and forth several times, shift through all of them and back again. It's better to see in motion anyway.
Oni
2019-04-11 07:42:59 +0000 UTCAny chance of catching the "flip out" in a screenshot?
Apollo
2019-04-11 07:26:18 +0000 UTCUnfortunately that wouldn't work here. Like I described, using the methods I currently do, "on show" type effects won't work, I don't have any way of getting it to start the animations from scratch each time a condition changes. Now, I could manually hide and reshow the entire image every time the player (or circumstances) shifts the speed, but doing this would be a lot of extra code thrown around and inelegant. Currently I only show the primary image once when it first appears and then hide it when its replaced with something else. I'd like to avoid something along those lines, but thanks for the suggestion, it's a good starting point.
Oni
2019-04-11 05:43:28 +0000 UTC