<div class="title-img-container">
<img src="Title.png" alt="Family Antics Title" class="title-img">
</div>
[[Consent Page]]
<<narration>>This game is intended for audiences aged 18 and older. By continuing, you confirm that you are at least 18 years old or the legal age of majority in your territory.
All characters depicted in this game are entirely fictional, over the age of 18, and are not related by blood, adoption, or marriage.
The content is designed for mature audiences and should not be accessed by anyone underage.
If you are under 18 or do not wish to view mature material, please exit the game now.
<</narration>>
[[Yes, I am 18 or older|Start Game]]
[[No, I am not 18|Exit]]Your characters first name? <<textbox "$firstName" "">>
<br>
Your characters surname? <<textbox "$lastName" "">>
<br><br>
<<button "Continue">>
<<if $firstName and $lastName>>
<<goto "Intro">>
<<else>>
Please enter both your first and last names.
<</if>>
<</button>><<script>>
window.close();
<</script>><strong>Time:</strong> <<showTime>> (<<print $currentPeriod>>)
<<if $npcPresent.length > 0>>
<strong>Present:</strong>
<<for _i, _npc range $npcPresent>>
<<if _i > 0>>, <</if>>
<<print _npc.name>>
<</for>>
<</if>>/*==================================================
PLAYER CHARACTER: Core Stats
==================================================*/
<<set $lewdity to 0>>
<<set $confidence to 0>>
<<set $charisma to 0>>
<<set $strength to 0>>
/*==================================================
GENERAL GAME FLAGS & GALLERIES
==================================================*/
<<set _showInfo = false>>
<<set $laneyGallery = []>>
/*==================================================
RELATIONSHIPS: Love Values
==================================================*/
<<set $love to {nikki:10, cory:0, melanie:3, maitland:0, laney:5, minxx:8}>>
/*==================================================
LEGACY TIME OF DAY CONTROLS
(Legacy: for backwards compatibility if needed)
==================================================*/
<<set $timeofday = "Morning">>
<<set $timeofdayIndex = 0>>
<<set $timeofdayList = ["Morning", "Afternoon", "Evening", "Night"]>>
<<set $showTime = false>>
/*==================================================
TIME SYSTEM: Date, Periods, Index
==================================================*/
<<set $gameDate to new Date(2024,0,1,8,0)>>
<<set setup.timePeriods to {"Early morning":[5,6,7],"Late morning":[8,9,10,11],"Afternoon":[12,13,14,15,16,17],"Evening":[18,19,20,21],"Night":[22,23,0,1],"Midnight":[2,3,4]} >>
<<set setup.periods to ["Early morning","Late morning","Afternoon","Evening","Night","Midnight"]>>
<<set $periodIndex to 0>>
/*==================================================
CURRENT HOUSE FLOOR (Navigator system)
==================================================*/
<<set $currentFloor to "First Floor">> /* "First Floor" or "Ground Floor" */
/*==================================================
NIKKI NPC: Data & Room Schedule
==================================================*/
<<set $nikki to {
name:"Nikki",
location:"Nikki Bedroom",
schedule:{
"Early morning":["Nikki Bedroom"],
"Late morning":["Bathroom Ground", "Kitchen", "Living Room"],
"Afternoon":["Living Room", "Kitchen", "Nikkis home"],
"Evening":["Kitchen", "Living Room", "Nikki Bedroom"],
"Night":["Nikki Bedroom"],
"Midnight":["Nikki Bedroom"]
},
interactions:{relationship:0}
}>>
/*==================================================
EVENT DATABASE SYSTEM
- Centralized storage for game events, checks and triggers
==================================================*/
<<set setup.eventDatabase to [
{id:"nikki_morning_coffee",npc:"Nikki",location:"Kitchen",timePeriod:"Morning",requirements:{confidence:20,relationship:10,dayOfWeek:[1,2,3,4,5]},weight:30,repeatable:true,cooldown:1440},
{id:"nikki_evening_intimate",npc:"Nikki",location:"Nikki Bedroom",timePeriod:"Evening",requirements:{lewdity:60,relationship:40,hour:[19,20,21]},weight:15,repeatable:true,cooldown:2880}
]>>
/*==================================================
INITIALIZE SYSTEM VARIABLES
==================================================*/
<<set $npcPresent to []>>
<<set $availableEvents to []>>
<<set $currentPeriod to "Morning">><<narration>>
Hello there, "$firstName". Thanks for playing family antics, this is my first attempt at building a game altogether.
<</narration>>
<<narration>>
Please let me know if there are any bugs or issues. Also let me know if you have any suggestions and requsts about features, coding or characters
<</narration>>
[[Name this current family|maitland family]]<<narration>>
Step mom: <<print $maitland>>
<</narration>>
<<narration>>
Oldest sister: <<print $laney>>
<</narration>>
<<narration>>
Youngest daughter: <<print $minxx>>
<</narration>>
<<narration>>
You’re twenty-five, living in the city. Life hasn’t asked much of you, and you’ve never asked much from life. Your father is a successful banker, and his achievements have made it easy for you to coast along, enjoying the comfort his hard work provides.
<</narration>>
<<narration>>
You never really knew your mum. She left when you were just a kid, and your dad never explains what happened. Whenever her name comes up, he shuts down, leaving you with a lot of unanswered questions.
<</narration>>
<<narration>>
Your dad’s marriages have come and gone; the stepmothers blur together after a while. Each brought changes, some more lasting than others.
<</narration>>
<<narration>>
He’s kind-hearted but easily pushed around—by you, by others, and especially by your current stepmother. She’s number eight, or close enough, though you’ve stopped keeping count.
<</narration>>
<<narration>>
<<print $maitland>> has two daughters from her previous marriage: <<print $laney>> and <<print $minxx>>. The household feels a bit fuller now.
<</narration>>
[[Next|Start Wake up]]
<<print $currentPeriod>>
:: StoryMenu
[[Home]]
[[Inventory]]
[[Characters]]
<<link $maitland>><<goto "Maitland info">><</link>><br>
<<link $laney>><<goto "Laney info">><</link>><br>
<<link $minxx>><<goto "Minxx info">><</link>>
<<link Nikki>><<goto "Nikki Info">><</link>>
<<link Cory>><<goto "Cory info">><</link>>
<<link Melanie>><<goto "Melanie info">><</link>>Theres the oldest
<img src="Laney/laney.png" width="600" height="350" class="center">
She is called? <<textbox "$laney" "">>
<br><br>
<<button "Submit">>
<<if $laney.trim()>>
You've named your step sister: <<print $laney>>.
<<else>>
<<set $laney = "Laney">>
No name was given, so your step mom's name is set to: Laney.
<</if>>
<</button>>
<p>
Laney is slightly older than you, she's very outgoing and confident. She can often be a little bratty and mean, but you think her heart is in the right place.
</p>
Then theres the <center><h2>Name Your Family Members</h2></center>
<<narration>>
Current step mom:
<img src="Maitland/maitland.png" width="600" height="350" class="center">
<<textbox "$maitland" "Maitland">>
<</narration>>
<<narration>>
Maitlands oldest daughter:
<img src="Laney/laney.png" width="600" height="350" class="center">
<<textbox "$laney" "Laney">>
<</narration>>
<<narration>>
Maitlands youngest daughter:
<img src="Minxx/minxx.png" width="600" height="350" class="center">
<<textbox "$minxx" "Minxx">>
<</narration>>
<<button "Submit">>
<<set $maitland to $maitland.trim()>>
<<set $laney to $laney.trim()>>
<<set $minxx to $minxx.trim()>>
<<if $maitland is "">><<set $maitland = "Maitland">><</if>>
<<if $laney is "">><<set $laney = "Laney">><</if>>
<<if $minxx is "">><<set $minxx = "Minxx">><</if>>
<<goto "Game Start">>
<</button>><<narration>>
You're deep in a good dream when $maitland's voice cuts through it. You blink awake and realize she's standing at the foot of your bed.
<</narration>>
<<dialogue "maitland" $maitland "Will you get up? We've been calling you for fifteen minutes—breakfast's getting cold.">>
<<narration>>
You rub your eyes, still half-asleep and trying to focus.
<</narration>>
<<playerdialogue "Yes, sorry, will be down in a minute">>
<<narration>>
$maitland’s gaze shifts downward, and you suddenly notice you’re pitching a tent.
<</narration>>
<span id="choices">
<<link "Wink at her">>>
<<replace "#choices">>
<<narration>>
You wink at her, which is brave for you
<</narration>>
<<narration>>
You think you see a smirks, just for a second.
<</narration>>
<<dialogue "maitland" $maitland "Just hurry up and get downstairs—and grab Lacey on your way.">>
<<narration>>
$maitland steps out, shutting the door behind her.
<</narration>>
<<narration>>
You pull on some joggers and a shirt, finally ready to face the morning.
<</narration>>
[[leave your room|leave room start]]
<</replace>>
<</link>>
<<link "Blush and apologise">>
<<replace "#choices">>
<<narration>>
You blush hard and mumble an apology, hoping she didn’t notice.
<</narration>>
<<dialogue "maitland" $maitland "Just hurry up and get downstairs—and grab Lacey on your way.">>
<<narration>>
$maitland steps out, shutting the door behind her.
<</narration>>
<<narration>>
You pull on some joggers and a shirt, finally ready to face the morning.
<</narration>>
[[leave your room|leave room start]]
<</replace>>
<</link>>
</span><div class="bg-laney">
Information about $laney
<<print $maitland + "'s">> oldest daugher. I fiery brave 27 year old women. Shes confident in herself and can often bratty. she does not work
<table border="1">
<tr>
<td>Height</td>
<td>5 feet 2 inches</td>
</tr>
<tr>
<td>Eye Color</td>
<td>Green</td>
</tr>
<tr>
<td>Hair Color</td>
<td>Honey-blond</td>
</tr>
<tr>
<td>Body Measurement</td>
<td>34B-26-37</td>
</tr>
<tr>
<td>Weight</td>
<td>54 kilograms</td>
</tr>
<tr>
<td>Bra/Chest Size</td>
<td>34 inches</td>
</tr>
<tr>
<td>Hobbies</td>
<td>Social media and Shopping</td>
</tr>
<tr>
<td>Body type</td>
<td>Attractive Figure</td>
</tr>
</table>
</div>
<h3>Gallery</h3>
<<for _item range $laneyGallery>>
<<if _item.endsWith(".mp4") or _item.endsWith(".webm")>>
<video width="320" controls>
<source src="$_item" type="video/mp4">
Your browser does not support the video tag.
</video><br>
<</if>>
<<if _item.endsWith(".jpg") or _item.endsWith(".png") or _item.endsWith(".gif")>>
<img src="$_item" alt="Gallery image" style="max-width: 200px;"><br>
<</if>>
<</for>><<narration>>
You've got quite a big house on account of your father's money and <<print $maitland + "'s">> appetite for spending it.
<</narration>>
<<narration>>
The walls are a boring shade of white, with a couple of pictures hanging on them. The house is 2 stories, with your room at the end of the hallway. <<print $lacey>>'s room is on the left side, and <<print $minxx>>'s is opposite. Further down the corridor is the bathroom and then the master bedroom.
<</narration>>
<<narration>>
You start walking down the hallway and as you get closer to <<print $maitland + "'s">> room you hear some strange noises, and notice that her door is slightly ajar.
<</narration>>
<div class="choice-row">
<button class="choice-btn link-internal"
onclick="SugarCube.State.variables.peekLacey = true; SugarCube.Engine.play('Peek In Lacey');">
Peek in
</button>
<button class="choice-btn link-internal"
onclick="SugarCube.Engine.play('Kitchen Start');">
Ignore the noise, you don't feel confident enough to take a look
</button>
</div><<narration>>
You slowly push the door open, ensuring not to make a sound.
<</narration>>
<video width="800" height="450" controls autoplay muted>
<source src="Laney/laney room solo.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
You slowly close the door before she notices, and head downstairs.
<</narration>>
<br>
<<link "Next">>
<<goto "Kitchen Start">>
<</link>><<dialogue "minxx" $minxx "Oh, um… good morning! I hope you slept well.">>
<<narration>>
You glance at her. <<print $minxx>> is always lovely—quiet and reserved, but unfailingly kind.
<</narration>>
<<playerdialogue "I did, thank you! Bacon smells incredible—did you sleep alright?">>
<<if $peekLacey>>
<<dialogue "minxx" $minxx "I did, until Lacey started making some strange noises. Let me grab you some bacon.">>
<<narration>>
You’re still a little flustered about what you saw in Lacey’s room, but honestly, it’s not the worst way to start your morning.
<</narration>>
<<else>>
<<playerdialogue "I heard something, but decided not to check.">>
<</if>>
<<narration>>
After breakfast and some quick conversation with everyone, you head out for the day to meet your friends.
<</narration>>
<<narration>>
By the time you get home, it’s just before dinner. Your stepsisters and father are still out; you’re actually home early for once. Most likely, only <<print $maitland>> is inside.
<</narration>>
[[Next->Enter the home]]<<narration>>
You step inside, expecting a quiet house. But there are voices coming from the master bedroom. For a moment, you think your father’s home early—until, as you get closer, you realize that isn’t true.
<</narration>>
<<narration>>
The sounds grow stranger with every step. By the time you reach the open door, you can see exactly what’s happening inside.
<</narration>>
<video width="800" height="450" controls autoplay muted>
<source src="Maitland/maitland cheating head.mp4" type="video/mp4">
</video>
<<narration>>
You freeze, stunned. Anger, sorrow, shock—you can’t even tell what you’re feeling. Betrayed, maybe. Or is it something else? Jealousy, desire? Everything is tangled together, and you can’t look away.
<</narration>>
<<set $lewdity += 1>>
<span class="stat-effect">Lewdity increased! (<<print $lewdity>>)</span>
<<narration>>
A part of you almost wishes you were this man, tearing the whole family apart.
<</narration>>
<video width="800" height="450" controls autoplay muted>
<source src="Maitland/maitland cheating fucked.mp4" type="video/mp4">
</video>
<<set $lewdity += 1>>
<span class="stat-effect">Lewdity increased! (<<print $lewdity>>)</span>
<<narration>>
You've never felt a jealousy like this. You’ve never seen Maitland like this before—and now, you want her. You want to be the one, not some stranger. If anyone’s going to break this family, you want it to be you.
<</narration>>
[[go to confront her]]<<narration>>
You hear the front door open and close, snapping you back to reality. It’s clear $maitland hasn’t noticed the sound.
<</narration>>
<<narration>>
The shock wears off just enough that you’re about to go confront her yourself—until your father suddenly pushes past you, heading straight into the room.
<</narration>>
<<narration>>
Everything happens fast. Your father starts clutching his chest, gasping for breath. Panic fills the room as the truth sinks in: he’s having a heart attack. Everyone—$player, $maitland, and the stranger—rushes to help.
<</narration>>
<<narration>>
Once the ambulance arrives, your father is rushed to hospital, and you ride with him, heart pounding.
<</narration>>
<<narration>>
The next couple of days blur together. The doctors don’t offer much hope—your father likely has only days left.
<</narration>>
This apparently includes [[ex wife number 1|cory chase intro]]<<script>>
$('body').css({
"background": "url('Cory/backgroundintro.png') no-repeat center center fixed",
"background-size": "cover"
});
<</script>>
<<narration>>
This is Cory, she's your fathers first wife. They seperated a while back, but shes being do well since, setting up her own buisness, she hasnt really kept in touch with you but she seems nice enough
<</narration>>
And now [[wife number 2 |melanie hicks intro]]
<<script>>
$('body').css({
"background": "url('Melanie/backgroundintro.png') no-repeat center center fixed",
"background-size": "cover"
});
<</script>>
<<narration>>
Melanie is your father’s wife from his second marriage. You never really got to know her, but you’ve always been a bit curious—maybe now you’ll get the chance.
<</narration>>
And now [[ex wife number 3|nikki brookes intro]]
<<script>>
$('body').css({
"background": "url('Nikki/backgroundintro.png') no-repeat center center fixed",
"background-size": "cover"
});
<</script>>
<<narration>>
And then there’s Nikki, who you actually remember. Your father and she were together when you were about eighteen, for a couple of years. Nikki still checks in occasionally—just the occasional message to see how you’re doing, but it’s always nice to hear from her.
<</narration>>
[[next|True start]]Fathers 1st wifeFathers 2nd wifeFathers 3 wife<<script>>
$('body').css({
"background": "#000"
});
<</script>>
<<narration>>
Your father passes a couple of days later, surrounded by you, his ex-wives, a handful of stepsisters, step-aunts, and quite a few people you barely recognize.
<</narration>>
<<narration>>
A couple of days after that, your father’s attorney gets in touch. While he’s left your current home to Maitland, the rest of his assets have been sorted out—and you receive the money from them. Even after taxes and paperwork, it’s a substantial sum. You won’t have to work unless you choose to.
<</narration>>
<<narration>>
Since Maitland keeps the house, you’ve had to move out. Thankfully, Nikki has already offered you a place to stay. and she picks you a couple of days later.
<</narration>>
<<narration>>
(Below is the start of the main content of the game. Please note: while every effort will be made to update, bug check, and test, there may be some teething issues. As always, your feedback is greatly appreciated.)
<</narration>>
[[next|Firstroadtrip]]
<<set $currentLocation to "Living Room">>
You arrive a nikkis house a couple of days later after gathering your stuff from your old house, or
[[Enter the house|Player Bedroom]]
<<set $showTime = true>>
[[A New Chapter |Nikkis home]]
<<set $love to {
nikki: 10,
cory: 0,
melanie: 3,
maitland: 0,
laney: 5,
minxx: 8
}>>
<div class="button-74">
<button class="button-74"
onclick="SugarCube.Engine.play('Stairs Landing');">
Go somewhere else
</button>
</div>
<div class="button-74">
<button class="button-74"
onclick="SugarCube.Engine.play('Stairs Landing');">
Go somewhere else
</button>
</div>
<div class="button-74">
<button class="button-74"
onclick="SugarCube.Engine.play('Stairs Landing');">
Go somewhere else
</button>
</div>
<span class="button-74">
<<button "Workout">>
<<set $strength += 1>>
<<set $phase = ($phase + 1) % 4>>
<<if $phase == 0>><<set $day += 1>><</if>>
<<replace "#feedback">>Workout done. Strength up.<</replace>>
<</button>>
</span>
<<button "Check Mirror" classes="button-74">>
<<set $charisma += 1>>
<<set $phase = ($phase + 1) % 4>>
<<if $phase == 0>><<set $day += 1>><</if>>
<<replace "#feedback">>Mirror checked.<</replace>>
<</button>>
</div>
<!-- Next row, repeat as needed -->
<div class="button-row">
<div class="button-74">
<button class="button-74"
onclick="State.variables.phase = (State.variables.phase + 1) % 4; if (State.variables.phase === 0) State.variables.day += 1;">
Nap
</button>
</div>
<div class="button-74">
<button class="button-74"
onclick="State.variables.day += 1; State.variables.phase = 0;">
Sleep
</button>
</div>
</div>
<div class="button-row">
<div class="button-74">
<button class="button-74"
onclick="SugarCube.Engine.play('Stairs Landing');">
Go somewhere else
</button>
</div>
</div><div class="button-74">
<button class="button-74"
onclick="SugarCube.Engine.play('Stairs Landing');">
Go somewhere else
</button>
</div>
<<if $currentFloor is "First Floor">>
<<link "Go downstairs to Ground Floor">>
<<set $currentFloor to "Ground Floor">>
<<goto "Stairs Landing">>
<</link>>
<hr>
<<link "Player Bedroom">><<goto "Player Bedroom">><</link>><br>
<<link "Nikki Bedroom">><<goto "Nikki Bedroom">><</link>><br>
<<link "Bathroom First">><<goto "Bathroom First">><</link>>
<</if>>
<<if $currentFloor is "Ground Floor">>
<<link "Go upstairs to First Floor">>
<<set $currentFloor to "First Floor">>
<<goto "Stairs Landing">>
<</link>>
<hr>
<<link "Kitchen">><<goto "Kitchen">><</link>><br>
<<link "Living Room">><<goto "Living Room">><</link>><br>
<<link "Bathroom Ground">><<goto "Bathroom Ground">><</link>>
<</if>><div class="button-74">
<button class="button-74"
onclick="SugarCube.Engine.play('Stairs Landing');">
Go somewhere else
</button>
</div>
Family Antics
Version 0.0.11<<narration>>
This is the end of the game so far and im currently working on the next update, your feedback and comments are very much welcome
<</narration>>/* Time system widgets */
<<widget "addTime">>
<<set $gameDate.setMinutes($gameDate.getMinutes() + $args[0])>>
<</widget>>
<<widget "getCurrentPeriod">>
<<set _currentHour to $gameDate.getHours()>>
<<set $currentPeriod to "Early morning">>
<<for _period, _hours range setup.timePeriods>>
<<if _hours.includes(_currentHour)>>
<<set $currentPeriod to _period>>
<<break>>
<</if>>
<</for>>
<</widget>>
<<widget "advancePeriod">>
<<set $periodIndex = ($periodIndex + 1) % setup.periods.length>>
<<set $currentPeriod = setup.periods[$periodIndex]>>
<</widget>>
<<widget "showTime">>
<<set _hour to $gameDate.getHours()>>
<<set _minute to $gameDate.getMinutes()>>
<<if _hour lt 10>><<set _hour to "0" + _hour>><</if>>
<<if _minute lt 10>><<set _minute to "0" + _minute>><</if>>
<<print _hour + ":" + _minute>>
<</widget>>
<<widget "updateNPCLocations">>
<<getCurrentPeriod>>
<<set _possibleLocations to $nikki.schedule[$currentPeriod]>>
<<if _possibleLocations and _possibleLocations.length > 0>>
<<set _locationIndex to $gameDate.getHours() % _possibleLocations.length>>
<<set $nikki.location to _possibleLocations[_locationIndex]>>
<</if>>
<</widget>>
<<widget "checkNPCPresence">>
<<set $npcPresent to []>>
<<if $nikki.location == passage()>>
<<set $npcPresent.push($nikki)>>
<</if>>
<</widget>>
<<widget "processEvents">>
<<updateNPCLocations>>
<<checkNPCPresence>>
<<getCurrentPeriod>>
<<set $availableEvents to []>>
/* Add your event processing logic here later */
<</widget>>
<<widget "checkEventDatabase">>
<<set $qualifiedEvents to []>>
<<for _event range setup.eventDatabase>>
<<set _qualified to true>>
/* Check NPC location */
<<if _event.npc == "Nikki" and $nikki.location != _event.location>>
<<set _qualified to false>>
<</if>>
/* Check time period */
<<if _event.timePeriod != $currentPeriod>>
<<set _qualified to false>>
<</if>>
/* Check relationship */
<<if _event.requirements.relationship and $nikki.interactions.relationship < _event.requirements.relationship>>
<<set _qualified to false>>
<</if>>
/* Add to qualified events if all checks pass */
<<if _qualified>>
<<set $qualifiedEvents.push(_event)>>
<</if>>
<</for>>
<</widget>><<silently>>
<<processEvents>>
<</silently>><div id="laptop-video-container" style="width:1000px; height:650px; margin:80px auto; background:#232630; border:8px solid #889; border-radius:24px; text-align:center; box-shadow:0 0 64px #232630; display:flex; flex-direction:column; align-items:center; justify-content:center;">
</div>
<script>
var videos = [
"Bigtittygothegg2",
"Bigtittygothegg3",
"Bigtittygothegg1",
"arigym",
"arisolo",
"solobrunette",
"lace",
"teensolo",
"blondepink",
"brunettesolo2"
];
var selected = videos[Math.floor(Math.random() * videos.length)];
document.getElementById("laptop-video-container").innerHTML =
'<video width="900" height="510" controls style="border-radius:14px; box-shadow:0 0 24px #333; display:block; margin:auto;">' +
'<source src="Others/LaptopScreen/' + selected + '.mp4" type="video/mp4">' +
'Your browser does not support the video tag.' +
'</video>' +
'<div style="margin-top:28px;">' +
'</div>';
</script>
<<link "Return">>
<<set $visitedLaptopScreen = true>>
<<goto "Nikki First Date">>
<</link>>/*==================================================
NAVIGATION: House Landing (JS Card Buttons)
==================================================*/
<div style="display: flex; flex-wrap: wrap; justify-content: center; gap: 24px;">
<div style="flex: 1 1 40%; max-width: 350px; position: relative;">
<<link "<img src='locations/playerhomestart/livingroom.jpg' alt='Living Room' style='width:100%; border-radius:12px; box-shadow:2px 2px 10px #000;'><span style='position:absolute; bottom:30px; left:0; width:100%; color:white; font-size:2em; font-weight:bold; text-align:center; text-shadow:2px 2px 5px #000;'>Living Room</span>">><<goto 'Living Room'>><</link>>
</div>
<div style="flex: 1 1 40%; max-width: 350px; position: relative;">
<<link "<img src='locations/playerhomestart/kitchen.png' alt='Kitchen' style='width:100%; border-radius:12px; box-shadow:2px 2px 10px #000;'><span style='position:absolute; bottom:30px; left:0; width:100%; color:white; font-size:2em; font-weight:bold; text-align:center; text-shadow:2px 2px 5px #000;'>Kitchen</span>">><<goto 'Kitchen'>><</link>>
</div>
<div style="flex: 1 1 40%; max-width: 350px; position: relative;">
<<link "<img src='locations/playerhomestart/bathroomstart.jpg' alt='Bathroom First' style='width:100%; height:230px; object-fit:cover; border-radius:12px; box-shadow:2px 2px 10px #000;'><span style='position:absolute; bottom:30px; left:0; width:100%; color:white; font-size:2em; font-weight:bold; text-align:center; text-shadow:2px 2px 5px #000;'>Bathroom First</span>">><<goto 'Bathroom First'>><</link>>
</div>
<div style="flex: 1 1 40%; max-width: 350px; position: relative;">
<<link "<img src='locations/playerhomestart/bathroomground.jpeg' alt='Bathroom Ground' style='width:100%; height:230px; object-fit:cover; border-radius:12px; box-shadow:2px 2px 10px #000;'><span style='position:absolute; bottom:30px; left:0; width:100%; color:white; font-size:2em; font-weight:bold; text-align:center; text-shadow:2px 2px 5px #000;'>Bathroom Ground</span>">><<goto 'Bathroom Ground'>><</link>>
</div>
<div style="flex: 1 1 40%; max-width: 350px; position: relative;">
<<link "<img src='locations/playerhomestart/nikkibedroom.jpg' alt='Nikki Bedroom' style='width:100%; border-radius:12px; box-shadow:2px 2px 10px #000;'><span style='position:absolute; bottom:30px; left:0; width:100%; color:white; font-size:2em; font-weight:bold; text-align:center; text-shadow:2px 2px 5px #000;'>Upstairs</span>">><<goto 'Nikki Bedroom'>><</link>>
</div>
<div style="flex: 1 1 40%; max-width: 350px; position: relative;">
<<link "<img src='locations/playerhomestart/playerbedroomstart.jpg' alt='Player Bedroom' style='width:100%; border-radius:12px; box-shadow:2px 2px 10px #000;'><span style='position:absolute; bottom:30px; left:0; width:100%; color:white; font-size:2em; font-weight:bold; text-align:center; text-shadow:2px 2px 5px #000;'>Player Bedroom</span>">><<goto 'Player Bedroom'>><</link>>
</div>
</div><<script>>
(function () {
// remove any previous background layer
$('#passage-bg').remove();
// add a fixed layer behind the story that fills the viewport
$('body')
.css('background', 'none') // prevent tiling/bleed from earlier styles
.append(
'<div id="passage-bg" ' +
'style="position:fixed;inset:0;z-index:-1;' +
"background:url('locations/hotel/room.jpg') no-repeat center center;" +
'background-size:cover;' +
'"></div>'
);
// clean up when leaving this passage
$(document).one(':passageend', function () {
$('#passage-bg').remove();
$('body').css('background', '');
});
})();
<</script>>
<<narration>>
PLEASE NOTE THESE VIDEOS ARE NOT ON MUTE, IDEALLY WILL YOU WANT TO LISTEN TO THEM
<</narration>>
<<narration>>
It’s a long drive from Maitland’s to Nikki’s; she swings by early the next morning, calling it a vacation as the road hums beneath the tires.
<</narration>>
<<narration>>
The ride passes quickly. She starts calling you “baby” and “sweetie,” and refers to herself as “Mommy.” It’s strange, yet not unwelcome—it even sparks a thrill.
<</narration>>
<<narration>>
A couple of hours later, the hotel rises out of the city. Check‑in is brief; the key card is warm in hand as the elevator doors slide open.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/elevator.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
The corridor is hushed, carpet swallowing each step on the way to the room.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/hallway.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
Inside, she gives a quick tour, lays down a few rules, and slips out of her coat with practiced ease.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/rules.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
She admits money has been tight since things fell apart, and until it changes, she has a way to keep the lights on.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/rules.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
Judgment sticks in the throat. It’s been only a few hours together, and survival looks different up close.
<</narration>>
<<narration>>
There’s money on the horizon—more than enough to help—but not yet, and promises don’t pay for rooms.
<</narration>>
<<narration>>
She keeps talking through what tonight will look like, toeing off her shoes and unfastening buttons, casual as weather.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/hotelalone.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
It’s startling how beautiful she is—poised and unbothered. She asks you to keep her work quiet, she doesn't want everyone knowing what she does
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/explaincover.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
The situation isn’t what it first seemed. This wasn’t just dinner and drinks,
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/explainrequest.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<div class="choice-row">
<button class="choice-btn link-internal"
onclick="SugarCube.State.variables.nikkiexplains = true; SugarCube.Engine.play('nikkiexplains');">
Yes, you would like her to explain
</button>
<button class="choice-btn link-internal"
onclick="SugarCube.Engine.play('End Passage');">
You dont want her to explain
</button>
</div>
<<script>>
(function () {
// remove any previous background layer
$('#passage-bg').remove();
// add a fixed layer behind the story that fills the viewport
$('body')
.css('background', 'none') // prevent tiling/bleed from earlier styles
.append(
'<div id="passage-bg" ' +
'style="position:fixed;inset:0;z-index:-1;' +
"background:url('locations/hotel/room.jpg') no-repeat center center;" +
'background-size:cover;' +
'"></div>'
);
// clean up when leaving this passage
$(document).one(':passageend', function () {
$('#passage-bg').remove();
$('body').css('background', '');
});
})();
<</script>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/sheexplains.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
She lays it out plainly. She’s stunning, and suddenly all the hints from earlier click into place.
<</narration>>
<<narration>>
She meets men for money. The thought shouldn’t excite, yet it does; part of you wants her to choose only you, while another part wonders if this is simply how the world works beyond the life you knew.
<</narration>>
<<narration>>
The conflict leaves a flutter of nerves and a spark of heat—maybe this is the start of something, or a mistake too big to see yet.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/sweet.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
A rush blooms—more intense than anything before. While you’re lost in the what‑ifs, Nikki sinks to her knees.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/knees.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
She’s close enough to touch; her breath warms your skin. She admits she hasn’t done this long and asks for help practicing—so she can earn more from clients.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/kisses.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
Uncertainty lingers, but she tugs at your waistband; before the thought settles, your trousers are around your ankles and her mouth finds you.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/trousersdown.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
She licks slowly, then takes more; your body answers without permission.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/hotelsuck1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
Pleasure mounts, each pass deeper than the last. She asks a favor; yes comes easily.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/hotelsuck2.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
The rhythm builds. Hands guide her; she doesn’t pull away.
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/hotelsuck3.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
It crests all at once—new life, new rules—and the certainty that something has shifted for good.
<</narration>>
<<narration>>
Release hits; both of you are a little surprised, her more so though than you of course.
<</narration>>
<div class="choice-row">
<button class="choice-btn link-internal"
onclick="SugarCube.State.variables.nikkiexplains = true; SugarCube.Engine.play('Nikki First Date');">
Yes, you would like her to explain
</button>
</div>
<<narration>>
A couple hours pass with you both chatting, getting to know each other more, you learn more about her and she discovers what the last couple of years have been like for you and your family.
<</narration>>
<<narration>>
You enjoy the connection, and getting to know Nikki. You wish you could have been this close a lot earlier in your life. You also start to relise that you have lived a very sheltered life, which while having its benifits, theres a lot you havnt experienced
<</narration>>
<<narration>>
You enjoy the connection, and getting to know Nikki. You wish you could have been this close a lot earlier in your life. You also start to relise that you have lived a very sheltered life, which while having its benifits, theres a lot you havnt experienced
<</narration>>
<<narration>>
While shes off getting ready you are browsing porn on your [[laptop |LaptopScreen]]
<</narration>>
<<if $visitedLaptopScreen>>
<<narration>>
Nikki Comes back into the room and asks if you can help her try on some clothes for the work tonight, you also notice that she is wearing very little, with almost everything showing. You appreciation for Nikki is always growing
<</narration>>
<<narration>>
First she chooses a little orange dress
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/dressorange.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
The second dress is darker, and tighter than the previous, which is crazy
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/dressgrey.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
Then something loud and exciting, whatever that means
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/dressloud.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<narration>>
And finally what she refers to as a "Slut Dress" which, with what shes shown you today already your not sure what to expect
<</narration>>
<video width="800" height="450" controls preload="metadata">
<source src="Nikki/videos/dresswhite.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<<set $visitedLaptopScreen = false>>
<div class="choice-row">
<button class="choice-btn link-internal"
onclick="SugarCube.State.variables.nikkiexplains = true; SugarCube.Engine.play('Nikki Clothes Hotel');">
Yes, you would like her to explain
</button>
<button class="choice-btn link-internal"
onclick="SugarCube.Engine.play('Nikki Hotel 1 Fuck');">
You dont care what she wears
</button>
</div>
<</if>><<narration>>
This is the end of the game so far and im currently working on the next update, your feedback and comments are very much welcome
<</narration>><<narration>>
This is the end of the game so far and im currently working on the next update, your feedback and comments are very much welcome
<</narration>>