Mod RPGM Sana Revamped [v0.1 Test, v0.1 Light Version] [WIP] [DevLog Thread]

5.00 star(s) 3 Votes

tygct

Member
Jun 6, 2017
148
781
Will all the characters be able to be impregnated and have pregnant cgs?
Technically every female actor can be tracked and impregnated by the pregnancy system, with the new database I made for the mod system it will include actors added by mods.

About the CGs I can't answer that, we are limited to the CGs because I believe Sana is the only girl that has pregnancy CGs drawn in the vanilla game, it depends on whether Ryuna_the_2nd thinks it is possible to draw pregnancy overlays, at least for the main girls.

Once Ryuna and me get a proper workflow after the sex framework is done we can discuss the process of creating CGs and animations and which overlays are possible and which are not.

EDIT: Also some girls won't ever be pregnant because of their age, once I get to work on the actor data class extensions every actor will have an age attribute, so any female actor that is 40+ years old will have a harder time to get pregnant, until 50+ yo when it will be impossible for the girl to get pregnant.
 
Last edited:

SS4312

Newbie
Nov 3, 2018
96
56
EDIT: Also some girls won't ever be pregnant because of their age, once I get to work on the actor data class extensions every actor will have an age attribute, so any female actor that is 40+ years old will have a harder time to get pregnant, until 50+ yo when it will be impossible for the girl to get pregnant.
This is the utter degenerate in me speaking, but please make age fertility loss a toggle-able function.
 
  • Like
Reactions: tygct
Mar 6, 2022
25
50
Say, am I right to assume that this huge mod you're making will make it possible to play the game with only titfucks (and nipplefucks)?

Either way, kudos to you peeps for sticking with this massive overhaul effort you've been doing. It's both impressive and endearing to see such possessive desire to upgrade a game you've liked into something way bigger than it even was originally.

Wishing you good luck with that endeavour!
 

tygct

Member
Jun 6, 2017
148
781
Say, am I right to assume that this huge mod you're making will make it possible to play the game with only titfucks (and nipplefucks)?

Either way, kudos to you peeps for sticking with this massive overhaul effort you've been doing. It's both impressive and endearing to see such possessive desire to upgrade a game you've liked into something way bigger than it even was originally.

Wishing you good luck with that endeavour!
Thank you!

About your question, the sex framework will have a in-game menu that you can open with a keybind, eventually this menu will allow to modify any existing sex scene like changing the animation, speeding up / slowing down, cum inside, cum outside, etc... You will be able to change the animations to titfucks and such, but some events may be forced to certain tags (like vaginal sex, anal sex, etc...) so it won't be possible to always play a titfuck animation, anyways it will be up to you to decide whether to interact with that event or not.
 

tygct

Member
Jun 6, 2017
148
781
I might sound like a broken record at this point, but is there an ETA on the next release?
Not at the moment!

I took a small break from the sex framework and I am currently working on refactoring the game's code, some important changes are being made.

Sex framework development is going fine, at the point where I have left it since the last devlog, it is able to play an animation and change it into any available animation from the list of animations at runtime without frame drops or freezes, once I finish what I'm doing right now I'll go back and make some important changes I need to do to sex animations.

I'll talk more about these two in the next devlog.

Ryuna is also working on some CGs for v0.2, I have a few events written for v0.2 that will use Ryuna new CGs, it will be used to test the sex framework potential.
 

tygct

Member
Jun 6, 2017
148
781
tread still alive?
Yeah, I'm still busy refactoring the game's code, due to the refactor I had to implement something I planned to do for v0.3 which is the new Data Manager, I have been working on overhauling it so the new devlog will be about this refactoring process.

Hopefully I post a devlog later this week since I still need to fix something.
 
Last edited:

Ryuna_the_2nd

Newbie
Aug 16, 2024
19
125
tread still alive?
As for me, ive got some few NEW CGs still getting cooked, some changes for some of Sana's CGs like her paizuri (some of the OG CGs felt off for me), additional new characters, and I remember a few folks wanted uncensored dicks/different sizes for the MC/other characters
I cant show cuz spoilers, i hope folks here will enjoy the new sets in the games tho!
 

Croup

Newbie
Oct 10, 2022
25
36
Would be good if u guys release at least something, u know? A huge amount of time is passed without an alpha or laucnh build...
 

tygct

Member
Jun 6, 2017
148
781
Would be good if u guys release at least something, u know? A huge amount of time is passed without an alpha or laucnh build...
A long time has passed, indeed.

The main reasons for the lack of releases is that I tried to push as much as possible in the v0.2 release (hence the huge list of features for this version), to my defense, the more I push in early versions the less I'd have to do later on development, and also that I initially planned the project to not do alpha releases like the rest of devs.

Anyways, the v0.2 as well as the v0.3 and v0.4 will be only test releases, meaning that they don't feature the actual content I'm making for the game, I wanted that the v1.0 version would be both the first public release and the final version without missing content and story.

However, once I'm done with test releases, I have considered doing alpha releases for a small group of people (something like Github's automatic builds) in like a discord server or something like that to get feedback on the game's story and pacing as I work on v1.0, mainly to tweak progression and fix bugs and whatnot, nevertheless, there is still time for this to happen, I may or may not end up doing it.
 

Ryuna_the_2nd

Newbie
Aug 16, 2024
19
125
Would be good if u guys release at least something, u know? A huge amount of time is passed without an alpha or laucnh build...
I like to keep my CG sets a secret, maybe i could share the scrapped original CGs

Also if theres one thing i can admit, its that Breast Mafia (the original creator for Sana) has a difficult colorings style to replicate

Ive been practicing CG edits and comparing his to another one i like (Amazon Amazon, they make such banger art and ive been practicing their style) Breast Mafias coloring style is hella difficult and takes time, theyre always so inconsistent in half the later CGs they made
 

Gabranth2

Member
Nov 11, 2019
178
271
I like to keep my CG sets a secret, maybe i could share the scrapped original CGs

Also if theres one thing i can admit, its that Breast Mafia (the original creator for Sana) has a difficult colorings style to replicate

Ive been practicing CG edits and comparing his to another one i like (Amazon Amazon, they make such banger art and ive been practicing their style) Breast Mafias coloring style is hella difficult and takes time, theyre always so inconsistent in half the later CGs they made
Interesting observation you did there, i guess i will look into both those artist's art in a different manner now.
I think you do well on keeping your CGs edits secret since it's a form of self respect for your personal effort in this. Do what you got to you until you feel ready to reveal the fruits of your labour.
Thank you Ryuna_the_2nd and tygct for being so faithful and hardworking on this project.
 

tygct

Member
Jun 6, 2017
148
781
Refactor and Integration Devlog

Hey there, devlog time!

Like I said previously, I have paused the sex framework development to work in refactoring the game codebase, as well as integrating everything I have done in it.

Let's break this devlog into sections, shall we?

Codebase Refactor
This is what has kept me busy these past few weeks, refactoring the entire game code has been def a buggy process.
I believe once I got the game playable there were like 50+ crash report files in the game's folder , putting everything together was a bit tedious but definitely worth it.

There's a lot to talk about this since the game code organization has completely changed behind the scenes, but to keep it easy-to-understand, let's just do a Pros and Cons list:

Pro's
  • Game codebase is organized in a way that is 100% mod-friendly.
    • All monkey-patching has been simplified and replaced with my system of event callbacks
  • Critical parts of the code has been overhauled to be mod-friendly, for example:
    • Audio Manager (new)
      • Vanilla RPG Maker does not have an audio manager per-se, it interacts directly with the native Audio module using the RPG::SE, RPG::ME, RPG::BGS, RPG::BGM data structures, this is how it was done prior this refactor update and it was a whole mess, specially because each audio data class has the ability to play itself, the new module Audio Manager manages all of this in a single place in an orderly manner
      • Vanilla data structures (RPG::SE, RPG::ME, RPG::BGS, RPG::BGM) has no way to use an audio file added by a mod, so they were only able to play audio from the base game, a new serializable Audiofile class has been added that allows referencing to any file from the game root folder (supporting mods).
      • Wraps every new MKXP-Z function available cleverly
      • Integrates the settings module
    • Data Manager (overhaul)
      • *Check Data Manager Overhaul section below*
    • Database (new)
      • All database global variables has been replaced by the new database
      • There is no more globals polluting the global scope
        • Ensures compatibility with mods code that may be added
      • Partially integrated key parts of the mod system (see Roadmap for reference)
  • All game objects globals has been replaced by "static" modules
    • There is no more globals polluting the global scope
      • Ensures compatibility with mods code that may be added

Con's
  1. It is very likely that none of the existing free plugins for RPG Maker will work with the game, for example the Yanfly plugins that every RPG Maker game uses won't be compatible "out of the box"
    • By "not compatible out of the box" I mean that every class definition has changed in either a minor or major way, so these scripts would need to be adapted manually to work.
  2. It is very likely that no save editor software will work with Sana Revamped, this is because the game objects classes has been modified in such a way that won't be compatible, also, the usage of mods will render all of these tools incompatible, unless they are modified to process the game savefiles in the same way I do it in the new data manager.
To compensate the con's explained above:
  1. I have been working all of this time to replace and remove external plugins gradually preparing for this refactor, as for now, the only missing third-party plugins which has not been integrated into the new codebase are yanfly's message system overhaul and the diagonal movement script I used in v0.1, not a problem since I have planned to work on my own overhaul for the message system in the game later in development, I have some ideas and design ready for this, so eventually, the message system overhaul won't be needed, I have removed diagonal movement script and won't work on it as for now until I fix some weird behavior with it, maybe this one will end up being discarded (not a priority for now).
  2. As for the save editor, I personally don't see it as a problem, especially because I have created an in-game console, you can use this to cheat on the game, but it is not a plug-n-play solution since it requires you to know how to use commands and what they do exactly.

The refactor is not fully completed as for now, there is still a few systems I have made which are not integrated, eventually all of them will be integrated <-- I'm currently working on this.

Loading Scene

A loading screen is definitely a must-have, especially for a game that is expandable with mods like this one, basically because the more mods you have installed the more time the game will need to load everything.

The thing is, since Sana Revamped supports mods and also suports enabling and disabling them, I needed to implement a new database (which we have talked about in the past), building this database is a very complex process, it can take from a short to a long time depending on the number of mods installed and your computer.

I have been having a lots of problems implementing a loading screen on the game, mainly because RPG Maker games are single-threaded and does not support multi-thread operations at all (at least RPG Maker games made in XP/VX/VX Ace, dunno about MV/MZ) meaning that the whole game runs sequentially, one line of code at a time.

First I tried adding a custom scene which created a new thread running the code to load, so we would have two threads, the main thread which will refresh the screen and update the sprites, animations, etc... and the thread that runs whatever code they are given, the problem is that, a lot of the code in RPG Maker is not thread-safe, because it was never made to be thread-friendly to begin with, so the game would inevitably crash if any piece of code is given to the thread which is no thread-safe (for example: loading a savefile would crash the game).
I thought about shifting responsibilities between the main thread and the son thread (main thread runs the logic and the son thread refreshes the screen), but it turns out that the native functions to refresh the screen are not thread-friendly either, (Graphics.update) so it will lock the process indefinitely until it is killed by itself, so this means that there is not a real loading screen on the game.

So we are stuck with single-threaded processes, still I wanted to show something on the screen meanwhile the game is running some complex code, since the screen is not refreshed it will look to the user as like the game has crashed/frozen, so I have come up with a "dirty" solution per-se, which is showing an image on top of the screen before the game runs the complex code and hide it after it finish.

I have modified the base class for all scenes to include methods to show and hide the loading screen bitmap, it also supports fading the load screen in and out, which you can see in the GIF below.
Do not mind the ugly art, it is a placeholder I made in MS Paint to test it lol.

loading_screen.gif

Right now the loading screen is pretty much useless, because there is not much code to process, there are only like 4 mods which they are not heavy to load at all, but it will be useful in the future.

Also, as you can see, the load screen is not used everywhere, since it must be shown manually, it will be used only wherever I expect the code to be complex, like rebuilding the database, starting a new game, loading a savefile, etc... A transition between the title screen and the settings screen does not need to load anything heavy.

Data Manager Overhaul
The data manager overhaul was something I planned to do for v0.3, but once I started refactoring the codebase a few weeks ago, I had to push back this feature for v0.2, the reason why is because the way game objects are organized now needed the new data manager.

Since I had to work on this I asked myself, why not implement everything I had planned for this in v0.3 now? So I did.

The new data manager includes new features as well as quality-of-life enhancements which I think you guys would love every other RPG Maker game to have, savefiles has been modified:
  • Savefiles are now saved with a new header, this header includes:
    • Game version
      • Version major integer
      • Version minor integer
      • Version revision integer
      • Version string
    • List of all mod IDs installed
      • This list contains all mod IDs that were installed at the time when the savefile was created
    • Map location
      • A string representing the map location (map name) where the savefile was created
    • Total playtime
      • A string representing the total playtime in the format: HOURS:MINUTES:SECONDS
    • A savefile description
      • A string containing a small description the user can change to to describe the savefile
      • The user will be able to change this description value before creating a new savefile
    • Savefile thumbnails
      • Thanks to MKXP-Z, I can include a binary representation of a bitmap, so every savefile will include a image thumbnail at the time the savefile was created
A new savefile header is not the only new thing left tho...

The data manager now supports different profiles, you will not need to move savefiles around to try other people savefiles, which is something you probably have done several times as for now, so you can have:

- Saves/
- Saves/profile_1
- Saves/profile_2
- Saves/profile_3
...
- Saves/profile_n

All savefiles are saved within a folder which represents the profile, you can have as many profiles as you want inside the saves directory.
So you can have different profiles to play the game in different ways, also, the known hard-limit of the number of savefiles of RPG Maker games has been removed, you can create as many savefiles as you want, the new data manager does not impose any limit so you are free to have 1,000 savefiles if you want to.

- Saves/
- Saves/profile_1
--- Saves/profile_1/Save1.rvdata2
--- Saves/profile_1/Save2.rvdata2
--- Saves/profile_1/Save3.rvdata2
- Saves/profile_2
--- Saves/profile_2/Save1.rvdata2
--- Saves/profile_2/Save2.rvdata2
--- Saves/profile_2/Save3.rvdata2
--- Saves/profile_2/Save4.rvdata2
--- ...
--- Saves/profile_2/SaveN.rvdata2
- Saves/profile_3
...
- Saves/profile_n

Also, as you can see in the video, there is a new option on the title screen, which is Load, it allows you to call the loading scene and load whatever profile and savefile you want.

There is also a "Continue" option, which it will process the whole Saves directory and load the most recent savefile available, so you don't have to go to the loading scene, selecting the appropiate profile and choosing the savefile everytime you wanna play the game, this button will be automatically selected for you everytime the game is started if there is savefiles available, quality-of-life baby.

The first black screen in the GIF is because I forced a game reset (F12) to load the scene again, so you can check it out at the start.


data_manager_continue.gif

As for now, the description cannot be set, that's why in the video it is not shown, but the code exists, I will probably finish this in v0.3



Like I said, since this was not planned for v0.2, I won't be spending more time testing it exhaustively, so bugs may happen, I will fix anything that may happen for v0.3

What's next?
The first thing to do is finishing refactoring the game's code, meaning that I need to integrate the rest of systems that were not integrated as for now.

Then, finish the sex framework, the next devlog will be about this.
 
5.00 star(s) 3 Votes