Backend Overhaul + General Design Changes

What's up, guys!
I hope you all had a wonderful new year!
Today I bring you a simple but important update: the backend has been completely revised and there have been several changes to the game's design.


New Music: Mastur Bar - I'm Not Understanding

Before we start talking about the central themes of this post, let me tell you about a little news first.
I created a new song called "I'm Not Understanding" after the last post, so I decided to bring it to you in this one.

We were just one song away from reaching the milestone of 70 different songs on the game's soundtrack, and with this one, we finally hit the mark.

To be quite honest, I feel that, with this, we have the complete soundtrack of the game.
I won't stop myself from creating new songs if inspiration strikes in the future, but I feel that 70 songs is more than enough, so this will probably be the last song on the game's soundtrack.
70 is a considerable number, especially considering that other Adult Visual Novels often don't even have songs.

I still don't know if I'll be able to include all the new songs in this episode or if I'll have to save some of them for the next one, but all the work involving the soundtrack is complete for the entire game.

You can listen to the song at the end of this post, if you want to.

That's said, let's return to the main topics of this post.
Since there are 2 topics in a single post, let's start with the backend:


Backend Overhaul

I know that talking about updates to the game's backend isn't very exciting for the audience, but it was important to carry out this type of revision.
This game has gone through several development phases, and I confess that the code I used in some of the game's screens, while functional, was implemented in an amateurish way.
At first, this didn't cause many problems, but over time I found some bugs, and they needed to be fixed.

I did a complete overhaul of the backend of all the game's screens, improving them where possible.
There was optimization, simplification, and improvement of the code in general.
This was done to fix some bugs found, such as:


  1. Some replays disappearing improperly from the replay menu even after being unlocked.
    This problem started happening due to a recent change in Ren'py, so you probably didn't see it in the version you're playing (0.4.1).

    But it's interesting for me as a developer to always be on the latest version of Ren'py, since this brings improvements, bug fixes, optimizations, etc.
    When updating to the latest version, Ren'py broke this feature, and I had to redo it.

    Due to this change, unfortunately, your progress regarding unlocking replays will be lost in the next version.

    The update has also been applied to the demo, which will receive a new version (0.1.9), so that from the new version onwards, the replays unlocked in the new demo can continue to work in conjunction with the paid version.

    I know it's annoying, but the game has received a lot of changes, especially in the soundtrack, so it will be worth revisiting the game from the beginning, I guarantee it.


  2. I discovered that on some specific devices, such as small-screen mobiles, the Main Character dialogue in phone conversations was not appearing. This bug has been fixed and the dialogues will be working correctly in the next version.

  3. Some interface buttons, such as the Shop Button and the Item Button, as well as the Social Media buttons on the Title Screen, have had their alignment and captions redone.

    The way the alignment was done in previous versions was manual.
    At first glance, there seems to be no problem, but if the text of these buttons were to be changed (e.g., in a future translation to a new language), the text would be completely misaligned with the buttons. Now, with the alignment redone, the caption text should remain correctly aligned to the center of the button, regardless of the word typed.
    Yes, this is a preparation for future translations into other languages, something I intend to do when I release the full version of the game.

    As for the alignment of the Social Media buttons on the Title Screen, their captions have also been correctly realigned, but not only that, now the game automatically calculates the correct positioning of each button and applies them, depending on the number of buttons to be displayed on the screen.
    In summary: We now have dynamic alignment of the Title Screen buttons, allowing us to add new Social Media buttons in the future effortlessly.


  4. The Game Menu alignment has been redone.

    There was a bug where, depending on the option clicked (especially if the option opened the Confirm screen, such as the "Title Screen" or "Quit" option), the Game Menu buttons would change alignment.

    This may seem like a small problem, but this bug prevented us from adding new options to it, as it misaligned the entire Game Menu.
    With this fix, I was finally able to add more options to the Game Menu without misalignment issues, which led to another change that you will see below.


  5. There are several functions in the backend of the screens that are not visible to the player, but are important for everything to work.
    These functions have been simplified and optimized.

    This avoids bugs and wasted resources, as well as making it possible to perform the same functions using far fewer lines of code.

    In addition, exclusive developer functions have been created and added to the screens, which helps prepare the game to record videos for YouTube, for example.

    (e.g. I need to record a video that cannot show nudity, since it will go to YouTube, with the change of a simple variable, the game self-organizes for me, hiding everything that cannot be shown).

    Yes, this is an update that matters more to the developer than to the players, but it also has positive impacts on the final product.


Now that we've covered the backend aspect of the update, let's move on to the cool part.
There have been some design changes to the game that improve various aspects.
You can see these changes in the video, but I'll talk more about them, so you can read and watch the video.


General Design Changes

Game Menu changes

With the Game Menu alignment issue fixed, I was finally able to include the Achievement and Tutorial screens directly in it.
This led to the next 2 design changes.


Achievement and Tutorial screens

Those screens can now be accessed directly from the Game Menu.
This means total independence, no longer depending on being on page 1 of the Gallery or Replays and clicking Page Left to access them.
With this, there is no longer a need for pagination buttons on these screens, so they have been completely removed from them.


Gallery and Replay screens

Since the screens mentioned above are no longer dependent on these screens, now, by clicking Page Left on page 1 of these screens, the game will take the player to the last page of these respective screens, allowing the player to freely cycle between the first and last page.
By clicking Page Right on the last page, the player will return to page 1 of the respective screen.


Wider variety of Icon Sets

In the last post, I showed that, on the Controls screen, it was possible to cycle between 5 different Icon Sets: Xbox, Playstation, Nintendo, Steam, and Generic.

But I felt that wasn't enough, so I implemented a wider range of different Icon Sets, now totaling 12, including: 3 Xbox variations, 3 Playstation variations, 3 Nintendo variations and 3 Steam variations.

Explaining each one in more detail:


  1. Xbox - Color 1: This is not inspired by any specific controller; it simply follows the correct button layout of the Xbox model.

    The A, B, X, and Y buttons have a white background and black lettering.
    The other buttons also have the same colors.

    If the game fails to identify your controller type, it will treat your controller as generic and apply this Icon Set.


  2. Xbox - Color 2: This Icon Set is inspired by the Xbox 360 model.
    The Xbox Classic model may also resemble it.

    The A, B, X, and Y buttons have a colored background and white lettering, being the color scheme based on the Xbox controller's color patterns.
    The other buttons have a white background and black lettering.

    If the game identifies your controller as an Xbox model, it will automatically apply this Icon Set.


  3. Xbox - Color 3: This Icon Set is inspired by the Xbox One, Xbox Series X, and Xbox Series S models.

    The A, B, X, and Y buttons have a white background and colored lettering, being the color scheme based on the Xbox controller's color patterns.
    The other buttons have a white background and black lettering.

    You can manually select it if you don't like either of the other two options.


  4. Playstation - Color 1: This Icon Set was inspired by the Playstation 5 model.

    The ✖, ○, □, and △ buttons have a white background and black lettering.
    The other buttons also have the same colors.

    You can manually select it if you don't like either of the other two options.


  5. Playstation - Color 2: This Icon Set wasn't inspired by any specific model, but we decided to create this Icon Set based on the Xbox Color 2 design, just to give the player another option.

    The ✖, ○, □, and △ buttons have a colored background and black lettering, being the color scheme based on the Dualshock controller's color patterns.
    The other buttons have a white background and black lettering.

    You can manually select it if you wish.


  6. Playstation - Color 3: This Icon Set was inspired by most Dualshock models, having similar patterns to the Playstation 1, Playstation 2, Playstation 3, and Playstation 4.

    The ✖, ○, □, and △ buttons have a white background and colored letters, being the color scheme based on the Dualshock controller's color patterns.
    The other buttons have a white background and black lettering.

    If the game identifies your controller as an Playstation model, it will automatically apply this Icon Set.


  7. Nintendo - Color 1: This Icon Set is inspired by the Nintendo Switch model.

    The A, B, X, and Y buttons have a white background and black lettering.
    The A and B buttons & the X and Y buttons are reversed, just like on Nintendo consoles.
    The other buttons also have the same colors.

    If the game identifies your controller as an Nintendo model, it will automatically apply this Icon Set.


  8. Nintendo - Color 2: This Icon Set is inspired by the Super Famicom model.
    Other consoles based on Nintendo's button layout, such as the Ayn Thor Rainbow, may also resemble it.

    The A, B, X, and Y buttons have a colored background and white lettering, being the color scheme based on the Super Famicom controller's color patterns.
    The A and B buttons & the X and Y buttons are reversed, just like on Nintendo consoles.
    The other buttons have a white background and black lettering.

    You can manually select it if you have a controller that follows the Super Famicom pattern.


  9. Nintendo - Color 3: This Icon Set wasn't inspired by any specific model, but we decided to create this Icon Set based on the Xbox Color 3 design, just to give the player another option.

    The A, B, X, and Y buttons have a white background and colored lettering, being the color scheme based on the Super Famicom controller's color patterns.
    The A and B buttons & the X and Y buttons are reversed, just like on Nintendo consoles.
    The other buttons have a white background and black lettering.

    You can manually select it if you don't like either of the other two options.


  10. Steam - Color 1: This Icon Set is inspired by the Steam Deck model.

    The A, B, X, and Y buttons have a white background and black lettering.
    The other buttons also have the same colors.

    If the game identifies your controller as an Steam model or if you're playing on a Steam Deck, it will automatically apply this Icon Set.


  11. Steam - Color 2: This Icon Set wasn't inspired by any specific model, but we decided to create this Icon Set based on the Xbox Color 2 design, just to give the player another option.

    The A, B, X, and Y buttons have a colored background and white lettering, being the color scheme based on the Steam controller's color patterns.
    The other buttons have a white background and black lettering.

    You can manually select it if you don't like either of the other two options.


  12. Steam - Color 3: This Icon Set is inspired by the Steam Controller model.

    The A, B, X, and Y buttons have a white background and colored lettering, being the color scheme based on the Steam controller's color patterns.
    The other buttons have a white background and black lettering.

    You can manually select it if you're using a Steam Controller.


With this wider variety of Icon Sets, the game manages to cover the vast majority of existing controller types, although there may be one or two controllers that deviate from all 12 implemented patterns.

I know it's nice to play with the button icons on the screen looking similar to the controller you're holding, so I decided to implement these extra options.

Of course, you don't necessarily have to follow the patterns.
You can be playing with an Xbox controller and use the Nintendo - Color 2 Icon Set (Super Famicom pattern).
You're free to choose the pattern you prefer!


Icon Buttons Alignment

The Icon Buttons and their respective captions, both those on the Title Screen and those in Exploration Mode, have had their alignments corrected.

Starting with the Title Screen, the Icon Buttons now auto-organize on the screen, distributing themselves with uniform spacing between them depending on the number of Icon Buttons being displayed.

This means that, if a new Icon Button is added, it will not require any effort from the developer to align them on the screen.

This change was made so that the buttons auto-organize if the player has the walkthrough DLC downloaded, because in this case the game displays 7 Icon Buttons on the Title Screen instead of 6.
In the case of Steam, it displays 3 Icon Buttons on the Title Screen instead of 2.

Regarding the Icon Buttons displayed in Exploration Mode (Shop Menu and Item Menu), what was aligned were their respective captions.

As mentioned before, if a new translation were added, which would change the displayed caption, it would not be properly centered over the button.

Now the game is prepared for this, because regardless of the word that is adopted as the caption, it will always be properly centered over the button.
This change in caption alignment was also applied to the Icon Buttons on the Title Screen.


Outlined Letters and Labels

There was a simple but important change:
Now all the letters and labels in the game have an outline composed of light in the upper left and shadow in the lower right.

This change gives the player a greater sense of depth when reading.

The reason I implemented this change is that, depending on the background image, since the letters are white, they would blend into the background, hindering readability in some cases.

Now that the letters have light and shadow, even when they are on a background of the same color, they will be legible.

It's possible to notice the changes in all the letters in the game, including the letters that make up the buttons.
On the buttons, this change creates an interesting effect, making it seem like a panel is lighting up when you hover the mouse over them.


Button Press Effect in Game Menu

This is another change that was made to provide clarity to the player.

When selecting an option in the Game Menu, the letters on this button are now further in the background and darkened, as if they were buttons pressed on a radio.

This helps the player identify the currently selected option in the Game Menu immediately upon looking at it.


That's all I had to show you today.
With that, we've reached the end of everything that needed to be revamped in terms of functionality.
The next step is to adapt the tutorials to the new features, considering the changes caused by the implementation of gamepad support.

I hope you enjoyed the news.
That's all for today,
Cheers! 🍻


Check out the Video Preview

https://www.youtube.com/watch?v=aq_s4DmHksk