CreatorsOk
vrengames
vrengames

patreon


Lab Rats 2 v0.16.1 Release

Lab Rats 2 v0.16.1 is finished! Grab it here!

Linux and Windows: Lab Rats 2 v0.16.1-PC  

Mac: Lab Rats 2 v0.16.1-Mac  

Android: Lab Rats 2 0.16.1-Android  

Lab Rats 2 v0.16.1 is finished and ready for it's public release! This update cycle had two major components: first, character titles were introduced and integrated with all of the existing dialogue and narration for the game. Second, rendering support and a collection of initial designs were added for clothing patterns. On top of that there has been a major optimization made for the start up time of the game, new clothing items and a hair style have been added, and a bunch of bugs have been tracked down and squashed.

Character titles have replaced all of the direct uses of a characters name in Lab Rats 2. A character title can be thought of as the name you know that person by, or the name you are choosing to call them. For most characters this is the same as their first name, but others may prefer a more formal title such as "Mrs.Girl". As you corrupt a girl there will be more titles she thinks are acceptable for her. Girls also each have a title they use for the main character in a similar way. Your mother might call you "Sweetheart" or "Son", while your employees may call you "Sir", or "Boss". Finally, there are used in narration when talking about a girl in relation to you; "your employee" or "your friend". Character titles are now formatted throughout the game to use the same colour and font as that character's dialogue. While looking through menus or reading through narration it is much easier to remember what character is being talked about. Character interaction menus have been updated at the same time, showing previews of people when you hover over their names.

Rendering support for patterns as well as an initial collection of designs usable by clothing items have been added to the game. A pattern is a section of an existing piece of clothing that can be drawn as a different colour. Patterns make use of a mask to recolour clothing, which makes them faster to generate image sets for, faster to display on screen, and a smaller file size when added to the game. Going forward more clothing items will receive pattern variants as a way of increasing the variety in the game without significantly increasing file size. This new functionality called for a redesign of the outfit designer, which has been significantly improved. When selecting a pattern you can now alternate between changing the primary or secondary colour. A colour swatch has also been added to let you store and load colours by right or left clicking on the spaces available. These colours are saved and persistent between games, so you can now match colours for different pieces of clothing or create themed uniforms.

Lastly, the release of the v0.16 update will mark the start of phase 2 of Lab Rats 2 development. Previous updates have been focused on the internal mechanical support for a number of different game mechanics: dynamic outfits, character personalities, goals, etc. Future updates will now focus on introducing new, unique characters and producing a detailed storyline to make use of all of these mechanics and tie the game together. Rendering improvements will also be taking top priority. Facial styles and emotions in particular are going to be reworked completely to achieve better results. New body types/models will also be worked on to widen the variety of base bodies in the game. Lab Rats 2 characters may have a different style than they did in Lab Rats 1, but I want to achieve the same level of quality with them.

And before I forget, a changelog (v0.15.1 to v0.16.1):

*CHANGES AND ADDITIONS*

- Initial game startup speed has been massively improved. Startup times reduced to between 5 and 10 seconds.

- Added concept of character titles. Each character has a title for themselves and a title for you.

- Character titles are used inside of dialogue in places where their names would previously have been used.

- MC titles are used inside of dialogue in places where the main character's title would previously have been used.

- Added character possessive titles. Possesive titles are used in narration when describing a character's relationship to you.

- Added initial list of titles for each of the three types.

- Each personality can now add their own titles to the general master list a character picks from.

- Character titles and possessive titles now recieve the same formatting the character's dialogue does during narration.

- Character titles and possessive titles now recieve the same formatting when used inside of menus.

- Added ability to talk to a character and change their titles directly. Requires a minimum of 120 obedience.

- Characters now have a random chance to want to reassess their titles when you talk to them.

- Low obedience characters will demand you use a new title or be unhappy. Moderate obedience give you a choice between two they like, but will keep their old title if you wish. High obedience characters give you complete control and are happy no matter what you pick.

- Added "Business Vest" clothing item.

- Added "Strapless Bra" clothing item.

- Added "Bobbed Hair" hairstyle.

- Added rendering support for "patterns". A pattern is a section of an existing clothing item that can be coloured a secondary colour.

- Six initial patterns added for testing:

- Bra now has "lacy" patern, colours lace separately from entire bra.

- Sports bra has been rerendered to remove clipping and now has "two toned" pattern, which recolours the strapping.

- Sweater dress now has two toned pattern and a star pattern,

- Tshirt now has a striped pattern.

- The tied sweater now has a two toned pattern.

- Added .xml export and import support for patterns. (Add outfit exports to the wardrobe.xml file to add them into your game permanently)

- Outfit creator redesigned.

- Outfit creator now supports patterns. When a pattern is selected you can also select if you are modifying the primary or secondary colour.

- Outfit creator now has a colour swatch. Right click on a colour square to save your currently selected colour. Left click to load the colour loaded in that square. The colour swatch is persistant between games.

- Redid graphics for outfit designer tutorial to match new outfit creator design.

- End of day report now refers to characters by their title.

- Unmet characters no longer report potentially raised sluttiness in the end of day report.

- "Talk to someone" menu and similarly styled menus now provide a preview of the person when the button is hovered.

- Added several more character titles, possessive titles, and MC titles.

- Broken AC crisis now lists requirement for uniform policy to order people to strip down in the heat.

- Serum designer now separates out serum production traits to make it clear that they are required and different.

- Rerendered long sweater dress and Belted skirt to be monotone by default.

- Added new two tone pattern for long tshirt.

- Added new two tone pattern for camisole.

- Added new two tone pattern for belted skirt.

- Added new two tone pattern for sneakers.

- Added new two tone pattern for garterbelt and fishnets.

- Adjusted several whiteness and contrast values for clothing pieces to equalize brightness.

- Added new deepthroat description branch.


*BUG FIXES*

- Fixed several spelling mistakes throughout the game.

- Libido inhibitor side effect no longer adds far more sluttiness than it should.

- Fixed hair colours of some characters being incorrect when new characters were generated.

- Fixed some serum trait combinations resulting in a final production cost of 0 (And crashing things later)

- Fixed serum designs being allowed to progress when they lacked any production trait.

- Fixed performance reviews being possible for completely new employees.

- Lily's morning encounter no longer leaves up her detailed UI when the encounter is over.

Comments

v0.16.1 Mac: I accidentally asked the same employee out on a date twice in one week, and it did two consecutive dates with her on the same Friday. That seems buggy. Also, Lily asked to call me something else and when I agreed and switched it, it switched what I call her instead of what she calls me.

Scott S.

This is a bug in chat_actions.rpy, around line 228. There, in the person_new_mc_title function, there's a line saying: $ the_person.set_title(title_choice) Change it to $ the_person.set_mc_title(title_choice) and the bug won't happen again. I hope Vren will incorporate the fix into next release. I doubt we'll see 0.16.2, however, I'm betting on 0.17.1 instead.

Piotr Sulecki

While boning away in front of an audience, right after the girl tried to remove clothing: [code] I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 7829, in script call call talk_person(person_choice) from _call_talk_person File "game/script.rpy", line 8193, in script call call fuck_person(the_person,private = in_private) from _call_fuck_person File "game/script.rpy", line 8311, in script call call sex_description(the_person, position_choice, object_choice, start_round, private=private, girl_in_charge = girl_in_charge) from _call_sex_description File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8455, in script call call fuck_person(the_person) from _call_fuck_person_2 File "game/script.rpy", line 8311, in script call call sex_description(the_person, position_choice, object_choice, start_round, private=private, girl_in_charge = girl_in_charge) from _call_sex_description File "game/script.rpy", line 8410, in script call $ the_position.call_strip(the_person, the_clothing, mc.location, the_object, round) #If a girl's outfit is less slutty than she is currently feeling (with arousal factored in) she will want to strip stuff off. File "game/against_wall.rpy", line 244, in script $ the_girl.draw_animated_removal(the_clothing, position = against_wall.position_tag) File "game/against_wall.rpy", line 244, in $ the_girl.draw_animated_removal(the_clothing, position = against_wall.position_tag) File "game/script.rpy", line 1757, in draw_animated_removal bottom_clothing, split_clothing, top_clothing = self.outfit.generate_split_draw_list(the_clothing, self, position, emotion, special_modifier) #Gets a split list of all of our clothing items. File "game/script.rpy", line 3299, in generate_split_draw_list middle_item = item_check UnboundLocalError: local variable 'item_check' referenced before assignment -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 7829, in script call call talk_person(person_choice) from _call_talk_person File "game/script.rpy", line 8193, in script call call fuck_person(the_person,private = in_private) from _call_fuck_person File "game/script.rpy", line 8311, in script call call sex_description(the_person, position_choice, object_choice, start_round, private=private, girl_in_charge = girl_in_charge) from _call_sex_description File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8455, in script call call fuck_person(the_person) from _call_fuck_person_2 File "game/script.rpy", line 8311, in script call call sex_description(the_person, position_choice, object_choice, start_round, private=private, girl_in_charge = girl_in_charge) from _call_sex_description File "game/script.rpy", line 8410, in script call $ the_position.call_strip(the_person, the_clothing, mc.location, the_object, round) #If a girl's outfit is less slutty than she is currently feeling (with arousal factored in) she will want to strip stuff off. File "game/against_wall.rpy", line 244, in script $ the_girl.draw_animated_removal(the_clothing, position = against_wall.position_tag) File "/private/var/folders/y9/rsvgrnx88xjd0vg2ljwz0c5w0000gn/T/AppTranslocation/313CDBB4-746D-466F-836E-AD929129081C/d/Lab_Rats_2-v0.16.1-mac.app/Contents/Resources/autorun/renpy/ast.py", line 862, in execute renpy.python.py_exec_bytecode(self.code.bytecode, self.hide, store=self.store) File "/private/var/folders/y9/rsvgrnx88xjd0vg2ljwz0c5w0000gn/T/AppTranslocation/313CDBB4-746D-466F-836E-AD929129081C/d/Lab_Rats_2-v0.16.1-mac.app/Contents/Resources/autorun/renpy/python.py", line 1912, in py_exec_bytecode exec bytecode in globals, locals File "game/against_wall.rpy", line 244, in $ the_girl.draw_animated_removal(the_clothing, position = against_wall.position_tag) File "game/script.rpy", line 1757, in draw_animated_removal bottom_clothing, split_clothing, top_clothing = self.outfit.generate_split_draw_list(the_clothing, self, position, emotion, special_modifier) #Gets a split list of all of our clothing items. File "game/script.rpy", line 3299, in generate_split_draw_list middle_item = item_check UnboundLocalError: local variable 'item_check' referenced before assignment Darwin-18.2.0-x86_64-i386-64bit Ren'Py 7.0.0.196 Lab Rats 2 - Down to Business v0.16.1 Fri May 17 22:12:14 2019 [/code]

Dubsington

Ran into an error where during the title naming event one of my girls asked if I wanted to be called something else, and whatever I chose became her name. The title options provided though were for the MC.

M M S

Found and fixed the issue, thanks for finding and reporting it!

Vren

That's exactly the kind of stuff the pattern system was designed for actually! Rendering a pattern mask is about 3x faster than rendering a full piece of clothing (and could probably be faster, but I haven't tested to find the bottom limit of the rendering resolution that would give acceptable results), so I can add a bunch of different patterns for clothing without it taking days and days to render the entire image set. I could also set up some universal patterns that would be rendered for all types of clothing (stripes, floral patterns, etc.).

Vren

Got an exception when having public sex. It seems to be related to the new title system. [code] I'm sorry, but an uncaught exception occurred. While running game code: File "game/script.rpy", line 7829, in script call call talk_person(person_choice) from _call_talk_person File "game/script.rpy", line 8001, in script call call talk_person(the_person) from _call_talk_person_2 File "game/script.rpy", line 7980, in script call call talk_person(the_person) from _call_talk_person_1 File "game/script.rpy", line 8193, in script call call fuck_person(the_person,private = in_private) from _call_fuck_person File "game/script.rpy", line 8311, in script call call sex_description(the_person, position_choice, object_choice, start_round, private=private, girl_in_charge = girl_in_charge) from _call_sex_description File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8397, in script call $ watcher.call_dialogue("sex_watch", the_sex_person = the_person, the_position = the_position) #Get the watcher's reaction to the people having sex. This might include dialogue calls from other personalities as well! File "game/personalities.rpy", line 1123, in script the_person.char "Come on [the_person.player_title], [the_sex_person.name] is going to fall asleep at this rate! You're going to have to give her a little more than that." AttributeError: 'Person' object has no attribute 'player_title' -- Full Traceback ------------------------------------------------------------ Full traceback: File "game/script.rpy", line 7829, in script call call talk_person(person_choice) from _call_talk_person File "game/script.rpy", line 8001, in script call call talk_person(the_person) from _call_talk_person_2 File "game/script.rpy", line 7980, in script call call talk_person(the_person) from _call_talk_person_1 File "game/script.rpy", line 8193, in script call call fuck_person(the_person,private = in_private) from _call_fuck_person File "game/script.rpy", line 8311, in script call call sex_description(the_person, position_choice, object_choice, start_round, private=private, girl_in_charge = girl_in_charge) from _call_sex_description File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8484, in script call call sex_description(the_person, position_choice, the_object, round+1, private = private, girl_in_charge = girl_in_charge) from _call_sex_description_2 File "game/script.rpy", line 8397, in script call $ watcher.call_dialogue("sex_watch", the_sex_person = the_person, the_position = the_position) #Get the watcher's reaction to the people having sex. This might include dialogue calls from other personalities as well! File "game/personalities.rpy", line 1123, in script the_person.char "Come on [the_person.player_title], [the_sex_person.name] is going to fall asleep at this rate! You're going to have to give her a little more than that." File "E:\Other\Vren\Lab_Rats_2-v0.16.1-pc\renpy\ast.py", line 652, in execute renpy.exports.say(who, what, interact=self.interact, *args, **kwargs) File "E:\Other\Vren\Lab_Rats_2-v0.16.1-pc\renpy\exports.py", line 1199, in say who(what, *args, **kwargs) File "E:\Other\Vren\Lab_Rats_2-v0.16.1-pc\renpy\character.py", line 1003, in __call__ what = what_pattern.replace("[what]", sub(what, translate=translate)) File "E:\Other\Vren\Lab_Rats_2-v0.16.1-pc\renpy\character.py", line 985, in sub return renpy.substitutions.substitute(s, scope=scope, force=force, translate=translate)[0] File "E:\Other\Vren\Lab_Rats_2-v0.16.1-pc\renpy\substitutions.py", line 242, in substitute s = formatter.vformat(s, (), kwargs) File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 563, in vformat File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 585, in _vformat File "/home/tom/ab/x64lucid-deps/install/lib/python2.7/string.py", line 652, in get_field AttributeError: 'Person' object has no attribute 'player_title' Windows-8-6.2.9200 Ren'Py 7.0.0.196 Lab Rats 2 - Down to Business v0.16.1 Thu May 09 18:33:09 2019 [/code]

McSpazz

very interesting stuff! just curious if you are going to introduce floral or other prints to clothes, i know I am a horrible person for suggesting that. just curious J

John

i love the option to save colours in the outfit creator, i have saved black, white, red and different shades of grey xD i am not joking, i think some clothing in the game looks better in slightly lighter black or tinted white next step adding a drop down menu where you can select from several bars of saved colour presets :D

retchedegg

I think I am going to wait until official fix is released.

VN Star Wars +18 Game

Might want to hot fix the list_of_titles.appnd on line 437 in random_lists.rpy line 2948 in crises.rpy if mc.buisness.is_weekend() needs to be corrected to mc.business.is_weekend() label person_new_title(the_person) seems to always fall on the "else" option regardless of choice made.

It's there a common place for bug reports? Or even better a GIT repo were you can add Issues or even pull requests, so issues are easier to track, allowing pull request would give you more time to focus on content then fixing bugs. There is a typo in the personalities.rpy (2x) "convservative outfits" instead of "conservative outfits". The business_vest clothing item is on layer 3, I think it should be on layer 2, that way you can put a lab coat or vest over it, it looks strange covering sweaters and other layer 2 clothing items. Cheers, thanks for your hard work.


More Models and Creators