You must be 18+ to visit this website
The content on this website is AGE RESTRICTED
Please confirm you are at least 18 years old of age. Otherwise leave the website.
michaelpstanich profile
michaelpstanich
18+
michaelpstanich
I work in various mediums and will be releasing content ranging from safe for work to R18+ content including Art, Video Game Mods, Video Games and Dev builds, Technical Articles, Game/Tech related videos, AI Work, and whatever else I fancy and Subscribers request!
Subscribe
Message

Subscription Tiers

FREE
Follower

Join for free to receive email notifications about new posts submitted to paid tiers

152 subscribers SubscribeStar $0.00 tier
Unlock
$5
USD monthly
Demi-God

Join and get full access to supporter content and the exclusive supporter role "Demi-God" on our discord!

21 subscribers SubscribeStar $5.00 tier ; Demi-God
Unlock
michaelpstanich
This is a post-to-be-pinned to act as a links post, so you can find stuffs easier!

(Everything is linked in the Discord, so that's the first place to check! ^-^)
Discord - The Broken Chatbox - https://discord.gg/h3vB7S4FEw

Official Website (Posts also appear here!) - https://www.michaelpstanich.com/
Public Release Folders :
Public Mods Folder
R18+ Public Mods Folder
AI Related Folder

Media Links
YouTube - https://www.youtube.com/user/michaelpstanich
Pixiv - https://www.pixiv.net/en/users/54955969
DeviantArt - https://www.deviantart.com/michaelstanich
HuggingFace - https://huggingface.co/michaelpstanich

Features

  • Subscribers will help us create awesome content! (We're always up for suggestions too!)
  • Subscribers will get early access to content such as Dev builds and articles!
  • Subscribers will get QOL packages and exclusive content like behind the scenes content, image packs, and future previews!
michaelpstanich
Public post

[New Mod] Palicious v0.1 DEV Available! [Palworld Mod]

THE GAMEPLAY MOD HAS ARRIVED! (The start of it anyways...)

Back when I announed Project Sour Cake I introduced a list of things I was going to try and create for the framework, and one of those concepts was a "Lust Module". Well, it turns out a lot of ideas didn't really fit within the framework itself and they were set aside for a gameplay module. So, the "Lust Module" eventually turned into Palicious! This is a re-build of the gameplay modules I was working on but into a single, monolithic mod with a modular design! The idea here is for Palicious to cover a wider range of gameplay style integrations for SCake, including EXP gains, combat submission, lustful encounters, and more coming down the line!
(NOTE : Palicious requires SCake 0.6+!)

- Palicious -
- Changelog -
Palicious - DEV v0.1

Added :
  • UniPalUI menu added for configuring settings (Currently Placeholder)
  • Characters in a small radius around an Erotic Animation Event will gain a small bit of experience periodically
  • When a climax happens in an Erotic Animation Event, characters in a small radius of the animation will get some experience based on how much Sex Heat was dissipated
    • Sex Heat amounts are grabbed when the animation starts, Sex Heat built up during the animation doesn't apply
  • Additional delay added to initialization to prevent a strange base-game bug
  • Settings now save/load in/from a config JSON file
    • Behaves similarly to SCake's persist file, tries to save into ~mods/SaveJSON, then fallsback into ~mods
  • Combat Submission System implemented, when attacked there's a change characters will start an aggressive animation (Disabled by default)
    • Player added to Combat Submission system
    • Added player "Stability" to Combat Submission System
      • Stability decreases when taking damage from another character, the decrease is based on the damage taken and whether it was a heavy hit or not
      • While 0 or below the player is considered 'vulnerable' and will submit when attacked (if valid)
      • The amount and how quickly Stability recovers is based on how much Stamina the player has
      • When submitting, Stability resets to 50% of max value
  • "Radiant Erotic EXP" Menu Added, used to configure the passive/exp from erotic animations features
    • "Emit Passive EroAnim EXP" added. Enables/Disables the emission of EXP during Erotic Animations
    • "Passive EXP Rate" added, determines how often passive EXP from erotic animations emits
    • "Passive EXP Amount" added, determines how much EXP is emitted passively from Erotic Animations
    • "Passive EXP Radius" added, determines how far from the animation character's should get EXP
    • "Emit Climax EXP" added, Enables/Disables the emission of EXP from Climaxes in Animations
    • "Climax EXP Heat Ratio" added, determines the percentage of dissipated Sex Heat converts to EXP to emit
    • "Climax EXP Radius" added, determines how far to grant EXP to characters from the Animation Root
  • "Combat Submission" Menu Added, used to configure the combat submission system
    • "Player Submission Enabled" added, whether the player can submit in combat submission
    • "Max Aggressors" added, how many 'attackers' to try and include in the submit animation
    • "Find Aggressor Anims" added, limits submit animations to those with the appropriate characters set as aggressors
    • "Player Stability Recovery Rate" added, determines how quickly player Stability recovers
    • "Damage Ratio To Stability" added, determines the percentage of approximate damage received is dealt to Stability
    • "Min Player Submit Chance" added, determines the smallest percent chance the player will submit to an attacker at 0% Stability
    • "Max Player Submit Chance" added, determines the largest percent chance the player will submit to an attacker at -100% Stability
    • "Pal/NPC To Pal/NPC Sub Enabled" added, determines if Pals/NPCs can submit to other Pals/NPCs
    • "Pal/NPC To Player Sub Enabled" added, determines if Pals/NPCs can submit to the Player
    • "Pal/NPC Health Threshold" added, determines at what health percentage and below Pals/NPCs will have a chance to submit to attackers
    • "Min Pal/NPC Submit Chance" added, determines the chance of Pals/NPCs to submit at the Health Threshold
    • "Min Pal/NPC Submit Chance" added, determines the chance of Pals/NPCs to submit at 0% health
  • Invitation system added, allows characters to 'invite' participants for erotic animations under certain conditions
  • "Lustful Engagements" Menu added for the Lustful Engagements settings
    • "Solo Player Sends Invitation" added, while enabled and the player is in a solo erotic animation they will invite other nearby characters to join them
    • "Invitation Interval" added, determines how often invitations scan for participants
    • "Max Invited Participants" added, determines how many characters to invite at once and try to start an animation with
  • Implemented an improved version number display, converting the int-based value into a readable semantic version

What's Next?
Initially Palicious was just going to directly replace Wompy Womp in its initial version, however there were a lot of requests for a combat submit style mods and it was decided I'd focus on that the most this initial update. So that means the next step is to add in more lusting mechanics to start autonomous erotic animations, then work on adding sex effects (like increasing sanity from a good time ^.-), then finally working on the pregnancy system.
I don't really have a timeline for pregnancy, however the other things I've already investigated and had implementations in test builds for gameplay modules I had in development before SCake 0.6 DEV, so they shouldn't take too long if I get time to work on them!

Current Road Map
  • Expand the lust system (implement replacements for Wompy Womp)
  • Add Sex Effects
  • Create pregnancy system
  • ???
Comments  loading...
Like(1)
Sign Up or Log In to comment on this post
michaelpstanich
Public post

Sugar Cake Animation Framework v0.6 DEV Available!

(Complete Rebuild? =O.O=)


Website Post : https://michaelpstanich.com/?mode=blog&view=2025-04-20_SugarCakeAnimationFrameworkv0.6DEVReleasedPalworldModCompleteRebuildO.O

EDIT 2024-04-20 [7:30 PST] : Grand apologies! Immediately after I posted the new version, peoples found issues in it! After a ton of debugging and testing since that posting (Thank you @Lurker115 and @Vinyl on Discord for helping me find the issues here!) I was able to fix a couple of issues found in the release! I'm going to take a break for a bit then continue packaging the other updates I have, feeling a bit exhausted from the bug hunting and I still need breakfast >.< lol
(Changelog for the changes added to the below changelog)
END EDIT

I've completely re-built SCake from the ground up... and it's amazing.
If you've been in the Discord then you've seen me mention all my struggles and work-in-progress features for SCake, but you'd also have seen my many struggles and failed ideas to try and implement some new features and get things stable. So, after a couple months of SCake's test versions crashing and constantly having to mess with issues I decided to completely rebuild SCake from the ground up!

So... This update is MASSIVE and sets us on the road to 1.0! Not only does this include the 0.5.1 DEV update that never publically released (because it wasn't stable) but also a complete rebuild of the entire mod from the ground up! I'll cover more about the rebuild process lower in the blog post, but overall I was able to take advantage of hindesight from the last year of development and enhance every aspect of SCake with optimizations, new features, and make everything much more modular and easier to maintain! The amount of changes are too expansive to cover in a short blurb, but here's some key features! A new and much more flexible JSON format, furniture animation support (called Object Target animations), expanded menu with a large array of options, a new Arousal stats system, new Sex Equip Tags system, new Interact playback mode, and so much more! Additionally I've started releasing versions of Palicious, a NSFW gameplay module, for this new version! Additionally, the new backend allows me to split off the framework and release a Safe-For-Work version! (not cumming soon, but available soon!)

Download Links!
GDrive Folder : https://drive.google.com/drive/folders/1vYfgMom7UJs2OmJ5B4FGQTMYEOR0n9Vr?usp=drive_link
Mega Folder : https://mega.nz/folder/9hZQ2IIR#Ou77tq4qQxw9UBQsozh6zg
LoversLab Page : https://www.loverslab.com/files/file/33158-project-sugar-cake-scake-animation-and-stat-framework/
Website Page : https://www.michaelpstanich.com/?mode=modhack&view=2024-02-19_Palworld_ProjectSugarCake

- Sugar Cake Animation Framework -
- Changelog -

Sugar Cake Animation Framework - Version 0.6.1 DEV

Fixed :
  • Tags should now set properly when Start/EndStage are used by an animation
  • Start/EndStage should no longer cause the duration of stages to bug out if they are set to looping
  • Potentially fixed issue with the ArousalMorph exceeding the max value
  • Fixed an issue with non-looping animations where if multiple actors were present, under certain conditions the animation would progress multiple stages
  • Fixed DurationWeight working backwards
  • Non-looping climax animations should now have a proper duration set, allowing them to play normally
  • Fixed ClimaxVar failing to play in nearly all cases, also fixed climax var for Start/EndStage not setting up their cache properly for playback, causing playback errors
  • This was a hyper complicated bug which caused undefined behavior across the board, it was caused by my caching method for optimization not caching the ClimaxVars correctly, however since it messed up the cache it was also messing up normal stages as well
  • Climax animations should now save in the adjust profile properly

Sugar Cake Animation Framework - Version 0.6 DEV

Notes :
  • This version is a complete re-build of SCake from the ground up! The entire backend has been completely changed to be more efficient, more modular, and easier to update/maintain while setting us up for a path to 1.0!
  • Packaging for the Animation Framework changed, delete the old ProjectSugarCake.pak file or else things will conflict and potentially cause errors!
  • Modules for previous versions of SCake will need to be re-compiled for the new SDK as the backend has changed, old modules will no longer work
  • With this version, the JSON format has been re-worked and changed! For animations to register, animation packs will need their config files updated! (New templates provided with SCake)
  • Setting/Adjust json saves changed into Profiles and changed format slightly, old saves won't work on the new version. Save for character saves which will reset when updating. (You can safely delete the old persist files)
  • With modders now trying to experiment with adding new pals, for compatibility's sake SCake no longer assumes variants are the same and must be defined manually in the JSON config if they are expected to be compatible

Additions :
  • The version pop-up now shows which release branch it was built under
  • New packaging scheme for the framework, divided into 3 versions, SFW (Angel Cake) / R18 Human (Pound Cake) / R18 All (Sugar Cake), allowing a SFW version of the framework
  • Core mod is now called "AC_AnimFramework", the R18 additions are "AC_PoundCakeExtension" and "AC_SugarCakeExtension"
  • If you have the SugarCake extension, you do not want the PoundCake extension (SCake should overwrite PCake anyways, but generally don't install both just in-case)
  • Pound Cake is more of an experiment to play around NexusMod's rules, got the ok for a human only version but I suspect interest will be low
  • The Register is now aware of what JSON file data comes from, this data is stored and reported in register errors
  • "ACakeVersion", "PackName", and "PackAuthor" has been added to the top of the JSON template/format (outside animation definitions) and is recognized by the Register, Register uses PackAuthor to replace any "Author" entries without an entry (a shortcut, basically)
  • Additional checks for "IsErotic" added to Parser/Register, when SEquipReq, FaceExpressClimax, or IsClimax parameters are valid, IsErotic is automatically set to true (Helps detection to prevent R18+ anims playing on SFW version)
  • Parser/Register now scans Erotic content when not using Sugar Cake extension, removing what shouldn't be valid in the other cake versions
  • New "TargetDuration" override option added to the StartAnimEvent API functions
  • This value overwrites the max playback duration instead of using auto-play or player setting values
  • New "Interaction" style animation playback, this mode does not progress automatically and instead requires external scripts to progress the animation. (Used for interact animations like using an item or interacting with furniture)
  • A lot more information added into ErrorOutput, now includes appended output for multi-step processes to better detail issues
  • This was done during the re-write and errors should be much more descriptive overall, but not all systems were able to have recursive errors
  • API Function "SCake_GetSexEquip" added which grabs the SEquipTags for the specified character
  • New "StartStage" to Animation Events, this stage will always try to play first, acting as an introduction stage (Recommended to do a non-looping animation here)
  • New "EndStage" to Animation Events, this stage will always try to play last, for Erotic animations this stage will act as the post-climax stage if present
  • "IsClimax" flag added to AnimSlot definitions to designate it as a climax
  • No functionality on its own other than flagging the animation for customizing events
  • ACake now recognizes Montage Notifies through a new character anim tracker
  • Actual functionality not yet implemented, however this could be used to play soft-coded sounds, effects, change expressions, or event change character status during animation playback in the future
  • API Dispatcher "ACake_ED_AnimSwitch" which triggers any time an event switches animations
  • Also triggers the first time an event starts playing an animation, however "ACake_ED_AnimStart" is better for this purpose
  • Register now sends a report message if it found no animations before despawning (useful for error reporting)
  • Characters now go back to their original positions before an animation started playing (Prevents various positional bugs and exploits using SCake's ability to move characters)
  • "ACake_AnimPlayer_ED_AnimStart/AnimEnd/AnimSwitch/AnimEventSwitch" and "SCake_AnimPlayer_ED_EventClimax" to the AnimEventPlayer which are the same as the global versions but attached directly to the animation player so they only report when that specific events triggers them
  • Adjusting all stages of an animation event is now an option in the adjust menu, now defaults to disabled
  • While enabled, all stages of an animation will adjust by the same amount
  • Starting Arousal is randomized just like SexHeat and Sexual Pleasure (Between 0 - 100)
  • "ACake_GetAnimEventByID" API Function added which gets the AnimEventObj by its UniqueID
  • "ACake_SetEventEnabledState" API Function added which sets an AnimEvent as Enabled/Disabled
  • While Debug inputs enabled, animation progression can now be disabled in the anim adjustment menu
  • Debug inputs for getting targets now reports if the target is already added (instead of saying nothing)
  • Framework now attempts to disable AI functions and clear certain flags for participants in animations to prevent various game and animation bugs
  • This change is still mostly experimental, let me know if it causes any issues!
  • Framework now attempts to remove characters from combat when they enter an animation
  • Similar to AI function changes, I have no idea if this will have negative side-effects
  • NPCs will now hide their weapon during animations
  • Tried this same method on player, however there's some animation blending issues which the NPCs don't have that need to be solved first
  • Masturbation count is now tracked
  • When entering a solo erotic animation, this count increases by 1
  • API Dispatcher "SCake_ED_CharTrackEnabled/Disabled" now also returns the CharStatus object that was enabled/disabled
  • Additionally updated to both call after the enable/disable script
  • Arousal now generates in AnimEvents (Replaces SexHeat increasing in AnimEvents)
  • Framework now stores what SEquip tags are registered in general for use in menus
  • New "Force Player Sex Equip Tags" menu to Preferences menu which allows you to select specific tags to force-enable for player compatibility checking
  • This is a new method to overwriting the player's in-game gender and allow any SEquip from being added from registered SEquip tags
  • Settings now save in a global profile instead of being per-world
  • Added a ton of settings to the Settings Save JSON
  • New overhauled adjustments backend with new identifiers, now accounts for CharacterID/BPClass and Scale to make more accurate adjustment profiles and allow different sizes/variants to have their own profile
  • Adjust saves are now global and no longer tied to world (However there is a split save between ACake and SCake saves)
  • Debug functions for adding SexHeat now shows a notification for each increase and shows the new SexHeat amount
  • "CharStatus_ED_Climax" Dispatcher added to CharStatus object for tracking when a specific character climaxes
  • "CharStatus_ED_Aroused" Dispatcher added to CharStatus object for tracking when a specific character becomes aroused
  • "ObjectTarget" added to StartAnim and FindPotentialAnimEvents functions (as well as the compatibility checker)
  • This is specifically to start/find furniture animations, will require the AnimEvent to have the specified actor's ID in its compatibility for it to be considered playable
  • "ObjectTarget"/Furniture animation support added to the Animation Player
  • In the JSON config, animations can specify an ObjectID to match with in-game actor classes along with the required offsets
  • ObjectTarget's origin point plus the provided offsets become the new AnimationRoot location
  • Debug controls now allow targeting objects, anything hit that is not detected as a character will be registered as an Object Target
  • Note this makes targeting things a bit trickier as object targets could be accidentally set relatively easily under certain circumstances
  • Clearing targets will also clear the object target
  • Blocked Tags can now be accessed in the Preference Settings menu, blocked tags will automatically add to excluded tags when modules search for compatible animations but won't prevent forced animations from modules
  • Blocked Characters can now be accessed in the Preference Settings menu, blocked characters will be considered incompatible for all erotic animations except forced animations from modules
  • New Erotic Status Settings menu, this now holds settings related to SCake Status and many options were moved into this menu
  • "Force Character Rescale" option to System Settings menu, this setting will try and rescale characters during animations to the set size in animations for improved alignment and keep intended sizes
  • Not all animations will define a size, in cases where no size is set this option will try and use scale limits to try and resize accordingly, if no scale limits are set then this setting is ignored
  • "Free Cam Speed" option to System Settings menu, this determines how quickly the Free Cam moves while controlling an Animation Event
  • "Register Max Process Count" option to System Settings menu, this determines how many processes the Register can run per-frame
  • "Hide UI in Animations" option to System Settings menu, this toggles whether to hide the in-game UI during animations or not
  • "Arousal For Aroused" option to Status Settings menu, this sets how high a character's Arousal must be to be considered Aroused and trigger aroused effects
  • "Climax Loop Duration" option to System Settings menu, this determines how long a looping climax animation should play for before stopping, does not affect non-looping climax animations
  • "Arousal Gain in EroAnims" option to Status Settings menu, determines how much Arousal is gained passively during Animation Events
  • "Heat to Min Arousal Rate" option to Status Settings menu, sets what percentage of Sex Heat is used as the minimum Arousal a character will always have
  • "Pleasure For Climax" option to Status Settings menu, sets what Sexual Pleasure to reach to attempt to trigger a climax
  • "Post Climax Loop Duration" option to System Settings menu, sets how long Post Climax Animations will play before ending the Animation Event if the animation is looping
  • "Status Update Tick Rate" option to the System Settings menu, sets how often SCake Character Status updates
  • "Tracker Scan Rate" option to the System Settings menu, sets how often SCake's tracker will manually scan for new characters
  • Validity check now checks if character is 'active' through internal game check to prevent non-active actors from being pulled into animations
  • New Debug Menu added and moved Debug Input toggle here, this menu will show debug options and information
  • Info about Debug Targets now show in the Debug Menu, giving information to help with understanding Compatibility and Status
  • "Erotic Debug Anims" added to Debug Menu, determines if animations started with Debug Input should be Erotic or not
  • "Reset to Defaults" and "Include Defaults" added to the Human Gender Defaults menu, Reset will reset the genders to SCake's default configuration while Includes will add SCake's female definitions to your own changes
  • Added new exponential Arousal decay system
  • Arousal will decay after a short delay and decrease faster the longer Arousal is above minimum
  • Whenever Arousal either increases or reaches minimum, the arousal decay speed will reset
  • "Arousal Decay Delay" added to Status Settings, determines the delay before Arousal starts decaying
  • "Arousal Decay Rate" added to Status Settings, determines how quickly Arousal will start to decay at, increasing over time
  • Implemented an improved version number display, converting the int-based value into a readable semantic version

Changes :
  • Changed how CharacterIDs are grabbed, SCake no longer removes suffix's and many prefixes or assumes they are equals
  • As custom pals could be added to the game with conflicting assets but similar names, we can't assume they are now compatible
  • JSON configs will need to include variants CharacterIDs if they are compatible, such as PalName_Cryst
  • A large number of API names and descriptions, too many to list (check updated SDK for more details)
  • Wording in many aspects have been changed, too many to list
  • 'Pal' was often changed to 'char', versions should show the appropriate names, removed direct references to Pals where it didn't line up with base-game assets
  • Register no longer stores invalid entries, no longer necessary since the Parser and Register were merged
  • Minor speed-up but makes pulling invalid data for debugging more difficult, don't think anyone used this however
  • Separated SexHeat and Arousal into their own variables
  • SexHeat now determines how 'effective' arousal is and its minimum value/generation rate
  • Arousal is a new gameplay focused variable
  • Simplified gender block settings to work off 'assumed' gender from SEquips, no longer checks penetration
  • Characters having both vagina and penis count as male, characters with neither are assumed female, for simplicity's sake
  • Tags should be used for more advanced blocking going forward
  • Non-Erotic animations can now always be ended from the adjustments menu (Does not apply to interact animations)
  • Revised info shown in Event Description when viewing them in the menu, adding some info and removing some info
  • Invulnerability during animations setting now only applies to Erotic Animation Events
  • Allows more gameplay oriented Non-Erotic animations to be used with better flexibility (modules can toggle their own invulnerability), also prevents exploitative uses of mods in unintended ways
  • SexHeat will now only ever increase but reset to 0 after a Climax
  • SexHeat randomization changed from 0-100 to 0-200
  • This technically increases the chance of running into hornier characters, will probably make this configurable in the future
  • Arousal based-Morphs are now based on the new Arousal stat instead of SexHeat
  • Disabled Events are now treated slightly differently, when disabled they will fail when searching for potential animations but scripts can still pull the AnimEvent by ID and force it to play
  • This is so mods which add events for interactions can still play the animation without the user having it show up randomly, a 'system' flag will be added later to better support this
  • Free cam starts higher off the ground, position/height now based on the first character passed to start the animation (was just going off Slot 0)
  • Human/NPC display name method changed, should return a readable name more often
  • This probably needs testing, I don't know what names it failed to grab but if anything returns stuff like "NPC_Whatevers" with underscores in it, it's probably a failed name grab
  • Player display name method changed, should now display names for all players rather than just the local player
  • Technically a multiplayer fix, but multiplayer still doesn't work correctly
  • CharStatus objects for non-persistent characters will now stick around for 60 seconds after disabling so you can still pull data from them for a bit (similar to AnimEventPlayer)
  • Persist checks now attempt to use the game's internal save map for IDs to check whether something should persist or not
  • Not sure how reliable my current method is as I've only partially reversed the game's saving system, will need research
  • SCake_GetAllTracked is now "SCake_GetAllCharStatus" and returns all SCake_CharStatus objects currently Enabled
  • Climax dispatchers now trigger after the climax effect has already applied
  • Class (BPClass) is now grabbed directly from the character's Actor reference, enabling compatibility with custom characters not spawned through the game's native systems and fixing issues with bugged out saves which cull CharacterIDs
  • Debug Input is now disabled by default (can be enabled in the Debug Menu)
  • Updated 'default' female NPC character list for initial configuration
  • This is no-doubt still missing some, I just added any that contained 'female' in the name

Removals :
  • "ACake_ED_AnimStart" and "ACake_ED_AnimEnd" no longer return the CharList directly, pull from the AnimEventPlayer Reference instead
  • "SCake_InterpretError" no longer exists, error outputs made into Strings directly
  • Originally this was here to simplify making errors consistent, but I found it somehow even more cumbersome to use and also make multi-mod development more jarring
  • "ReportRegFails" no longer in settings, instead register reports will now always show to help users report issues
  • Before, info was too obscured and confusing for some users to enable, this should allow more and better reports from users when issues do arise
  • Start AnimEvent API Functions no longer select a random animation if an invalid AnimEvent is passed
  • Prevents unexpected behavior if a module's selected animation ends up invalid
  • Explicitly setting and searching for ActType/Location removed from start anim functions
  • This was always confusing to both use and maintain, a better strategy moving forward is relying on tags and maybe manual checking by modules when getting events so it doesn't slow down compatibility checking
  • This also comes with a sizable performance improvement for the compatibility checker
  • "HasPostClimax" removed from JSON Format
  • Replaced by "EndStage", when this is defined it will act as the post climax animation
  • SexHeat no longer has the rise and lowering mechanic
  • With the introduction of Arousal as its own status, SexHeat is being simplified
  • Removed several API Functions and moved them into the SCake_CharStatus object, use "SCake_GetCharStatus" to get the object and pull stats instead, removed functions include SCake_AddSexHeat, SCake_CheckStat_Pleasure, SCake_Stat_AddPleasure, SCake_CheckStat_SexHeat, SCake_CheckStat_ArbString, SCake_Stat_ArbChangeString, SCake_GetSEquip
  • Removed API Function SCake_InterpretError as it's no longer needed
  • SexHeat no longer generates in AnimEvents (replaced with mechanic for Arousal)
  • Removed the Dynamic Gender spawning system and menu options (replaced by SEquip Tags handled by model replacers)
  • Removed Player Gender setting (replaced by new Force Sex Equip Tags menu)

Fixes :
Fixed characters trying to continue their work or pathing while still in an animation, causing them to glitch out under certain conditions
  • When the Name parameter is missing from the JSON config, it should now properly show the UniqueID as the name instead
  • This was initially implemented at the display level, but now sets the actual value for the animation so it should be consistent now
  • Note : This doesn't apply to stages since stages do not have a UniqueID
  • New backend and transfer/re-write allowed major optimizations and clean-up across the board
  • Uncertain how much impact this will have in practical terms, but should allow more headroom for advanced features
  • Compatibility Checker re-written with new backend, should have major performance improvements
  • "ACake_ED_AnimEventSwitch" now properly triggers when events switch rather than the Docs saying it would but actually triggering like "ACake_ED_AnimSwitch" does now
  • Technically also fixed "ACake_ED_AnimSwitch" not always showing when animations switch as well
  • Fixed a bug where the player is not recognized properly by the framework
  • Could happen if a game takes too long to load and initialization happens before the player exists
  • Framework now grabs the player from the base-game every time it's used to prevent this bug (instead of storing it)
  • Debug input's target message always ending with a ' , '( I was just lazy before, fixed it while transferring things over)
  • Erotic solo animations should no longer show 2 "End Animation" entries when debug input is enabled
  • Adjustments for anims should now properly store and persist
  • Was only storing a single adjustment and wasn't saving, fixed while re-writing to the new backend for them
  • Should now properly detect the 'black screen' before the title screen as not in-game, stopping the framework from running unnecessary functions (such as the Register)
  • Adjustments Increments should no longer go all the way to 0 (Stops at 0.1)
  • If a Human/NPC has a forced gender set on their character (such as through other mods or base-game alterations) then the framework should now detect it if the change was done correctly
  • Tracker was re-optimized, now invalidates IDs based on delta time rather than times checked
  • When the summoned pal is in an animation, should now prevent the player from switching/returning the pal
  • "TraceForChar" and debug controls should now be able to target summoned/party characters (Fixed trace issue for selection, hold functions unchanged)
  • Disabling Debug Input now clears Debug Targets so they don't get stuck in memory

SCake Version 0.5.1 DEV (Beta)

Notes :
  • This version changes some API call types, modules will need to be updated for the new SDK and recompiled or else they may cause a crash
  • This version has several backend changes and alters various parameters and how they're treated. Some sections of the JSON may need to be updated (Primarily PalSize has been removed, replaced by PalScale, new multi-definition configurations have been added, SEquipTags and ModelTags have replaced the old genders system, Slots must now align inside Animation Events)

Added :
  • Added new morph support, "ArousedSnap" which rests at 0.0 then snaps to 1.0 when aroused, back when no longer aroused
  • API Function "SCake_SetModelTags" which sets model tags to a palcomp through a given reference, used in compatiblity checking
  • API Function "SCake_AddModelTags" which adds model tags to a PalComp through a given reference, used in compatibility checking
  • API Function "SCake_RemoveModelTags" which removes model tags to a PalComp through a given reference, used in compatibility checking
  • API Function"SCake_ResetModelTags" which resets the given Model Tags to their default state before any external alterations, useful for resetting the SexEquip setting
  • PalComp variable "BaseGender" which stores the base-game gender after SCake's auto conversions
  • PalComp variable "SexEquipList" which shows which Sex Equips this character has (used for compatibility checking)
  • PalComp variable "SexEquipPreset" which shows what gender preset was used, only includes Male or Female, none if they are neither
  • PalComp variable "ModelTags" which stores the model tags currently assigned (used for compatibility checking)
  • PalCompe variable "ModelEquipTags" which stores the model equip tags currently assigned (used for compatibility checking)
  • Added New SexEquip System which uses default gender tags and model tags to determine what animations should be compatible and detect gender in a more dynamic way (Instead of set genders, multiple tags are applied for what type of equipment they may have, this also allows more dynamic equipment types such as 'DoublePenis' for characters with dual slongs, Altermatic will support these features in Altermatic 0.5.0 DEV)
  • API Function "SCake_SendNotif" sends a notification to UniPalUI through SCake (Replaces SCake_SendReportMessage previous functionality)
  • API Function "SCake_SendReportMessage" now sends the report message to the UE4SS console if pressent, changes functionality to being a debug and error reporting message report function
  • Overwrite functions into the JSON Format/Templates allowing come sets to have different parameters

Changed :
  • Completely overhauled how SCake's animation register and playback system works, now defines animations as individual character animations with "AnimSet"s for compatibility checking, Animation Events now handle all interactions between multiple characters, these changes allow much more flexibility and processes much faster
  • Compatibility is now more dynamically checked to make dynamic changes to animation data viable
  • SDK Objects SCake_AnimObj and SCake_EventObj completely reworked, added SCake_AnimSetObj, SCake_StageObj, and SCake_ClimaxVarObj
  • API Function "SCake_StartAnimEvent" IncludedTags, ExcludeTags, and Aggressors parameter is now a Set type
  • API Function "SCake_GetCompatEvents" IncludedTags, ExcludeTags, and Aggressors parameter is now a Set type
  • JSON Format/Templates completely reworked with new definitions, this new format aligns with SCake's new backend system for animations and should be easier to create/maintain
  • Simplified and made names consistent across entries and the internal names/API
  • RegisterAnim has been replaced by RegisterSlotAnim, no longer holds data for multiple actors but instead holds information for an animation 'slot' and contains all information related to that specific animation
  • RegisterEvent has been replaced by RegisterAnimEvent, moved all data related to multiple actors to this new register and made things much more flexible in the process
  • (Too many changes to list here, view the new templates for more information)
  • ActType and ActLocation are now Name parameters for more flexibility (Works more similarly to tags)
  • Merged the parser and register for animations, hopefully resulting in a speed up (certainly simplified code)
  • Flipped instances of "NonErotic" to "IsErotic", so this value must now be set to "True" to be considered Erotic, default is still false which makes things NonErotic by default

Removed :
  • SexEquip from persist file, now re-generates when initializing the character (changed to align with new SexEquip handler)
  • Old preset gender system, replaced completely with new tags system
  • PalSize in the JSON config is no longer valid, replaced with PalScale which is a much more accurate system.
  • ByMeshRef, which never functioned in the JSON, has been removed from the parser (This was actually parsed and stored before, but the Model Tags system should allow this type of functionality in a much better format)
  • Multiple Compatibility definitions within a JSON, replaced by the new multi-definitions system and ' OR ' parameter changes (Although this feature was painstakingly added in early on in designing SCake's compatibility system, it was not only unused but turned out to be unnecessary, check was added for backwards compatibility but future compatibility settings will be defined as a Set/Object rather than an Array of Sets/Objects, old definitions, if a JSON DID use multiple, only the first entry will be accounted for)
  • Animation asset loading is no longer validated in the register (already checks when trying to play anims which are not properly defined, just won't show errors when registering the animation for performance reasons)

Fixed :
  • Register should now properly remove itself when no new animations are found for a while (destroy node wasn't connected >.>)
  • Human Base Gender options should now switch properly (Input wasn't being handled properly)
  • Fixed "Block Male Penetration" causing animations to play on the incorrect pals (I refactored the code and it was fixed, so still not sure why it was happening)
  • Refactored and optimized animation compatibility checker and sorting code
  • Climax 'outside' and 'default' should now properly assign to their set actor slot (was always setting to slot 0, climax inside still worked as inteded however)
  • ClassBP not always being properly checked in the compatibility checker for Pals
  • Compatibility checker checking compatibility n^2 times when an EventID was specified but was invalid (Checked potential ordering multiple times in the chain, resulting in exponential check counts)

The Rebuild

I was honestly really hesitant to do a rebuild or yet more re-writes of SCake. I'm generally not afraid of re-doing things if I don't like how they turned out and am constantly revamping things for the better, however if you've paid any attention to these postings and followed SCake's changes then you know I've been constantly reworking things. It was at a point where I was asking myself, "Do I really want to re-write this compatibility checker for the 4th time?" when I finally said enough is enough, I needed to re-organize everything and make things much more modular and maintainable if I really want SCake to last. So, after struggling for a few months of trying to transition the old code-base to new features, I created a new mod folder and started from a blank project.
The process wasn't just from memory or anything, the actual process was be-building and re-factoring every aspect of the mod but I was a bit smarter about how I went about it. First I started sorting what funcitonality needed to be carried over, starting to tag various functions of the original Project Sugar Cake and then slowly, starting from the initiate function, stepped through function by function and making new versions of them within the new Sugar Cake Animation Framework. In some cases I was able to copy over the code and re-factor it, however in other cases I had to completely remake entire systems from scratch (like the new objects system for animations and the compatibility checker which got completely redone).
You may be asking, was it worth it? Why not just refactor the original code base? And, well that answer is a bit more complex. One of my goals here was to not only set up SCake for a path toward 1.0, but also to make the entire framework modular so that multiple versions could be released! The new build is now called the Assorted Cakes Animation Framework! Essentially, I needed to make a new backend that was modular enough I could split functionality across 3 different versions, Sugar Cake is now actually an extension for ACake! This wasn't something that was going well with the original code-base and why I struggled so much, too many things had to change and systems simply weren't designed for this kind of split, leading to content leaking across versions.

Assorted Cakes Animation Framework

So, what is this new Assorted Cakes non-sense? I've split up the framework into 4 distinct segments. First you have the AnimCore, this contains not only the base functionality of the Animation Framework but also includes the API for modules to interact with. Next we have the first cake, Angel Cake! Angel Cake is the SFW version of the framework which only plays animations with the new interact functionality of the re-build, this also acts as the base package, labeled AC_AnimFramework.pak. Then we have a Nexus-Safe version with the NSFW functionality enabled called Pound Cake! Pound Cake has erotic animations enabled but only for Human/NPC characters, and will be exclusive to Nexus, released as an extension labled AC_PoundCakeExtension.pak. Then finally we have the full and complete framework with all the framework's capabilities, Sugar Cake! If you have Sugar Cake you don't need Pound Cake, and will release as AC_SugarCakeExtension.pak!
Not only will this expand our audiance for the framework, but it will also enable much more advanced SFW animation mods! We've already seen creatives using SCake for SFW animations such as dances or interactions, and now with ACake we can create more diverse mods using these animaitons without bounding them to erotic content!
Note : Currently I don't know how much interest there is in the Pound Cake version of the framework as it seems everyone would just want the full Sugar Cake experience. I still need to do more research, but if there's too little demand for Pound Cake I may not bother releasing it.

Failed Multiplayer Testing

I suck at networking... >.>
But yeah, our attempts to get multiplayer working have failed so far. While I've still got some ideas to get a solid multiplayer experience for SCake, I had to step away from multiplayer support for a good bit there since it was soaking up a large amount of my time. Currently the issue is that Palworld has special optimizations for multiplayer that we'll need to exploit, it's not as simple as creating my own replication system and transfering data that way (which is what I had tried), but instead we need to figure out how their replication systems work and find a way to exploit the data transfer to get client to server communication working properly. Currently we can get Server to Client communication working just fine, so on that end we're golden and I may look into at least enabling this with stuff like Palicious coming up, but I still don't have a working concept for client to server communication. I am actively looking for help in this regard, if you're network savvy and have some ideas or would like to help, please contact me on Discord!

What's Next?

I'm terrible at staying on task (I talk about how I'm solving this in the next big update blog post) so these 'what's next' sections haven't been the most accurate, sorry about that! On my docket I have over 100 different entries for things to add, issues to fix, and optimizations to make. So I'm not 100% sure what I'll end up tackling next, but I would like to take a short break from SCake for a bit and slow down development so I can spend more time on other aspects. I know I would like to use the new Notifs system I set-up in 0.6 but didn't get time to finish, so there'll most likely be smaller updates with those new features coming up, but it may be a bit before another large update like this takes place. Not that it's a bad thing, I'd like to start filling some other gaps I've mentioned filling before, such as making certain types of animations we've not seen yet, making gameplay mods in the form of the upcoming Palicious gameplay module, and even start doing some replacer work. Doing so will slow down SCake development, but will certainly make SCake stronger!

Current Road Map

  • Fill in the Notifs system
  • Work on dynamic equips system
  • Work on Palicious Lust gameplay module
  • ???
Comments  loading...
Like(0)
Sign Up or Log In to comment on this post
michaelpstanich
Public post

[Game Prototype!] [Project] Idle Fox RPG Now Playable!

Ok, "Playable!" may be a bit of an overstatement given this is just a prototype to test out the backend I've built over the last week and to set-up a release workflow. But still, I'm super excited! Currently I handle game projects as more of a background kind of thing and don't say a whole lot about them before they're ready, simply had to many projects fall apart and not go anywhere, but I'm trying something new with this one! (Also worth mentioning, the title is very much a WIP title and just a placeholder! We'll have a fancy name soon enough! ^-^)

Some quick things to mention about the current build, I wanted to just develop something over a week and see how much I could get done and set myself a (relatively) strict release timeline to get whatever I had done out by the end of said week. Technically I took a day longer than planned because I had some save-system issues and got too tired to release yesterday, but 1 day off isn't bad! This version is a very simple front-end and gameplay loop to test the backend systems that will power the actual game, but this does not represent the gameplay of future versions (I already have stuff in the works that will change things rather drastically ^-^). So consider this a test prototype purely designed for testing! (In-fact, a community member in the Discord, alphabetsoupdog123, already helped me find a logic error which I fixed earlier today! Thank you, alpha!~)
Although there are executable versions available for testing (I specifically need people to test on Linux just to make sure the export is working on different repos), I recommend checking out the web-version over on my site for easy and quick testing! (Future supporter-only versions won't release on web, sorry! >.<)

WebGame Version : https://michaelpstanich.com/webgame/idlefoxrpg/
(Changelog will not be available for this version)
Basically I implemented various back-end systems which probably are not worth documenting in a front-end sense, and since the gameplay of the proto-type doesn't match what will be the 'actual' gameplay it felt a bit unnecessary. X.x

Ok, so, what's the deal?

I felt I should introduce this game with a bit of an explainer, especially considering I've been already working on another project (Data:EnCryptic). There's a really common issue among creatives like myself where we tend to get really ambitious visions and projects tend to scope out of control rather easily. This is something I've been really working on over the last year and it was my goal for 2024 to release a game in some form or another. But there's a snag, I typically don't like releasing things that are unpolished or have issues, it's been a major struggle for me personally to release dev-builds for projects as frequently as I have, but honestly it's been a very positive experience overall I think and has been inspiring for many of our community members! So, I wanted a game project I could try this with while also having a bit of a simpler, non-scoped to hell and back, concept to help test-bed ideas and create assets that can then also be used in other projects.. hopefully. (if they don't suck too much X.x)
So ultimately, I decided a bit off-the cuff I was going to start a project and just release whatever I had after a week of development, see how much I could get done from scratch and for myself to break my habit of 'just one more thing!' That does mean this initial release is VERY underwhelming and I don't think it'll be of any interest to many, nor will the next few releases honestly, but there's the origins and why this is kind of out of no-where!

The Game Concept

Idle Fox RPG (WIP placeholder name) is an incremental RPG inspired by character-focused RPGs with diverse ways to level up and acquire skills, along with inspiration from other incremental titles. (Although many equate idle and incremental as the same game genre, Idle Fox RPG will have a more active play style and be much quicker in progression when actively played, but offer some AFK style options in the form of the auto-choice tree mechanic!) In Idle Fox RPG you play as a demon-born fox lady who's been freed from the void by a mysterious fairy with an attitude. After freed, this confused fox lady is able to explore the world and make decisions as she sees fit, she can go out hunting materials for new fancy outfits and gear, fight off the local bandits to raise some reputation, take in quests from tavern go-ers for some coin to buy more pillows, or just sleep the rest of this realm's short existence in the comfort of her new den! The choice is hers yours! Every activity is a skill, every action working toward your strength, every item holds value, and every choice determines your path!

Graphics

Since the current version in this posting is fairly simple and lacks any graphics, just a basic interface for testing values and systems, I thought it would be important to outline exactly what my goal here is. The goal is for Idle Fox RPG to be a fully 3D game with 3D character models and 3D environments, but with a bit of a confined scope. One of the main concepts behind Idle Fox RPG is cosmetics which will integrate with various systems and act as one of the driving factors for players (hopefully, anyways >.<). I'm most likely going to use a cell-shader and painterly textures as this is suppose to be a chance to build assets for Data:EnCryptic as well, locations will be small island like locations with simple randomized geometry with a few key locations having much more to it. The UI will most likely follow Data:EnCryptic's design language with simple but sharp UI elements (I know I haven't shown this off yet, it's not 'quite' ready), though I'll most likely aim for a brighter and lighter mood to the overall style. Animation wise I also want to try a more comical/whimsical approach than my previous works, so we'll see how that aspect goes!

Game Systems and Gameplay Loop

Exactly how things will link together isn't quite figured out completely yet, but there are various systems which I'd like to test and have already begun building and implementing into the game. The general gameplay loop has the player looking at their various objectives, both in-game and personal progression goals, then using in-game information to decide where to go and with what gear. Gearing up and selecting a class for the switching system is integral to the gameplay loop where before heading out the player can define different sets of equipment and class combos which will determine what they will have available for that journey. Once prepared, the player will choose on a hex map what region(s) to explore with each hex having different rates for certain activities such as combat with enemies, finding resources for harvesting, or treasure finding! While exploring the player will manage their inventory and can determine what actions the fox lady takes, optionally there's also the auto-choice system which acts like a command list of actions the fox lady will perform on her own through an if-then branching system. Actions run on an act and wait system, think turn-based but real-time by default.
The progression loop is a bit less defined at the moment as I'm still investigating what the best methods for handling different mechanics would be with this kind of gameplay loop. Ideally the player will have various choices in how they want to approach their goals, every activity the fox lady can take part in will have a level associated that will attribute to her base stats and improve her abilities in all other tasks, and every item will have some sort of base-value that can convert down to universal currencies. Currently, the plan is to have the player build up their skills through activities, build up resources to craft their own gear with gear having durability and a life-span. Since gear breaks eventually, the idea is to have upgrades to crafting be a central component where you slowly build-up minimum crafted qualities that make gear acquisition for your favorite sets easier. As the player progresses they'll unlock new cosmetics like outfits, tail/ear customization, apply-able colors, animations, along with your typical new gameplay locations. (how these unlock systems work is yet to be determined)
If you have any thoughts, ideas, suggestions, or are just curious on further discussion, we have a dedicated channel in our Discord that's well worth checking out!

What's Next?

If you try the version from this post you'll notice it's pretty bare-bones as just a very basic and default Godot user interface and some buttons! That's obviously not how the actual game will look, so the next step is getting some 3D models, implementing the proper stylized shaders, and then starting to implement the actual mechanics! Part of building the prototype was getting a lot of the back-end stuff set-up as well as planning the methods to accomplish it. I didn't quite get 'everything' I wanted done before this week was over, but with the systems I've built already, adding new systems should be a lot easier since the base-line types are in-place and what's already built could be extended pretty dang far. Building 3D assets, however, can be VERY time consuming, especially with how slow I am working in blender at the moment, but that's the next major step! Hopefully the next version upload looks completely different and resembles an actual game!
1 - Implement environment models and build transition systems.
2 - Introduce proper player model with clothing system.
3 - Build shader/visual system for the intended cel-shaded style.
4 - ???
Comments  loading...
Like(1)
Sign Up or Log In to comment on this post
michaelpstanich

(Also in Discord) Source for Wompy Womp - Random Sexy Edition v1

Comments
Like(0)
Dislike(0)
Posted for $5 tier
Unlock Tier
michaelpstanich
Public post

[New Mod!] Wompy Womp - Random Sexy Edition v1 Available! [Palworld Mod]

EDIT : Uploaded a v2 versions which just allows you to set 'Max Wompage Count' to 0 which disables random Wompage. Someone on LoversLab mentioned they couldn't do a boss fight properly because there was too much Wompage! This allows you to disable Wompy Womp before entering such a serious situation!

People have been asking for a gamplay mod for SCake constantly, and, well, here's one that's reasonably usable! Is it great? No. Does it exist? YES! Wompy Womp - Random Sexy Edition is a quick mod I put together more-or-less to prove a point and show you can make a usable gameplay module for SCake in a very short period of time, and here's the result!

Wompy Womp - Random Sexy Edition is a mod for Project Sugar Cake which periodically scans for characters and starts random erotic animation events with other characters nearby, making them Womp! The player is only considered for random events if they are above 200% Sex Heat, but if the player is in a solo animation then WompyWomp will scan for another character to add into the Wompage! There's a handful of other things, like there's a menu for customizing how often WompyWomp tries to start an event, how many events can run simultaneously, and how many attempts WompyWomp will make before waiting again. Matching is also done on a distance basis, first checking the closest character when matching so if you're doing a solo womp-session, make sure to be close to your favorite womper!~ =^.-=
Wompy Womp is an example mod and has Source available! You can either get it on Discord (for free) or in the restricted post on SubscribeStar for Subscribers! (I have an upcoming blog post covering why it's restricted within the next week)

This mod is the result of a conversation in our Discord, The Broken Chatbox!

A shout-out to Shenova for suggesting this when I had nothing better to do (apparently), also a thank you for testing it! If you'd like to join in discussions like this, see live dev updates, or just hang out, please don't forget to join The Broken Chatbox!~ (https://discord.gg/h3vB7S4FEw)
- Wompy Womp - Random Sexy Edition -
- Changelog -
v1Added :
  • Periodic (defaults to every 15 seconds) random scanning for matching random characters for animations, randomly chooses between 3 distance fields (Near/Mid/Far) and selects a random target in that distance to match with other characters nearby, matches are only considered valid if they are within a certain distance of each-other
  • Added a feature which adds the Player to the random scan if they are at 200% Sex Heat or higher (also adds summoned pal if they are at 200% sex heat, but I think they were already added in near scans anyways)
  • Added if the Player is in a solo animation then when a scan is performed it will try and match the player with another character nearby without doing any normal scans
  • Added all scans are done by distance first, so closest character is checked first then gets progressively farther as attempts fail or are considered invalid
  • A max animation handled count meaning only a certain number of random animations will be triggered at once (defaults to 1), more random animations won't trigger until these events have ended, player solo animation check is excluded from this value and will check regardless of how many animations are going
  • Added a simple menu to customize the frequency of random checks, the max number of random events going at once, and how many scan attempts are allowed per-check all with descriptions, does not persist between sessions and must be editted when loading into the game if desired

What's Next?

So this is a bit of an odd one, because this isn't really a long-term project or anything. Instead, Wompy Womp was just an off-the-cuff project that only took a few hours to put together and acts as an example of a simple gameplay mod for SCake. We've been struggling to get more people on the coding side of Palworld modding so the goal here is to show how quickly and easily you can get something up and running. It only took 15 minutes to post the first iteration, then I logged 4.5 hours on this project before having what we got here (sans some spelling corrections I just did last minute... I wish I could spell properly Q.Q). I'm also providing the source so other modders interested in making modules for SCake can see a simple example and use it as a reference or jumping off point for their own ideas. There are some complications with sharing source files with Unreal Engine I'll be covering in a future post so I won't go over it here, but I do need to be careful with where and how I share these source files so they won't be posted publicly and instead be restricted to Discord and a restricted SubscribeStar post for now until some concerns are addressed. (I am NOT trying to paywall the source, because of how unreal assets work it's just not safe to share the source as openly as other types of code projects unfortunately, however I will be using this method to distribute the code for all the modules I make and eventually SCake/Altermatic/UniPalUI as well)
Currently there are no plans to expand Wompy Womp - Random Sexy Edition, instead these features are going to be expanded upon and included inside the 'Palicious' gameplay module I've been working on.
Comments  loading...
Like(0)
Sign Up or Log In to comment on this post
View next posts (6 / 44)
WE USE COOKIES

SubscribeStar and its trusted third parties collect browsing information as specified in the Privacy Policy and use cookies or similar technologies for analysis and technical purposes and, with your consent, for functionality, experience, and measurement as specified in the Cookies Policy.

Your Privacy Choices

We understand and respect your privacy concerns. However, some cookies are strictly necessary for proper website's functionality and cannon be denied.

Optional cookies are configurable. Disabling some of those may make related features unavailable.

We do NOT sell any information obtained through cookies to third-party marketing services.