[Tease AI Awakening] Announcement - A Sharp Awakening

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

User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 663
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by markus »

Hi BoundSquirrel! :wave:
BoundSquirrel wrote: Wed Dec 29, 2021 7:24 pm For the text/pictures, can you please add reimplementing or standardizing the side chat function? It broke at some point around 54.9 and I always thought that was a better place for it, especially on wife screen monitors. Having it below the pic/video shrinks the visual, especially if the picture is in portrait format.
Once you have tested the new full-screen function, you might don't want a side-chat anymore. ;-)
But if it would still be needed for you, I could see what I can do.
I agree completely about keeping it stand-alone. I prefer to stay offline with things like this. Would you at least consider making the @ function selectible so that one can't easily see what script is running? Judge me for having low willpower if you want, but little deterrents like this can be very helpful. There's always a way to get into the cookie jar, but I'll still put in on the top shelf so I have to work for it. :-D
I don't judge anyone. :-)
All the logging is not done completly, ... the @ Function is not implemented yet, but it's no problem to make it optional, I'll keep that in mind.

Best greetings,
Markus
chefboyrdee
Explorer
Explorer
Posts: 52
Joined: Wed Oct 24, 2012 12:24 am
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by chefboyrdee »

Best of luck on this! It's certainly no small task put something like this together, and I know you're going to do a great job.

As someone who doesn't do much software or coding (I only use VBA on Excel lol), is there a reason that you don't want to work up from Tease AI Java and are starting completely anew? A few of my friends that code make it seem like Java script is a relatively simple language and has so much flexibility, my gut instinct is that it would make sense to use something more accessible and that gives that flexibility.

Not trying to undermine anything, I am more trying to understand why you are avoiding the already created Tease AI Java, and/or also not using a more universal language.
pepsifreak
Explorer At Heart
Explorer At Heart
Posts: 129
Joined: Fri May 08, 2009 8:50 pm
Gender: Male
Sexual Orientation: Straight

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by pepsifreak »

Touching back on "if I had time", the big things I would have wanted to add was;

-Built in/optional repeat protection so you always get new scripts instead of old ones until you've seen them all (which has already been brought up).

-Unified storage for common kinks and such. This would be a central place for personalities to check for things normally stored in redundant flags and variables per-personality. Personalities could still make their own of course, this would just let personalities not need to store their own "AssMan" flag, for example. GuideMe already has something like this though I haven't used it enough to see if many teases take full advantage of it. I believe GuideMe also offers tease-specific options pages as well to set their custom toggles and preferences.

-Revamp how flags and variables are stored, hundreds of tiny files is a bit gross when a single json file or similar could do the job just as well, in my opinion.

-Toss things like the Wicked Tease scripts/vocabulary/taunts in a central place, for personalities to "include" if they wish, or for vocab/taunts, even add to the lists. Again, less redundancy where many personalities reuse these already to some degree.

The name of the game, to me, is lowering the barrier of entry for potential creators, spending less time sweating boilerplate or technical stuff and get right to writing.
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 663
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by markus »

Hi there! :wave:
chefboyrdee wrote: Thu Dec 30, 2021 1:08 am is there a reason that you don't want to work up from Tease AI Java and are starting completely anew?
A lot of reasons I guess, ... Tai-J 'strike new paths', it has a new way of scripting, that's all fine and great, but my intention is different.
I want to be compatible to the existing scripts/personalities, I want to play AliceMerged (it's easier for me to rewrite Tai as it would be to rewrite AliceMerged for Tai-J), ... also I like to be 'the king in my own castle' so to say, ... creating something new gives me the freedom to code and create features, design and such exactly the way I have it in mind.
and/or also not using a more universal language.
C# is my 'mother-tongue' when it comes to coding, I work for 8 years with it, I only got a 4 weeks course in Jave SE, 4 weeks in Jave EE and I have zero experience with Java-Script.
Also Awakening is build upon another C# project I've developed before, so that saves me a lot of developing time since many classes and methods can be used from that. ;-)

pepsifreak wrote: Thu Dec 30, 2021 8:33 am -Built in/optional repeat protection so you always get new scripts instead of old ones until you've seen them all (which has already been brought up).
So, I guess this goes into the direction of what avatarbr suggested, but optional in the settings instead of script-commands, ... sounds like a good idea to me. :-)
-Unified storage for common kinks and such. This would be a central place for personalities to check for things normally stored in redundant flags and variables per-personality. Personalities could still make their own of course, this would just let personalities not need to store their own "AssMan" flag, for example. GuideMe already has something like this though I haven't used it enough to see if many teases take full advantage of it. I believe GuideMe also offers tease-specific options pages as well to set their custom toggles and preferences.
I already have a toylist with some fresh features for it in mind, ... once I'm there, a kink/fetish list shouldn't be a problem. :yes:
-Revamp how flags and variables are stored, hundreds of tiny files is a bit gross when a single json file or similar could do the job just as well, in my opinion.
For compatibility reasons I will stick to the old way how flags and variables are stored, it shall be possible to continue to play a personality with Awakening even if you have played it with the original Tai before without start the personality anew.
Internally, flags and variables are handled differntly already.
-Toss things like the Wicked Tease scripts/vocabulary/taunts in a central place, for personalities to "include" if they wish, or for vocab/taunts, even add to the lists. Again, less redundancy where many personalities reuse these already to some degree.

The name of the game, to me, is lowering the barrier of entry for potential creators, spending less time sweating boilerplate or technical stuff and get right to writing.
About this one I am unsure, ... a scriper should be able to copy&paste a taunt file together from other personalities in a minute.

Thanks for all that input,
best greetings,
Markus!
Blackpanter
Explorer
Explorer
Posts: 7
Joined: Fri Aug 06, 2021 8:25 pm
Sexual Orientation: Straight

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by Blackpanter »

Sounds Awesome if you need a tester later on dm me.
User avatar
genome231
Explorer At Heart
Explorer At Heart
Posts: 694
Joined: Wed Nov 12, 2014 8:35 am

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by genome231 »

Great initiative.

If you need a tester or scripter to test it out, I will be happy to assist :-)

One suggestion: Remove @RapidCodeOn / Off.
It should by default always run lines without text as fast as possible.

Best regards
Genome
Tribute to 1885 & those involved with Tease-AI.
Thank you for spending time on this awesome project! :-)
Hermes888
Explorer
Explorer
Posts: 13
Joined: Sat May 16, 2020 9:49 pm
Gender: Male
Location: Netherlands

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by Hermes888 »

Hi markus,

great that you are looking at upgrading tai.

I am a very amateur scripter and i have been working some scripts with customizable content.
Besides the line eating thing, i struggle most with is the lack of a way to efficiently store related variables in. Some thing like an array or datamap.

The other thing is the impossibility to copy the string content from one variable to a other variable. This only seems possible with integers.

I understand both points are not used in current scripts, but i thought i would just throw it out there.

Best of luck in the development.
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 663
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by markus »

Hey there! :wave:
genome231 wrote: Sun Jan 09, 2022 9:31 am If you need a tester or scripter to test it out, I will be happy to assist :-)
Thx to you and all the others who offered testing-help, ... I will come back to you guys for sure! :yes:
One suggestion: Remove @RapidCodeOn / Off.
It should by default always run lines without text as fast as possible.
Oh man, I hear you!
While we are at it, ... @NullResponse could be gone also when no text is there.
On the other hand, Scripts out there sometimes 'use' the way it is, i.e.:
@NullResponse @ShowImage[\GNMImages\Academy\Lingerie\Camisole\*.jpg]
(Yeah, I know, outdated Spicy example :-D :-P ... but other scripts use this as well)

I really want to keep compatibility to all the scripts out there, and that a scripter can expect that Awakening will 'react' the same as the original Tai did, so nobody has to rewrite a single line to make their scripts/personalities working 'the same' as they did with the original Tai.
But what I am think of (thx for that idea/input) are new commands to set such a 'mode', maybe one for all scripts (used once in the start script and then you as the scripter can forget about Rapidcode and NullResponse) and maybe one that is for one script only (if you create a personality that involves scripts created by others, so you put that new command in the beginning of your own script and then again, you can forget about Rapidcode and NullResponse in that script).

Hermes888 wrote: Sun Jan 09, 2022 7:59 pm The other thing is the impossibility to copy the string content from one variable to a other variable. This only seems possible with integers.
Interesting, I will have to look up my @SetVar again for those cases, good you bring this up!
What you would prefer for syntax?
@SetVar[HermesTest02]=[#Var[HermesTest01]]
or maybe
@CopyVar[HermesTest02]=[HermesTest01]
???
i struggle most with is the lack of a way to efficiently store related variables in. Some thing like an array or datamap.
Another good point, I was thinking about that while I builded in the variable handling.
Once I've scripted something like that, but that's complicated scripting.
I was nameing variables with a count like this:
@InputVar[marFavModel00#Var[marModelNumber]]
then counted up the marModelNumber.

So yes, I'll put that on my ToDo-List: The work with Lists of Variables, handle them and such.
(Syntax wishes?)
but i thought i would just throw it out there.
When not now, when then?
When not here, where else? :-)
... That was one of the main reasons to open up an announcement thread, to get such input and ideas, THX a lot! 8-)

Best greetings,
Markus
Hermes888
Explorer
Explorer
Posts: 13
Joined: Sat May 16, 2020 9:49 pm
Gender: Male
Location: Netherlands

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by Hermes888 »

Hey Markus
Interesting, I will have to look up my @SetVar again for those cases, good you bring this up!
What you would prefer for syntax?
@SetVar[HermesTest02]=[#Var[HermesTest01]]
or maybe
@CopyVar[HermesTest02]=[HermesTest01]
???
I think a @CopyVar function would be most intuitive for scripters, but i think the first option would be more versatile and usefull. In any case i would be happy to use what ever you can make :yes:
Another good point, I was thinking about that while I builded in the variable handling.
Once I've scripted something like that, but that's complicated scripting.
I was nameing variables with a count like this:
@InputVar[marFavModel00#Var[marModelNumber]]
then counted up the marModelNumber.

So yes, I'll put that on my ToDo-List: The work with Lists of Variables, handle them and such.
(Syntax wishes?)
I have no idea what you can do within the confines of tai. But any way to add variables to a list would be useful. I have used array functions in twine/sugarcube. So based on that i could see something like:

@SetList[lingerie] (create a new (empty) list)
@Push[lingerie]=[panties,boyshorts,bra] (pushes a new strings/integers to the next empty spots)
@ShowList[lingerie]=[2] (would result in "boyshorts")

To use the last function optimal you would need to be able to replace the "2" with a variable integer. That is why you would need a way to designate something as a variable. I think this is the same issue with copying variables. When using @SetVar the input is either seen as text or integer. If you could use your suggestion @SetVar[HermesTest02]=[#Var[HermesTest01]] , it think you could also use @ShowList[lingerie]=[#Var[SelectedNumber]]
CountList or RandomList could be useful as well.

TAI already uses list with the vocab files. Maybe it would be possible to use those? Being able to push user generated content to a vocab file would be useful anyway.

But again, i would be happy with anything you can do :-D
Daragorn
Explorer At Heart
Explorer At Heart
Posts: 559
Joined: Fri Nov 06, 2015 1:16 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by Daragorn »

It's exciting to see that someone is working on creating a more stable and functional "base" for teaseAI! Maybe it will also push some more content creator to create new stuff too :)

I have a pair of suggestions for you:
1- regarding the metronome stroking, i think you should implement the possibility to have different stroking patterns, akin to Cock Hero videos. I did a little modification to my own version of teaseAI in that sense and i feel it is much more enjoyable like this, having to stroke at different paces and rythms make is much more unpredictable

2-you should make sure that all the different commands can be used to filter the various responses in the response files. For example, right now, it seems that teaseAI has problem in filtering responses using #DateDifference.
I was trying to create complex and unpredictable outcomes based on times variables, but it seems that it doesn't filter them properly and i think that could be a great tool to create more complex personalities.

For example, i created a "i won't beg" response file that, when triggered sets the time of this responses using @SetDate(wontBeg)
Then in another file "i beg" i go and created different responses based on the #DateDifference of the wontBeg variable, for example:
@Variable(#DateDifference(wontBeg,minutes))<[1] it didn't take long to make you change your mind
@Variable(#DateDifference(wontBeg,days))>[5] i was wondering when you'd have started begging again
...

The problem is that, most of the times, she still maybe use the 2nd line even if i said i wont beg just a minute earlier, completely rendering all this useless..
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 663
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by markus »

Hi there! :wave:
Hermes888 wrote: Mon Jan 10, 2022 11:43 pm I think a @CopyVar function would be most intuitive for scripters, but i think the first option would be more versatile and usefull.
Then I guess it doesn't hurt if both ways should work. ;-)
I have no idea what you can do within the confines of tai. But any way to add variables to a list would be useful.
[...]
I have used array functions in twine/sugarcube. So based on that i could see something like:
That is one of the reasons why I recreate it from scratch, there are no 'confines' from the original Tai.
The more I think of it, I guess it would be the best to implement the handleing of .Net List<T> more or less completly using some script-commands, ... and while I'm at it, ... maybe even creating own data-classes.


Daragorn wrote: Tue Jan 11, 2022 2:33 pm Maybe it will also push some more content creator to create new stuff too :)
I hope so! :-)
I have a pair of suggestions for you:
1- regarding the metronome stroking, i think you should implement the possibility to have different stroking patterns, akin to Cock Hero videos. I did a little modification to my own version of teaseAI in that sense and i feel it is much more enjoyable like this, having to stroke at different paces and rythms make is much more unpredictable
Maybe a @StartStroking( parameter1 ..., ...) ?
Or in the settings? (Or both?)

Since you have that tested out, ... what about @StrokeFaster / Slower commands in the taunts?
Let's say a beat pattern 3x slow, 5x fast, ... wouldn't it go insane fast for the 5x fast if there is the @StrokeFastest command?
(Maybe filter such faster/slower commands out of the taunts while playing patterns?)
2-you should make sure that all the different commands can be used to filter the various responses in the response files. For example, right now, it seems that teaseAI has problem in filtering responses using #DateDifference.
I was trying to create complex and unpredictable outcomes based on times variables, but it seems that it doesn't filter them properly and i think that could be a great tool to create more complex personalities.

For example, i created a "i won't beg" response file that, when triggered sets the time of this responses using @SetDate(wontBeg)
Then in another file "i beg" i go and created different responses based on the #DateDifference of the wontBeg variable, for example:
@Variable(#DateDifference(wontBeg,minutes))<[1] it didn't take long to make you change your mind
@Variable(#DateDifference(wontBeg,days))>[5] i was wondering when you'd have started begging again
...

The problem is that, most of the times, she still maybe use the 2nd line even if i said i wont beg just a minute earlier, completely rendering all this useless..
I am already mostly done with all filters and responses handleing.
Because I don't even look up the original source when creating / implementing features, maybe this problem is gone already because things work completly differently internal anyway.
Would be great if you could PM me your scripts/response files so I could test them out with Awakening.

Thx again for all that input, keep it coming, ... best greetings,
Markus
Daragorn
Explorer At Heart
Explorer At Heart
Posts: 559
Joined: Fri Nov 06, 2015 1:16 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by Daragorn »

markus wrote: Tue Jan 11, 2022 7:55 pm 1- regarding the metronome stroking, i think you should implement the possibility to have different stroking patterns, akin to Cock Hero videos. I did a little modification to my own version of teaseAI in that sense and i feel it is much more enjoyable like this, having to stroke at different paces and rythms make is much more unpredictable
Maybe a @StartStroking( parameter1 ..., ...) ?
Or in the settings? (Or both?)

Since you have that tested out, ... what about @StrokeFaster / Slower commands in the taunts?
Let's say a beat pattern 3x slow, 5x fast, ... wouldn't it go insane fast for the 5x fast if there is the @StrokeFastest command?
(Maybe filter such faster/slower commands out of the taunts while playing patterns?)
[/quote]

curently teaseAI just uses a single beat sound and the repeats with at a fixed pause; i just made it so that it now refers to a txt file in which you can "creare your custom pattern" by specifying the lenght of the pauses. The script then just use those numbers as an array and multiplies the base pause value for that number.
For example:
1 --> will just be the base costant strokin
2 --> will be a costant stroking with double lenght pause between strokes
113 --> will make 2 beats with normal pause, then a third beat followed by a 3x pause

This way you can create any custom pattern easily.
The strokeslower/faster commands just modify the base pause lenght so, yes, if you have extreme ranges in the settings, it can end up with too fast or too slow strokes.
What i did was create the "base" as a 2, set the settings of the beating so that with that it can go from a decently slow to a decently fast speed. And from that i just added a 3 and a 1 line in the txt to have generally faster and slower constant stroking, plus many more different other ones. And it works fine for me.

So my txt look something like this:
1
2
3
113
123
115113115
..
...
Daragorn
Explorer At Heart
Explorer At Heart
Posts: 559
Joined: Fri Nov 06, 2015 1:16 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by Daragorn »

markus wrote: Tue Jan 11, 2022 7:55 pm Maybe a @StartStroking( parameter1 ..., ...) ?
Or in the settings? (Or both?)

Since you have that tested out, ... what about @StrokeFaster / Slower commands in the taunts?
Let's say a beat pattern 3x slow, 5x fast, ... wouldn't it go insane fast for the 5x fast if there is the @StrokeFastest command?
(Maybe filter such faster/slower commands out of the taunts while playing patterns?)
curently teaseAI just uses a single beat sound and the repeats with at a fixed pause; i just made it so that it now refers to a txt file in which you can "creare your custom pattern" by specifying the lenght of the pauses. The script then just use those numbers as an array and multiplies the base pause value for that number.
For example:
1 --> will just be the base costant strokin
2 --> will be a costant stroking with double lenght pause between strokes
113 --> will make 2 beats with normal pause, then a third beat followed by a 3x pause

This way you can create any custom pattern easily.
The strokeslower/faster commands just modify the base pause lenght so, yes, if you have extreme ranges in the settings, it can end up with too fast or too slow strokes.
What i did was create the "base" as a 2, set the settings of the beating so that with that it can go from a decently slow to a decently fast speed. And from that i just added a 3 and a 1 line in the txt to have generally faster and slower constant stroking, plus many more different other ones. And it works fine for me.

So my txt look something like this:
1
2
3
113
123
115113115
..
...
Daragorn
Explorer At Heart
Explorer At Heart
Posts: 559
Joined: Fri Nov 06, 2015 1:16 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by Daragorn »

I forgot to add that, when you use a @StartStroking command, the program just grab a random line from the .txt file and use it as the pattern for the metronome.
To make it more variable, i also created a @StrokeChange command that just make it "re-roll" on the .txt file and continue with a different pattern.
I scattered a few @Strokechange commands around in the taunts line so that in a single stroking cycle i usually tend to get 2-3 different patterns, making the whole stroking cycle less repetitive and more unpredictable
User avatar
markus
Explorer At Heart
Explorer At Heart
Posts: 663
Joined: Tue Nov 18, 2008 11:09 pm

Re: [Tease AI Awakening] Announcement - A Sharp Awakening

Post by markus »

Hey Daragorn, thx again for all the input! :-)
Daragorn wrote: Tue Jan 11, 2022 10:26 pm 1 --> will just be the base costant strokin
2 --> will be a costant stroking with double lenght pause between strokes
113 --> will make 2 beats with normal pause, then a third beat followed by a 3x pause
The funny thing is, from the CHC-Videos I know, it's quite the opposite, there are often the pattern shown, i.e. there is "123-123",... which is 3 fast beats, a longer pause, then again 3 fast which would be in your pattern '11121112'.
So, what's shown in such videos are the fast beats, your pattern defines the pauses instead.
Your logic is much more precise and accurate, I like that and I will go with that way of pattern. :yes:
Note to myself: Describe that in the documentation!
(This whole thread became a huge ToDo-List for myself! :-) )

Daragorn wrote: Thu Jan 13, 2022 7:26 pm I forgot to add that, when you use a @StartStroking command, the program just grab a random line from the .txt file and use it as the pattern for the metronome.
To make it more variable, i also created a @StrokeChange command that just make it "re-roll" on the .txt file and continue with a different pattern.
I scattered a few @Strokechange commands around in the taunts line so that in a single stroking cycle i usually tend to get 2-3 different patterns, making the whole stroking cycle less repetitive and more unpredictable
After I had a night to think it over, I guess it will be like that:
- An additional @StartStroking command --- @StartStroking(pattern) ... so a taunt-cycle can start with or without a pattern.
- Additional to @StrokeFaster / @StrokeSlower, a new command like @StrokePattern(pattern) that can be used in the taunt files, i.e.:
@StrokePattern(111117) @StrokeFastest #KeepUpToTheBeat
--> 5 times very fast, pause a bit
- Maybe, ... if it's in the 'pattern-stroke-mode' already (if not, such lines would be filtered out), the @StrokeChange/@StrokeChangePattern - command would change it, i.e.:
@StrokeChange #LetSeeHowYouHandleThatBeat
---> Would read the pattern from the textfile (if existing, if not, some random hardcoded patterns could be used), ... or...
@StrokeChange(pattern) #LetSeeHowYouHandleThatBeat
---> Takes the pattern from the parentheses.

Sounds like a plan?


Best greetings,
Markus
Post Reply

Who is online

Users browsing this forum: No registered users and 11 guests