[EDIT: Development ended][GuideMe] Black Box [POC v0.1]

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
Pseudonym
Explorer At Heart
Explorer At Heart
Posts: 372
Joined: Sat Sep 22, 2012 12:03 pm

[EDIT: Development ended][GuideMe] Black Box [POC v0.1]

Post by Pseudonym »

EDIT:
I've ended development of this project. The good news is that it was because new CYOA platform has been developed by fagustree which allowed me to expand on this idea in form of Cock Hero game.

If you are interested, you can check it out here:
viewtopic.php?f=25&t=24640






Hi,

first of all, this is very early build meant for testing the basic idea behind this tease. If you don't want to be spoiled, play unfinished and unpolished product, deal with bugs or you are just not interested in testing or providing feedback, please, wait for the final release.
Thank you!

Little bit of background:
So the idea for this tease came from my failed attempt at creating sequel for Ravelli's Corruption:viewtopic.php?f=26&t=21833
After some very insightful feedback, I realized that I was too ambitious with my design and I needed to start with something more simple I've decided to scale down, focus mostly on the procedural generation and design a new tease around it.

Description:
Black Box is mult-day, long-term, T&D "game" for GuideMe 0.3.8 that focuses on replayability. (The progression is limited to 2 days in this proof of concept.)
The main "game loop" is randomized image slideshow with procedurally generated taunts.
After you finish each day, you will unlock perks, new content and increase the difficulty.
The design is inspired by rogue-like games.

Your goal:
Try to make it as far as possible. If you fail, you can always try next time.

Warning:
If you are not into long periods of denial and you don't want to wait to be able to play again, this tease might not be for you.



Black Box v0.1 download link:
https://mega.nz/file/lV1ATCTa#m2LfKIoJa ... c1riH1rMC0

GuideMe 0.3.8 download link:
https://mega.nz/file/RNJGhSJR#9GQX8b9t4 ... qtZO6P5NQQ

Please, let me know what you think. I'm interested in all kinds of feedback.
Does it have a potential? Are there any bugs? What did you liked and disliked? Are there problems with taunts? Do they make sense? Grammar errors? Are there things that are unclear? What could be improved? What would you like to see in future versions of this tease? ...

Version history:
Spoiler: show
V0.1
Maximum number of sessions increased from 2 to 4
25 new tagged images (total of 180)
Cca 164 new taunt lines (total of ~475)
Same taunt now can't repeat during one session
New perks: Latecomer, Go again!
New difficulty unlockable: Edge Holding
Last edited by Pseudonym on Wed Nov 03, 2021 2:23 pm, edited 13 times in total.
My Discord server: https://discord.gg/tbQxJ22
My latest release: Cock Hero - Replay viewtopic.php?t=24640
All my work so far: https://mega.nz/folder/sdcHmQzT#PZ4ctIZsoGp4N7zuDmIh_Q
frankendude
Explorer At Heart
Explorer At Heart
Posts: 101
Joined: Tue Jun 24, 2014 3:26 pm

Re: [GuideMe][Proof of concept] Black Box

Post by frankendude »

Dumb question. Where is 0.3.8 version? I only see 0.3.4?
User avatar
Pseudonym
Explorer At Heart
Explorer At Heart
Posts: 372
Joined: Sat Sep 22, 2012 12:03 pm

Re: [GuideMe][Proof of concept] Black Box

Post by Pseudonym »

frankendude wrote: Sat Aug 01, 2020 4:14 am Dumb question. Where is 0.3.8 version? I only see 0.3.4?
Yeah, it's kind of hidden in philo's signature:
memberlist.php?mode=viewprofile&u=21239

Here is a download link for 64bit version:
https://mega.nz/file/RNJGhSJR#9GQX8b9t4 ... qtZO6P5NQQ

I've added it ot the first post.
My Discord server: https://discord.gg/tbQxJ22
My latest release: Cock Hero - Replay viewtopic.php?t=24640
All my work so far: https://mega.nz/folder/sdcHmQzT#PZ4ctIZsoGp4N7zuDmIh_Q
User avatar
PlayfulGuy
Experimentor
Experimentor
Posts: 1068
Joined: Sat Jul 07, 2012 10:08 pm
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): No domme
Sub/Slave(s): No sub
Location: British Columbia, Canada

Re: [GuideMe][Proof of concept] Black Box

Post by PlayfulGuy »

Okay, I'm totally going to try this out later and get back to you with feedback, but I need to know how/where you generated these big block letter comments in your code. I could totally use this. I did a quick google but couldn't find one that did the same as what you have.
About.jpg
About.jpg (70.84 KiB) Viewed 13884 times
PG
User avatar
Pseudonym
Explorer At Heart
Explorer At Heart
Posts: 372
Joined: Sat Sep 22, 2012 12:03 pm

Re: [GuideMe][Proof of concept] Black Box

Post by Pseudonym »

PlayfulGuy wrote: Mon Aug 03, 2020 8:49 pm Okay, I'm totally going to try this out later and get back to you with feedback, but I need to know how/where you generated these big block letter comments in your code. I could totally use this. I did a quick google but couldn't find one that did the same as what you have.
It's an Atom text editor package called "minimap-titles". It turns selected text to ASCII.
On top of that, you can use "minimap" package to turn the side scroll bar to a "map".
Very helpful for orienting in big files.

Image

Btw my code is kind of a mess. Look at it only on your own risk. :lol:
My Discord server: https://discord.gg/tbQxJ22
My latest release: Cock Hero - Replay viewtopic.php?t=24640
All my work so far: https://mega.nz/folder/sdcHmQzT#PZ4ctIZsoGp4N7zuDmIh_Q
frankendude
Explorer At Heart
Explorer At Heart
Posts: 101
Joined: Tue Jun 24, 2014 3:26 pm

Re: [GuideMe][Proof of concept] Black Box

Post by frankendude »

Thanks for the link. I went through it, waited a day so I could hit the refresh button, forgot, and tried to load back up one day late and found the refresh button disappeared. Not sure if I did something wrong.

Also, I'm not a huge fan of forced multi-day waiting, but you may have plans in mind that make that each day worth with additional features you'll end up adding.
hallojo1337
Explorer At Heart
Explorer At Heart
Posts: 168
Joined: Sun Jul 05, 2015 12:04 pm
Gender: Male
Sexual Orientation: Straight
I am a: Submissive

Re: [GuideMe][Proof of concept] Black Box

Post by hallojo1337 »

I really like the idea for this Tease. Unfortunately I am locked in chastity right now so I can`t really test it. And I don´t want to spoil me. :-D
User avatar
PlayfulGuy
Experimentor
Experimentor
Posts: 1068
Joined: Sat Jul 07, 2012 10:08 pm
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): No domme
Sub/Slave(s): No sub
Location: British Columbia, Canada

Re: [GuideMe][Proof of concept] Black Box

Post by PlayfulGuy »

frankendude wrote: Tue Aug 04, 2020 1:41 am Thanks for the link. I went through it, waited a day so I could hit the refresh button, forgot, and tried to load back up one day late and found the refresh button disappeared. Not sure if I did something wrong.
I had the same problem but but I did come back the next day. It's a bug in the code.
frankendude wrote: Tue Aug 04, 2020 1:41 am Also, I'm not a huge fan of forced multi-day waiting, but you may have plans in mind that make that each day worth with additional features you'll end up adding.
Same here. I think you should be allowed a couple sessions a day at least, particularly if they are short sessions like this.

PG
User avatar
PlayfulGuy
Experimentor
Experimentor
Posts: 1068
Joined: Sat Jul 07, 2012 10:08 pm
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): No domme
Sub/Slave(s): No sub
Location: British Columbia, Canada

Re: [GuideMe][Proof of concept] Black Box

Post by PlayfulGuy »

Pseudonym wrote: Mon Aug 03, 2020 9:21 pm
It's an Atom text editor package called "minimap-titles". It turns selected text to ASCII.
On top of that, you can use "minimap" package to turn the side scroll bar to a "map".
Very helpful for orienting in big files.
<snip>
Btw my code is kind of a mess. Look at it only on your own risk. :lol:
Thanks for that. I don't use that editor unfortunately. I did some digging and found something similar but nothing that gives those nice solid block letters.

Now for feedback. I play tested it and did look at the code, and you're right, it is a bit messy :-) .

While I do have lots of feedback to give, let me say right up front that I like where you seem to be going with this and I think it has great potential, so all that follows should totally be viewed as constructive criticism. I look forward to seeing how this develops. I can see it being a good game to play, and the way you are approaching it I can see it having good replay value since each time can be different.

Consider me your first volunteer to help with play testing, and however else I can help.

General comments:
Spoiler: show
You definitely need some kind of intro to the tease. You just jumped in with "wake up it's time for testing" as though you randomly wake up in some test facility somewhere. You should totally make up a little more story intro like "you volunteer to be a test subject at the Milovana Research Center, because you get paid if you're accepted or something like that". Then what you have for the intro covers you being accepted, at which point you can be informed of your subject number, and instructed to come back tomorrow, or when you're ready for your first session etc.

Speaking of the subject number in most places you say #subjectNumber - I would drop the # sign.
The way it would normally be said is like "subject six five one" rather than "subject number six five one"

On the first page you have an instruction like "if this is your first time here"...
You are using GuideMe, so you can tell if it's their first time without having to ask them.
Spoiler: show

The first time they run the tease you have a clean slate with no flags set or anything.
On the Warning page you can have the button set flag "FinishedAbout".
On page Intro_8 have the button set flag "FinishedIntro".
Then on the start page you can have code like
if ( guide.isSet("FinishedIntro") ) show "Todays Session" button that goes to loadSlideshow
else if ( guide.isSet("FinishedAbout") ) show "Intro" button that goes to Intro
else show "About" button // First time here
BUG: When I came back on the second day the "Timer" page javascript failed with "vSetup is undefined" so nothing happened.
Spoiler: show
I fixed that and then it took me right to the Loading page and jumped in. I see your comment in the code that it needs to go to a "day intro", which it really does, so I assume you'll be fixing that.
I think you need to allow for the fact that a participant may not be able to get there every single day, because shit happens, so in Timer you should be checking if "today is >= tomorrow" and allow the next session, but use your vGlobal array (or whatever) to count how many days the player plays, rather than how many days have elapsed.

And as mentioned in another comment, I do think you should be allowed more than one session a day. Even just two a day would be better. This is also something to work into the Rules/Intro. That part of the testing means denying yourself and only performing the specific activities given in the tests, etc.

Idea to consider:
Spoiler: show
There's a great opportunity here to link outside the game. Perhaps one of the perks you unlock could be teases or assignments. For example you could get sent to Milovana to do some specific tease or other, or you get told to watch so many minutes of video on a given subject, stroking while watching but no edging allowed etc.
Misc nitpicky notes:
Spoiler: show
On the rules page you say "If not instructed otherwise Stroke to the metronome and try not to cum."
This is an instruction, not a rule. The rule should be "Follow all instructions", then on page loadSlideshow (or wherever) you should be instructed to start stroking and get ready, stroke to the beat, etc.
LoadSlideshow for example could give instruction to "Get hard and stroke at your own pace. Tell me when you're ready to begin the test." and have a button for "Begin Test". When you begin the test, you are instructed to "stroke to the beat".

On page Intro-7 - "I have seen sudden spike in your brain activity" the wording is a bit clunky - how about "There was a sudden spike in your brain activity. Let me get previous slide" (and the delay for that was way too long - I'd suggest half that).

Instead of big headings saying "Metronome", "Edge" etc, why not commands like "stroke to the beat" or "get to the edge".
I'm curious about why you did it that way. Do you have a plan?
More nitpicky/coding feedback:
Spoiler: show
On page Intro_1 (and on several other pages) I saw things like

Code: Select all

       vGlobal = scriptVars.get("vGlobal");
       scriptVars.put("vGlobal.SubjectNumber", vGlobal.SubjectNumber);
Why do you save the subject number property as a new variable when it's easily referenced as vGlobal.subjectNumber wherever needed? It's quite redundant, but I did see something similar in several places.

On the Timer page you have

Code: Select all

        vTomorrow = scriptVars.get("vTomorrow");
        var vToday = new Date();
        vToday.setHours(0,0,0,0);

    // Neither of the following are required - vToday is not used anywhere else so you don't need 
    // to "scriptVars.put" it, and vTomorrow hasn't changed, so there's no need to update it.
    scriptVars.put("vToday", vToday);
    scriptVars.put("vTomorrow", vTomorrow);
I hope all that helps, and I'm totally serious about being a test subject. I'd be happy to play test and give feedback.
But be patient on replies. Sometimes I go for days at a time without checking in here.

Regards,

PG
User avatar
Pseudonym
Explorer At Heart
Explorer At Heart
Posts: 372
Joined: Sat Sep 22, 2012 12:03 pm

Re: [GuideMe][Proof of concept] Black Box

Post by Pseudonym »

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm Now for feedback. I play tested it and did look at the code, and you're right, it is a bit messy :-) .
Yeah, I've started learning conding and js just recently. Any overall tips on how to reduce the messiness? :lol:

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm You definitely need some kind of intro to the tease. You just jumped in with "wake up it's time for testing" as though you randomly wake up in some test facility somewhere.
Actually, that's kind of what I'm going for. The idea behind the intro is to create curiosity. As you will play over next days, you will learn more of the story.
But I agree, the intro definately needs improvement. I'll look into it.

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm On the first page you have an instruction like "if this is your first time here"...
You are using GuideMe, so you can tell if it's their first time without having to ask them.
Spoiler: show
The first time they run the tease you have a clean slate with no flags set or anything.
On the Warning page you can have the button set flag "FinishedAbout".
On page Intro_8 have the button set flag "FinishedIntro".
Then on the start page you can have code like
if ( guide.isSet("FinishedIntro") ) show "Todays Session" button that goes to loadSlideshow
else if ( guide.isSet("FinishedAbout") ) show "Intro" button that goes to Intro
else show "About" button // First time here
Ah, so you can set and check flags on a "GuideMe level" where it remembers even after tease is restarted? That's good to know. I need to test it.

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm BUG: When I came back on the second day the "Timer" page javascript failed with "vSetup is undefined" so nothing happened.
Spoiler: show
I fixed that and then it took me right to the Loading page and jumped in. I see your comment in the code that it needs to go to a "day intro", which it really does, so I assume you'll be fixing that.
Fixed. For some reason the bug didn't appeared unless you close and re-open the GuideMe so I've missed it.
It will be fixed in the next version and there will be a "day intro".

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm I think you need to allow for the fact that a participant may not be able to get there every single day, because shit happens, so in Timer you should be checking if "today is >= tomorrow" and allow the next session, but use your vGlobal array (or whatever) to count how many days the player plays, rather than how many days have elapsed.
Hmm, so the idea is very rogue-like. If you don't show up, you lose, but you can still try next time.
But I understand that people have bussy lives. I'll probably add some kind of perk that will allow you to be one or more days late.

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm And as mentioned in another comment, I do think you should be allowed more than one session a day. Even just two a day would be better. This is also something to work into the Rules/Intro. That part of the testing means denying yourself and only performing the specific activities given in the tests, etc.
So the tease starts with length of the slideshow between cca 5-10 minutes.
I have added choice in "difficulty" that increases maximum length by 1 minute to maximum of +5 minutes.
I will also add perk that will allow you to choose wheter you want to play second sessions right after you finish the first one.

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm Misc nitpicky notes:
Spoiler: show
Instead of big headings saying "Metronome", "Edge" etc, why not commands like "stroke to the beat" or "get to the edge".
I'm curious about why you did it that way. Do you have a plan?
So, there is not much of a plan. :lol:
I have just chose these short words + colors to quckly convey what the player should do.
Also these will interact together after you unlock more of them, so you could might have combinations like free-style + green + balls.
The idea is to display these basic command and possibly provide more detail in taunts.

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm More nitpicky/coding feedback:
Spoiler: show
On page Intro_1 (and on several other pages) I saw things like

Code: Select all

       vGlobal = scriptVars.get("vGlobal");
       scriptVars.put("vGlobal.SubjectNumber", vGlobal.SubjectNumber);
Why do you save the subject number property as a new variable when it's easily referenced as vGlobal.subjectNumber wherever needed? It's quite redundant, but I did see something similar in several places.
If I don't use the scriptVars.put, the value won't show up in <span>. Or is there something that I'm missing?

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm
Spoiler: show
On the Timer page you have

Code: Select all

        vTomorrow = scriptVars.get("vTomorrow");
        var vToday = new Date();
        vToday.setHours(0,0,0,0);

    // Neither of the following are required - vToday is not used anywhere else so you don't need 
    // to "scriptVars.put" it, and vTomorrow hasn't changed, so there's no need to update it.
    scriptVars.put("vToday", vToday);
    scriptVars.put("vTomorrow", vTomorrow);
Yes, you are right, the vToday is a leftover from when I was testing it.
The vTomorrow is used in <span>. Again, I thought you have to use scriptVars.put to show these valuse on the screen.
Is there another, easier way?

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm I hope all that helps, and I'm totally serious about being a test subject. I'd be happy to play test and give feedback.
No, you've provided great feedback and I'm glad that someone is interested in this project.

PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm But be patient on replies. Sometimes I go for days at a time without checking in here.
Don't worry, this is kind of a long-term side/pet project for me. I'm not in a rush.
Besides, it takes me some time to respond too as you can see. :lol:

Thank you for your feedback!
I'll try to adress these issues in upcoming updates of this tease.
My Discord server: https://discord.gg/tbQxJ22
My latest release: Cock Hero - Replay viewtopic.php?t=24640
All my work so far: https://mega.nz/folder/sdcHmQzT#PZ4ctIZsoGp4N7zuDmIh_Q
User avatar
PlayfulGuy
Experimentor
Experimentor
Posts: 1068
Joined: Sat Jul 07, 2012 10:08 pm
Gender: Male
Sexual Orientation: Bisexual/Bi-Curious
I am a: Switch
Dom/me(s): No domme
Sub/Slave(s): No sub
Location: British Columbia, Canada

Re: [GuideMe][Proof of concept] Black Box

Post by PlayfulGuy »

Pseudonym wrote: Sat Aug 08, 2020 10:40 am
PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm Now for feedback. I play tested it and did look at the code, and you're right, it is a bit messy :-) .
Yeah, I've started learning conding and js just recently. Any overall tips on how to reduce the messiness? :lol:
The things I noted later were the main things I noticed. It takes time and practice to get a handle on how these things work. I didn't go into a lot of detail in your code, but most of what I saw was fine, just a few things like that stood out. It's really just deepening your understanding of how GuideMe and javascript work and interact, which will come in time. As your project progresses feel free to ask questions, and I'll feel free to provide feedback.
Pseudonym wrote: Sat Aug 08, 2020 10:40 am
PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm On the first page you have an instruction like "if this is your first time here"...
You are using GuideMe, so you can tell if it's their first time without having to ask them.
Spoiler: show
The first time they run the tease you have a clean slate with no flags set or anything.
On the Warning page you can have the button set flag "FinishedAbout".
On page Intro_8 have the button set flag "FinishedIntro".
Then on the start page you can have code like
if ( guide.isSet("FinishedIntro") ) show "Todays Session" button that goes to loadSlideshow
else if ( guide.isSet("FinishedAbout") ) show "Intro" button that goes to Intro
else show "About" button // First time here
Ah, so you can set and check flags on a "GuideMe level" where it remembers even after tease is restarted? That's good to know. I need to test it.
Basically yes. Guideme remembers all flags and variables when you close and reload the tease later, but if you do a File/Restart it clears everything like it's the first time you've run it.
Pseudonym wrote: Sat Aug 08, 2020 10:40 am
PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm I think you need to allow for the fact that a participant may not be able to get there every single day, because shit happens, so in Timer you should be checking if "today is >= tomorrow" and allow the next session, but use your vGlobal array (or whatever) to count how many days the player plays, rather than how many days have elapsed.
Hmm, so the idea is very rogue-like. If you don't show up, you lose, but you can still try next time.
But I understand that people have bussy lives. I'll probably add some kind of perk that will allow you to be one or more days late.
Ah, I get it. Maybe another thing to keep in mind then is that not everyone knows what a "rogue-like" game is. I actually had to google it as I'd never encountred the term before. So if your expected to show up every day, put that in the rules page so players know up front what's expected, and the consequences if appropriate.

Using a perk to handle that is a great idea.
Pseudonym wrote: Sat Aug 08, 2020 10:40 am
PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm And as mentioned in another comment, I do think you should be allowed more than one session a day. Even just two a day would be better. This is also something to work into the Rules/Intro. That part of the testing means denying yourself and only performing the specific activities given in the tests, etc.
So the tease starts with length of the slideshow between cca 5-10 minutes.
I have added choice in "difficulty" that increases maximum length by 1 minute to maximum of +5 minutes.
I will also add perk that will allow you to choose wheter you want to play second sessions right after you finish the first one.
Hmmmm. Not sure I'd allow right after. Make them wait at least half an hour or an hour or something.
Pseudonym wrote: Sat Aug 08, 2020 10:40 am
PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm Misc nitpicky notes:
Spoiler: show
Instead of big headings saying "Metronome", "Edge" etc, why not commands like "stroke to the beat" or "get to the edge".
I'm curious about why you did it that way. Do you have a plan?
So, there is not much of a plan. :lol:
I have just chose these short words + colors to quckly convey what the player should do.
Also these will interact together after you unlock more of them, so you could might have combinations like free-style + green + balls.
The idea is to display these basic command and possibly provide more detail in taunts.
Yeah, I kind of thought that might be the idea. I guess it's the choice of words for me. To me Metronome is not something I should do, but Stroke is. Having the word Metronome on the screen is redundant because I can hear the metronome.
Pseudonym wrote: Sat Aug 08, 2020 10:40 am
PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm More nitpicky/coding feedback:
Spoiler: show
On page Intro_1 (and on several other pages) I saw things like

Code: Select all

       vGlobal = scriptVars.get("vGlobal");
       scriptVars.put("vGlobal.SubjectNumber", vGlobal.SubjectNumber);
Why do you save the subject number property as a new variable when it's easily referenced as vGlobal.subjectNumber wherever needed? It's quite redundant, but I did see something similar in several places.
If I don't use the scriptVars.put, the value won't show up in <span>. Or is there something that I'm missing?
Oh, I totally missed that you were using it in a <span>, so no, it was me missing something.
But, since GuideMe remembers sccriptVars, and subjectNumber doesn't change, you only need to do the scriptVars.put once, perhaps in your fInitializeSetup() function. Then, the scriptVar is remembered and will appear in any page that has it in a span. It's not necessary to retrieve the scriptvar and put it again on each page.

I would also suggest you shorten the scriptVar name to just subjectNumber instead of vGlobal.subjectNumber. I try and make variable names descriptive, but I also try to keep them as short as possible. It's very subjective I know, but for what it's worth...
Pseudonym wrote: Sat Aug 08, 2020 10:40 am
PlayfulGuy wrote: Wed Aug 05, 2020 8:12 pm
Spoiler: show
On the Timer page you have

Code: Select all

        vTomorrow = scriptVars.get("vTomorrow");
        var vToday = new Date();
        vToday.setHours(0,0,0,0);

    // Neither of the following are required - vToday is not used anywhere else so you don't need 
    // to "scriptVars.put" it, and vTomorrow hasn't changed, so there's no need to update it.
    scriptVars.put("vToday", vToday);
    scriptVars.put("vTomorrow", vTomorrow);
Yes, you are right, the vToday is a leftover from when I was testing it.
The vTomorrow is used in <span>. Again, I thought you have to use scriptVars.put to show these valuse on the screen.
Is there another, easier way?
The vTomorrow scriptVar is created and "put" on page Day_Finished, and GuideMe will remember it from then on, and it will appear in any page that includes <span>vTomorrow</span>.

So on the Timer page you need the scriptVar.get to retrieve the variable so you can use it in your "if" conditions etc, but you don't need to "put" it again unless it's value changes.

Cheers,

PG
mangoman
Explorer At Heart
Explorer At Heart
Posts: 355
Joined: Tue Apr 27, 2010 9:12 pm
Gender: Male
Sexual Orientation: Straight
I am a: Slave
Location: Krakosia
Contact:

Re: [GuideMe][Proof of concept] Black Box

Post by mangoman »

not a fan of loops
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: [GuideMe][Proof of concept] Black Box

Post by desertfox »

Hello, got to take a look at it and very interesting! I like the rogue like concept of it. For the people that don't know, the flow of a rogue like is that you basically go into the game, die frequently, and try to make the run again. But every time you go in you may gain something to make you more powerful so that you can make it farther along in the run the next time you go in, or maybe unlock a new class or abilities etc.

I agree a little bit more introduction wouldn't hurt at all, the more you can do to pull people into the scene, the better. I also have found in teases I really like when the tease makes me agree to things. It's just a little thing that makes the tease feel more interactive and less passive that you can't do with videos. I also have liked moments where you get to choose to extend the tease for longer, esp if you are deep into it and choose to keep going. You become the author of your own misery which is more engaging than when it's decided for you imho.

For the names of the 'modes' happening like metronome, thematic names can go along way. A good example is the Technical Forms tease, where the stroke patterns are named things like CAT, DOG, MONKEY, DRAGON. For some reason the formality of the standard tease process really drew me into the tease, and has the added benefit of helping with randomization. Define the 2-5 pattern as Tiger or something and then you can randomize Tiger for 15 sec, cat for 30 sec, dragon for 10, etc.

For the continued time each day, I think playfulguy has a good point about not doing it day by day as life does happen. I've run into some issues with timed teases where I finished at 2:00am one day cause I was up late, and then can start at 11:45pm the next day and can't stay up late, but, the tease won't unlock till 2 am again. However, I understand the issue if that is the designed experience, esp the one you personally want. There is a big difference between you CAN and you MUST do a thing.

Maybe a good compromise is to have an 'ironman' mode that you pick when you start. Ironman would be the, you must show up the next day, non ironman would be you just need to be more than 24 hours since the last tease.

Thinking about the content, one thing I've come to realize is that what makes a game good is the game puts barriers up in front of the player that they get to knock down and see what is on the other side. If players run out of barriers they often run out of interest, so always having some target or thing to reach for is important to retain interest. It's a good thing to think about in the back of your head as you make anything.

For roguelike elements, that got me thinking a lot about things you can add to each run. I like the idea right off of unlocking states of undress, and I assume escalating sex acts that would translate into the idea of going to harder levels of the game.

An idea that might be interesting is if you can somehow unlock new girls and add their pictures into the mix. I want to say something like a random encounter, do their tease, and their folder if pictures is unlocked, though that might stray too far towards a set piece tease rather than randomization.

Finally the thing I have had trouble with using random teases is that there isn't a designed order of events, sometimes you get the same picture twice in a row or close together, the random text can feel too generic such that it doesn't do anything, or the order/style of pictures is all over the place. But again I always get more drawn into theme and scenarios and am particularly biased there.

So at the end of the day I think it's an interesting concept, I think the best parts will be how you break up skills and unlocks with the rogue like theme.
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: [GuideMe][Proof of concept] Black Box

Post by desertfox »

Oh also just some quick programming tips that might help. I think number one tip for making your life easier is to try to never put the same code in two or more places in your code and make sure to use functions if that is the case. Basically if you ever find yourself going for copy paste, take a step back and see if you can put a function around it. The reason you want to do this is if you come back to change or fix that code, you won't have to find it in 20 places, just the one, and know that it's right across the board.

For organizing, I personally to name and group things by the 'business logic', not what it is in code. Meaning group it by what it does and who it belongs to, and try to ignore grouping it because the code is the same. This is a bit of a personal thing but I've always found over time that when I go back to a project, I'm looking at it from the outside in, and usually it is nicer to have all the things that you need to look at grouped up.

A good car analogy for that might be how I'd organize the screws that make up the car. At first I might be excited to realize that all my screws work the same way, and thus group them all together. I would end up with a nice big list of screws and it's uniform and nice and think that all is well. Later on I have an issue with my engine, and I want to see all the parts of it. Well my screw folder has screws from all over the car in it now and I have trouble picking out all the engine screws. I might even have all the parts of the engine all over the place because I organized it by the tools and functions of how it works. If I had just put everything that was a part of the engine with the engine, fixing and working on it would be much much easier.

It's hard to do this when learning though, because it's a lot of brainpower just to see how the tools and parts work and you naturally want to group like things together or organize it based on how code works.

Another tip is when to use variables. If you find yourself hard coding a value, meaning you just straight up type a number into the code window, take a step back and consider if it should be a variable. I'm really rusty at my javascript/guideme by now, but at a quick glance for example you have the check for balls in there starting like this:

if (Math.random() < 0.05 && vContext.ReloadsCounter

So right now the balls check is just in one spot probably and you picked the chance at .05 so it seems fine. But, down the line you may need to somewhere else check the balls value or may even forget where that number is. You may want to change it because it doesn't come up enough or maybe too much. Now you have to remember where that balls check is and fix it in every spot you've used it in. Further, what if you wanted to have an effect down the line that modifies that value?

What you could do instead is define a variable somewhere near the top called BallsChance and set it equal to .05. Then down the line use the BallsChance variable in place of the .05. If you need to ever change it you can just go right to where ballsChance is defined change the number and know it will universally change throughout the program.

It's also alright to start with just hardcoding things and not writing functions, just once things become set in stone that you like, try to get ahead of the curve and set yourself for not having to touch multiple things in multiple places.

Finally these are all just guidelines, there are plenty of times where you just need to do it, or you can kill yourself trying to make this modular when you really don't need to. Above all keep it simple so you understand and can follow what's going on, at the end of the day that's the most important thing!
User avatar
Pseudonym
Explorer At Heart
Explorer At Heart
Posts: 372
Joined: Sat Sep 22, 2012 12:03 pm

Re: [GuideMe][Proof of concept] Black Box

Post by Pseudonym »

Thanks for the great (as always) feedback desertfox!

Sorry for not responding earlier, I've been bussy lately.

I read through it multiple times and there is a lot of good stuff. I especially like the idea of ironmam mode.

Again, this is kind of a pet/side project so please dont expect any rapid updates.
My Discord server: https://discord.gg/tbQxJ22
My latest release: Cock Hero - Replay viewtopic.php?t=24640
All my work so far: https://mega.nz/folder/sdcHmQzT#PZ4ctIZsoGp4N7zuDmIh_Q
Post Reply