Ninjaman2

Member
Dec 4, 2018
399
681
To be honest sex battles are needlessly confusing. It isn't clear what is effective, and there are so many variables. I like the game for some of the story possibilities but the core mechanic feels like a chore and becomes very repetitive.
 

DeepInteractivity

Member
Game Developer
Mar 16, 2020
388
696
I don't know if this is some issue on my end only, but I can't save the game in the latest Free version download.
I get a LocalStorage quota exceeded Error when I try.
Very few players get this error, from time to time. For some reason, the memory their browsers are willing to allocate for the game is much smaller than it should be. I'll let you know if I find a solution.
 

DaClown

Member
Sep 12, 2020
172
275
This accurately models social competition and cooperation with relatively decent AI backing it up.

The traditional RPG stats model is hit-or-miss and in need of improved documentation and "balancing". The individual stats and actions are weakly coupled to the group actions and long term relationship model.

This should be a model to study, reproduce, and mutate in adult game designs for decades to come.

Overall, great proof of concept.
 
Last edited:

Kiriel

Newbie
Aug 30, 2017
16
11
Played this a while. Can't remember the names of the attack, but combat has become a chore for me since I just Ice Attack, Mount, Electric, Electric, Thrust. Stack them sensitive debuffs, keep her mounted and fuck until victory.

Would like to have more variety in combat beyond just spamming thrust.

Also, for some weird reason, the enemies keep stacking Cold Guts and don't bother attacking. Usually happens when the energy/willpower/social is low. Made finishing fights a pain because damage can't be dealt depending on build/circumstances.

Still, enjoyed the system. Looking forward to more content. Will certainly donate when I find employment.
 

DeepInteractivity

Member
Game Developer
Mar 16, 2020
388
696
Thanks for your comments! The AI is still a work in progress, and I'm reworking a few of its areas. Version 0.2.2 brought an important update to the combat AI and it now actively works towards pushing its enemies down, struggling out of unfavorable positions and securing kills, . Let's hope it's not too challenging now. This version will go free in a few weeks.

I'm not entirely sure about how to balance the understandability of the combat system without turning the UI into a spreadsheet, but something that would likely be welcomed would be showing the damage and evasion formulas in the action descriptions.
 

Atlas

Member
Aug 5, 2016
228
362
I really like the vision and story building of this game. I like the competition aspect of the different characters struggling against one another. Strong basics for a good corruption/transformation game.

I understand training to build skills and that you have to make a choice about what you train and what you neglect.

I don't understand the sex fight system. Is the loser the first to orgasm? If I am dominant wouldn't using my opponent sexually (cumming first) mean I am the winner? I had sex with the slime lady, and we both reached orgasm, and the fight kept going as I spammed buttons until it ended. I don't know why it ended.

I don't understand the social/conversation system. I get that if I make the right choice, something positive is supposed to happen, I don't understand what all the variables are or what the ancronyms and changes mean when I choose to talk about training, etc. I am assuming that like in dating games, if you choose the right topics, one can grind stats with a character and then fuck. In a different game, I would expect a setup like the following: the player can 3 conversations per day and depending on girls and topics the player gets stats in those areas and content is unlocked once a threshold is reached.

I suppose my comments can be summarized as follows: when I click a link to make a choice, I don't feel a strong connection to what follows because I don't understand the gameplay mechanics. This breaks immersion for me as the clicking feels like a chore, not a gameplay choice.
 
  • Like
Reactions: cvbn28c

DaClown

Member
Sep 12, 2020
172
275
Thanks for your comments! The AI is still a work in progress, and I'm reworking a few of its areas. Version 0.2.2 brought an important update to the combat AI and it now actively works towards pushing its enemies down, struggling out of unfavorable positions and securing kills, . Let's hope it's not too challenging now. This version will go free in a few weeks.

I'm not entirely sure about how to balance the understandability of the combat system without turning the UI into a spreadsheet, but something that would likely be welcomed would be showing the damage and evasion formulas in the action descriptions.
I peaked at the source code to figure out how I was supposed to be allocating and prioritizing stats.

If you had a 3 or 5 star rating icon next to the stats in the tool tips for the attacks it would help.

Like how Physique is 3x in Thrust calculations where as the other two stats are only 1x. All we really need to know is how the stats are relatively weighted against each other in the calculation for the action. Thrust uses 3 stats for the user; physique is by far the most important of the three and the other two are co-equal.

The stat to conversation to relationship changes mappings are quite a bit more opaque. I think that needs more conceptual UI work than the combat system at current especially given that the combat system itself doesn't directly contribute much to the establishment or alteration of character-character relationships.

One of the things that is unclear to me from using the interface without peaking at the source code is whether or not a higher resource cost for a conversation option corresponds to a higher effect. Without peaking, I have optimized around minimizing the cost and selecting the lowest cost option in any given turn.

I'm looking now at the conversational options, and I am seeing that two options that both cost 5 social drive can have wildly different mechanical requirements and consequences; the tool tip on the conversational options perhaps ought to have some more details about whether or not the option effects the actor, effects the target, effects observers, the combinations thereof, and what stats are relevant in it. Like I see that Charisma is the main stat for conversation, but I also see that things like Stroke (Face, ear) are influenced by Charisma and Agility. Kissing is influenced by agility, charisma, empathy, and will. Hand Holding is a shear act of will apparently.

Also, predicting the conversation hit-or-misses is somewhat obscure to me. It says "rejected (x vs y)" and it is not immediately clear from context what numbers or stats those are referring to.

I don't understand the sex fight system. Is the loser the first to orgasm? If I am dominant wouldn't using my opponent sexually (cumming first) mean I am the winner? I had sex with the slime lady, and we both reached orgasm, and the fight kept going as I spammed buttons until it ended. I don't know why it ended.
There are two systems that at a glance seem the same or similar. There's the sex system which is based on a time slice; it ends only when time runs out.

Sex sessions (discuss topic: either proposal on equal, submissive, or dominant terms) don't end when character resources run out or if characters orgasm. The sex session represent a time slice of the day, and the time slice is broken down into a number of turns (30), so you have that much time in which to score points basically. I haven't peaked at the source code yet, so I am not sure what the exact long term consequences of making characters orgasm repeatedly in the session; intuitively my sense is that it alters some aspect of character behavior, but it appears to be a weak effect mostly concerning threshold for acceptance/rejection of offers of sex.

The combat (challenges or assaults) goes until first to orgasm. This has immediate character relationship and merit consequences.

I don't understand the social/conversation system. I get that if I make the right choice, something positive is supposed to happen, I don't understand what all the variables are or what the ancronyms and changes mean when I choose to talk about training, etc. I am assuming that like in dating games, if you choose the right topics, one can grind stats with a character and then fuck. In a different game, I would expect a setup like the following: the player can 3 conversations per day and depending on girls and topics the player gets stats in those areas and content is unlocked once a threshold is reached.
The main effect conversations have is in altering the character's immediate state which makes them more or less likely to accept proposals such as for sex sessions or combat.

The long term effect is that conversation alters the relationship XP towards grades of the different relationships:
Your thoughts on Val:
Friendship - Lvl: 1>(1) | ST: 345.9 (17.3) | LT: 77.9 (3.5)
Sexual Tension - Lvl: 1>(1) | ST: 413.8 (20.7) | LT: 132.3 (4.1)
Romance - Lvl: 0>(0) | ST: 113.0 (5.7) | LT: 27.5 (1.1)
Domination - Lvl: 0>(0) | ST: 135.2 (6.8) | LT: 20.4 (1.4)
Submission - Lvl: 0>(0) | ST: 127.0 (6.4) | LT: 50.5 (1.3)
Rivalry - Lvl: 1>(1) | ST: 314.4 (15.7) | LT: 49.6 (3.1)
Enmity - Lvl: 2>(2) | ST: 514.1 (25.7) | LT: 97.4 (5.1)
Favor owed to Val: 0.00

Val's thoughts on you:
Friendship - Lvl: 1>(1) | ST: 348.9 (17.4) | LT: 79.1 (3.5)
Sexual Tension - Lvl: 2>(2) | ST: 458.8 (22.9) | LT: 142.1 (4.6)
Romance - Lvl: 0>(0) | ST: 145.6 (7.3) | LT: 31.5 (1.5)
Domination - Lvl: 0>(0) | ST: 122.4 (6.1) | LT: 49.7 (1.2)
Submission - Lvl: 0>(0) | ST: 180.3 (9.0) | LT: 26.9 (1.8)
Rivalry - Lvl: 1>(1) | ST: 260.1 (13.0) | LT: 45.7 (2.6)
Enmity - Lvl: 1>(1) | ST: 441.6 (22.1) | LT: 93.7 (4.4)
Favor owed to you: 0.00

I am unclear from context what ST and LT are supposed to stand for, but they clearly represent some kind of XP system with the parenthesis values representing what I think is daily changes; Short Term and Long Term changes I think?

I am not sure what the notation, 1>(1), means. The number before the > seems to be my permanent relationship grade with the character but I don't know exactly what the parenthesized number is supposed to be. Maybe the change in grade?

Character stats such as physique, agility, resilience, will, intelligence, perception, empathy, charisma, and luck are only weakly coupled to the outcomes for things like conversation proposals and challenges.

Character moods and relations are the main driver it seems for getting a conversation in the first place or getting people to follow you or getting people to accept challenges.

----------------------------------------------------
There are some significant flaws in the character grouping AI at current. Mir has basically become the super character and always wants everyone following her all the time. I don't get along with a number of the characters in the group, so she alternately asks me to follow and asks me to leave and appears to absolutely avoid conversation when grouped with me, so there's no apparent way to fix the dynamic of the group.

I admit that this behavior might only be apparent if a character's stats are so far beyond any individual that the character aggros literally every other character. I have just started peaking at how the AI is making decisions about how to group and such.

Looking through the AI code, it is clear to me that what is happening is that when I am in no group I have a high danger or threat value. This makes the group consisting of every other character want to have me as a follower. The moment that I join then the threat value drops to nil; this triggers the AI to call the low danger state and get rid of an extraneous character which ends up being me.

Could be resolved by allowing the player to set policies like auto-reject join requests or setup conditions in which such policies would be enacted like "everyone except me is on one team".

The group mechanics need something that resists the centralizing tendency so that the groups dynamically break up based on character relationships and interactions.
 
Last edited:

DeepInteractivity

Member
Game Developer
Mar 16, 2020
388
696
Great feedback! You'll see some of these points addressed in the following updates.

I suppose my comments can be summarized as follows: when I click a link to make a choice, I don't feel a strong connection to what follows because I don't understand the gameplay mechanics. This breaks immersion for me as the clicking feels like a chore, not a gameplay choice.
I was planning on providing more extense explanations of the game mechanics through library scrolls, but I've been pushing that for later because I wanted to polish some things first. However I will add a few provisional explanations in the Readme file until that time comes.

One of the things that is unclear to me from using the interface without peaking at the source code is whether or not a higher resource cost for a conversation option corresponds to a higher effect. Without peaking, I have optimized around minimizing the cost and selecting the lowest cost option in any given turn.
Keep in mind that time is also a resource in this game. Even if a higher cost action isn't as effective to provoke the mood you want, you're saving on time that you could use to train, later. If you found yourself in the situation that you and another character are trying to build dominance on each other (the AI doesn't plan that far ahead yet), choosing more cost-effective actions would give the lead to the other character, which is another aspect to consider.

I haven't peaked at the source code yet, so I am not sure what the exact long term consequences of making characters orgasm repeatedly in the session; intuitively my sense is that it alters some aspect of character behavior, but it appears to be a weak effect mostly concerning threshold for acceptance/rejection of offers of sex.
Generic sex scenes do not have consequences yet. In a future update, making another character reach orgasm, leaving them unsatisfied or provoking them to lose willpower will have consequences in your relationships with them.

I am unclear from context what ST and LT are supposed to stand for, but they clearly represent some kind of XP system with the parenthesis values representing what I think is daily changes; Short Term and Long Term changes I think?

I am not sure what the notation, 1>(1), means. The number before the > seems to be my permanent relationship grade with the character but I don't know exactly what the parenthesized number is supposed to be. Maybe the change in grade?
ST and LT are indeed Short Term and Long Term. Each day, a portion of ST values is lost and a portion of that loss is turned into LT. This means that your relationship with a character will deteriorate if you stop talking to them for a few weeks. On X>(Y), X representes the current level, while Y represents the level that aspect of the relationship is increasing or decreasing towards.

Character moods and relations are the main driver it seems for getting a conversation in the first place or getting people to follow you or getting people to accept challenges.
NPCs accepting or rejecting challenges depends on their perception of danger. If you have better stats on average and/or they have empty or half-empty bars (willpower, lust, etc.), they will consider the challenge to be more dangerous and will be more likely to reject. The stakes of the challenge also influence this. Their decisions on forming groups depends on favor, relations, special relations and their perceived general danger: if another character with high infamy has a group stronger than their they will be more likely to form and join groups to not to be as defenseless.

Looking through the AI code, it is clear to me that what is happening is that when I am in no group I have a high danger or threat value. This makes the group consisting of every other character want to have me as a follower. The moment that I join then the threat value drops to nil; this triggers the AI to call the low danger state and get rid of an extraneous character which ends up being me.
This is an oversight of mine with the algorythm. I have to make sure the NPCs check if kicking a character out of the group will get them at danger levels again.
 
  • Like
Reactions: DaClown

DaClown

Member
Sep 12, 2020
172
275
Keep in mind that time is also a resource in this game. Even if a higher cost action isn't as effective to provoke the mood you want, you're saving on time that you could use to train, later. If you found yourself in the situation that you and another character are trying to build dominance on each other (the AI doesn't plan that far ahead yet), choosing more cost-effective actions would give the lead to the other character, which is another aspect to consider.
I've spent the day reading the source code more carefully rather than just doing a blind play test.

There are four systems interacting. Three of them are semi-visible. The fourth is invisible but critical.

Characters for conversational scenes have Drive, Relationships, Mood, and Observer Status. You're basically constructing matrices that you compose together to quickly transform the state of the characters in each step of the simulation. Drive is implicit in the character AI but otherwise invisible. Observer Status is semi-visible in that when you use a social interaction that effects observers you'll see all the characters being effected by the interaction; the Observer Status can have effects on every non-target participant's Mood or Relationship to the actor. This means that some of the options are conversation Area of Effects (AOEs) for either Mood or Relationship or Both.

I've learned that from one character to another, Kiss (5 social drive), is incredibly powerful because it has a relationship multiplier that is relatively high and has equal contribution from four stats; it gives relation XP for Friendship, Sexual Tension, and Romance for the two participants in the action. Has high multipliers for Friendly, Intimate, Flirty, and Arousing mood. It has no impact on the relationship of the observers though.

"Talking about Feelings" is really powerful for advancing all participant's friendship and romance simultaneously.

There is an incredible depth to each possible response which is sorta accessible via the current representation but is not intuitive.

I only learned about character Drives by reading through the AI code; they're implied in the actual text of the game, but this is in a context of many other games where the narratives talk about character motivations, and all the characters are hardcoded on rail-roaded paths with no significant AI under the hood. So it wasn't till I was reading through the AI code that I realized that the explicit narrative about characters having goals, missions, and drives was actually substantial rather than the usual writer bluster.

At the moment, I think the Perception attribute is among the weakest and least utilized attributes. Luck might be lesser than it and Intelligence. Perception and Intelligence are largely defensive attributes; they contribute little to nothing directly to the social interactions and character relationship. I would like to see them linked to mechanics for examining and analyzing the other characters; a high perception character should be able to look at characters interacting and discern information about the relationship, drives, goals, and missions of those characters. Normally, I would think this is asking too much, but you've got a clear handle on the integration of the mechanics.

The Social Interaction System you've built has a lot of depth, but it is a bit like playing Magic the Gathering without being able to directly read the cards; you can definitely learn to play it by carefully observing and tracking the effects of using any given obscured card, but it requires memorizing the data or straightup datamining it into reference sheets.

My original comment was more about the fact that the UI presentation for the individual conversational options gives a false impression of the options being simple and largely interchangeable besides their differences of type (Friendly, Flirty, Intimate, Arousing, Submissive, Dominant, Bored, or Angry). The resource cost (resource here specifically referring to your Lust, Willpower, Energy, and Social Drives) has a loose and ad-hoc relationship to the actual mechanical effects on the social dynamics of the characters; other game designs would generally be setup in such a way that higher resource cost = higher effect among the same type of action, and bad game designs generally have arbitrary relations between costs and effects. Your design the costs are generally justified and somewhat proportional to the effect; I note that the costs are hardcoded parameters rather than something derived from some combination of the effects.

In a lot of ways, the social interaction options are way way more deep than the sex scene and combat scene options. At current, I would say that the social interaction options are programmed "with side-effects" (as a metaphor, ). I definitely don't think they should be simplified; I think the UI that you've developed for the popup tooltips for mood or the action description button you've developed in the sex and battle scenes would be applicable for the conversation scenes.

Doesn't need to tell me the exact numbers and effects. Again just a relative indication of effects compared to other comparable options. The tag icon system you have in place is a good prototype. An icon in a mouse-over tool tip for "effects Observers(mood||relationship)" and an icon for "effects Relationships" would go a long way towards clearing some of that up. Icons for "uses(Attribute(s)) for multiplier(mood||relationship)" would also go a long ways towards clarifying the differences between the conversational options and social interactions.

Thanks for listening to the feedback and responding. I look forward to your updates.
 
Last edited:
  • Like
Reactions: MrHandy and Atlas

DaClown

Member
Sep 12, 2020
172
275
I was planning on providing more extensive explanations of the game mechanics through library scrolls, but I've been pushing that for later because I wanted to polish some things first. However I will add a few provisional explanations in the Readme file until that time comes.
At the moment, I think the Perception attribute is among the weakest and least utilized attributes. Luck might be lesser than it and Intelligence. Perception and Intelligence are largely defensive attributes; they contribute little to nothing directly to the social interactions and character relationship. I would like to see them linked to mechanics for examining and analyzing the other characters; a high perception character should be able to look at characters interacting and discern information about the relationship, drives, goals, and missions of those characters. Normally, I would think this is asking too much, but you've got a clear handle on the integration of the mechanics.
I think that there being a scroll library in game for looking up the in depth information about characters, actions, and items would be really good, and I think that the relative visibility of information available should scale with character perception, intelligence, and empathy. So a character with "max" in those stats would be able to look up like the exact formula representation of the action whereas characters with lower than max in all three would see less information; this could be played with in interesting ways when combined with the bondage system you've started developing with locking body parts, so your perception could be set to 0 with respect to some actions like discerning the mood of the other character(s). Say if you were blindfolded for instance.

In my opinion, I think this should eventually extend to being able to peak at the character sheets of other characters in real time. By default, characters shouldn't have perfect knowledge of the status of the other characters at a glance. There is potentially interesting mechanics from being (un)able to read the minds/decision-making of other characters; the gossip mechanics are interesting for ascertaining the network of relationships between characters. The way you are doing your prototyping is pretty good; you start by building the perfect-knowledge/simplest/proof-of-concepts model then you implement conditions to filter on top of that.

In a very general sense, perception is a family of actions.

I think as a proof-of-concept for your library of scrolls wiki of the game mechanics that you could setup a small and simple function for generating a scroll from each of the social interactions and sex/combat scene interactions. You'd have to do that anyway to make popups/tooltips, and you've basically got all the infrastructure for it already done. There's a bit where you have functions for writing scripts for the character creation system that can be used as a reference model.

If you're familiar with the API documentation generation systems of Java, Python, or similar languages then that might be useful to adapt here, I think.

If you had a 3 or 5 star rating icon next to the stats in the tool tips for the attacks it would help.

Like how Physique is 3x in Thrust calculations where as the other two stats are only 1x. All we really need to know is how the stats are relatively weighted against each other in the calculation for the action. Thrust uses 3 stats for the user; physique is by far the most important of the three and the other two are co-equal.
Doesn't need to tell me the exact numbers and effects. Again just a relative indication of effects compared to other comparable options. The tag icon system you have in place is a good prototype. An icon in a mouse-over tool tip for "effects Observers(mood||relationship)" and an icon for "effects Relationships" would go a long way towards clearing some of that up. Icons for "uses(Attribute(s)) for multiplier(mood||relationship)" would also go a long ways towards clarifying the differences between the conversational options and social interactions.
UnholyArtsMockUp.png

This is kind of sort of what I mean. Would be best with icons for the attributes (Physique, Agility, Resilience, Will, Intelligence, Perception, Empathy, Charisma, Luck) as well as icons for Relations (Friendship, Sexual Tension, Romance, Domination, Submission, Rivalry, Enmity)

And either use icons like 1606130744343.png 1606130744343.png 1606130744343.png for indicating relative magnitude of effect or use icons like 1606130878739.png , 1606130892105.png , 1606130906251.png (these icons are from Fort of Chains; they have a pretty good icon artist) or perhaps like the Social Drive cost that I included on the mockup above ( 1606130744343.png 5).

I think the UI that you've developed for the popup tooltips for mood or the action description button you've developed in the sex and battle scenes would be applicable for the conversation scenes.
Screenshot from 2020-11-23 04-07-34.png

Screenshot from 2020-11-23 04-08-09.png

Screenshot from 2020-11-23 04-29-37.png
 

DeepInteractivity

Member
Game Developer
Mar 16, 2020
388
696
I don't know if this is some issue on my end only, but I can't save the game in the latest Free version download.
I get a LocalStorage quota exceeded Error when I try.
I've been investigating this issue. Apparently, Twine games use a space of the browser's memory that is very limited. Since most Twine games have a relatively small amount of variables, it is an uncommon problem and I haven't found anyone discussing solutions that would work for Unholy Arts. I'm going to keep looking into this since not getting a definite solution to the problem may force me to limit the scope of the game, or else it will end up causing problems for a much bigger proportion of players. For the moment, here's a list of things you can do to reduce the likelihood of this issue affecting you:

* Make sure your device's disk space and memory aren't full or close to their limits.
* Load your latest save.
* Save the game as a savefile using the "Save to Disk..." option in the Saves Menu.
* Turn off the auto-save feature.
* Delete your saves stored in memory in the Saves Menu.
* Clear your browser's cache and cookies.

The last two methods seem to be the most effective ones.

DaClown : One detail I wanted to mention for now: even if character drives may be mentioned in the code regarding conversations, they're barely implemented at the moment. In future updates, they will be essential at making the AI decide about their goals, relationships and behavior, and they will be affected by some events involving characters.
 

tontoman

Active Member
May 4, 2017
689
546
Is there any double teaming in the combat? There is a 2v1 scene in a daily scene with you doing mir with val in a spitroast iirc if you choose that option.

But in 2v1 regular combat it seems just regular combat moves. The same kicks and spells etc.

Hmm brings the question is there 2v1 sexing in the consensual encounters when some have teammates?

Thanks. Interesting game btw.
 

DaClown

Member
Sep 12, 2020
172
275
Since most Twine games have a relatively small amount of variables, it is an uncommon problem and I haven't found anyone discussing solutions that would work for Unholy Arts.
This is actually a well understood problem for a number of Twine games. Small number of variables helps but doesn't mitigate totally; if the game loop goes on for long enough then it will turn into a slideshow especially if you're using the save system in Twine rather than strictly saving to disk; garbage collection is not great with Javascript and dynamic HTML pages. Temporary solution is to save to disk; close out the game, and reload from scratch.

The save system in Twine particularly doesn't handle large save files well. When you have only one save, the file can be relatively large. But when you copy that to each other slot then Twine bogs badly because of restrictions between the browser and its access to the read/write permissions of the system long term storage and the execution permissions of the browser with respect to the operating system.

This is one of the reasons that desktop applications end up being preferred for game development in general, and we haven't seen much in the way of large scale HTML5/WebGL games. Shifting over to WebGL would give you potentially more options, but the change over would be as big as just making a dedicated compiled build for a standalone desktop/smartphone app.

Free Cities is probably the best example of Twine being stress tested. There's quite a bit of discussion around the Pregmod developers about the technical problems of implementing Free Cities in Twine. The Free Cities Pregmod has to be downloaded then compiled on the host system to play it. The compilation process allows certain performance tweaks that make it possible to play the game for a prolonged amount of time.
 

DeepInteractivity

Member
Game Developer
Mar 16, 2020
388
696
Is there any double teaming in the combat? There is a 2v1 scene in a daily scene with you doing mir with val in a spitroast iirc if you choose that option.

But in 2v1 regular combat it seems just regular combat moves. The same kicks and spells etc.

Hmm brings the question is there 2v1 sexing in the consensual encounters when some have teammates?

Thanks. Interesting game btw.
Combats with uneven characters in each side are possible through assault. Challenges are 1vs1 combats, but assaults involve all characters in the groups of the assaulter and assaulted.

You can get generic sex scenes with more than two characters if either the character proposing the sex or the character being proposed to have characters following them. The spitroast position, however, is set by script, as there are no actions that initiate positions between more than 2 characters yet.

This is actually a well understood problem for a number of Twine games. Small number of variables helps but doesn't mitigate totally; if the game loop goes on for long enough then it will turn into a slideshow especially if you're using the save system in Twine rather than strictly saving to disk; garbage collection is not great with Javascript and dynamic HTML pages. Temporary solution is to save to disk; close out the game, and reload from scratch.

The save system in Twine particularly doesn't handle large save files well. When you have only one save, the file can be relatively large. But when you copy that to each other slot then Twine bogs badly because of restrictions between the browser and its access to the read/write permissions of the system long term storage and the execution permissions of the browser with respect to the operating system.

This is one of the reasons that desktop applications end up being preferred for game development in general, and we haven't seen much in the way of large scale HTML5/WebGL games. Shifting over to WebGL would give you potentially more options, but the change over would be as big as just making a dedicated compiled build for a standalone desktop/smartphone app.

Free Cities is probably the best example of Twine being stress tested. There's quite a bit of discussion around the Pregmod developers about the technical problems of implementing Free Cities in Twine. The Free Cities Pregmod has to be downloaded then compiled on the host system to play it. The compilation process allows certain performance tweaks that make it possible to play the game for a prolonged amount of time.
I found Free Cities being mentioned briefly when I was looking for information on this issue, but there wasn't much help in that thread. Any links you can provide where I can keep learning about their solutions would be most helpful.
 

DaClown

Member
Sep 12, 2020
172
275
The spitroast position, however, is set by script, as there are no actions that initiate positions between more than 2 characters yet.
Causes an error in the battle script by the way. If you setup and detach specific moves it will bug the whole thing out because the script expects a POS and doesn't get one.
 

Nixeras

Newbie
Dec 4, 2017
40
23
Completely off topic but why lock the save function to start of day? With how interactions work and how oftentimes something you think might help you can end up being negative, why lock the save function? Seems arbitrary to me.

As an example on day 2 when you're being taught magic you have roughly 6 options, some of them with secondary options. Before that you have pages of text you have to go through. I for one thought perhaps casting the spell on a character might increase their submission towards me. This turned out to be not only untrue in the majority of choices, but the exact opposite of what happened when I cast it on the one character I wanted that bonus for. (Mir).

What I'm trying to say is if your choices are going to have such varied outcomes, why not allow us to save scum till we get one we like?

Other than that I really enjoy games like this so I'm looking forward to seeing more content as it comes out, thanks.
 

DeepInteractivity

Member
Game Developer
Mar 16, 2020
388
696
Completely off topic but why lock the save function to start of day? With how interactions work and how oftentimes something you think might help you can end up being negative, why lock the save function? Seems arbitrary to me.
Three reasons. The first one is that saving often ends up clogging the memory, and some people would save every single time before they'd pick holding hands or asking for sex, which would provoke lag and memory issues fast. The second one is that not all the data of the game gets saved (such as pathfinding and some short term AI goals), so saving in the wrong screen and loading the game would provoke errors. The third one has more room for debate: if you're free to save and load whenever you wish, you can't make wrong decisions, or wrong decisions that you can't fix in a few seconds, which removes a lot of the significance of choosing. Being successful feels best when you know the taste of failure - and getting Mir to freeze your toes isn't the worst kind of defeat, all things considered.

Get back at her later!
 
  • Haha
Reactions: DaClown

Nixeras

Newbie
Dec 4, 2017
40
23
Three reasons. The first one is that saving often ends up clogging the memory, and some people would save every single time before they'd pick holding hands or asking for sex, which would provoke lag and memory issues fast. The second one is that not all the data of the game gets saved (such as pathfinding and some short term AI goals), so saving in the wrong screen and loading the game would provoke errors. The third one has more room for debate: if you're free to save and load whenever you wish, you can't make wrong decisions, or wrong decisions that you can't fix in a few seconds, which removes a lot of the significance of choosing. Being successful feels best when you know the taste of failure - and getting Mir to freeze your toes isn't the worst kind of defeat, all things considered.

Get back at her later!
Yeah that makes sense. I wasn't sure if there was a mechanical reason which is why I thought I'd bring it up. I simply liked the idea of being able to save before making choices because as of yet it's not clear what many choices will result in. That said "Trial and Error" isn't a bad thing so I'm not too worried about it. Thanks for your response!
 

blue12

Newbie
Apr 8, 2018
16
11
This game has honestly been a breath of fresh air, the concept and fundamentals are really nice(the AI system isn't really found in other text based H-games), can't wait for more content to come in the future. (combat system reminds me of games like Night games, Ladies sex bout, and Tales of Androgyny, but doesn't feel like it has quite a lot of depth compared to them)

That being said, have you considered adding more positions like 69 or mutual insertion?
 
4.30 star(s) 23 Votes