CreatorsOk
vrengames
vrengames

patreon


Lab Rats 2 v0.33.0 Release!

Lab Rats 2 v0.33.0 is live! Get it here!

PC: Lab Rats 2 v0.33.0-PC
Mac: Lab Rats 2 v0.33.0-Mac
Android: Lab Rats 2 v0.33.0-Android 

Lab Rats 2 v0.33.0 is finished and ready for it's week of bug testing by patrons! This update brings a dramatic overhaul to the character display method, allowing for groups of characters to all be displayed at the same time. All of the existing events and menus in LR2 have been updated, and in some cases expanded, to make use of this new system. There has also been new content added to the game. There is now a multi-staged family games night event, making use of the new display system, and a new sex dialogue branch has been added to all character types. Finally, there have been a host of bug fixes and continued optimisation improvements.

The new multi-character display system provides the ability to show and multiple girls at once, as well as highlight the current speaker of the group. This system mirrors the previously existing draw methods, which should make it simple for modders to update existing content or integrate new functionality. A significant performance optimisation has also been made, allowing animated characters to be displayed four times faster and with a dramatically reduced performance impact.

v0.33.0 has seen the addition of a large new home event, as well as tweaks and improvements to a large number of existing events. The new home event sees you invited to a family games night including Lily, Jennifer, and Rebecca. There are multiple stages and branching options to this event, and it is likely to see further expansions in future updates. Eleven existing events have been updated to make use of the new multi-character display system, letting you watch multiple girls strip down at once, or keep track of rapid back-and-forth dialogue between characters. Finally, there has been a completely new branch of dialogue added for all characters: girls who like creampies may decide they want you to take off a condom right before you cum.

Enjoy!

Changelog (v0.32.2 to v0.33.0):

*CHANGES AND ADDITIONS*

- Added support for characters being drawn on different layers. By default there are now 4 layers for characters (which may then have an arbitrary characters on each layer).

- Added support for adding extra character drawing layers if needed by mods.

- Added support for drawing multiple characters at the same time.

- All character displays are now anchored from the bottom instead of the middle, making height consistant when multiple characters are drawn together.

- Added GroupDisplayManager class. Provides support for tracking and drawing multiple characters as a group, as well as updating single characters.

- Updated Jennifer/Lily insta-pic event to display both characters at once

- Updated Friends help friends be sluts random event to dislay both characters at once.

- Updated Emily intro event to show both characters at once.

- Updated Emily/Christina study recap event to show both characters at once.

- Updated Emily/Christina dinner event to show both characters at once.

- Updated catfight random event to show both characters at once.

- Updated AC random event to show all characters at once.

- Updated futuristic serum research event to show all characters at once.

- Updated aunt/cousin intro events to show all characters at once.

- Updated aunt/cousin moving events to show all characters at once.

- Updated horny at work event to show all characters at once.

- Added a no_animation flag that can be handed to any draw request to prevent default animations from being applied.

- Only characters adjacent to the primary speaker are animated, to reduce performance impacts.

- Characters in the resume select screen are no longer animated.

- Optimized character animation code. Characters now display more quickly after a draw call and have a massively improved frame rate while multiple characters are being drawn.

- Expanded horny at work event to be more aware of how many people are in the room.

- Added options to the friends help friends be sluts event to just ignore the girls.

- Added new evening event involving Jennifer, Lily, and Rebecca.

- Added new dialogue branch when having sex with a girl who likes creampies. May ask you to take off a condom at the last minute.

- Added patron reward content.

- Daily serum dosage policy now only applies a dose on a week day.

- Standardised "judge_outfit" function now used whenever a girl reviews her outfit.

- Opinion on lingerie now has a girl treat an outfit as more/less slutty instead of changing sluttiness for wearing it (up to 8 points in either direction).

- Updated scheduling code, allowing for girls to have different destinations depending on the day.


*BUG FIXES*

- Fixed an issue with half-off clothing that was leading to clothing not being correctly anchored when stripping.

- Fixed several incorrect title references ("your employee" instead of "their name")

- Fixed Lily checking incorrect outfit name when adding new instapic outfit to her wardrobe.

- Fixed crash when demanding a blowjob.

- Fixed crash when Gabrielle gets a boob job.

Comments

At the beginning of a work crisis event: I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 10492, in script call $ picked_option.call_action() File "game/script.rpy", line 10749, in script call call advance_time from _call_advance_time_2 File "game/script.rpy", line 11203, in script call $ the_crisis.call_action() File "game/crises/crises.rpy", line 2111, in script $ the_group.draw_group(person_one, emotion = "angry") File "game/crises/crises.rpy", line 2111, in $ the_group.draw_group(person_one, emotion = "angry") File "game/script.rpy", line 3718, in draw_group self.draw_person(group_member, False, *args, **kwargs) File "game/script.rpy", line 3700, in draw_person self.do_draw(the_person, Person.draw_person, make_primary, *args, **kwargs) File "game/script.rpy", line 3774, in do_draw the_draw_method(the_person, *args, **kwargs) File "game/script.rpy", line 2335, in draw_person character_image = self.build_person_displayable(position, emotion, special_modifier, lighting, background_fill) File "game/script.rpy", line 2152, in build_person_displayable displayable_list.append(self.body_images.generate_item_displayable(self.body_type,self.tits,position,lighting)) #Add the body displayable File "game/script.rpy", line 4805, in generate_item_displayable final_image = Composite(position_size_dict[position], self.crop_offset_dict.get(position,(0,0)), final_image) #Transform the clothing image into a composite with the image positioned correctly. KeyError: -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 10492, in script call $ picked_option.call_action() File "game/script.rpy", line 10749, in script call call advance_time from _call_advance_time_2 File "game/script.rpy", line 11203, in script call $ the_crisis.call_action() File "game/crises/crises.rpy", line 2111, in script $ the_group.draw_group(person_one, emotion = "angry") File "D:\Downloads\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\ast.py", line 914, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "D:\Downloads\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\python.py", line 2028, in py_exec_bytecode exec bytecode in globals, locals File "game/crises/crises.rpy", line 2111, in $ the_group.draw_group(person_one, emotion = "angry") File "game/script.rpy", line 3718, in draw_group self.draw_person(group_member, False, *args, **kwargs) File "game/script.rpy", line 3700, in draw_person self.do_draw(the_person, Person.draw_person, make_primary, *args, **kwargs) File "game/script.rpy", line 3774, in do_draw the_draw_method(the_person, *args, **kwargs) File "game/script.rpy", line 2335, in draw_person character_image = self.build_person_displayable(position, emotion, special_modifier, lighting, background_fill) File "game/script.rpy", line 2152, in build_person_displayable displayable_list.append(self.body_images.generate_item_displayable(self.body_type,self.tits,position,lighting)) #Add the body displayable File "game/script.rpy", line 4805, in generate_item_displayable final_image = Composite(position_size_dict[position], self.crop_offset_dict.get(position,(0,0)), final_image) #Transform the clothing image into a composite with the image positioned correctly. KeyError: Windows-8-6.2.9200 Ren'Py 7.3.5.606 Lab Rats 2 - Down to Business v0.33.0 Thu Oct 08 00:29:46 2020

While running game code: File "game/script.rpy", line 10465, in script "You approach [picked_option.title] and chat for a little bit." File "game/script.rpy", line 10465, in script "You approach [picked_option.title] and chat for a little bit." File "game/script.rpy", line 67, in take_animation_screenshot the_person.draw_person_animation(the_surface, *prepared_animation_arguments[draw_layer][the_person.character_number]) File "game/script.rpy", line 2249, in draw_person_animation the_surface = the_surface.subsurface((0,0,(x_size/x_scale),(y_size/y_scale))) # Take a subsurface of the surface screenshotted, so that we only save what is strictly nessesary. error: subsurface rectangle outside surface area. -- Full Traceback ------------------------------------------------------------ Full traceback: File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\bootstrap.py", line 316, in bootstrap renpy.main.main() File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\main.py", line 578, in main run(restart) File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\main.py", line 143, in run renpy.execution.run_context(True) File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\execution.py", line 908, in run_context context.run() File "game/script.rpy", line 10465, in script "You approach [picked_option.title] and chat for a little bit." File "game/script.rpy", line 10465, in script "You approach [picked_option.title] and chat for a little bit." File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\ast.py", line 708, in execute renpy.exports.say(who, what, *args, **kwargs) File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\exports.py", line 1345, in say who(what, *args, **kwargs) File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\character.py", line 1142, in __call__ self.do_display(who, what, cb_args=self.cb_args, **display_args) File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\character.py", line 842, in do_display **display_args) File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\character.py", line 591, in display_say rv = renpy.ui.interact(mouse='say', type=type, roll_forward=roll_forward) File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\ui.py", line 297, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\display\core.py", line 2702, in interact repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs) File "S:\Matt\stuff\g\Lab_Rats_2-v0.33.0-pc\Lab_Rats_2-v0.33.0-pc\renpy\display\core.py", line 2932, in interact_core i() File "game/script.rpy", line 67, in take_animation_screenshot the_person.draw_person_animation(the_surface, *prepared_animation_arguments[draw_layer][the_person.character_number]) File "game/script.rpy", line 2249, in draw_person_animation the_surface = the_surface.subsurface((0,0,(x_size/x_scale),(y_size/y_scale))) # Take a subsurface of the surface screenshotted, so that we only save what is strictly nessesary. File "src/pygame_sdl2/surface.pyx", line 616, in pygame_sdl2.surface.Surface.subsurface error: subsurface rectangle outside surface area. Windows-8-6.2.9200 Ren'Py 7.3.5.606 Lab Rats 2 - Down to Business v0.33.0 Sun Oct 04 23:53:49 2020

I know the blue boxes were added to support animation, but is there a way to get rid of them when animation is turned off? Overlapping characters just hide each other

As a rule saves will not be compatible between versions. There are still frequent changes being made to the core systems of LR2, and maintaining save compatibility would take a significant amount of time that I am instead putting into development.

Vren

Fixed, thanks for reporting this!

Vren

when trying to stay for dinner with emily after tutoring I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 10489, in script call call talk_person(picked_option) from _call_talk_person File "game/script.rpy", line 10602, in script call $ _return.call_action(the_person) File "game/game_roles/role_student.rpy", line 165, in script call call student_study_home(the_person) from _call_student_study_home File "game/game_roles/role_student.rpy", line 490, in script call call study_check_up(the_person, christina) from _call_study_check_up File "game/game_roles/role_student_mom.rpy", line 88, in script call call student_dinner(the_student, the_mom, first_time = True) from _call_student_dinner File "game/game_roles/role_student_mom.rpy", line 123, in script $ the_group.draw_person(the_mom) File "game/game_roles/role_student_mom.rpy", line 123, in $ the_group.draw_person(the_mom) File "game/script.rpy", line 3700, in draw_person self.do_draw(the_person, Person.draw_person, make_primary, *args, **kwargs) File "game/script.rpy", line 3739, in do_draw character_index = self.group_of_people.index(the_person) ValueError: is not in list

retchedegg

Yay, saves aren't compatible again. I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 10466, in script call screen main_choice_display([people_list,actions_list]) File "game/script.rpy", line 10466, in script call screen main_choice_display([people_list,actions_list]) File "renpy/common/000statements.rpy", line 531, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) File "game/script.rpy", line 37, in take_animation_screenshot if animation_draw_requested[draw_layer]: TypeError: 'bool' object has no attribute '__getitem__' -- Full Traceback ------------------------------------------------------------ Full traceback: File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\bootstrap.py", line 316, in bootstrap renpy.main.main() File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\main.py", line 578, in main run(restart) File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\main.py", line 143, in run renpy.execution.run_context(True) File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\execution.py", line 908, in run_context context.run() File "game/script.rpy", line 10466, in script call screen main_choice_display([people_list,actions_list]) File "game/script.rpy", line 10466, in script call screen main_choice_display([people_list,actions_list]) File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\ast.py", line 1949, in execute self.call("execute") File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\ast.py", line 1937, in call return renpy.statements.call(method, parsed, *args, **kwargs) File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\statements.py", line 277, in call return method(parsed, *args, **kwargs) File "renpy/common/000statements.rpy", line 531, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\exports.py", line 2905, in call_screen rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward) File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\ui.py", line 297, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\display\core.py", line 2702, in interact repeat, rv = self.interact_core(preloads=preloads, trans_pause=trans_pause, **kwargs) File "C:\games\Renpy\Lab_Rats_2-v0.33.0-pc\renpy\display\core.py", line 2932, in interact_core i() File "game/script.rpy", line 37, in take_animation_screenshot if animation_draw_requested[draw_layer]: TypeError: 'bool' object has no attribute '__getitem__' Windows-8-6.2.9200 Ren'Py 7.3.5.606 Lab Rats 2 - Down to Business v0.33.0 Sat Oct 03 02:56:54 2020

Robert McClenahan

It would be nice if after a girl has told you she's pregnant that it would report somewhere on her info page. Maybe replace the irrelevant birth control status.

Robert McClenahan

Any chance you can make avaliable something with a sync model for distribution like github or svn? These big tiny file downloads are rough on bandwidth quotas and extraction time for not much actual changes. This time took almost 30 min just to extract.

ikiris

Correct, it (and your other reports) have been fixed up!

Vren

It has been linked, sorry for the delay.

Vren

Games night - nice! Quick bug report: ``` File "game/game_roles/role_aunt.rpy", line 1734, in $ the_group.draw_person(opponent_a, the_position = "walking_away", the_animation = tit_bob, animation_effect_strength = 0.6) File "game/script.rpy", line 3700, in draw_person self.do_draw(the_person, Person.draw_person, make_primary, *args, **kwargs) File "game/script.rpy", line 3774, in do_draw the_draw_method(the_person, *args, **kwargs) TypeError: draw_person() got an unexpected keyword argument 'the_position' ``` I think 'the_position' should be just 'position' on: game/game_roles/role_aunt.rpy:1734 game/game_roles/role_aunt.rpy:1735 game/game_roles/role_aunt.rpy:1743 Got to get back to game night, Lady Luck favours me tonight!

0.5joker

encountered an exception during the broken ac event when i tell them to strip I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 10492, in script call $ picked_option.call_action() File "game/script.rpy", line 10815, in script call call advance_time from _call_advance_time_6 File "game/script.rpy", line 11204, in script call $ the_crisis.call_action() File "game/crises/crises.rpy", line 261, in script if removed_anything: File "game/crises/crises.rpy", line 261, in if removed_anything: NameError: name 'removed_anything' is not defined

retchedegg

Playing now, looking forwards to game night! Quick bug report: ``` File "game/crises/crises.rpy", line 3232, in if len(mc.location.people > 1): TypeError: object of type 'bool' has no len() ``` Think it's just right parens i.e.: if len(mc.location.people) > 1: Spotted a couple of typos: game/game_roles/role_mother.rpy:919 promtion -> promotion game/game_roles/role_mother.rpy:921 hte -> the

0.5joker

Hi any update on the android release?

E E


More Models and Creators