Tease AI Scripting Overview Part 1: Getting Started

Webteases are great, but what if you're in the mood for a slightly more immersive experience? Chat about Tease AI and other offline tease software.

Moderator: 1885

Post Reply
User avatar
1885
Explorer At Heart
Explorer At Heart
Posts: 648
Joined: Fri Jul 08, 2011 4:27 am
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Tease AI Scripting Overview Part 1: Getting Started

Post by 1885 »

This is a quick beginner's guide to scripting for Tease AI. Tease AI is a new approach to webteasing, so some of this stuff may come off as confusing at first. While I'm not the greatest at explaining things, I have actually designed script creation to be as user friendly as possible. In fact, all you really need is Notepad and an idea. As you will see, the program itself does most of the heavy lifting with parsing commands. (To enlarge any of the pictures, right-click and "View Image" in Firefox, or your browser's equivalent)

Before we get started, it will be helpful to take a quick look at how Tease AI actually works. Most tease creator options, such as Milovana's own Classic and Nyx, offer you a set of tools to create one self-contained webtease from beginning to end. Tease AI differs from traditional software in the sense that it doesn't play webteases. Rather, it emulates the experience of being teased by a domme over an instant messaging client. To achieve this effect, Tease AI runs a series of smaller scripts like so:

Start -> ( Taunt -> Module -> Link ) -> End

In this overview I'll be focusing on Start scripts and general script creation, with more detailed explanations of the other four types later. For now, here's a quick explanation of these scripts:

Start: Start scripts run when you greet your domme. The program will randomly select one Start script from the ones you have available and selected for use. These scripts usually have a brief greeting, possibly some warm up banter. All Start scripts end with the @StartStroking command, which tells the program to begin running Taunts.

Taunts: Taunts are the only one of these five types that are not actually scripts. Rather, they are a list of taunts that the domme says as you stroke to get under your skin. Taunts can be 1, 2 or 3 lines long. Taunt cycles end either automatically, or when you tell the domme you're close.

Module: Module scripts are the heart of the tease session, and can be anything from being told to edge, experiencing CBT, playing games with the domme or literally anything you can imagine. All modules must contain the @StopStroking command, or an instruction to edge which resolves the @StopStroking command automatically.

Link: Link scripts act as the buffer between Modules and being told to start stroking again, which brings the tease cycle back around to Taunts. Think of these generally as a chance to wind down from Modules or build up to stroking again, though they can be used for anything you like.

End: After the domme has cycled through ( Taunt -> Module -> Link ) enough times, she will move to an End script to decide if you cum. Orgasm chances are always determined by each user's personal settings, so unless you have your domme set to always/never allow/ruin, you'll never know for sure how ANY Tease AI session will end.

These are very simple explanations, but just remember that Start, Module, Link and End scripts are chosen randomly from all such scripts you have available and selected for use.


So let's make our own Start script and see how it works. First I need an idea. Okay, I'll have the domme greet me and tell me she hopes I've been keeping my hands off my cock. That sounds good, so let's see what we can come up with here:


Image

(The @End command lets the program know that the script is finished and it can move on to the next script type. This is necessary because some scripts will have multiple paths, but don't worry too much about that for now)

Okay that's serviceable enough. You might be wondering how to set the delay between sentences, or how to create a "Continue" button to move the tease forward. You don't : ) Tease AI automatically creates a typing delay based on the length of the line the domme is saying. Her typing speed is fast and realistic, so you won't need to worry about pacing your tease as a script writer. In fact, what you're looking at is a complete, viable Tease AI script. Let's try running it and see what happens:

Image

Now the first thing you might be wondering is how she responded to me saying it was good to see her when it wasn't in the script we wrote. That's because Responses are a separate process designed to integrate well with whatever may be happening at the time. Responses work with all scripts, and as a script writer, that's one less thing you have to worry about with Tease AI.

The second thing you might be wondering is if this script is going to play out the same every time. As it's written, yes. That can be a problem, because it's not very dynamic and won't hold up to repeated viewings. That may not be a problem if you have lots of Start scripts, but I think there's a couple things we can do to make it better. The first is by spicing it up with Keywords.

There's two types of Keywords in Tease AI - System Keywords and User-Created Keywords. Keywords can be recognized by the pound sign in front of them, like this: #Keyword

System Keywords return a specific value, whereas User-Created Keywords return a random value from a list of possible choices. I'll explain that later, but let's focus on a couple of System Keywords for now, #PetName and #GeneralTime. Let's take a quick look at the Domme tab in the Settings Menu:

Image

If you've played any webtease before, you've probably been called something by a domme you didn't really care for. "Sissy" may work for some, but not for others. "Handsome" may do it for you, or it may ruin the humiliation vibe you're going for. Maybe "wanker" just hits your ear wrong. As you can see, with Tease AI each user can set the Pet Names they prefer, and they'll even change dynamically with the domme's mood. As a script writer, all you have to do is use the System Keyword #PetName, and the program will either randomly select one of the user's PetNames at random, or use whatever name they've set for themselves.

And while we're on the subject of different users, who knows what time of day each user is going to be running the program. It would be a lot more immersive if we could have the domme react to each person's time of day. The System Keyword #GeneralTime does just that, by looking at the user's time and replacing itself with "this morning", "today" or "tonight". So let's use these System Keywords in our script:

Image

Now let's run the script again and see what we get:

Image

As you can see, the program has replaced the System Keywords we used with words specifically appropriate to me. If I had had run this program a little later, the domme would have said "it's good to see you tonight". If I had run it in the morning, she would have said "it's good to see you this morning". These are just a couple ways that System Keywords can be used to create user-specific scripts with very little additional effort on the part of the scripter. There are System Keywords that cover a wide range of things, from the user's name, cock size, age, etc. A list of all System Keywords will be provided with the User's Guide that will be created for the program.

So let's see what else we can do with our script. It would be nice if the domme could ask if we've been good, instead of just assuming. For that we'll need to introduce the Multiple Choice ability and @Goto command. To create a Multiple Choice branch at any point in your script, simply put all choices in brackets on separate lines, followed by either @DifferentAnswer (which requires the user to answer with one of the available choices to progress) or @AcceptAnswer (which lets the tease progress even if the user didn't give one of the written examples). To see this in action, let's start reworking our script a little bit:

Image

In this example, once the domme asks "Have you been good since the last time I saw you", the program sees the Multiple Choice brackets and waits for a response, in this case "yes" or "no". [yes] and [no] are actually unique Multiple Choice options in Tease AI scripts. As you can see in the following picture, each user can set their own Yes/No phrases. Tease AI will then accept any of those responses for [yes] and [no] Multiple Choice options. These are the only Choices that work this way, the rest are much more direct as I'll demonstrate in a moment.

Image

For now, let's guess what happens when we run this script. If we get to the question and say "yes", then the domme will say the line after the [yes] bracket, and then move on to the next line after @DifferentAnswer. If we say "no", then she says the line after [no] and then moves on to the next line after @DifferentAnswer. If we say something other than yes or no, then she says the line after "@DifferentAnswer" and waits for a new response from us. So now that we know how that works, let's add a third option in case the user wants to specify what she means by being good:

Image

This introduces us to the third and final Multiple Choice command, @LoopAnswer. When the domme says a line with @LoopAnswer, the Multiple Choice process waits for a new response instead of just continuing the tease. So if the user responds with a line containing "what do you mean good" (such as "What do you mean good?", "what do you mean good Mistress?", etc), then the domme will respond with "Have you kept your hands off your cock?" and then wait for a new response. The problem here is that "what do you mean good" is very specific, so let's break it down to allow for a few more options:

Image

As you can see, Multiple Choice brackets can have as many possible response strings as you like, and if one of them is found, then the domme will say that line. For instance, our third choice will now respond to things such as "Only if you tell me what good means", "Now when you say good....", "what do you mean good?", etc.

So the only problem we have left is that the tease keeps progressing the same whether we reply "yes" or "no". To make the choice a little more meaningful, let's use the @Goto command:

Image

So now we've fleshed out our responses a little bit. @Goto commands are very straightforward to use. Simply write @Goto and then any string you want to identity the line it goes to. So if I type @Goto(Blue Balls), then the program will search out (Blue Balls) and pick up on the line right after that. (@Goto commands can be used anywhere in the script, not just Multiple Choice) If the program encounters a Goto line in normal progression, it will simply skip over it and move to the next line. For example:

This is some text
(Goto Line)
This is some more text

The program will only output

Domme: This is some text
Domme: This is some more text

So another viable way of doing our script would be like this:

Image

So let's run this and see how it looks:

Image

By comparing the script to how it plays out, we start to get a sense of how it all works.

One of the nice things about scripting for Tease AI is the modular design. Scripters don't need to create huge sprawling teases from beginning to end. In fact, this is a perfectly viable script as it stands, so starting and finishing scripts for Tease AI is a much less daunting prospect for creators than with most tease creation software.

I'll end this part here for now. Of course, all I've mainly done so far is show you how to emulate what most tease creation software already allows you to do. In the next part, I'll start to show you the aspects of Tease AI that set it apart and create some very unique webteasing scenarios.

In the meantime, if you have any questions or comments about the information presented so far, please let me know and I will clarify everything I can.
Image
msissyleah
Explorer
Explorer
Posts: 45
Joined: Fri May 02, 2014 11:21 am

Re: Tease AI Scripting Overview Part 1: Getting Started

Post by msissyleah »

i love you
desertfox
Explorer At Heart
Explorer At Heart
Posts: 365
Joined: Mon Dec 03, 2012 7:26 pm
Gender: Male
Sexual Orientation: Straight
I am a: None of the above

Re: Tease AI Scripting Overview Part 1: Getting Started

Post by desertfox »

This just looks stupid awesome.

Also I had been meaning the post this little tidbit that I picked up watching a GDC video by Inkle, which is a company that does some pretty good android text games (sorcery1,2, 3, & 80 days). They shared a pretty good way for how they deal with alterning personalities based on choice that is pretty slick. Really nothing earth shattering but the implementation is neat.

Basically lets say in this context your mistress may develop a temperement depending on how often you have been behaving or not. You would say track displeasure as two ints

displeasure = (displeasure_up, displeasure_down)
During multiple choice, you can specify either raise(displeasure), lower(displeasure) for specific answers that would increment one of the displeasure up/down variables.

Then to test how displeaced your mistress is, just use an average.

displeasure_down / (displeasure_down + displeasure_up)

This gives you a number between 0 and 1 which is your average. The clever part they use here is that the tests used in the middle of writing the script are just one of four tests (copying their values)
high(displeasure) -- true when average >.9
up(displeasure) -- true when average >.7
low(displeasure) -- true when average < .3
down(displeasure) -- true when average > .1

So this does a few things that is really nice. The first is that your first time interacting with a person, your relationship might flip flop a lot as you make choices, but as you continue to say please or displease over time, it becomes harder and harder to change their view of you, which I think reflects real life relationships.

The other benefit is it allows an author to make a check between the few states and get a pretty good answer, regardless of what has happened before hand. If you want to go back and provide opportunity for 50 more displeasure incidents, you don't have to go forward and fix your check that is already in place.

It is a really slick way of tracking relationships and I think this style would fit in many guides and now teaseAI scripts as well (if you have this type of variable tracking in there and I'm going to guess that there probably is based on the scope you have for this project)

Finally, if interested, the talk was here: http://www.gdcvault.com/play/1021774/Ad ... ovating-in and I think it is worth a watch for anybody wanting to do a guide or tease that offers more of a branching story.
User avatar
Takenaga
Explorer At Heart
Explorer At Heart
Posts: 456
Joined: Sun Dec 04, 2011 12:58 pm
Gender: Male
Sexual Orientation: Straight
Location: Netherlands

Re: Tease AI Scripting Overview Part 1: Getting Started

Post by Takenaga »

@1885:

:bow: Awesome! :bow:

Thank you!

desertfox wrote:Finally, if interested, the talk was here: http://www.gdcvault.com/play/1021774/Ad ... ovating-in and I think it is worth a watch for anybody wanting to do a guide or tease that offers more of a branching story.
@desertfox: Interesting talk, thanks for the link!
Try GuideMe or TeaseMe to play Milovana Teases offline or create your own offline teases with highres images and videos... don't forget to support milovana and rate the online teases!
User avatar
Azureballs
Explorer At Heart
Explorer At Heart
Posts: 115
Joined: Sat Oct 28, 2006 5:30 pm
Gender: Transsexual/Transgender
Sexual Orientation: Open to new ideas!
I am a: Submissive
Location: USA

Re: Tease AI Scripting Overview Part 1: Getting Started

Post by Azureballs »

This looks surprisingly easy so far, love it! I'm also liking all the customization available in the Domme settings.
dbt
Explorer At Heart
Explorer At Heart
Posts: 171
Joined: Sun Jun 27, 2010 3:09 am

Re: Tease AI Scripting Overview Part 1: Getting Started

Post by dbt »

Sounds great, but I didn't see the link to download...
User avatar
1885
Explorer At Heart
Explorer At Heart
Posts: 648
Joined: Fri Jul 08, 2011 4:27 am
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: Tease AI Scripting Overview Part 1: Getting Started

Post by 1885 »

dbt wrote:Sounds great, but I didn't see the link to download...
You'll see it in 12 days :-)
Image
Lazures
Explorer
Explorer
Posts: 20
Joined: Fri Oct 05, 2012 12:05 pm
Gender: Male
Sexual Orientation: Straight

Re: Tease AI Scripting Overview Part 1: Getting Started

Post by Lazures »

This seems awesome, while I have no idea with scripting and programming, it just feels like its very good work.

One question I'm going to ask though, unfortunately I won't have any time for customization, will we be able to download other's scripted work? Will you provide some samples? It would be perfect if you would provide some starter kits, samples and if we could download others' settings and customizations.
User avatar
1885
Explorer At Heart
Explorer At Heart
Posts: 648
Joined: Fri Jul 08, 2011 4:27 am
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: Tease AI Scripting Overview Part 1: Getting Started

Post by 1885 »

Lazures wrote:One question I'm going to ask though, unfortunately I won't have any time for customization, will we be able to download other's scripted work? Will you provide some samples? It would be perfect if you would provide some starter kits, samples and if we could download others' settings and customizations.
It will be up to each person what they want to create and share. I'll certainly do what I can to facilitate that, because with Tease AI, all contributions are valuable to a singular source, and the more scripts the domme has at her disposal, the more powerful and versatile she becomes.

I will be releasing a starter kit, as you put it. I've tried to create as much unique content as I can (and will push to create more before the 15th), but it will take to the end of the open development period for the program to reach its full potential. That being said, there should be plenty there initially to keep you happy for a while.
Image
Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests