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

5.00 star(s) 3 Votes

AntiVeraX

Member
Mar 17, 2018
296
726
Really? I was pretty sure I got it from otomi months ago, which means its probably on the usual sites like ryuugames as well, dont search using the english name I typed, I can read japanese and that's the rough translation, use the RJ number or the japanese name.
You are probably mistaking it with something else, that game is not on Otomi, and never was according to the recorded historical data.

1733037993739.png

1733038053734.png
 

KoraPappa

Newbie
Jan 11, 2018
29
28
You are probably mistaking it with something else, that game is not on Otomi, and never was according to the recorded historical data.
I went ahead and uploaded the game to pixeldrain and posted a reply in the SPH thread! Although plenty of downloads of this game could be found on anime-sharing!
 

Naiv

Newbie
Dec 26, 2018
76
58
Honestly, NTR is not my thing. But its one of the guaranteed way of getting MC with small enough penis that the women are not satisfied by it and goes overboard sucking it dry trying to get the same satisfaction that other penis gave, for me that's diamonds. Bonus if the guy doing the NTR backfired and the women starts demanding more than they can give
 
  • Hey there
Reactions: Ryuna_the_2nd

DOOM9780

New Member
Nov 5, 2019
2
2
Thanks for being patient folks
Our progress has been going well in the back
But anyways heres s preview of Sana's new standing CG for being patient
Her normal look and naked alt
, View attachment 4230141 View attachment 4230149
Woah, Awesome work, But comparing her hips to her boobs tho, The waist to hip ratio needs a little more width, I mean her hips should be more wider if we were to look from the front, But that's just me being picky :p
 

tygct

Member
Jun 6, 2017
140
714
End of Year Update
Since I still don't have something substantial to show about the sex framework, I wanted to share a roadmap of what to expect for each upcoming test release as this year comes to an end (I still need to update the Trello board tho).

Roadmap

No planned date for any version, I don't like giving them because as a single dev it is hard to fullfil them, each bullet point is an essential feature that needs to be implemented for v1.0, some of them has an icon at the beginning which has the following meaning:
  • Check: Fully implemented for this version.​
  • Construction: Currently being worked on or started working on it and has some final code ready.
  • Warning: This means a re-design of something I had ready.​
  • X: Feature implementation not started
Roadmap v0.2, v0.3, v0.4.jpg

As you can see, test version 0.2 is jam-packed with lots of things (there is even more things in the background but I did not wanted to overload the list or make the text font size way too small), I consider v0.2 as the first test release of the game and v0.1 as a "proof-of-concept" thingy I used to play around with the engine.

Also you can notice how I will reduce the workload starting with version 0.3, there won't be more versions like 0.2 because I'd rather release new test versions more frequently so I can tweak values / fix bugs / balance the game better, so hopefully this means shorter waits between releases.

There is some sex framework addons that I will work for v0.2, these are mainly "hooks" that the appropiate system which is currently implemented will use to connect to the sex framework, so each system will be able to alter the sex scene, for example the arousal system will change the pleasure gain per actor based on their arousal, the sex diary will be able to listen to the sex scene and update each actor diary when sex scene finishes, etc...
The old Dynamic Dirty Talk System will need to be adapted to the new sex framework too, but I have pushed that for v0.3.

Actor Traits Re-design

There is something I would like to get feedback on because I re-designed what I had for it, this is the Actor Traits feature.
This feature was formerly known as the "Personality System", which defined some specific attributes for each actor (like cuckold, cheating, slut, etc...) which it is used to define in what degree an actor is a specific attribute, for example: cheating = 65 points, cuckold = 40 points, etc... the higher the value the more that actor identifies with that attribute.
Well, I have decided to re-design this system and turn it into a "Trait System" that will be integrated into the game in the same way RPG Maker data is added, that means that mods will be able to add new traits and modify existing ones.

Here's an example of a few traits along with a small description on how they will influence the game (not final of course):
  • Huge Cock: An actor with this trait has a huge cock
  • Big Cock: ...
  • Average Cock: ...
  • Small Cock: ...
  • ...
  • Dirty Cock: An actor with this trait has a dirty penis
  • Huge Boobs: An actor with this trait has huge boobs
  • Big Boobs: ...
  • Average Boobs: ...
  • Small Boobs: ...
  • Sensitive Penis: An actor with this trait will get 2x pleasure during sex scenes if it is in a sex slot in which the sex act the penis is involved
  • Sensitive Boobs: ...
  • Sensitive Ass: ...
  • Sensitive Anus: ...
  • ...
  • Cuckold: An actor with this trait loves to be cheated on
    • Increases arousal greatly if another actor in the game's party is participating in a sex scene and has a love relationship with the cuck actor
  • Nympho: An actor with this trait will get constantly aroused, they will be always aroused.
  • Orc Lover: An actor with this trait loves having sex with orcs
    • Orc Lover is a trait that is unlockable if an actor meets the following criteria:
      • Had sex with orcs more than 25 times and climaxed
  • Loves to be Harassed: An actor with this trait loves to be harassed
    • Unlockable if:
      • Actor has been harassed more than 25 times and climaxed
  • Loves to be Raped: An actor with this trait loves to be raped
    • Unlockabe if an actor meets the following criteria:
      • Actor learnt about the consensual non-consent fetish
      • Had been raped more than 25 times and reached an orgasm
  • Size Queen: An actor with this trait loves to have sex with big or huge cocks only
    • Unlockable if:
      • Actor gender is female
      • Actor had sex with another actor with the big cock or huge cock trait and climaxed two times (or more) during a single sex scene more than 20 times
        • To unlock this trait for Sana she would need to have 20 sex encounters with someone with a big or huge dick and climax two times (or more) per sex scene
  • Infertile: An actor with this trait is very unlikely to impregnate or be impregnated
    • Unlockable if:
      • Uses an game item drug to become infertile
  • Exhibitionist: An actor with this trait loves to be naked in public
    • Increases arousal when naked in public (wearing no armor)

As you can see, the game actors will gain these traits as you play the game, you will be able to choose some of them at new game (for the player), others you will have to unlock it playing the game and some of them will be incompatible with other traits.

The Actor Traits Manager will be a system that will handle all of the trait acquisition during the game, mods will need to insert their traits to this module so they are obtainable.

The idea behind this is to adapt the game to the way the player wants to play it, there are other systems in the game that feed off of this trait system (Dirty Talk System, Arousal System, Pregnancy System, etc...), for example the dirty talk system will select dialogues during a sex scene considering the traits for each actor, for example, if Sana has the size queen trait, dirty talk comments related to being a size queen will appear during the sex scene, otherwise it won't.

How do you feel about this re-design?, I am trying to make getting these traits feel natural as you play the game but avoiding excessive grinding.

More info on all of the above will be shared in devlogs in the future, but for now I hope y'all have a nice holiday season!
 

madeupfakery2

Newbie
Jun 28, 2021
36
51
I'd go with traits over points. Having specific counts or even a specific event seems more streamlined than adding points to a column. Since it's a shorter game and not a big old 100+ hour RPG that seems like the right choice.
 
  • Like
Reactions: tygct

FistfulofDust

Newbie
Nov 8, 2024
48
98
End of Year Update
Since I still don't have something substantial to show about the sex framework, I wanted to share a roadmap of what to expect for each upcoming test release as this year comes to an end (I still need to update the Trello board tho).

Roadmap

No planned date for any version, I don't like giving them because as a single dev it is hard to fullfil them, each bullet point is an essential feature that needs to be implemented for v1.0, some of them has an icon at the beginning which has the following meaning:
  • Check: Fully implemented for this version.​
  • Construction: Currently being worked on or started working on it and has some final code ready.
  • Warning: This means a re-design of something I had ready.​
  • X: Feature implementation not started
View attachment 4371682

As you can see, test version 0.2 is jam-packed with lots of things (there is even more things in the background but I did not wanted to overload the list or make the text font size way too small), I consider v0.2 as the first test release of the game and v0.1 as a "proof-of-concept" thingy I used to play around with the engine.

Also you can notice how I will reduce the workload starting with version 0.3, there won't be more versions like 0.2 because I'd rather release new test versions more frequently so I can tweak values / fix bugs / balance the game better, so hopefully this means shorter waits between releases.

There is some sex framework addons that I will work for v0.2, these are mainly "hooks" that the appropiate system which is currently implemented will use to connect to the sex framework, so each system will be able to alter the sex scene, for example the arousal system will change the pleasure gain per actor based on their arousal, the sex diary will be able to listen to the sex scene and update each actor diary when sex scene finishes, etc...
The old Dynamic Dirty Talk System will need to be adapted to the new sex framework too, but I have pushed that for v0.3.

Actor Traits Re-design

There is something I would like to get feedback on because I re-designed what I had for it, this is the Actor Traits feature.
This feature was formerly known as the "Personality System", which defined some specific attributes for each actor (like cuckold, cheating, slut, etc...) which it is used to define in what degree an actor is a specific attribute, for example: cheating = 65 points, cuckold = 40 points, etc... the higher the value the more that actor identifies with that attribute.
Well, I have decided to re-design this system and turn it into a "Trait System" that will be integrated into the game in the same way RPG Maker data is added, that means that mods will be able to add new traits and modify existing ones.

Here's an example of a few traits along with a small description on how they will influence the game (not final of course):
  • Huge Cock: An actor with this trait has a huge cock
  • Big Cock: ...
  • Average Cock: ...
  • Small Cock: ...
  • ...
  • Dirty Cock: An actor with this trait has a dirty penis
  • Huge Boobs: An actor with this trait has huge boobs
  • Big Boobs: ...
  • Average Boobs: ...
  • Small Boobs: ...
  • Sensitive Penis: An actor with this trait will get 2x pleasure during sex scenes if it is in a sex slot in which the sex act the penis is involved
  • Sensitive Boobs: ...
  • Sensitive Ass: ...
  • Sensitive Anus: ...
  • ...
  • Cuckold: An actor with this trait loves to be cheated on
    • Increases arousal greatly if another actor in the game's party is participating in a sex scene and has a love relationship with the cuck actor
  • Nympho: An actor with this trait will get constantly aroused, they will be always aroused.
  • Orc Lover: An actor with this trait loves having sex with orcs
    • Orc Lover is a trait that is unlockable if an actor meets the following criteria:
      • Had sex with orcs more than 25 times and climaxed
  • Loves to be Harassed: An actor with this trait loves to be harassed
    • Unlockable if:
      • Actor has been harassed more than 25 times and climaxed
  • Loves to be Raped: An actor with this trait loves to be raped
    • Unlockabe if an actor meets the following criteria:
      • Actor learnt about the consensual non-consent fetish
      • Had been raped more than 25 times and reached an orgasm
  • Size Queen: An actor with this trait loves to have sex with big or huge cocks only
    • Unlockable if:
      • Actor gender is female
      • Actor had sex with another actor with the big cock or huge cock trait and climaxed two times (or more) during a single sex scene more than 20 times
        • To unlock this trait for Sana she would need to have 20 sex encounters with someone with a big or huge dick and climax two times (or more) per sex scene
  • Infertile: An actor with this trait is very unlikely to impregnate or be impregnated
    • Unlockable if:
      • Uses an game item drug to become infertile
  • Exhibitionist: An actor with this trait loves to be naked in public
    • Increases arousal when naked in public (wearing no armor)

As you can see, the game actors will gain these traits as you play the game, you will be able to choose some of them at new game (for the player), others you will have to unlock it playing the game and some of them will be incompatible with other traits.

The Actor Traits Manager will be a system that will handle all of the trait acquisition during the game, mods will need to insert their traits to this module so they are obtainable.

The idea behind this is to adapt the game to the way the player wants to play it, there are other systems in the game that feed off of this trait system (Dirty Talk System, Arousal System, Pregnancy System, etc...), for example the dirty talk system will select dialogues during a sex scene considering the traits for each actor, for example, if Sana has the size queen trait, dirty talk comments related to being a size queen will appear during the sex scene, otherwise it won't.

How do you feel about this re-design?, I am trying to make getting these traits feel natural as you play the game but avoiding excessive grinding.

More info on all of the above will be shared in devlogs in the future, but for now I hope y'all have a nice holiday season!
No offense, but why is the one that mostly grabbed my attention is the last one :cry:
 

tygct

Member
Jun 6, 2017
140
714
Oh no, you understood me wrong, i was talking about the road map, the 0.4 sounds very juicy
Oh I see! The main reason is because one of the main features "In-Battle Sex Actions" heavily depends on the sex framework and the actor traits system, the other one, "Battle Loss Consequences" depends on the Quest System since losing will unlock special quests, I cannot work on it without implementing them first.

Plus, I'd rather reserve an update exclusively for the battle system, since I foresee that I will have to work alot on the balance when I implement this battle overhaul (you know... skills, damages, items, etc...) and I need to make it right, it is one of the key features the final version will have.
 
Last edited:

Hybr1d0

Member
Nov 23, 2021
419
308
Oh I see! The main reason is because one of the main features "In-Battle Sex Actions" heavily depends on the sex framework and the actor traits system, the other one, "Battle Loss Consequences" depends on the Quest System since losing will unlock special quests, I cannot work on it without implementing them first.

Plus, I'd rather reserve an update exclusively for the battle system, since I foresee that I will have to work alot on the balance when I implement this battle overhaul (you know... skills, damages, items, etc...) and I need to make it right, it is one of the key features the final version will have.
Hi "tygct" and thanks for your dedication.
I wanted to ask if there is a playable update? Or with errors?
 

tygct

Member
Jun 6, 2017
140
714
Hi "tygct" and thanks for your dedication.
I wanted to ask if there is a playable update? Or with errors?
Hi, as for now the only playable version is v0.1 which is only a test release and very outdated, I wanted to avoid doing early access for the game and share test releases to test systems, mechanics, etc... The final version (v1.0) will be the completed game and have all contents.
 
Jul 30, 2018
262
301
Hi, as for now the only playable version is v0.1 which is only a test release and very outdated, I wanted to avoid doing early access for the game and share test releases to test systems, mechanics, etc... The final version (v1.0) will be the completed game and have all contents.
forgot to ask like forever ago.
all i'm seeing now is that 0.2 will be huge update then 0.3 and later will be small? so that it can be update more frequently once the framework is finished right?
does that mean from 0.2 onward, people can do whatever they wanted and attached those module they created to your 0.2 framework am i correct?
if so, i'm looking forward to it!
HNY 2025 btw :D
 
  • Like
Reactions: tygct

tygct

Member
Jun 6, 2017
140
714
forgot to ask like forever ago.
all i'm seeing now is that 0.2 will be huge update then 0.3 and later will be small? so that it can be update more frequently once the framework is finished right?
does that mean from 0.2 onward, people can do whatever they wanted and attached those module they created to your 0.2 framework am i correct?
if so, i'm looking forward to it!
HNY 2025 btw :D
Hey, happy new year to you too!

Correct, from v0.3 onwards (v0.4, v0.5, v0.6, etc...), each version will have less things to work on in order to be able to release new versions more often and not have to wait so much time between releases, I will also be able to dedicate versions to specific aspects that need a lot of testing, like the overhaul of the combat system.

does that mean from 0.2 onward, people can do whatever they wanted and attached those module they created to your 0.2 framework am i correct?
Yes and no, I mean you can create mods from v0.2 onwards and learn how Sana Revamped is made internally so if you want to mod it you can do so (respecting the license), when the time comes, I will work a bit on some tutorials to learn the basics about the mod system.

But at the same time, v0.2 is not, by any means, the final product, so depending on the mods you create some of them will become incompatible by the time v1.0 is released, I have taken care to code each module in version 0.2 to be flexible and expandable, in order to avoid having to change the code between now and version 1.0, however, it can happen so I do not recommend working on a mod that requires scripting work, like creating an addon for the sex framework, adding a new system to the game, etc...

Also, the mod system is not fully integrated into the game, there is still a lot of original code that references the original modules of the engine. I have not wanted to work fully on integrating the mod system into the game because I foresee that there is a lot of original code that I will change, so when that time comes, I will integrate the mod system into them, these are the expected records the game will have by v1.0:
  • RPG::Actor
    • Allows to create new actors and/or modify existing actors
  • RPG::Animation
    • Allows to create new animations and/or modify existing animations
      • Note: These are the battle animations, not sex animations
  • RPG::Class
    • Allows to create new classes and/or modify existing classes
  • RPG::CommonEvent
    • Allows to create new common events and/or modify existing common events
  • RPG::Enemy
    • Allows to create new enemies and/or modify existing enemies
  • RPG::Item
    • Allows to create new items and/or modify existing items
  • RPG::Map
    • Allows to create new maps and/or modify existing maps
  • RPG::MapInfos
    • AFAIK, useless for mods, but still supported
  • RPG::Script
    • Allows to load new scripts on the game
  • RPG::Skill
    • Allows to create new skills and/or modify existing skills
  • RPG::State
    • Allows to create new states and/or modify existing ones
  • RPG::System
    • Contains game variables, switches, etc...
    • I still need to study how to support this type of data mod-wise
  • RPG::Tileset
    • Allows to create new tilesets and/or modify existing ones
  • RPG::Troop
    • Allows to create new troops and/or modify existing ones
  • RPG::Weapon
    • Allows to create new weapons and/or modify existing ones
  • Audio
    • Allows to include new audio files and overwrite existing ones
  • Graphics (CGs)
    • Allows to include new graphic files (CGs) files and overwrite existing ones
  • Movie
    • Allows to include new movie files and overwrite existing ones
  • Script (Loose)
    • Allows to load new loose scripts on the game
  • Translations
    • Allows to load new translation strings and modify existing ones
  • Sex Animations <-- ** currently working on this **
    • Allows to create new sex animations and modify existing ones
Every point crossed out (and Sex Animations) means that it is integrated in v0.2

Currently, each data record above are created and saved into the database successfully, but they are not used because the existing code uses the old database so the new database cannot provide this data.

I will work gradually to support more data types in each test version, so by the time v1.0 is released, the mod system will be fully integrated into the game (meaning that the new database will deprecate the old database).

Also, I need to work on allowing to modify the data based on the note attribute because there are data structures that refer to other data structures by their id, for example, a game actor, that refer to a class type by its ID:

actor_db.png

Example picture
To make an actor use a custom class (Clase in spanish) that it is not present in the vanilla game, you will have to reference them using the note attribute (Nota in spanish) in the database, if the class ID exists in the vanilla game (or it is overwritten you do not have to add this to the note attribute). This has to be done this way due to limitations of the engine itself (which, to be fair, was never intended to support mods). Basically any data ID that does not exists in the vanilla game (class ID, equipment IDs, etc...) will need to use the note attribute to reference them.

TLDR;
In v0.2 you will be able to create mods but beware that scripting mods will likely become incompatible, also some modifications are still not supported. Though, there are some mods that won't ever become incompatible like pictures, audio, translations... and they will still work in future versions.

Also, Sana Revamped will come with a license that everyone must respect.

The main points of the license will be that any modification of Sana Revamped must be published for free to the community, even though all modifications will be free you still will be able to gain money (using patreon, subscribestar, buymeacoffee for donations or whatever) but the final mod must be shared for free and never behind a paywall just like I'm doing with this mod using the original Sana game, also, if the modification incorporates changes in the code, these changes must be made public in any place, either in a git repository or in a ZIP file in the same download page of the mod, this will protect you (and myself) from malicious code running on the game. It will also protect my code from being stolen.

Anyways, all this will matter in the future, if the game ever becomes popular.

EDIT:
Also, I think I already said this but just to made sure, v0.2 will be a test release, and not v0.2 of the "full release", by test release I mean that you will be in the same dungeon as v0.1 but with all the new features and new events to test things, this version won't have the contents I have prepared for the full release.

I have two projects that share the same code, one is the full project where the final version is being made and the other one is the test project (this one where I'm testing systems), so once I'm satisfied with the product, I'll move on to the full project and start creating the contents.
 
Last edited:

tygct

Member
Jun 6, 2017
140
714
Sex Framework Devlog 2
Hey!

I finished adding modding support for sex animations, to make this possible I had to change some things I said in the previous devlog about the sex framework, specifically how sex animations are read from the game's directory.

Animation Metadata
To add new animations to the game, mods will have to put the animations inside the folder: "Graphics/Sex Animations/"

Every folder inside that directory (recursively) will be treated as a sex animation if an animation metadata JSON file is found within the folder, check this example below:

file-tree.jpg

The folder "Doggy Style 01" and "Blowjob 01" is a sex animation folder because the metadata file "animation_data.json" exists inside of it.

In addition, to standardize the sex animations, they will all have the same folder structure:
  • Folder Frames: Where all the frames of the animation will be stored.
  • Folder Sounds: where all the sounds of the animation will be stored.
  • Folder Overlays: Where all the overlays of the animation will be saved.
Sounds and Overlays are completely optional tho, so animations may exists with no sounds or overlays, actually, frames is also optional, it won't crash the game but if it does not exists it won't show any CG on the screen obviously.

Like I said, I had to modify the animation's metadata to allow creating new animations and modifying existing ones, the main problem I had was that all the animation information was defined inside the file "animation_data.json", this made it impossible for two mods modifying the same animation to co-exist.

For example, take a mod that modifies the sound of an animation and another one that adds a new overlay, since both of this is defined in the animation_data.json file, one would overwrite the other so you will end up either without the overlay or the sound.

Also, having all data inside the same metadata file made the file excessively long, the test animations I'm currently using were up to 1,000 lines of data within the same JSON file, which made it very difficult to search for something or add something new, and that was only a few overlays and sounds...

Here's an updated example of a sex animation metadata file:
animation-metadata.png
Now, the animation metadata is used to define essential data that must be shared for all overlays and sounds, for example, the list of slots and the list of frames, the animation ID, etc...

To solve all of this I have taken out the overlays and sounds from the "animation_data.json" file and now there are two ways to add new overlays and sounds:
  • Group file
The group file is a single file that defines a list of overlays or sounds, this file exists within the Overlays or Sounds folder and it is called "overlays_data.json" or "sounds_data.json", respectively.

Overlays group file example
animation-metadata-overlays.png
  • Loose file:
A loose file is just a single file that defines a single overlay or sound, this file exists within the Overlays or Sounds folder and it is called "overlay_data.json" or "sound_data.json", respectively, you can organize these files inside subfolders since the "Overlays" and "Sound" folders are scanned recursively for loose data files.

Sound loose file example
animation-metadata-sound.png

As you can see, the group file defines a list of overlays/sounds and the loose file defines a single overlay/sound, loose files are prioritized over group files so modders can use the loose file to overwrite existing overlays/sounds for a sex animation.

Also, the overlays and sounds metadata file are subject to change, since I'm currently working on this, I will talk about each feature in a new devlog.

Animation Links
Animation links is a small and neat feature that I think it is worth to include, basically what it does is it lets any animation to tell the sex framework which animation "links" with itself, by "link" meaning that both animations shares the same pose but they differ in something such as the number of actors.

Animation links:
  • animation_link_remove: Animation that will be used when an actor is removed from the current scene.
  • animation_link_add: Animation used when a new actor is added to the sex scene.
  • animation_link_prev_stage: Animation used when the user goes to the previous stage.
  • animation_link_next_stage:Animation used when the user goes to the next stage.
So for example, if you are currently playing this animation below and a new actor is added, you can assume that new actor is male and create another animation with the same pose but with Sana giving a blowjob to another penis in the same frame, so you can set the "animation_link_add": "ANIMATION_ID" to that animation ID and it will be used when that happens.
SB松葉崩し02_s.png

You can also use the "prev_stage" and "next_stage" to change slightly the pose, for example, pushing Sana's breasts together with her arms, you can also use this to show an alternate version showing/hiding the male's body, etc...

The purpose of this feature is to add more cohesion when playing one animation and switching to another, either because a new actor has been added or removed or simply because the user has changed the stage, still, if the animation specified in the link cannot be found it will select a random animation from the list of valid animations, which is the default behavior.

Animation Context
One of the main problems I have encounter designing the sex framework was that some animations may be used in some situations that they do not fit, for example, those of you who have played the original game will know that there are events on a beach, and the CGs of these events have a beach background drawn, some animations created specifically for this situation could be used in other situations because there is no way to differentiate them, the "animation_context" key will be used to provide context for animations that must be used only in a specific situation unlike any generic animation that could be used anywhere.

So, when creating animations for the beach events, you must use a context to tell the game that this animation must be used only in the beach, for example:
JSON:
{
    "animation_pack": "sana",
    "animation_name": "beach-doggystyle-01a",
    "animation_display_name": "(Beach) Vaginal Doggy Style 1",
    "animation_context": "context_beach",
    "animation_tags": [
        "doggy",
        "vaginal"
    ]
}
When the events in the beach happens, every sex scene created inside the beach location will be using the context "context_beach", so any animation that does not have the same context will be discarded.
The same thing happens the other way around, if an animation does not have context (generic animation) any animation that has one will be discarded.

Like I said, this will be used to filter out animations that does not make sense in certain situations.

Animation Frames
Animation frames are no longer automatically detected inside the "Frames" folder, you will need to specify the list of files and the order inside the animation's metadata file in the key "animation_frames", I have made this change for a few reasons:
  • Allow mods to change the order of frames
Mods will be able to change the order in which the frames are shown on the screen, so in the example above, if you want to show the frame "2.png" before "1.png" you can do so.
JSON:
{
    "animation_pack": "sana",
    "animation_name": "pov-doggystyle-01a",
    "animation_display_name": "(POV) Vaginal Doggy Style 1",
    "animation_tags": [
        "doggy",
        "vaginal"
    ],

    "animation_frames": [
        "./frames/2.png",
        "./frames/1.png"
    ],

}
  • Incompatibility with the mod system
If a mod modifies an animation to add a new sound or overlay (for example) and it does not carry over the list of frames, when the modified animation is created it will overwrite the original animation and the list of frames will be lost because the mod did not carry over the Frames folder, this increases the disk usage because you will have to copy the frames even though they do not change.
  • Possible incompatibility with linux-based systems
The original way of scanning the animation frames was reading the "Frames" directory folder and getting the list of frame files in alphabetical order, I believe this behavior may not happen in linux-based systems so I changed it to this way.

I will probably need to do the same thing for overlays.

Modding Support and Animation Registry
To support mods, the animation registry now reads the new database when a new game starts or a save file is loaded to create the registry including the base game animations and mods animations.

The registry joins the animation_pack and the animation_name values using the character ":" to determine the animation ID, so the animation ID would be something like: "sana:doggystyle_01" where "sana" is the animation pack and "doggystyle_01" the animation name.

This allows mods to overwrite the base game animations (and also other mods depending on the load order) in the registry, as long as the animations shares the same ID.

This is the database contents after a new game with a few mods loaded:

- sana
-- mod_element_sex_animation
--- ./Graphics/Sex Animations/Sana/test anim/animation_data.json => mod_element_sex_animation (./Graphics/Sex Animations/Sana/test anim/animation_data.json (sana))
--- ./Graphics/Sex Animations/Sana/test anim 2/animation_data.json => mod_element_sex_animation (./Graphics/Sex Animations/Sana/test anim 2/animation_data.json (sana))
--- ./Graphics/Sex Animations/Sana/test anim 3/animation_data.json => mod_element_sex_animation (./Graphics/Sex Animations/Sana/test anim 3/animation_data.json (sana))

- john_doe_animation_pack
-- mod_element_sex_animation
--- Mods/animation_pack/Graphics/Sex Animations/john_doe/test animation instance/animation_data.json => mod_element_sex_animation (Mods/animation_pack/Graphics/Sex Animations/john_doe/test animation instance/animation_data.json (john_doe_animation_pack))

As you can see, the mod "john_doe_animation_pack" added a new animation to the game (Graphics/Sex Animations/john_doe/test animation instance), the animation registry will include this animation and it will be ready to be requested by the sex framework.


That's all for now! See y'all in the next devlog.
 
5.00 star(s) 3 Votes