You roll up to the gynecologist's office on Saturday, a little nervous. You turn off the car and sit there a moment. You sigh to yourself. You were ready for this. You were ready to go on birth control. You open the door to your car and step out, purse clutched in your hand and walk toward the door of the building.
You had turned 18 only two weeks before, and were now able to get a prescription for birth control without your parents having to consent. Your job as a waitress meant that you could pay for the prescription yourself, and your parents wouldn't have to know. You could finally lose your virginity without having the fear of pregnancy hanging over your head like a specter.
You had originally asked your doctor for the pill, but he suggested you get a shot, such as Depo-Provera. He said it was slightly less expensive, and less of a chance of failure due to forgetfulness or other complications. You could get a shot once, and not have to worry again for 3 months. Convinced, you made an appointment for the following week to have the shot administered. Today was the day.
Entering, you're greeted by an unfamiliar face. "Hello, how may I help you?" the woman asks. She's dressed in a light blue medical outfit much like a doctor. The clock behind her reads <<= setup.printTime() >>. <<if $m.time < 11 * 60 * 60 - 5 * 60>>You were a little early for your appointment.<<elseif $m.time < 11 * 60 * 60 + 5 * 60>>You were pretty much right on time<<else>>You were a little late for your appointment.<</if>>
"Hi. I'm here for Doctor Grove. I'm here to get a shot." You fidget, a little nervous.
"Can I get a name?" she asks with a bright smile.
[[Hi there, I'm...|Set your name]]
<<set _hideMenu = true>>First name: <<textbox "$m.pc.firstName" $m.pc.firstName autofocus>>
Last name: <<textbox "$m.pc.lastName" $m.pc.lastName>>
[[Tell her your name|Getting the shot]]
<<set _hideMenu = true>>"I'm $m.pc.firstName," you respond.
"Of course!" The woman steps from behind the reception desk and toward a door, "right this way."
You follow her down a corridor to a small room and she instructs you to sit down. She leaves for a moment and returns with a small box. "This is the shot," she says. "I can administer it, or if you'd prefer, I can also call Doctor Grove in and have her do it. It might take a few minutes before the doctor is available."
You'd rather get this over with. "You can do it, that's fine."
[img[dgf_assets/media/intro/shot.jpg]]
The nurse asks you to relax and she opens the box and pulls out a small phial. She fiddles with a syringe and draws some fluid into it. She comes to stand next to you and tells you it shouldn't hurt at all. Your heart is racing; you don't like needles. You look away.
You feel a pinch in your shoulder followed a tightness in the muscle she stuck the needle in, [[but quickly the feeling fades|After the shot]].
<<run setup.addTime(5 * 60)>>
<<set _hideMenu = true>>"All done!" she says as she steps toward the biohazard bin and drops the syringe inside. "That wasn't so bad, was it?" she smiles at you. "The doctor briefed you on procedure the last time you were here, right?"
"Yeah, I think I understand how it works," you respond.
"Do you have any additional questions?"
"Yeah, should I schedule my next appointment now, or should I wait until it's closer?" you ask.
"We can do it now." She motions you to follow, picks up some papers and goes back to the front desk. Getting on her computer, she says, "Alright, so how about you come back next Saturday?"
"Next Saturday?" you ask, surprised, "I thought the birth control was effective for three months."
"Yes, it's so we can ch-" she stops herself mid-sentence as she comprehends what you've said. "Oh, dear," she says, searching through some papers on the desk frantically. "Oh, dear."
"What's wrong?" you ask, a little scared by her reaction.
"I'm sorry, $m.pc.firstName; may I ask your last name?" she picks up two sets of papers.
"$m.pc.lastName," you respond, trying to remain as calm as possible.
"$m.pc.lastName?" she looks worried. "Please follow me," she rushes you back to the same room you were just in. You follow her, asking what's wrong the entire way. You enter the room, and she quickly says, "Wait here, I'll be back with the doctor shortly. She'll be able to answer your questions." The door closes. You're left alone in this room [[filled with worry|Meeting the doctor][$m.pc.horniness += 25 / $m.pc.willpowerFactor]].
<<run setup.addTime(5 * 60)>>
<<set _hideMenu = true>>You notice how warm you're feeling. This room was cold before, to the point where you were almost shivering -- now, you were sweating. It was almost unbearably warm. Your clothes felt uncomfortable. You squirm in your seat. You felt a little... excited? Couldn't be -- it must just be your nerves.
A few unbearable minutes later, Doctor Grove comes through the door with the nurse following closely behind. "$m.pc.firstName," the doctor addresses you. "I apologize. There seems to have been a bit of a mixup."
She explains that there was another patient named $m.pc.firstName who had an appointment later in the day. She was participating in a drug study for a new form of fertility drug. Instead of your birth control, you were given the new experimental drug.
"The drug is still in its initial human trial phase. The other $m.pc.firstName was to be participating in that study." You look at her quite dumbfounded. "The thing about this drug is... Most fertility drugs cause the body to release a lot of eggs at once," the doctor explains. "This one causes the body to release eggs constantly throughout the month." You squirm in your chair. You can't help but be strangely turned on by her words. "There are several known side effects. Most notably, the Ph levels of the body shift slightly to allow sperm to survive longer in the vagina and womb, as well as an increased libido. There are a few other, more rare side effects. Here is a pamphlet so you can read more about the drug, and what is known about it." She hands you a folded piece of paper.
Doctor Grove also tells you that because this was the first clinical study, there might be other unknown side effects you may feel. You ask about taking birth control to counteract the drug, but she says that is clinically unsafe, since drug interactions are an unknown. She says that you need to avoid having sex at all until your next period, otherwise you are at very high risk for pregnancy. Even the few sperm that exist in pre-cum pose a very real threat, she warns.
After a round of questions, you feel like you understand the situation. You're a little upset, but you just have to wait another month to lose your v-card. After everything though, you'd waited plenty enough already -- what was one more month? No sweat.
"This clinical study is meant to assess the side effects of the drug, not its effectiveness," Doctor Grove tells you as she's wrapping up. "Because of this, you are eligible for participation, if you choose. You don't have to do anything except come back once a week to discuss how you're feeling. If you do this, you'll take the place of the other woman, and be paid $5,000 at the end for your participation."
Hey, if you were already going to wait a month to have sex, you may as well get paid for the wait! You accept without a second thought, and you schedule an appointment for next Saturday at 11:00 AM.
<<mset "$m.inventory.keyItems push 'drugPamphlet'">>[[Informational pamphlet in hand|Pamphlet][$pamphletReturn to "Meeting the doctor"]], you leave the building, enter your car, and [[head to work|Heading to work first day]].
<<run setup.addTime(25 * 60)>>
<<set _hideMenu = true>>
<<run $m.pc.addEffect({ name: 'heat' })>>You begin to read the pamphlet
------
!!Ovaxazine Trichloride
!!!Long-acting Ovulatory Stimulant
!!!!Warnings
Do not take ''Ovaxazine Trichloride'' if you believe that you are already pregnant. Avoid using ''Ovaxazine Trichloride'' if you do not plan to become pregnant. While using ''Ovaxazine Trichloride'', you should avoid alcohol, as you may feel an increased loss of inhibition. Avoid prolonged exposure to the sun while using ''Ovaxazine Trichloride'', as this may lead to more dangerous side effects.
Do not take birth control while using ''Ovaxazine Trichloride''.
Due to the change in chemistry of vaginal secretions, many forms of latex, silicone, polyurethane, polyisoprene, nitirle, nonoxynol-9, and octoxynol-9 may become weaker from prolonged exposure. Condoms, diaphragms, and other forms of barrier birth control, as well as spermicidal gel, film, and foam may have lowered effectiveness.
Because of how ''Ovaxazine Trichloride'' interacts with the body, the cervical mucous changes and may allow some seminal discharge directly into the womb. Because of this and the rapid ovulatory cycle, multiple pregnancy is common. To avoid this, ensure that no more than one ejaculate worth of semen is released against the cervix during a 1-week period.
!!!!Dosage
''1ml'' of ''Ovaxazine Trichloride'' is capable of causing extended ovulation in an adult woman. The drug will remain in full effect for up to 30 days, with some side effects potentially persisting up to 7 days after final ovulation.
During the drug effectiveness, a new ovum is released daily and, if unfertilized, dies naturally before implantation into the Endometrium. Due to the lack of natural implantation, you will experience Amenorrhea -- a lack of natural menstruation. Your menstrual cycle will return to normal one full cycle after your final ovulation from the effects of ''Ovaxazine Trichloride''.
!!!!Known side effects
Minor side effects include:
* Abdominal or stomach pain
* Chills
* Dizziness
* Fast heartbeat
* Fever
* Increased libido
* Increased amount of vaginal secretions
* Increased pH of vaginal secretions
* Lightheadedness
* Restlessness
* Sleep paralysis
* Vaginal and breast sensitivity
* Vivid dreams
* Weight loss
Contact your doctor if you notice any of these rare side effects:
* Changes to the breasts, clitoris, and/or labia
* Confusion
* Confusion about identity, place, and time
* Euphoria
* Fainting
* Loss of appetite
* Pale skin
* Sexual insatiability
* Short-term amnesia
* Shortness of breath
* Slurred speech
* Trouble concentrating
* Unstimulated orgasms
!!!!Known drug interactions
Progestins (Norethisterone, Norgestimate, Levonorgestrel, Medroxyprogesterone, Cyproterone, Desogestrel, Etonogestrel, Drospirenone); Nonoxynol-9 (topical); Octoxynol-9 (topical); Ethanol;
...
------
You skim over the rest of the drug interactions, pretty sure you've never heard of any of them before. You skim back over the pamphlet before folding it back up and putting it in the glove compartment.
<<back "Back to what you were doing">>
<<set _hideMenu = true>>Where do you want to go?
<div class="city-map"></div><<if !_hideMenu>>
[[Examine yourself|Character status]]
[[Open your purse|Your purse]]
<</if>><<script>>
State.prng.init()
<</script>>You look in your purse...
<<if $m.inventory.keyItems.drugPamphlet>>[[Read the drug pamphlet|Pamphlet]]<</if>>
<<back "Close your purse">>
<<if !_hideCheats>>
<div id="cheats"></div>
<</if>>
<<if !_hideCaption>>
<div class="current-time"></div>
<</if>><<script>>
window.locals = {
printHorniness: () => {
const horniness = State.variables.m.pc.horniness
if (horniness < 10) {
return "You are feeling calm"
} else if (horniness < 25) {
return "Your cheeks are a little rosy"
} else if (horniness < 33) {
return "You're tingling slightly"
} else if (horniness < 50) {
return "You are feeling rather flushed and warm"
} else if (horniness < 66) {
return "You're feeling hot and... empty"
} else if (horniness < 75) {
return "Your pussy is noticeably wet"
} else if (horniness < 90) {
return "Your pussy is sopping wet"
} else {
return "Your pussy is aching with need"
}
},
printDesperation: () => {
const desperation = State.variables.m.pc.desperation
const virgin = State.variables.m.pc.thinkVirgin
if (desperation < 10) {
return `You're an absolute prude, and proud of it`
} else if (desperation < 25) {
return `You try not to, but you occasionally think about sex`
} else if (desperation < 33) {
return `You think about sex a couple of times a day`
} else if (desperation < 50) {
return `Sex is something you think about every few hours`
} else if (desperation < 66) {
if (virgin) {
return `You wonder what it would be like to have sex`
} else {
return `You want to have sex again`
}
} else if (desperation < 75) {
if (virgin) {
return `You wish that you could find someone to have sex with already`
} else {
return `You frequently find yourself wanting to get fucked`
}
} else if (desperation < 90) {
if (virgin) {
return `You can't stop seeing every man as the one you want to break you in`
} else {
return `You imagine getting fucked just about all the time`
}
} else {
return `You want the next man you see to fuck you silly`
}
}
}
<</script>>
<<currentOutfit>>
<<tooltip>>How horny you currently are<</tooltip>> Horniness: <<= $m.pc.horniness.toFixed(1)>> (<<= locals.printHorniness() >>)
<<tooltip>>How desperate you are to have sex<</tooltip>> Desperation: <<= $m.pc.desperation.toFixed(1)>> (<<= locals.printDesperation() >>)
<<if $m.pc.thinkVirgin && $m.pc.analVirgin>>
You've never had sex.
<<elseif $m.pc.thinkVirgin>>
You've had anal sex, but you've never had vaginal sex.
<<else>>
You're no longer a virgin.
<</if>>
<<back "Back">>You arrive at your house and step inside. The familiar smell of home makes you feel comfortable instantly.
[[Head up to your room|Your room]]
[[Go somewhere else|City map]]
<<run setup.travelTo('home') >>You arrive at the beach, the humid air running through your hair pleasantly.
<<allOutfits>>
<<set $origOutfit = _origOutfit>>
<<set $strip = _strip>>
<<set $justUndies = _justUndies>>
<<goto [[Beach Change]]>>
<</allOutfits>>
<span class="all-stats"></span>
[[Wait an hour|The beach][setup.addTime(3600)]]
[[Wait 10 minutes|The beach][setup.addTime(600)]]
[[Go somewhere else|City map]]
<<run setup.travelTo('beach') >><<widget "tooltip" container>>
<span @data-tooltip="_contents" @data-tooltip-position="_args[0] ?? 'right'">
<img @alt="_contents" src="dgf_assets/media/ui/info.png" style="width: 0.8em; height: 0.8em;">
</span>
<</widget>>You're in your room alone.
<br />
<<doorLock>>
<br />
<<allOutfits>><</allOutfits>>
<br />
<<set _canMasturbate =
$m.pc.horniness + (
Math.min($m.pc.desperation, 75) / 2
) >= 50
>>
<<if _canMasturbate>>
[[Masturbate|Masturbating in your room]]
<<else>>
You don't feel like masturbating.
<</if>>
<br />
<<sleep>><<widget "doorLockInternal">>
<<if $doorLocked>>
The door is locked.
<<button "Unlock the door">>
<<set $doorLocked = false>>
<<replace #lockDoor>>
<<doorLockInternal>>
<</replace>>
<</button>>
<<else>>
The door is unlocked. <<button "Lock the door">>
<<set $doorLocked = true>>
<<replace #lockDoor>>
<<doorLockInternal>>
<</replace>>
<</button>>
<</if>>
<</widget>>
<<widget "doorLock">>
<<set $doorLocked = _args[0] ?? false>>
<div id="lockDoor">
<<doorLockInternal>>
</div>
<</widget>>
<<widget "currentOutfit">>
You are currently wearing <span id="currentOutfit">$m.pc.outfitDescription</span>
<</widget>>
<<widget "outfitChangeInternal">>
<<if $m.pc.outfit !== _args[0]>>
<div>
<<button `"Change into " + setup.describeOutfit(_args[0])`>>
<<set _origOutfit = $m.pc.outfit>>
<<set $m.pc.outfit = _args[0]>>
<<if _origOutfit === 'nude'>>
<<set _strip = false>>
<<elseif _origOutfit === 'bikini'>>
<<set _strip = true>>
<<elseif _origOutfit === 'underwear'>>
<<set _strip = false>>
<<else>>
<<set _strip = true>>
<</if>>
<<set _justUndies =
$m.pc.outfit !== 'nude' && $m.pc.outfit !== 'bikini' &&
_origOutfit !== 'nude' && _origOutfit !== 'bikini'
>>
<<if _args[1]>>
<<replace "#currentOutfit">>
$m.pc.outfitDescription
<</replace>>
<</if>>
<<for _i, _outfit range $m.outfits>>
<<replace `"#outfitChange_" + _outfit`>>
<<outfitChangeInternal _outfit _args[1]>>
<</replace>>
<</for>>
_outfitChangeData
<</button>>
</div>
<</if>>
<</widget>>
<<widget "outfitChange" container>>
<<set _outfitChangeData = _allOutfitsData ?? _contents>>
<span @id="'outfitChange_' + _args[0]">
<<outfitChangeInternal _args[0] _args[1]>>
</span>
<</widget>>
<<widget "allOutfits" container>>
<<set _allOutfitsData = _contents>>
<<currentOutfit>><br />
<<for _i, _outfit range $m.outfits>>
<<outfitChange _outfit true>><</outfitChange>>
<</for>>
<</widget>><<widget "sleep">>
<div class="go-to-sleep"></div>
<</widget>>
<<if !$strip>>
Feeling a little exposed, you decide to put some clothes on.
<<else>>
As you strip out of <<= setup.describeOutfit($origOutfit)>>, you feel the warm air blow over you, caressing your body wonderfully.
<</if>>
<<if $origOutfit === 'nude' || $origOutfit === 'underwear'>>
You pull on $m.pc.outfitDescription.
<<elseif $m.pc.outfit === 'nude'>>
You relish the feeling of the breeze, and decide to stay naked for a while.
<<elseif $m.pc.outfit === 'underwear'>>
You relish the feeling of the breeze, and decide to hang out in just your bra and panties for a while.
<<else>>
Not wanting to get caught in
<<if $justUndies>>your underwear,<<else>>the nude,<</if>>
though, you pull on $m.pc.outfitDescription.
<</if>>
<br /><br />
<<return [[Back to the beach|The beach]]>><<set _interrupted = !$doorLocked && Math.random() < 0.1>>
<<set _clothingPlural = $m.pc.outfit >>
<<if $m.pc.desperationLevel >= 100>>
You throw yourself on your bed,
<<if $m.pc.outfit !== 'nude'>>
ripping off $m.pc.outfitDescription and tossing $m.pc.outfitPluralWord to the ground.
<<else>>
your hand quickly trailing its way down your lithe, naked form.
<</if>>
Your fingers reach down to your crotch, making contact with your clit and sending sparks of pleasure coursing through you.
<<else>>
Not desperate
<</if>>$origOutfit
$m.pc.outfit<<widget "mset">>
<<run setup.mset(_args)>>
<</widget>>This game is for adults who are 18 or older. It contains graphic sexual details that are not suitable for minors.
[[I am over 18|Introduction][$inStory = true]]
<a href="https://www.dgf.life/not-old-enough">I am not old enough</a>
<<set _hideCheats = true>><<set _hideCaption = true>><<set _hideMenu = true>><<widget "super-button" container>>
<span class='super-button' @data-code="_contents">_args[0]</span>
<</widget>><<widget "stat-modifier">>
<span class="stat-modifier" @data-stat="_args[0]"></span>
<</widget>><<widget "travel-mode">>
<span class="travel-mode"></span>
<</widget>>
<<widget "set-travel-mode">>
<span class="set-travel-mode"></span>
<</widget>>
<<widget "travel-time">>
<<if _args.length === 1>>
<span class="travel-time" @data-destination="_args[0]"></span>
<<else>>
<span class="travel-time" @data-start="_args[0]" @data-destination="_args[1]" @data-mode="_args[2]"></span>
<</if>>
<</widget>>
<div class="cheat-page"></div>
<<return>>
<<set _hideMenu=true>>Not much to do here right now.
[[Go somewhere else|City map]]
<<run setup.travelTo('gynecologist') >>You leave the parking lot, thinking about the fact that you won't be able to lose your virginity as early as you were hoping. You drive through familiar roads, but as you go, you notice that you still feel really warm. You feel uncomfortably warm. You turn on the air conditioning in your car to try to cool off. The air feels good, but it seems to be doing nothing to lower your temperature. You drive quickly back toward your house; you feel the need to get into your room and remove all of your clothes.
You drive quickly through the city, speeding more than you normally would. You elicit a few glares from other drivers as you pass, and a few stares from some of the men, both young and old. You pull into the parking lot, you see one of your coworkers, Dylan, heading in ahead of you. He waves at you. Dylan's eyes seemed to pierce into you, making you feel something you haven't felt before. You wave back and feel yourself flush. Parking your car, you wait a few minutes before you get out, not wanting him to look at you while you head in. You eventually grab your uniform, leave your car, and head inside. Some lunchgoers smiling at you, making you feel seen.
As soon as you enter, you head to the back of the restaurant to the employee bathroom, [[so you can change|Changing at work]].
<<run setup.travelTo('work') >>
<<run setup.addTime(5 * 60)>>As soon as you close the door behind yourself and realize you're finally alone, you let out a sigh of relief. You couldn't help but feel like everyone had been staring at you, many of them undressing you with their eyes.
<<doorLock>>
You lean against the concrete wall, the cool surface making you feel slightly better. You had been feeling warm, hot even, the entire way here. It wasn't supposed to be sweltering today, but it certainly seemed like it was. Even the air in this bathroom felt hot on your skin, your clothes doing nothing to cool you off.
After a minute or two of leaning against the cold wall, you push yourself away from it and begin to [[change your clothes|Changing at work 2]]
<<run setup.addTime(5 * 60)>>
<<set $m.pc.outfit = 'underwear'>>You quickly strip off your clothes, baring yourself down to your panties and bra. The rush of air against your skin feeling much better than the stuffy clothes you had been wearing. You lean against the wall again, the heat from your body dissipating through the concrete. Suddenly the vent in the ceiling kicks on and a burst of cold air blows down on you; it feels magical.
<<if $doorLocked>>
You feel like you could [[stay here a while and cool off|Changing at work cool off locked]], but you should probably [[get dressed and start working|Working on your first day]].
<<else>>
You feel like you could [[stay here a while and cool off|Changing at work cool off unlocked]], but you should probably [[get dressed and start working|Working on your first day]].
<</if>>
<<run setup.addTime(5 * 60)>>You soak in the feeling of the hard, cold surface behind you and the refreshing, cool breeze from above. You sigh in relief, feeling like your body heat is finally coming under control. You had felt like you were going to spontaneously combust earlier, but now the cold made you feel almost perfect. Almost. Your bra and panties were feeling a little uncomfortable as well.
Without thinking of anything besides your comfort, you quickly unclasp your bra and drop your underwear, finally feeling free. You close your eyes as you