The meat of an AIF Framework is of course the actions, but we need some foundations in place before we can get to work on those. Last time we talked about the first foundations, body parts and clothing, which enables more detail in descriptions and interactions. This time it’s time to focus on the foundations that directly affect actions.

It’s rare for an AIF to allow the player to do anything they want to another character without any restrictions. These restrictions tend to come in three main forms: We want some sort of puzzle to lock away the sex scene, some limits on what the character is willing to do straight away, and limits on what actions are available in public (or at least impose some reactions on them happening). I’ll be referring to these as affection, arousal and decency, in that order.

Work is coming along nicely on implementing body parts and clothing, and I want to give a shout-out to the AIF sub-Reddit that gave some good feedback.

Affection and Arousal

Affection is intended as a linear scale that indicates how well the character likes the player, which in turn unlocks certain behavior. In its simplest state, this just indicates if the character is willing to start a sex scene, but it’s entirely possible to let this affect conversation responses, and unlock new puzzles as old ones are solved. The story author has a very large responsibility in making this work properly by writing appropriate responses, it’s still the framework’s responsibility in making this task as easy as possible to implement.

Arousal on the other hand is a more fluid scale, and is used inside a sex scene to indicate which actions a character is willing to perform. This has normally been implemented as a linear scale, with each action having a required level of arousal, and increasing arousal by a pre-defined amount. When this crosses a threshold, orgasm is achieved. A word of warning on this model for arousal: Many of the more simulator oriented games (which is typical of TADS games) have a tendency to mix cause and effect, turning arousal into a goal instead of a flow-restriction. While similar, this turns the scenes into repeating actions in order to raise arousal, in order to score orgasm (and points), which can get in the way of good gameplay and “storytelling”.

I believe that arousal can be better modelled as something like a finite-state machine, where the arousal levels are states and actions are transitions. This would allow a character to start out in foreplay, move on to “medium” action after a set amount of foreplay actions are used, and then on to “climax” stage. I think this should be possible to implement in Inform, but this concept probably needs some more description and detailing. I’m putting out the concept for some feedback to determine if this route is worth considering, or if the default arousal method is good enough.

In short, affection is a more permanent effect, and is modified by puzzles. Arousal is a more temporary variable, affected by the actions in a scene.

Decency

Many players take delight in trying to perform various indecent acts in locations that are unsuited. As such the game should be able to understand various levels of decency, both for clothing and for actions, and possibly restrain the player. Decency doesn’t need to be used as a pure restraint though; it’s quite possible to allow the player to perform indecent acts. However the game should recognize what is going on, and “reward” the player by having other characters react to what is happening, possibly in the form of being arrested for indecent exposure.

The outfit-based model is probably preferable here; it’s quite possible to calculate the total decency of a garment-based model but it’s going to be quite time-intensive. I think “Formal”, “Normal/Casual”, “Immodest” and “Indecent” would form a good base for the decency levels.

Postures

Lastly, postures is not so much about limiting the player, as it is about giving them the possibility to interact with the scenery. If a location includes a couch/sofa, players expect that it’s possible to sit in it. Likewise, the appearance of a bed suggests it’s possible to lie in it. This implies that furniture is a natural complement to postures. Far from every story needs this level of detail though, many games implicitly assume the posture of the actors when describing a sex scene, while some authors want to reward players for exploring with different commands in different postures. As an example, spanking is a more reward action when the subject is bent over something.

So far, the postures I intend to implement are standing (the default posture), sitting, lying down, lying face-down, kneeling, and bending over. All of these can also be performed in relation to a piece of furniture.