[Tease AI Java] SPICY development thread

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
lotar232
Explorer
Explorer
Posts: 76
Joined: Sat Nov 01, 2008 6:34 pm

[Tease AI Java] SPICY development thread

Post by lotar232 »

NOTE: Spicy isn't working in Tease AI Java YET.... this thread is to help co-ordinate development of porting it over.


Lot5000 mentioned it would be good to start a Spicy TAIJ developers thread to help co-ordinate porting efforts among multiple interested folks... I had been thinking this as well so here goes....I'm happy to take any suggestions you guys might have!

Repositories:
I have a personal version of spicy I've been slowly porting over and submitting pull requests to godragon's GitHub:
https://github.com/GodDragoner/Spicy-TAJ-Personality
I can accept pulls from others if Goddragon is too busy developing TAJ... whatever works.
https://github.com/lotar232/Spicy-TAJ-Personality




Code sections:

Luckily spicy is broken into a bunch of mostly independent sections in assistant lobby... lets use this structure to avoid duplicating effort

sections:
  • "intro" (functional, Godragon)
    "Session"(unknown, Godragon)
    "Chores"(in development Lotar232)
    "Dungeon/punishments" (done Lotar232)
    "spankzchoir"(done lotar)
    "Settings"(free)
    "Shop"(Free)
    "Fitness" (functional, Lotar232)
    "Exercise"(functional, Lotar232)
    "Study"(functional, Lotar232)
    "House Rules"(functional, Lotar232)
    "Pin Board" (free)
    "End" (free)
    "punishment day"(functional, Godragon)
    "confession day"(functional, Godragon)
    "weekly checkup"(unknown)
    "vocabularies" (as needed, would be cool if someone ported a bunch)

additional section ideas (suggestions welcome):
  • "academy" (there's some code that was functional in some versions of spicy)
    "confessional"(voluntarily confess outside of confession day)
(just paste in the thread to claim a section and I'll update the above... please only claim 1 unfinished section at a time)


Media
to keep everyone on the same page with media files (and media pathway's) I thought I'd paste some links here... I'm happy to add files to these archives as needed as people fill out content.

Audio files are here:

https://mega.nz/#F!93ZzAQ6I!hFd1T9ueiNM5TNNZ6VEUlw
the pathway for the embedded assignment audio directory should be:
……\TeaseAI Java 1.0.12\Audio\GNMSounds\Assignment


Image files are here:
https://mega.nz/#!JuQziAYQ!xaB-QJvpL-TT ... ZnkKifICa4

the pathway for the embedded assistant directory should be:
.......\TeaseAI Java 1.0.12\Images\Spicy\Assistant
Last edited by lotar232 on Sat Apr 06, 2019 8:40 pm, edited 3 times in total.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease AI Java] SPICY development thread

Post by ski23 »

Its possible I might join in on this at some point. Its exciting work. However, hard to say with all the stuff I’m working on and have planned for Mischevious, TAJ, and my converter. I’ll keep up to date with what you guys are doing. Great work!
lotar232
Explorer
Explorer
Posts: 76
Joined: Sat Nov 01, 2008 6:34 pm

Re: [Tease AI Java] SPICY development thread

Post by lotar232 »

ski23 wrote: Mon Sep 03, 2018 3:17 am Its possible I might join in on this at some point. Its exciting work. However, hard to say with all the stuff I’m working on and have planned for Mischevious, TAJ, and my converter. I’ll keep up to date with what you guys are doing. Great work!
sounds good... also if you write Mischevious Modules that might be good to …ummm... borrow for session or punishments please feel free to point us to them..
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease AI Java] SPICY development thread

Post by ski23 »

lotar232 wrote: Mon Sep 03, 2018 3:35 am
ski23 wrote: Mon Sep 03, 2018 3:17 am Its possible I might join in on this at some point. Its exciting work. However, hard to say with all the stuff I’m working on and have planned for Mischevious, TAJ, and my converter. I’ll keep up to date with what you guys are doing. Great work!
sounds good... also if you write Mischevious Modules that might be good to …ummm... borrow for session or punishments please feel free to point us to them..
Yea, I’ll try to make sure a lot of Mischevious modules work in spicy or arent hard to convert.
lot5000
Explorer
Explorer
Posts: 38
Joined: Fri Aug 03, 2018 1:13 pm

Re: [Tease AI Java] SPICY development thread

Post by lot5000 »

Thanks a lot, especially that you have summarized a lot of things.

What concerns me: I will be focusing on creating chores modules for Mischievous for a while. And then we will think how to port them to Spicy. As I can't run original version of Spicy, it is difficult to me to understand what kind of chores there are programmed already in the PC version - I have tried to look at PC code, but it is a little mess.

But I will make a pull and will see what you have done.
lotar232
Explorer
Explorer
Posts: 76
Joined: Sat Nov 01, 2008 6:34 pm

Re: [Tease AI Java] SPICY development thread

Post by lotar232 »

lot5000 wrote: Mon Sep 03, 2018 4:54 am Thanks a lot, especially that you have summarized a lot of things.

What concerns me: I will be focusing on creating chores modules for Mischievous for a while. And then we will think how to port them to Spicy. As I can't run original version of Spicy, it is difficult to me to understand what kind of chores there are programmed already in the PC version - I have tried to look at PC code, but it is a little mess.

But I will make a pull and will see what you have done.
sounds good... there's also abunch of repositories for the original (non java) spicy (maybe I should link the above)... my fork is here:
https://github.com/lotar232/Spicy-Tease ... ode/Chores...

(I don't see any chore code in the Java tree yet, so its a pretty blank canvas)
lot5000
Explorer
Explorer
Posts: 38
Joined: Fri Aug 03, 2018 1:13 pm

Re: [Tease AI Java] SPICY development thread

Post by lot5000 »

Have set up Tease AI Java from Lotar fork.

Have run setup and first session.

Bugs I have noticed:
1) Matching image file for path Images/Spicy/Toys/ballCrusher.jpg does not exist.
File is BallCrusher... The same is some others which start with case, but not everything... changed the name to lingerieSet* thinking about convention, but this time is my mistake, because the files shall be LingerieSet*.jpg The same with HotSauce
3)Matching image file for path Images/Spicy/Toys/inflatableButt Plugs.jpg does not exist.
File is inflatablePlug.jpg
4) Matching image file for path Images/Spicy/Toys/advancedLingerie.jpg does not exist.
File really do not exist. Was not able to find it with a quick search.
5) Matching audio file for path Audio/Spicy/Expressions/Laugh/*.mp3 does not exist.
There is no Expressions folder
6) Matching audio file for path Audio/Spicy/Starts/Intro/intro1.mp3 does not exist.
Exists in Audio/GNMSounds/Starts/StartScripts/Intro or maybe needs to be moved into Audio/Spicy/Starts/StartScripts/Intro
7) Matching image file for path Images/Spicy/Slaves/F1 Alice Brookes/1/1.jpg does not exist. (as well as other slaves)
Correct is Images/Spicy/Slaves/F1 Alice Brookes/1/1.JPG :)))

Potential solutions:
1) Programming that TeaseAI and Spicy is not case sensitive to files, would solve at least 80 % of path related problems for Linux/Mac users. Now it is either the case letter in a name, or case letters in extension of the file, and nothing shows up.
2) Some system wide debugging function like Mischevious has. If you turn on debugging, and you have an error - it shows up in a chat. Users loose experience not even knowing (like with sound files for example), because nothing shows the error.
3) Lotar - review your instructions concerning the image paths. I found that they probably shall be more like /Images/Spicy/* and Sound/Spicy. Although need to admit that probably not in all cases / have checked only setup/firstsession.
lot5000
Explorer
Explorer
Posts: 38
Joined: Fri Aug 03, 2018 1:13 pm

Re: [Tease AI Java] SPICY development thread

Post by lot5000 »

One more notice about exercise module. Thank you very much for making it. That was my second priority.

Small suggestion: I suggest to put saving results that "Exercise done" into variable when the exercise is completed and not in the beginning. if you stop the programme in the first steps of the exercise module, it does not allow you to come back, because you "perfomed already exercise today and need to wait for 20 hours"
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease AI Java] SPICY development thread

Post by ski23 »

lot5000 wrote: Mon Sep 03, 2018 10:46 pm One more notice about exercise module. Thank you very much for making it. That was my second priority.

Small suggestion: I suggest to put saving results that "Exercise done" into variable when the exercise is completed and not in the beginning. if you stop the programme in the first steps of the exercise module, it does not allow you to come back, because you "perfomed already exercise today and need to wait for 20 hours"
You could always just use the ChatUtils utility. That would provide you with great debugging, warning, error messages.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease AI Java] SPICY development thread

Post by ski23 »

This might be useful to some of you. Keep in mind this project is still only part way through development:
viewtopic.php?f=26&t=21103
lot5000
Explorer
Explorer
Posts: 38
Joined: Fri Aug 03, 2018 1:13 pm

Re: [Tease AI Java] SPICY development thread

Post by lot5000 »

ski23 wrote: Tue Sep 04, 2018 1:08 am This might be useful to some of you. Keep in mind this project is still only part way through development:
viewtopic.php?f=26&t=21103
Thanks a lot for this ! :w00t:

Tried it and was amazed that even in the unfinished version it helps a lot. At least it helped me to better understand the original TAI scripts.

What concerns the chatutils - is it difficult to add support for this ? :
1) Virtual assistant's messages
2) Random messages (in original TAI files I often see something like this @RT(So,Okay,Well then,Hmm,Let's see)

1 implementation in Spicy:

Code: Select all


//You can change sendVirtualAssistantMessage to something like AMessage to keep with naming convention
sendVirtualAssistantMessage("Check settings");

function sendVirtualAssistantMessage(message, wait, skipImage) {
    textName = new javafx.scene.text.Text("[Assistant]: ");
    textName.setFill(javafx.scene.paint.Color.ROYALBLUE);
    textName.setFont(javafx.scene.text.Font.font(null, javafx.scene.text.FontWeight.BOLD, 14));

    message = replaceVocab(message);
    text = new javafx.scene.text.Text(message);
    text.setFill(javafx.scene.paint.Color.ROYALBLUE);
    text.setFont(javafx.scene.text.Font.font(null, javafx.scene.text.FontWeight.MEDIUM, 13));

    sendCustomMessage(textName, text);

    //Show image
    if(skipImage === undefined || !skipImage) {
        showImage("Images/Assistant/" + ASSISTANT_CURRENT_SET_ID + "/*.{jpg,JPG}" );
    }

    if(wait === undefined || wait) {
        sleep(1000 + message.length * 50, "MILLISECONDS");
    }
}

2 nd implementation in Spicy

Code: Select all


// in original TAI files I often see @RT(So,Okay,Well then,Hmm,Let's see)

sendMessage(random("So", "Okay", "Well then", "Hmm", "Let's see");

/**
 * Returns a random integer between min (inclusive) and max (inclusive)
 * Using Math.round() will give you a non-uniform distribution!
 */
function randomInteger(min, max) {
    if(min >= max) {
        return max;
    }

    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function random() {
    return arguments[randomInteger(0, arguments.length - 1)];
}
Or random can be also implemented in converter. Now the converter gave me this while converting the same "@RT(So,Okay,Well then,Hmm,Let's see)":

Code: Select all


var random0 = Math.floor(Math.random() * (4 + 1));
    if (random0 == 0)
    {
        CMessage("So");
    }
    else if (random0 == 1)
    {
        CMessage("Okay");
    }
    else if (random0 == 2)
    {
        CMessage("Well then");
    }
    else if (random0 == 3)
    {
        CMessage("Hmm");
    }
    else if (random0 == 4)
    {
        CMessage("Let's see");
    }
Something like "CMessage(random("So", "Okay", "Well then", "Hmm", "Let's see");" would have been much more elegant.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease AI Java] SPICY development thread

Post by ski23 »

lot5000 wrote: Tue Sep 04, 2018 5:43 am
ski23 wrote: Tue Sep 04, 2018 1:08 am This might be useful to some of you. Keep in mind this project is still only part way through development:
viewtopic.php?f=26&t=21103
Thanks a lot for this ! :w00t:

Tried it and was amazed that even in the unfinished version it helps a lot. At least it helped me to better understand the original TAI scripts.

What concerns the chatutils - is it difficult to add support for this ? :
1) Virtual assistant's messages
2) Random messages (in original TAI files I often see something like this @RT(So,Okay,Well then,Hmm,Let's see)

1 implementation in Spicy:

Code: Select all


//You can change sendVirtualAssistantMessage to something like AMessage to keep with naming convention
sendVirtualAssistantMessage("Check settings");

function sendVirtualAssistantMessage(message, wait, skipImage) {
    textName = new javafx.scene.text.Text("[Assistant]: ");
    textName.setFill(javafx.scene.paint.Color.ROYALBLUE);
    textName.setFont(javafx.scene.text.Font.font(null, javafx.scene.text.FontWeight.BOLD, 14));

    message = replaceVocab(message);
    text = new javafx.scene.text.Text(message);
    text.setFill(javafx.scene.paint.Color.ROYALBLUE);
    text.setFont(javafx.scene.text.Font.font(null, javafx.scene.text.FontWeight.MEDIUM, 13));

    sendCustomMessage(textName, text);

    //Show image
    if(skipImage === undefined || !skipImage) {
        showImage("Images/Assistant/" + ASSISTANT_CURRENT_SET_ID + "/*.{jpg,JPG}" );
    }

    if(wait === undefined || wait) {
        sleep(1000 + message.length * 50, "MILLISECONDS");
    }
}

2 nd implementation in Spicy

Code: Select all


// in original TAI files I often see @RT(So,Okay,Well then,Hmm,Let's see)

sendMessage(random("So", "Okay", "Well then", "Hmm", "Let's see");

/**
 * Returns a random integer between min (inclusive) and max (inclusive)
 * Using Math.round() will give you a non-uniform distribution!
 */
function randomInteger(min, max) {
    if(min >= max) {
        return max;
    }

    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function random() {
    return arguments[randomInteger(0, arguments.length - 1)];
}
Or random can be also implemented in converter. Now the converter gave me this while converting the same "@RT(So,Okay,Well then,Hmm,Let's see)":

Code: Select all


var random0 = Math.floor(Math.random() * (4 + 1));
    if (random0 == 0)
    {
        CMessage("So");
    }
    else if (random0 == 1)
    {
        CMessage("Okay");
    }
    else if (random0 == 2)
    {
        CMessage("Well then");
    }
    else if (random0 == 3)
    {
        CMessage("Hmm");
    }
    else if (random0 == 4)
    {
        CMessage("Let's see");
    }
Something like "CMessage(random("So", "Okay", "Well then", "Hmm", "Let's see");" would have been much more elegant.
I can add something for the virtual messages. I was most recently working on the random stuff as well; it will need some changes. One thing to note though, lots of the code that the converter generates may not be elegant. There are 2 reasons for this:
1. I'm eventually wanting to add the ability for the converter to also work without TAJUtils so some stuff needs to be coded directly.
2. Converting code from a goto structure into functions and if statements by a machine is very difficult and to make the output code fully elegant, it would make the converter so complicated that I'd realistically never finish it. Lots of the code the converter outputs won't be pretty but it will still be just as efficient or nearly as efficient as code written by humans.

I'll work on adding this when I get the chance, but currently I have quite a few tasks TAI, Mischevious, and life related that will come first so it might be a little bit.
ski23
Explorer At Heart
Explorer At Heart
Posts: 464
Joined: Sun Jun 11, 2017 12:53 am
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): Courtney
Sub/Slave(s): Courtney
Location: Virginia
Contact:

Re: [Tease AI Java] SPICY development thread

Post by ski23 »

The Tease AI Developer Guide is now available here.
GodDragon
Explorer At Heart
Explorer At Heart
Posts: 790
Joined: Sun Jun 11, 2017 4:30 pm
Gender: Male
Sexual Orientation: Straight
I am a: Switch

Re: [Tease AI Java] SPICY development thread

Post by GodDragon »

Punishment and confession day should be done as far as I am concerned:
https://github.com/GodDragoner/Spicy-TA ... mentDay.js
https://github.com/GodDragoner/Spicy-TA ... sionDay.js
lotar232
Explorer
Explorer
Posts: 76
Joined: Sat Nov 01, 2008 6:34 pm

Re: [Tease AI Java] SPICY development thread

Post by lotar232 »

GodDragon wrote: Thu Sep 06, 2018 11:27 pm Punishment and confession day should be done as far as I am concerned:
https://github.com/GodDragoner/Spicy-TA ... mentDay.js
https://github.com/GodDragoner/Spicy-TA ... sionDay.js
awesome, I'll mark them as functional! thanks (just wasn't sure what state they were in.... I might tweak punishment day a bit when I get the chance... there's always something else to do ;) )
Post Reply

Who is online

Users browsing this forum: caved and 25 guests