The FULL College Experience - Text Adventure (Demo Version 0.2.0)

I’m pretty sure there’s a bug with the way subjects and their grades are handled.

<<if $StudiedQuizC1 is 0 or $StudiedQuizC2 is 0>>
...
<<elseif $StudiedQuizC1 is 1 or $StudiedQuizC2 is 1>>
...
<<elseif $StudiedQuizC1 is 2 or $StudiedQuizC2 is 2>>
...
<<elseif $StudiedQuizC1 gte 3 or $StudiedQuizC2 gte 3>>

is common to each of the subjects. Let’s suppose that $C1Q1 has been assigned the value "Biology" (for the sake of argument), and $C2Q1 has been assigned the value of "Calculus".

Suppose our heroine failed to study for calculus (so $StudiedQuizC2 is 0), and studied hard for biology (so $StudiedQuizC1 is 3). When we evaluate each of the parts in order:

Is $StudiedQuizC1 is 0 or $StudiedQuizC2 is 0 true? => Is $StudiedQuizC1 is 0 true? => true. (or only evaluates as much as is necessary). This is true independent of whether we’re looking at Calculus or at the Biology Quiz passage.

Stylistically, I think the right thing here is to make the subjects objects in a datamap, and actually turn the whole thing into a macro that takes a subject object (with all of the attributes about the subject). This is one of the advantages of Sugarcube over Harlowe - that abstraction is not available to you in Harlowe.

Something like the following: (edit 4 - made the code below consistent in style with the style I later adopted):

<<widget "doQuiz">>
You sit down to take the quiz.
<<set _s = $Subjects[_args[0]]>>
<<if _s.StudiedQuiz is 0>>\
	You tried your best but you really didn't study enough. You turn it in and it is quickly graded by the TA. They hand it back to you and you see you failed.
<<elseif _s.StudiedQuiz is 1>>\
	You did what you could with what little you studied. You thought you knew enough to get most of them right. You turn it in to the TA who quickly grades it for you. They hand it back to you to see you got a C! 
	<<set _s.Grade += 1>>
<<elseif _s.StudiedQuiz is 2>>\
	You studied plenty to have a decent grasp on the material. You were able to quickly get through most questions though a couple stumped you. You turn it in to the TA who quickly grades it. They hand it back to you. You see you got a B! 
	<<set _s.Grade += 2>>
<<elseif _s.StudiedQuiz gte 3>>\
	You knew all this hands down. You studied more than you think most people would expect anyone to. You quickly nail all the questions and walk up to the TA to hand it in. They quickly grade it with a slight grin on their face. They hand it back to you. You see you received an A!
	<<set _s.Grade += 3>>
<</if>>
<<set _s.Class = 1>>\
<<set _s.StudiedQuiz = 0>>\
<<set _s.DaysTillQuiz = 5>>\
<<set $Time to $Time +1>>\
<</widget>>

(add that to a new passage with the tag “widget”, per the Sugarcube documentation on widgets).

Then in the StoryInit passage, add:

<<set $Subjects = {}>>
<<for _i, _s range ["Biology", "English", "History", "Calculus"]>>
	<<set $Subjects[_s] = {
		"Class": 0,
		"DaysTillQuiz": 5,
		"Grade": 0, 
		"Name": _s,
		"StudiedQuiz": 0,
		"Topic": 0,
	}>>
<</for>>

And (probably?) in the Schedule passage, I’d do:

<<set $Studies = [$C1Q1, $C2Q1]>>

and in Transition 1 and 2:

<<goto $Studies[0]>>

and

<<goto $Studies[1]>>

In each of the subject passages, then (e.g. Biology):

<<set _s = $Subjects["Biology"]>>

and replace “$Biology” throughout with _s. (including the .).

In order to fully do the refactor, I’d also add the following widgets:

<<widget "gradeHW">>
<<set _s = $Subjects[_args[0]]>>\
<<if _s.Homework is "Complete">>\
	You turned in your homework and the TA graded it. 
	<<set _s.Grade += 1>>\
<<else>>\
	You did not complete your homework and thus could not turn it in.
<</if>>\
<</widget>>

<<widget "assignHW">>
<<set _s = $Subjects[_args[0]]>>\
<<set _s.Homework to _args[0] + " Homework">>\
You were assigned _args[0] Homework to complete this evening.
<<set _s.DaysTillQuiz -= 1>>\
<</widget>>

<<widget "quizInfo">>
<<set _s = $Subjects[_args[0]]>>\
<<if _s.DaysTillQuiz gt 1>>\
	Your next quiz is coming at the end of the week!
<<else>>\
	Your next quiz is tomorrow! _args[1] reminds you to study hard tonight.
	<<set _s.Class to 2>>\
<</if>>\
<</widget>>

Each of the Bio passages then become something like:

Begin Biology:

<<gradeHW "Biology">>
Dr. Garza lectured on biological topics. 

<<include "Biology Events 1">>
<<assignHW "Biology">>
<<quizInfo "Biology" "Dr. Garza">>
<<set $Time to $Time +1>>\
[[Finish Class]]

Biology Quiz:

<<doQuiz "Biology">>
<<set $Time to $Time +1>>\
[[Finish Class]] 

Begin Biology Class:

(remove all the superfluous C1Q1 logic, and just have the following at the top)

<<set _s = $Subjects["Biology"]>>\
<<set _s.Class to 1>>\
<<set _s.Homework to "Biology Homework">>\
<<set _s.DaysTillQuiz to 4>>\

and in Biology itself:

at the top (and in each of the elseif clauses, just replace the expression in the same way as the if):

<<set _s = $Subjects["Biology"]>>
<<if _s.Class is 0>>

A similar adjustment is needed where studying occurs (which I’ll write shortly).

The study space adjustments:

<<if $Weekend is 1>>\
	It's the weekend and due to your class structure, you don't have any homework or quizzes to study for right now.
<<elseif $Weekend is 0>>\
	You are currently in the study space. Here you can complete your homework to be graded by the TAs of the classes you are taking. You can also study for the weekly quizes and exams you might take in your classes
	<<if $Time gte 10 or $Time lt 5>>
		<<studySubject $C1Q1>>
		<<studySubject $C2Q1>>
	<</if>>
<</if>>
----
NAVIGATION:
[[Common Space]]

with the corresponding widget (edit: added the capture clause. This is needed because _s is reused between the two, and then when clicking on the relevant clause, it becomes whatever it was last set to. So each widget requires its own copy.):

<<widget "studySubject">>
_args[0]:
<<nobr>><<capture _s>>
  <<set _s = $Subjects[_args[0]]>>
  <<if _s.Homework isnot "Complete">>	
	  <<linkreplace `_s.Homework`>>
		  You work on your _s.Homework for a little bit, though it seems easy enough. 
		  <<set $Time to $Time +1>>
		  <<set _s.Homework to "Complete">>
		  <<if $Fullness gte 4>>
			  <<set $Fullness to $Fullness - 4>>
		  <<elseif $Fullness lt 4>>
			  <<set $Fullness to 0>>
		  <</if>>
	  <</linkreplace>>
  <<elseif _s.Homework is "Complete">>
	  You have already completed this assignment
  <</if>>				
  <<linkreplace"Study for Quiz!">>
	  <<set $Time to $Time +1>>
	  <<if $Fullness gte 4>>
		  <<set $Fullness to $Fullness - 4>>
	  <<elseif $Fullness lt 4>>
		  <<set $Fullness to 0>>
	  <</if>>
	  <<if _s.StudiedQuiz is 0>>
		  You study your lecture notes carefully and get a cursory understanding of the material.
	  <<elseif _s.StudiedQuiz is 1>>
		  You again study for an hour and see that you are beginning to memorize most of the major ideas presented this week in lecture. 
	  <<else>>
		  You study once more for this weeks quiz. You feel you have a strong idea of what is going to be asked, you know this material like the back of your hand.
	  <</if>>
	  <<set _s.StudiedQuiz += 1>>
  <</linkreplace>>
<</capture>><</nobr>>
<</widget>>

Edit 2:

I saw the Walking Event 1 was untranslated from Harlowe. It probably works better as two events - so I separated it into Walking Event 1 and Walking Event 6.

You decide to walk to campus. On your way there you stop at a crosswalk waiting for traffic to come to a halt so you can cross. While you wait you notice a city bus slowly roll to a stop at the stoplight beside you. Across the side of the bus was an advertisement for a fashion brand called Deluxe Plush. It showcased some plus sized models in glamorous dresses and makeup. On display were there prominent curves, like voluptuous breasts, plump and round behinds, and some even had noticeable tummies.  

<<nobr>>
<<if $CD gt 50>>
You find most of the models to be particularly attractive. You think to yourself how nice it is that bigger women are able to be models. You contemplate how you would look if you were a plus size model and the thought pleases you. Your feelings towards being bigger, gaining 
weight, and being happy about it increase.
<<set $CD += 2>>
<<elseif $CD is 50>>
You feel very neutral on this and seeing the advertisement doesn’t make you feel any sort of way.
<<else>>
You find most of the models to be unattractive. You think to yourself how  you aren't necessarily a big fan of the advertisement of bigger bodies in fashion. It could be a poor influence on others. You feel you are less positively inclined towards being bigger, and gaining weight. <<set $CD -= 2>>
<</if>>
<</nobr>>

You think of your own self body image for a moment. 

<<nobr>>
<<if $BS gt 2.8>>
You notice how you are bigger than the models in the ad.
  <<if $CD gt 50>>
	This doesn’t bother you and in fact you are happy to be the size that you are at, possibly not opposed to the idea of being bigger. But for now you just appreciate who you are and who the models are.
	<<set $Mood += 10>>
  <<elseif $CD is 50>>
	You feel neutral about the comparison between you and the models in the ad, in fact you really are just happy to be exactly how you’d like to be.
  <<else>>
  	This bothers you a bit. You already feel poorly about the idea of this ad and you transfer those negative feelings to yourself as well.
  	<<set $Mood -= 10>>
  <</if>>
<<elseif $BS is 2.8>>
You notice how you are the exact same size as the models in the ad.
<<else>>
You notice how you are smaller than the models in the ad.
	<<if $CD gt 50>>
		This bothers you a little due to the fact you wish to look closer to their size. You want to be bigger and the fact that you currently are the size that you are weighs heavily on your conscious.
		<<set $Mood -= 10>>
	<<elseif $CD is 50>>
		You feel neutral about the comparison between you and the models in the ad, in fact you really are just happy to be exactly how you’d like to be.
	<<else>>
		This doesn’t really bother you that much in fact you are happy to be smaller than they are.
		<<set $Mood += 10)>>
	<</if>>
<</if>>
<</nobr>

[[Continue on!|Campus]]

and

You decide to walk to campus. On your way there you stop at a crosswalk waiting for traffic to come to a halt so you can cross. While you wait you notice a city bus slowly roll to a stop at the stoplight beside you. Across the side of the bus was an advertisement for a fashion brand called Deluxe Petite. It showcased some models in glamorous dresses and makeup. They looked to be quite thin, with some models displaying prominent thigh gaps, defined collar bones and jaw lines, and little meat on their bones.  

<<nobr>>
<<if $CD gt 50>>
You find most of the models to be particularly unattractive. You think to yourself how sad it is that woman are being held to such high unattainable beauty standards. You believe it to be a poor influence, however, it does bother you a little bit and affects your perception on being bigger, gaining weight, and being happy about it.
<<set $CD -= 2>>
<<elseif $CD is 50>>
You feel very neutral on this and seeing the advertisement doesn’t make you feel any sort of way.
<<else>>
You find most of the models to be very attractive. You think to yourself how  you are a fan of the clothes, the makeup the body types. This reinforces how you feel about bodies and you feel you are less positively inclined towards being bigger, and gaining weight.
<<set $CD -= 2>>
<</if>>
<</nobr>>

You think of your own self body image for a moment. 

<<nobr>>
<<if $BS gt 1.6>>
You notice how you are bigger than the models in the ad.
  <<if $CD gt 50>>
	This doesn’t bother you and in fact you are happy to be the size that you are at, possibly not opposed to the idea of being bigger. But for now you just appreciate who you are and who the models are, though you do have a brief thought of how they all would look a little bigger.
	<<set $Mood += 10>>
  <<elseif $CD is 50>>
	You feel neutral about the comparison between you and the models in the ad, in fact you really are just happy to be exactly how you’d like to be.
  <<else>>
  	This bothers you a bit. You feel poorly about how you have yet to attain the body type and size that the women on the ad are flaunting proudly.
  	<<set $Mood -= 10>>
  <</if>>
<<elseif $BS is 1.6>>
You notice how you are the exact same size as the models in the ad.
<<else>>
You notice how you are smaller than the models in the ad.
	<<if $CD gt 50>>
		This bothers you a little due to the fact you think of the models in the ad as too skinny, and if they are too skinny then you are definitely too skinny. You want to be bigger and the fact that you currently are the size that you are weighs heavily on your conscious.
		<<set $Mood -= 10>>
	<<elseif $CD is 50>>
		You feel neutral about the comparison between you and the models in the ad, in fact you really are just happy to be exactly how you’d like to be.
	<<else>>
		This doesn’t really bother you that much in fact you are happy to be smaller than they are. Though you do recognize that being this weight doesn’t necessarily lead to a healthy lifestyle. You are a little confused by how you feel right now.
		<<set $Mood -= 10)>>
	<</if>>
<</if>>
<</nobr>

[[Continue on!|Campus]]

Edit 3: The eat widget:

<<widget "eat">>
<<nobr>>
	<<set _FoodCalories = _args[0]>>
	<<set _FoodSize = _args[1]>>
	<<set $Fullness += _FoodSize>>
	<<if $Fullness gt $StomachCapacity>>
	  <<set _UnfinishedFood = $Fullness - $StomachCapacity>>
	  <<set _UnfinishedFood /= _FoodSize>>
	  <<set _FoodCalories *= 1 - _UnfinishedFood>>
	  <<set $Calories += _FoodCalories>>
	  <<set $Fullness = $StomachCapacity>>
	  As you continue to eat and eat you feel yourself reaching a stopping point. You didn’t realize it but you have packed yourself full of food. You don’t think you could take another bite without some of it coming back out.
	<<else>>
	  <<set $Calories += _FoodCalories>>
	  You are able to eat and enjoy your meal in its entirety.
	<</if>>
<</nobr>>
<</widget>>
1 Like


trying out the game for the first time, when looking at yourself in the mirror before getting ready, this happened morning 1.

If you go there before getting dressed, that happens, yes.

make a patron, take my money! pls


There is 2 “Foodie”
And even when am taking Hevay meal, but it seams to be Light meal
image

1 Like

after gaining weight in the game whenever I weigh myself it says “your weight is [Number NaN] lbs”

I think i fix it
Orginal code:

&lt;&lt;link&quot;Heavy&quot;&gt;&gt;&lt;&lt;set $MealPlan to &quot;L&quot;&gt;&gt;&lt;&lt;goto&quot;Meal Plan&quot;&gt;&gt;&lt;&lt;/link&gt;&gt; - For those who 
&lt;&lt;elseif $MealPlan is &quot;H&quot;&gt;&gt;\
print&lt;&lt; either(&quot;a plate of pasta salad with chicken and bacon&quot;,&quot;a buffalo chicken wrap with mayo, cheese, and lettuce&quot;,&quot;a plate of spicy grilled chicken with sauce&quot;,&quot;a cheesburger&quot;)&gt;&gt; and &lt;&lt;print either(&quot;a slice of chocolate cake&quot;,&quot;a bowl of vanilla ice cream&quot;,&quot;a fresh maple donut&quot;,&quot;a slice of chocolate cream pie&quot;)&gt;&gt; as well as a glass of &lt;&lt;print either(&quot;chocolate milk&quot;,&quot;soda&quot;,&quot;protein smoothie&quot;)&lt;&lt;set _FoodSize to 12&gt;&gt;&lt;&lt;set _FoodCalories to 1500&gt;&gt;
&lt;&lt;/if&gt;&gt;\

Fixed:

&lt;&lt;link&quot;Heavy&quot;&gt;&gt;&lt;&lt;set $MealPlan to &quot;H&quot;&gt;&gt;&lt;&lt;goto&quot;Meal Plan&quot;&gt;&gt;&lt;&lt;/link&gt;&gt; - For those who 
&lt;&lt;elseif $MealPlan is &quot;H&quot;&gt;&gt;\
	&lt;&lt;print either(&quot;a full plate of seafood pasta&quot;,&quot;a double cheeseburger&quot;,&quot;a plate of fried chicken with bbq sauce&quot;,&quot;a large plate of chicken fried rice&quot;)&gt;&gt; and &lt;&lt;print either(&quot;a slice of chocolate cake&quot;,&quot;a bowl of vanilla ice cream&quot;,&quot;a fresh maple donut&quot;,&quot;a slice of chocolate cream pie&quot;)&gt;&gt; as well as a glass of &lt;&lt;print either(&quot;chocolate milk&quot;,&quot;soda&quot;,&quot;protein smoothie&quot;)&gt;&gt;&lt;&lt;set _FoodSize to 12&gt;&gt;&lt;&lt;set _FoodCalories to 1500&gt;&gt;
&lt;&lt;/if&gt;&gt;\

After how much gainined weight it started to appear?

It’s always the first time i weigh my character after you finish the first day

which starting weight did you choose?

I was wondering if there could be a copy made accessible on mediafire, my computer hates MEGA for some ungodly reason

1 Like

mega tries to make you buy it by making it seem you can’t download it.

1 Like

That’s… kind of a bitch move for Mega to pull.

1 Like

I use apps like JDownloader to try to get around Mega and other download site’s size caps or to just download large files in general as a precaution against internet interruptions.

https://jdownloader.org/

1 Like

Think I found several bugs in the code separate from above reporting:

  1. If you lose weight when you are over your particular set weight desired level you get the NaN issue for reporting weight when stepping on scale from that point on.
  2. The classes you attend are linked to the same tracking variables which after the first quiz is taken and you have a quiz for the second class, the tracking variables are reset from taking the first quiz causing your PC to always fail the second class test. Suggest using arrays to track the class stuff.
1 Like

Just a question, if I skip class and do nothing does it effect anything negatively?

last i knew it does not impact anything yet

Love this game! Do you have any sort of Patreon so we can support you in the progress?

1 Like

This is pretty neat so far. Is it normal to constantly fail my english quizzes no matter how much I study? lol