Weekly News #193 (Big optimization update)
Version 0.981a is already available for download for subscribers of the Super Best Friend tier ($25). To view the post with this version, follow this link: https://www.patreon.com/school123/posts/released-0-981a-168674315
So, a week and a half has passed since the release of the last full version of the game. It's time for us to tell you about what's been accomplished in such a short period of time and also release a new micro-update. We'll start not with the RNPC, as usual, but with a more comprehensive work we've done: optimization. But first things first.
First, what we've done for optimization. There are many points here. The first point worth mentioning is that we've carried out extensive work on game stability, cache, and many other related systems: a full-fledged LOD system has been added, making RNPC loading instantaneous even on the highest performance settings; the game crashes significantly less due to lower RAM/ROM requirements; and overall game stability has improved significantly, allowing you to play the game even on the weakest Android devices without any issues. This setting can be adjusted in the "Improved Image Quality" performance settings, which is disabled by default. Additionally, a specific check has been added to ensure that this image is present on the RNPC sprite, preventing certain details from overlapping multiple times in specific situations. This significantly speeds up game performance in many scenarios and reduces the likelihood of unexpected crashes on low-end devices. The game requires less cache, some visual details become dynamic, and in many other situations, RNPC will become less demanding. However, lag issues may still occur on low-end devices; on mid-range or high-end devices, it will disappear completely. To improve game performance on low-end devices, we've taken other steps... You can see how the game now plays in the video attached to this post.
Ensuring smooth gameplay was our top priority. While lag is eliminated on mid-range and high-end devices, as mentioned above, lower-end devices remain unaffected. However, we've also ensured that low-end devices experience near-perfect performance, albeit with limitations. We've significantly improved game performance through a redesigned visual caching system, improved performance settings' impact on the game itself, and a general overhaul of the RNPCs display systems. As a result, with the "Maximum Performance" setting, the game runs nearly instantly: any loading times and everything run much smoother and more smoothly, although there are some visual limitations, as detailed in the performance settings themselves. Furthermore, these presets have been added to the game settings, under the Performance Settings category, where they weren't previously available.
Additionally, the game now automatically initializes performance settings based on your device's performance—this is designed to ensure that players with even the weakest devices have the most stable experience possible throughout their session. In addition, an image "prediction" system will be enabled on powerful systems—some of the RNPC images will already be loaded on these devices, making the game smooth and enjoyable.
A "Weak Device Mode" setting has been added, which will achieve maximum stability without crashes, etc., by reducing image quality, reducing game cache requirements, hiding certain details, etc. When using this setting, the game should not crash even on the weakest Android devices, and should run instantly and without any issues.
You can see each new performance setting in the screenshot above—a huge number of them have been added to ensure the game runs even on the weakest devices, and to make it as smooth as possible on powerful ones. Issues with lag when opening the RNPC are no longer a problem, even in the most challenging scenarios, and in some areas, such as "opening full lists" of hairstyles and clothing in the RNPC editor, they are reduced to the minimum possible.
Secondly, NPCs. Here, as usual, we'll highlight some interesting new features that were requested of us. The first thing worth mentioning is that new settings have been added to the game session settings interface, under the "Social Settings" category. These include settings for generating MILF/Chubby characters, where you can adjust their generation frequency, as well as whether NPCs are active, whether they are in relationships with each other, and how often they are in relationships.
If you find out the location of a randomized NPC through phone messages and/or ask another NPC about the location of any NPC, you can immediately jump to the desired NPC, avoiding unnecessary transitions between locations.
Five new clothing sets for female NPCs have been added to the game, as well as five clothing sets for male NPCs. These sets are generated correctly for them and are available for selection in the NPC editor. Previously, they were in the game, but after some tweaks and reworks, they were reinstated.
Major improvements to the sexual encounter interface with randomized female NPCs. Firstly, you can now completely hide the tempo and clothing settings selectively, and reopen them if needed. This was done because they sometimes obscured the most important parts of the interface—the scenes themselves.
Another new feature is that the "Settings" button has been replaced with a button that specifies where your character should cum: inside or outside. This was done specifically to make these systems more obvious than the settings menu, which wasn't particularly popular and people didn't know they could choose where to cum.
What's not ready, but is actively being worked on, is a new scene for the randomized NPCs. You can see it below:
Thirdly, there are systemic changes, of which there aren't that many... Numerous new interface sounds, interactive sounds, and a major overhaul of the game's sound design. Numerous button-press sounds have been added: opening and closing blinds, throwing a coin into the park fountain, the sounds of changing clothes, and others, making using all of these features more enjoyable.
And a smaller change: the mood system has been improved: if your character is constantly hungry and without energy, this will always negatively impact their mood, as much as possible. If they're well-fed and have energy, on the contrary, they'll always be in a very good mood, forcing the player to better monitor all stats and balance them whenever possible.
Fourth, bug fixes and code refactoring. Here we'll limit ourselves to the changelog, which, by the way, is also relevant for the latest micro-update, available with a Super Best Friend subscription:
New content:
New settings have been added to the game session settings interface, under the "Social Settings" category. These include settings for generating MILF/Chubby characters, where you can adjust their generation frequency, as well as whether or not NPCs are active, whether they are in relationships, and how often they are in relationships. This has been a frequent request, and we've finally implemented such detailed generation settings.
Game stability, cache, and numerous related systems have been extensively improved: a fully functional LOD system has been added, making NPC loading instantaneous even on the highest performance settings. The game crashes significantly less frequently due to lower RAM/ROM requirements. Overall game stability has improved significantly, allowing you to play the game even on the weakest Android devices without any issues. This setting can be adjusted in the "Improved Image Quality" performance settings, which is disabled by default. Additionally, a specific check has been added to ensure that the image is present on the RNPC sprite, preventing some details from overlapping multiple times in specific situations. This significantly speeds up game performance in many scenarios and reduces the likelihood of unexpected crashes on low-end devices. The game requires less cache, some visual details are now dynamic, and in many other situations, RNPC will no longer be as demanding.
Significant performance improvements have been achieved through a modified visual caching system, improved performance settings, and a general overhaul of the RNPC display systems. As a result, with the "Maximum Performance" setting, the game runs nearly instantly: any loading times and everything run much better and more smoothly, although there are some visual limitations, as detailed in the performance settings themselves. Furthermore, these settings presets have been added to the game settings, in the Performance Settings category, where they were previously not available.
A "Low Device Mode" setting has been added, which will achieve maximum stability without crashes, etc., by reducing image quality, reducing game cache requirements, hiding certain details, etc. When using this setting, the game should not crash even on the weakest Android devices, and should run instantly without any issues.
Thumbnail loading has been significantly accelerated, with minimal lag during thumbnail opening, even in the most challenging scenarios, such as "Open Full List" in the RNPC editor. It loads with minimal delays thanks to LODs, hiding certain visual details, an improved display system, and improved filtering, ensuring near-instant loading where possible.
The game now automatically initializes performance settings based on your device's performance—this is designed to ensure that players with the weakest devices have the most stable experience possible throughout their sessions, while players with more powerful devices experience fewer lag issues. Among other things, an image prediction system will work on high-end systems—some of the RNPC images will already be loaded on these devices, making the annoying lag when entering the RNPC interaction menu much less of a problem.
Now, if you find out the location of a randomized NPC through phone messages and/or ask another NPC about the location of any NPC, you can immediately jump to the desired NPC, avoiding unnecessary transitions between locations.
The game has a multitude of new interface sounds, interactive sounds, and a major sound design effort. Numerous sounds have been added for pressing buttons: opening and closing blinds, throwing a coin into a park fountain, the sounds of changing clothes, and others, making the experience more enjoyable.
The "Settings" button in the sexual encounter interface with randomized female NPCs when your character is male has been replaced with a setting for where your character should cum: internally or externally. This was done specifically to make these systems more obvious than the settings menu, which wasn't particularly popular and left people unaware that they could choose where to cum.
Now, if an exception occurs in the game itself, not only is the version number and date of the exception noted, but a specific bug fix is also provided so players know when they should update and whether they should do so at all.
Five new clothing sets for female NPCs have been added to the game, as well as five clothing sets for male NPCs. They are generated correctly and are available for selection in the NPC editor. Previously, they were present in the game, but after some improvements and rework, they were reinstated.
The mood system has been improved: if your character is constantly hungry and low on energy, this will always negatively impact their mood, as much as possible. If they are well-fed and full of energy, they will, on the contrary, always be in a very good mood, which forces the player to better monitor all parameters and balance them whenever possible.
In the sexual encounter interface with randomized NPCs, you can now completely hide the tempo and clothing settings, and reopen them if needed. This was done because sometimes they hid the most important parts of the interface—the scenes themselves.
In the sex interface with randomized NPCs, the "Doggy Style" position, which is available when having sex with female NPCs, now has a new button—opening the anus—that changes the overall appearance of the scene.
A new setting has been added to the performance settings—maximum image cache size. With a large amount of RAM, it's recommended to set a higher value. This allows predicting the displayed images by loading them into memory in advance, which will reduce lag.
In the main game interface, switching between NPCs/sublocations/location activities is now available in quick access labels for those who don't understand the icons—this can be hidden if needed.
Now, when installing the game, the "NPC Memory" setting is automatically disabled to ensure the best long-term performance.
The "Complete Task from the Academy" interaction, which can be accessed from your room and/or the city library, has been rebalanced. Each attempt increases the chance of success, and the time required has been reduced.
The "Go to Marker" button in the diary interface is now only available on Easy difficulty or when a subscription is enabled.
An option to completely disable tutorials after creating a game session has been added to the "General Settings" category of the game settings.
Overall game performance has been improved with the "Filters" setting enabled, resulting in significantly improved game performance and reduced lag when attempting to load randomized NPCs.
The Chinese language has been updated: more diverse areas have been translated, bugs that prevented some areas from being translated at all have been fixed, and translation of certain areas of the game that could previously be problematic have been improved.
Fixed bugs:
Fixed a bug where clicking on a contact to interact with them could trigger an exception, preventing this mechanic from being used at all.
Fixed a bug where the scene where a girl is taking a shower would cause an infinite loop that could no longer be skipped.
Fixed an issue where the game could reset performance settings, specifically presets, after each game session.
Fixed a bug where the game would throw exceptions when playing in Portuguese and when using the city map interface.
Fixed a bug where the game could throw exceptions when playing in Portuguese while actively communicating with a female RNPC and using the corresponding interface.
Fixed a bug where some interfaces and translations could be displayed incorrectly in Portuguese, Japanese, and Korean.
Fixed a bug that caused the game to throw exceptions when playing in Japanese and when using the city map interface.
Fixed a bug that could cause the game to throw exceptions when playing in Japanese while actively communicating with a female NPC and using the corresponding interface.
Fixed a bug that could cause the game to throw exceptions when using the modifications menu while using Japanese.
Fixed a bug that could cause the game to throw exceptions when opening the level menu when playing in Japanese.
Fixed an issue where the "Open Blinds" button would not change to "Close Blinds" in your character's room, even if the blinds were visually open at the time.
Fixed a bug that could cause the game to throw exceptions when displaying the interface for stealing something from a NPC, with a small chance.
Fixed a bug that could cause the game to throw exceptions when playing in Portuguese and displaying a random amount in text at certain points during gameplay.
Fixed a bug that could cause the game to throw exceptions when playing in Portuguese and using the sleep interface.
Fixed an issue that could cause Cyrillic characters to appear in the save/load game interface when playing in English.
Fixed a bug where, after changing the outfit of a randomized female NPC/your female character, you or the NPC could become completely naked for no other reason.
Fixed a bug where the fight scene with a randomized NPC could remain on screen until the very end and not be hidden at all, even after a long period of time, until it should have been displayed again by the system.
Fixed a bug where the game could throw exceptions at certain points in gameplay when the tutorial should have been displayed at certain points in gameplay.
Fixed a bug that could cause the game to throw exceptions when using the backpack interface in fights with randomized NPCs in some rare gameplay situations.
Fixed a bug that could cause the game to throw exceptions when playing in Japanese and displaying a random amount in the text at certain points in gameplay.
Fixed a bug that could cause the game to throw exceptions when playing in Japanese and using the "Call Me..." interaction with a randomized NPC.
Fixed a bug that could cause the game to throw exceptions when playing in Japanese and displaying a randomized NPC's name in the text during rare events with randomized NPCs.
Fixed a bug that caused the game to constantly reset the cheating potential of a randomized NPC to their partner (another randomized NPC), making it impossible to break their relationship using existing gameplay methods.
Fixed an issue where the function for calculating possible romantic partners was not working correctly, resulting in "Romantic Inclination" being completely ignored, despite being the most important statistic.
Fixed a bug where the game could constantly reset your character's attributes for no apparent reason, resulting in a constant statistic of 20, even though it could have been anywhere from 50 to 100.
Fixed a bug where the game could throw an exception during the scene where a female RNPC swims in the sea, with a very low chance of occurring.
Fixed a bug where, after dating Yuki Oota and eventually moving in with her, the game could throw an exception at the end of the event when awarding your character an achievement.
Fixed an issue where opening your character's diary interface with story hints could result in exceptions on the "Yuki Oota" story character page if you had not completed Hitomi Watanabe's story but had completed the portion of the story featuring Ayano Yoshida's performance.
Fixed a bug where, after purchasing a subscription on the boost website, the purchaser could have some trouble completing the purchase due to the data taking too long to be added to the database.
Fixed a bug where the game could throw exceptions when opening the diary with story hints at certain rare points in gameplay when the game was unable to determine which quest was currently active.
Fixed a bug where the game could throw exceptions during the Orel Apartment Challenge with Suzuki Matsui at certain rare points in gameplay and during corresponding choices within the event.
Fixed an issue where the "Game Console" item was available for further purchase after purchase, even though there was no point in purchasing it more than once.
Fixed a bug where the game would throw exceptions when attempting to customize moles/freckles on a randomized female NPC in the NPC editor/your character if they are female.
Fixed a bug where the menu for selecting a dish on dates/attempting to go to a cafe with an NPC could throw an exception in some rare, exceptional cases.
Fixed a bug that prevented the game from exiting the sexual encounter menu with randomized NPCs, constantly reloading the 18+ encounter scene and the corresponding interface related to this mechanic.
Fixed a bug that could cause the game to throw exceptions without apparent reason when attempting to display certain non-18+ scenes.
Fixed a bug that caused the game to throw exceptions without any apparent reason throughout gameplay when NPCs sent you love text messages, which interfered with gameplay.
Fixed a bug that caused the game to throw an exception during the money theft interface at certain points in gameplay when the game was attempting to determine the player's inventory items. This error could also occur at any time during the game when these existing issues were being checked.
Fixed an issue where the "Body Customization" button in the RNPC editor contained buttons that extended beyond the edges of the interface, causing the interface to appear odd.
Fixed an issue where the phone battery level and connection status were displayed in two adjacent locations in the interface.
Fixed a bug where, after purchasing a subscription on the SubscriberStar website, the purchaser might have some trouble completing the purchase due to the long time it took to add data to the database.
Fixed a bug where the game would throw exceptions when you proposed cohabitation with an RNPC, but only if you were proposing to live in her home, not yours.
As you can see, we've done a lot of work on the game's performance, stability, and overall technical improvements. This is something that's been long overdue—many players have low-end devices, while those with mid-range/high-end devices simply found the game frustrating due to the lack of smoothness. Going forward, we'll be making several more major improvements to game stability, fixing existing bugs and errors—we already have some plans to make the game less polished. We've also fixed numerous bugs and exceptions—you can read about them above. Now... All that's left is to wait for September 15th, which will bring a lot of new features that the game has been long overdue.
How the game works after the latest optimization update. (YouTube)
Comments (4)
[code] I'm sorry, but an uncaught exception occurred. While running game code: File "game/location/room.rpy", line 654, in script File "game/location/room.rpy", line 1342, in execute File "game/location/room.rpy", line 1342, in execute File "game/location/room.rpy", line 1950, in execute File "game/mods/button/buttons_room.rpy", line 1202, in execute File "game/mods/button/buttons_room.rpy", line 1202, in execute File "game/mods/button/buttons_room.rpy", line 2046, in execute File "game/mods/button/buttons_room.rpy", line 2056, in execute File "game/mods/button/buttons_room.rpy", line 2078, in execute File "game/mods/button/buttons_room.rpy", line 2078, in File "game/system/modules/patreon/auto_translate.rpy", line 88, in check_translate TypeError: expected string or bytes-like object, got 'int' -- Full Traceback ------------------------------------------------------------ Traceback (most recent call last): File "game/location/room.rpy", line 654, in script File "renpy/ast.py", line 2231, in execute self.call("execute") ~~~~~~~~~^^^^^^^^^^^ File "renpy/ast.py", line 2195, in call return renpy.statements.call(method, parsed, *args, **kwargs) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "renpy/statements.py", line 379, in call return method(parsed, *args, **kwargs) ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "renpy/common/000statements.rpy", line 695, in execute_call_screen store._return = renpy.call_screen(name, *args, **kwargs) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "renpy/exports/statementexports.py", line 348, in call_screen rv = renpy.ui.interact(mouse="screen", type="screen", roll_forward=roll_forward) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "renpy/ui.py", line 304, in interact rv = renpy.game.interface.interact(roll_forward=roll_forward, **kwargs) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "renpy/display/core.py", line 2219, in interact repeat, rv = self.interact_core( ~~~~~~~~~~~~~~~~~~^ preloads=preloads, ^^^^^^^^^^^^^^^^^^ ...<4 lines>... **kwargs, ^^^^^^^^^ ) # type: ignore ^ File "renpy/display/core.py", line 2757, in interact_core root_widget.visit_all(lambda d: d.per_interact()) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "renpy/display/displayable.py", line 432, in visit_all d.visit_all(callback, seen) ~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "renpy/display/displayable.py", line 432, in visit_all d.visit_all(callback, seen) ~~~~~~~~~~~^^^^^^^^^^^^^^^^ File "renpy/display/displayable.py", line 432, in visit_all d.visit_all(callback, seen) ~~~~~~~~~~~^^^^^^^^^^^^^^^^ [Previous line repeated 1 more time] File "renpy/display/screen.py", line 503, in visit_all callback(self) ~~~~~~~~^^^^^^ File "renpy/display/core.py", line 2757, in root_widget.visit_all(lambda d: d.per_interact()) ~~~~~~~~~~~~~~^^ File "renpy/display/screen.py", line 514, in per_interact self.update() ~~~~~~~~~~~^^ File "renpy/display/screen.py", line 715, in update self.screen.function(**self.scope) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "game/location/room.rpy", line 1342, in execute File "game/location/room.rpy", line 1342, in execute File "game/location/room.rpy", line 1950, in execute File "game/mods/button/buttons_room.rpy", line 1202, in execute File "game/mods/button/buttons_room.rpy", line 1202, in execute File "game/mods/button/buttons_room.rpy", line 2046, in execute File "game/mods/button/buttons_room.rpy", line 2056, in execute File "game/mods/button/buttons_room.rpy", line 2078, in execute File "renpy/python.py", line 1292, in py_eval return py_eval_bytecode(code, globals, locals) ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "renpy/python.py", line 1285, in py_eval_bytecode return eval(bytecode, globals, locals) ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "game/mods/button/buttons_room.rpy", line 2078, in File "game/system/modules/patreon/auto_translate.rpy", line 88, in check_translate File "renpy/translation/__init__.py", line 603, in translate_string return stl.translate(s) ~~~~~~~~~~~~~^^^ File "renpy/translation/__init__.py", line 547, in translate notags = re.sub(r"\{\#.*?\}", "", old) ~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "lib/python3.12/re/__init__.py", line 186, in sub TypeError: expected string or bytes-like object, got 'int' Windows-11-10.0.26200-SP0 AMD64 Ren'Py 8.4.1.25072401 [/code]
for remake the bug make your cursor on the picture of your character all location ( i can send my save file if need )
Hi, I tested the game and loved it because it has a Portuguese translation. But I wanted to know if it's possible to be 100% submissive if I pay for the subscription and play as a woman.
Currently waiting on a storyline for female characters instead of just male
