ALL THE POLISH

This commit is contained in:
Nicky Case 2019-09-07 17:19:53 -04:00
parent ec4dafdb44
commit 78eed804c2
37 changed files with 315 additions and 118 deletions

View File

@ -79,7 +79,7 @@
<div class="mini-icon" pic="gear"></div>
</div>
</div>
<div id="about" style="display:none">
<div id="huh" style="display:none">
<div class="icon">
<div class="mini-icon" pic="about"></div>
</div>
@ -108,9 +108,9 @@
<i style="color:#ff4040">Adventures With Anxiety</i> is about, well, anxiety.
</p>
<p>
But I've made this story <i>for</i> folks with anxiety disorder, like myself.
I hope it can help you see how anxiety works, with humor,
to reduce the fear of fear itself.
But I've made this <i>for</i> folks with anxiety disorder, like myself.
I hope it can help you see with humor how anxiety works &amp; what it wants.
And maybe, reduce the fear of fear itself.
</p>
<p>
There's also badly-drawn stick figures and a hyperactive wolf.
@ -132,39 +132,8 @@
<!-- ABOUT -->
<div id="about">
<div id="about_words">
<span id="end_words1">
Augh games take so long to make!
This one will be done August 2019, and released for <i>free</i>.
</span>
<span id="end_words2">
This is a demo for my upcoming story-game,
which will be released for <i>free</i> in August 2019.
</span>
Get notified via my (once-a-month) newsletter!
<div>
<form id="the_newsletter" method="POST" accept-charset="utf-8" target="_blank">
<input type="text" name="name" id="name" style="display:none"/>
<input type="email" name="email" id="email" placeholder="your@email.com" required/>
<div id="email_info">
<input type="checkbox" name="gdpr" id="gdpr"/>
<div id="consent">
I consent to 1 ✉️ a month, that's it
</div>
<input type="submit" name="submit" id="submit" disabled/>
</div>
<!-- Hidden -->
<input type="hidden" name="list" value="57rMxgfbvr08aemz763COHwg"/>
<input type="hidden" name="subform" value="yes"/>
<!-- Hey bots, fill this one up. -->
<div style="display:none;">
<label for="hp">HP</label><br/>
<input type="text" name="hp" id="hp"/>
</div>
</form>
</div>
Blah blah blah
<div class="about_padding">
Help me keep making free games?

View File

@ -1,6 +1,8 @@
# act1
`SceneSetup.act1();`
```
SceneSetup.act1();
```
(...300)
@ -8,6 +10,129 @@ n: AND THIS IS THE HUMAN'S ANXIETY
n: _YOU_ ARE THE ANXIETY
{{if window.localStorage.continueChapter=="replay"}}
(#act1_replay)
{{/if}}
{{if window.localStorage.continueChapter!="replay"}}
(#act1_normal)
{{/if}}
# act1_replay
h: Oh hey! We're back here again?
`hong({eyes:"0_neutral"})`
n: YOUR JOB IS TO PROTECT YOUR HUMAN FROM *DANGER*
`bb({eyes:"look", mouth:"small_lock"})`
n: IN FACT, REPLAYING THIS GAME IS PUTTING THEM IN *DANGER* RIGHT NOW
n: QUICK, WARN THEM!
`bb({eyes:"fear", mouth:"normal"})`
b: Human! Listen, we're in danger! The danger is...
[The player's gonna torture us again!](#act1_replay_torture)
[The player won't find an alternate ending!](#act1_replay_alternate)
[The player will get ludonarrative dissonance!](#act1_replay_dissonance)
# act1_replay_torture
```
window.HACK_REPLAY = JSON.parse(localStorage.act4);
```
{{if window.HACK_REPLAY.act1_ending=="fight"}}
b: They'll make us curl up into a ball and cry!
{{/if}}
{{if window.HACK_REPLAY.act1_ending=="flight"}}
b: They'll make us kill your phone for giving you a panic attack!
{{/if}}
{{if window.HACK_REPLAY.a2_ending=="fight"}}
b: They'll make us *NOT* punch the party host!
{{/if}}
{{if window.HACK_REPLAY.a2_ending=="flight"}}
b: They'll make us punch the sympathetic-villain party host!
{{/if}}
{{if window.HACK_REPLAY.a3_ending=="jump"}}
h: Well at least we might not jump off the roof this ti--
{{/if}}
{{if window.HACK_REPLAY.a3_ending=="walkaway"}}
b: THEY'LL MAKE US JUMP OFF THE ROOF.
{{/if}}
b: ALL THESE NEW TERRIBLE THINGS WILL HAPPEN TO US, AND THEN WE'LL--
(#act1_replay_end)
#act1_replay_alternate
h: Sure, the story as a *whole* is the same, but each chapter has two possible endings, plus all the branching dialogue opti--
b: The player will be disappointed, close this browser tab, delete our software, and then we'll--
(#act1_replay_end)
# act1_replay_dissonance
h: A lewd-what now?
b: The story arc was about how you can *CHOOSE* to build a healthy collaboration with your fear,
b: But replaying the game will give the same story, implying your *CHOICES* don't matter,
b: Thus showing a contradiction between the game's message and mechanics,
b: Thus unraveling the fabric of this narrative universe,
b: And then we'll--
(#act1_replay_end)
# act1_replay_end
`bb({body:"panic"})`
b: DIEEEEEEEEEEEEEEEEEEE
```
Game.clearText();
```
(...1001)
b: hahaha
h: Okay let's get back into character.
```
Game.clearText();
```
n4: (LET _YOUR_ ANXIETY BLAH BLAH BLAH MOST SIMILAR TO WHAT _YOUR_ FEAR BLAH BLAH YOU KNOW THE DRILL)
(#act1_normal_choice)
# act1_normal
`hong({mouth:"0_neutral", eyes:"0_annoyed"})`
h: Oh good, my wolf's back. Faaaaantastic.
@ -22,23 +147,33 @@ n: IN FACT, THAT SANDWICH IS PUTTING THEM IN *DANGER* RIGHT NOW
n: QUICK, WARN THEM!
`bb({eyes:"fear", mouth:"normal"})`
`Game.OVERRIDE_TEXT_SPEED = 1.25;`
```
bb({body:"squeeze_talk"});
hong({body:"0_squeeze"});
```
b: Human! Listen, we're in danger! The danger is...
`bb({body:"squeeze"})`
n4: (LET _YOUR_ ANXIETY COME OUT TO PLAY! PICK WHAT'S MOST SIMILAR TO WHAT _YOUR_ FEAR TELLS YOU)
[We're eating alone for lunch! Again!](#act1a_alone)
(#act1_normal_choice)
[We're not productive while eating!](#act1a_productive)
# act1_normal_choice
[That white bread's bad for us!](#act1a_bread)
[We're eating alone for lunch! Again!](#act1a_alone) `bb({body:"squeeze_talk"})`
[We're not productive while eating!](#act1a_productive) `bb({body:"squeeze_talk"})`
[That white bread's bad for us!](#act1a_bread) `bb({body:"squeeze_talk"})`
# act1a_alone
`bb({mouth:"small", eyes:"narrow"})`
```
bb({body:"normal", mouth:"small", eyes:"narrow"});
hong({body:"0_sammich"});
```
b: Don't you know loneliness is associated with premature death as much as smoking 15 cigarettes a day?-
@ -79,7 +214,10 @@ n: YOU USED *FEAR OF BEING UNLOVED*
# act1a_productive
`bb({mouth:"small", eyes:"normal"});`
```
bb({body:"normal", mouth:"small", eyes:"normal"});
hong({body:"0_sammich"});
```
b: Whip out your laptop and do some work right now!
@ -120,7 +258,10 @@ n: YOU USED *FEAR OF BEING A BAD PERSON*
# act1a_bread
`hong({eyes:"0_annoyed"})`
```
bb({body:"normal", mouth:"normal", eyes:"fear"});
hong({body:"0_sammich", eyes:"0_annoyed"});
```
h: Have those studies been replicat--
@ -158,10 +299,12 @@ n: IT'S SUPER EFFECTIVE
b: See, human? I am your loyal guard-wolf!
`bb({body:"point_heart", eyes:"pretty"});`
`bb({body:"pride_talk"});`
b: Trust your gut! Your feelings are always valid!
`bb({body:"pride"});`
n: GET YOUR HUMAN'S ENERGY BAR TO ZERO
n: TO PROTECT THEIR PHYSICAL + SOCIAL + MORAL NEEDS, YOU CAN USE:
@ -225,7 +368,7 @@ b: Doesn't that weirdo throw a party *every* weekend?
`bb({eyes:"uncertain_right"});`
b: What inner void are they trying to fill? They must be deeply messed up on the inside!
b: What inner void are they trying to fill? They must be deeply messed up inside!
`hong({eyes:"surprise"});`
@ -825,7 +968,7 @@ attack("10p", "bad");
(...2500)
```
hong({mouth:"anger", eyes:"fear"});
hong({mouth:"anger", eyes:"anger"});
Game.OVERRIDE_TEXT_SPEED = 1.5;
_.factcheck = true;
```
@ -981,9 +1124,9 @@ b: DANGER DANGER DANGER DANGER DANGER DANGER
`bb({body:"point_crotch", eyes:"normal", mouth:"normal"})`
b: Random hookups may be able to fill the hole down there
b: Random hookups may be able to fill the hole down there,
b: but they can never fill the hole
b: but they can never fill the hole...
`bb({body:"point_heart", eyes:"pretty", mouth:"small"})`

View File

@ -297,7 +297,7 @@ music(null, {fade:1});
```
music('battle', {volume:0.5});
publish("hp_show");
bb({mouth:"normal", eyes:"normal"});
bb({body:"normal", mouth:"normal", eyes:"normal"});
```
n: ROUND TWO: *FIGHT!*
@ -405,6 +405,8 @@ b: ...
b: *GASP*
`bb({mouth:"small_talk"})`
b: I MUST WARN YOU ABOUT...
[*More* of the same danger!](#act2b_louder)
@ -1051,9 +1053,9 @@ b: ...
[Jeez, human. That's really hurtful.](#act2e_hurtful)
[Because... "your feelings are valid"?](#act2e_valid)
[I'm a feeling. Feelings are valid.](#act2e_valid)
[Human, we're *both* "just chemicals".](#act2e_rational)
[Human, we're *both* "just chemicals."](#act2e_rational)
# act2e_hurtful
@ -1384,7 +1386,7 @@ bb({body:"frazzled", mouth:"frazzled", eyes:"frazzled"});
h: Mmm, what an exquisite palette!
h: A full-bodied flavor of "shut your mind up", with a subtle aftertaste of "never feel anything ever again"!
h: A full-bodied flavor of "shut your mind up," with a subtle aftertaste of "never feel anything ever again"!
b: This is bad, human. This is really, really bad.
@ -1481,6 +1483,7 @@ sfx("hadouken");
# act2i
```
publish("hide_tabs");
publish("show_special_attack");
Game.FORCE_CANT_SKIP = true;
music(null);
@ -1490,6 +1493,7 @@ stopAllSounds();
(...5000)
```
publish("show_tabs");
hong({ body:"final", mouth:"final" });
bb({ body:"normal", mouth:"normal", eyes:"sad" });
attack("100p", _.SPECIAL_ATTACK);

View File

@ -46,6 +46,10 @@ publish("act3",["roofhong",5]);
r: You remind me of myself when I was younger. Back when I was tormented by the animal in my head.
`publish("act3",["roofhunter",9]);`
r: I'm so grateful I can pay it forward, and help you kill the beast the way I killed mine.
```
publish("act3",["roofhunter",2]);
publish("act3",["roofhong",2]);
@ -127,7 +131,7 @@ r: But that's exactly why we need death-defying thrills! Party hard! Carpe diem!
publish("act3",["roofhunter",10]);
```
r: Let's show that animal we don't give two *^dick^s* about its ^bitch^ing! Jump in.
r: Show that animal we don't give two *^dick^s* about its ^bitch^ing! Jump in.
```
publish("act3",["roofhunter",11]);
@ -1143,51 +1147,52 @@ Game.WORDS_HEIGHT_BOTTOM = -1;
Game.FORCE_TEXT_Y = -1;
Game.clearText();
publish("act4-injury-show");
publish("hide_tabs");
```
(...2000)
```
/*sfx("hospital1");*/
sfx("hospital1");
publish("act4-injury", [1]);
```
(...4000)
```
/*stopAllSounds();*/
stopAllSounds();
publish("act4-injury", [0]);
```
(...2000)
```
/*sfx("hospital2");*/
sfx("hospital2");
publish("act4-injury", [2]);
```
(...4000)
```
/*stopAllSounds();*/
stopAllSounds();
publish("act4-injury", [0]);
```
(...2000)
```
/*sfx("hospital3");*/
sfx("hospital3");
publish("act4-injury", [3]);
```
(...6000)
(...8000)
```
/*stopAllSounds();*/
stopAllSounds();
publish("act4-injury", [0]);
```
(...5000)
(...5500)
`_.INJURED = true;`

View File

@ -8,6 +8,21 @@ Game.FORCE_CANT_SKIP = true;
(...5001)
```
publish("set_how_many_prompts", [1]);
Game.FORCE_CANT_SKIP = false;
Game.CLICK_TO_ADVANCE = true;
```
n3: (game auto-saved)
```
Game.clearText();
Game.FORCE_CANT_SKIP = true;
```
(...1001)
```
var hong_frame = _.INJURED ? 9 : 0;
publish("act4", ["hong_walks_in",hong_frame]);
@ -374,7 +389,7 @@ b: I'm a battered shelter dog.
`bb({eyes:"sad"})`
b: We've been through rough stuff, possibly trauma, so that's why sometimes I over-react and go--
b: We've been through rough stuff. Maybe trauma or neglect. That's why I sometimes over-react and go:
```
sfx("yaps", {volume:0.6});
@ -882,7 +897,7 @@ h: Could also learn to get more comfortable with rejection.
`hong({ eyes:"normal" });`
h: Or learn to know when people *aren't* rejecting us, they're just tired or have Resting Bitch Face.
h: Or learn to know when people *aren't* rejecting us, they're just tired or have Resting ^Bitch^ Face.
```
hong({ body:"normal" });
@ -1038,16 +1053,21 @@ h: When dogs want to show love and trust, they make themselves vulnerable by exp
`hong({body:"one_up"})`
h: Right now we're not *yet* secure enough to be too vulnerable, but with enough training,
h: Maybe we're not *yet* secure enough to be too vulnerable, but with enough training,
`hong({body:"normal", eyes:"surprise"})`
h: One day we can show people the real us all messed-up, all human.
`hong({eyes:"normal"})`
```
hong({eyes:"normal"});
bb({ eyes:"super_sad", mouth:"smile", body:"chest" });
```
b: I'll roll over if you give me a treat.
`bb({ eyes:"normal", mouth:"normal" });`
h: No.
(#act4_something_else)
@ -1802,7 +1822,7 @@ b: I want to be a good guard-dog. Just like how hunger & thirst are alarms for y
`publish("act4", ["bb_closer", 8]);`
b: I want to be the alarm for your emotional needs your needs for safety, belonging, goodness.
b: I want to be the alarm for your *psychological* needs your needs for safety, belonging, goodness.
`publish("act4", ["bb_closer", 1]);`
@ -1810,9 +1830,9 @@ b: But... I suck at my job, so I need you to train me.
`publish("act4", ["bb_closer", 4]);`
b: I'm not "always valid", nor "always irrational". I'm just... trying my best. So, please,
b: I'm not "always valid," nor "always irrational." I'm just... trying my best. So, please,
`publish("act4", ["bb_closer", 8]);`
`publish("act4", ["bb_closer", 30]);`
b: Help me help you!
@ -1848,11 +1868,11 @@ b: Maybe you can tame this wolf.
`Game.OVERRIDE_CHOICE_SPEAKER = "h"`
[Good dog.](#act4f-pat-bb) `Game.OVERRIDE_CHOICE_SPEAKER = "h"; publish("act4", ["hong_closer", 2]);`
[Good dog.](#act4f-pat-bb) `Game.OVERRIDE_CHOICE_SPEAKER = "h"; publish("act4", ["hong_closer", 2]); publish("hide_tabs");`
`Game.OVERRIDE_CHOICE_SPEAKER = "b"`
[Good human.](#act4f-pat-hong) `Game.OVERRIDE_CHOICE_SPEAKER = "b"; publish("act4", ["bb_closer", 8]);`
[Good human.](#act4f-pat-hong) `Game.OVERRIDE_CHOICE_SPEAKER = "b"; publish("act4", ["bb_closer", 8]); publish("hide_tabs");`
# act4f-pat-hong

View File

@ -84,7 +84,7 @@ _.PLAYED_BEFORE = !!window.localStorage.continueChapter;
`clearText()`
n3: Welcome! This is less of a "game", more of an interactive story. Hope you like reading, sucka!
n3: Welcome! This is less of a "game," more of an interactive story. Hope you like reading, sucka!
n3: So before we start, how would *you* like to read?

View File

@ -70,7 +70,12 @@ function Act1_Beebee(){
"mouth_shut",
"eyes_anger",
"body_meta*"
"body_meta*",
"body_laugh*",
"body_pride_talk*",
"body_pride*",
"body_squeeze_talk*",
"body_squeeze*",
],
x: 270-7.5,
@ -117,6 +122,14 @@ function Act1_Beebee(){
ticker += 1/60;
self.characterSquash = 1 + Math.sin(ticker*Math.TAU*7)*0.01; // seven vibes per second
// TOTAL HACK
var b = self.layers.body.currentFrameName;
if(b=="body_squeeze_talk*" || b=="body_squeeze*"){// || b=="body_pride_talk*" || b=="body_pride*"){
self.characterSquash = 1; // TOTAL HACK
self.bounce = 1;
self.bounceVel = 0;
}
// Old Draw
_oldDraw.apply(self, arguments);

View File

@ -25,6 +25,7 @@ function Act1_Hong(){
"body_0_sammich_no_outline",
"body_0_sammich",
"body_0_squeeze*",
"eyes_0_neutral",
"eyes_0_lookaway",
"eyes_0_annoyed",
@ -65,7 +66,9 @@ function Act1_Hong(){
"body_3_defeated1*",
"body_3_defeated2*",
"body_3_defeated3*",
"body_3_defeated3_no_outline*"
"body_3_defeated3_no_outline*",
"body_laugh*",
],
x: 65,

View File

@ -8,10 +8,14 @@ SceneSetup.act1 = function(){
Game.resetScene();
// HI TABS
publish("show_tabs");
// RESET HP
HP.reset();
// ATTACKS
Game.start(); /* RESET THE GLOBAL VAR _ */
_.CHAPTER = 1;
_.attack_harm_ch1 = 0;
_.attack_alone_ch1 = 0;

View File

@ -30,7 +30,7 @@ function Act2_Beebee(){
"body_one_up",
"body_scream_a_1*",
"body_scream_a_2*",
"mouth_shocked",
"body_shocked*",
"mouth_small",
"mouth_small_talk",
@ -153,8 +153,8 @@ function Act2_Beebee(){
// Go To Frames!
self.gotoFrames({
body: "normal",
mouth: "shocked",
body: "shocked",
mouth: "blank",
eyes: "blank",
});
var _subscriptions = [];

View File

@ -4,6 +4,9 @@ Loader.addSounds([
SceneSetup.act2 = function(){
// HI TABS
publish("show_tabs");
Game.resetScene();
// RESET HP

View File

@ -17,9 +17,9 @@ Loader.addSounds([
{ id:"quack", src:"sounds/sfx/quack.mp3" },
{ id:"bottle_toss", src:"sounds/sfx/bottle_toss.mp3" },
{ id:"bottle_slip", src:"sounds/sfx/bottle_slip.mp3" },
/*{ id:"hospital1", src:"sounds/sfx/hospital1.mp3" },
{ id:"hospital1", src:"sounds/sfx/hospital1.mp3" },
{ id:"hospital2", src:"sounds/sfx/hospital2.mp3" },
{ id:"hospital3", src:"sounds/sfx/hospital3.mp3" },*/
{ id:"hospital3", src:"sounds/sfx/hospital3.mp3" },
{ id:"door", src:"sounds/sfx/door.mp3" },
]);
@ -290,6 +290,7 @@ function BG_Rooftop(){
};
var vibrateTicker = 0;
self.draw = function(ctx){
ctx.save();
@ -307,6 +308,12 @@ function BG_Rooftop(){
}else{
if(self.hospitalSprite.currentFrame==2){ // ambulance
vibrateTicker += 1/60;
self.hospitalSprite.y = Math.sin(vibrateTicker*10*Math.TAU)*5;
}else{
self.hospitalSprite.y = 0;
}
self.hospitalSprite.draw(ctx);
}

View File

@ -6,6 +6,9 @@ Loader.addSounds([
SceneSetup.act3 = function(){
// HI TABS
publish("show_tabs");
Game.resetScene();
// RESET HP

View File

@ -4,6 +4,9 @@ Loader.addSounds([
SceneSetup.act4 = function(){
// HI TABS
publish("show_tabs");
Game.resetScene();
// RESET HP

View File

@ -64,7 +64,7 @@ function BG_Credits(){
// END MESSAGE
var endMsg = {
image: Library.images.credits_end_message,
grid:{ width:3, height:2 },
grid:{ width:4, height:1 },
frame:{ width:720, height:1200 },
anchor:{ x:0, y:0 },
x:0, y:17
@ -75,7 +75,7 @@ function BG_Credits(){
{from:53.8333,to:54.4667},
{from:57.8333,to:58.4667}].forEach(function(period, i){
var msg = new Sprite(endMsg);
msg.gotoFrame(i+1);
msg.gotoFrame(i);
msg._PERIOD = period;
self.endMessages.push(msg);
});

View File

@ -4,6 +4,9 @@ Loader.addSounds([
SceneSetup.credits = function(){
// BYE TABS
publish("hide_tabs");
Game.resetScene();
Game.clearText();

View File

@ -6,21 +6,10 @@ Loader.addSounds([
(function(){
// Newsletter stuff
var gdpr = $("#gdpr");
var submit = $("#submit");
gdpr.onchange = function(){
var isChecked = gdpr.checked;
submit.disabled = !isChecked;
submit.value = isChecked ? "Subscribe! →" : "← plz consent";
};
gdpr.onchange();
$("#the_newsletter").setAttribute("action", "https://sendy.ncase.me/subscribe");
// The About Button
var aboutDOM = $("#about");
$("#about").onclick = function(){
$("#huh").onclick = function(){
aboutDOM.setAttribute("about","yes");
aboutDOM.style.top = "40px";
@ -42,7 +31,7 @@ Loader.addSounds([
};
// SHOW END
subscribe("END_OF_DEMO", function(){
subscribe("THE_END", function(){
// Hi
About.showing = true;

View File

@ -67,12 +67,6 @@ function Character(spriteConfig, animLoops){
};
self.gotoFrames = function(args, bounce){
// Bounce?
if(bounce===undefined) bounce=0.03; // a LITTLE bit, by default
if(bounce!==undefined){
self.bounce += bounce;
}
// Gimme those args
if(args.body){
if(!self.layers.body.doesFrameNameExist("body_"+args.body)) args.body+="*"; // add * if missing
@ -81,22 +75,37 @@ function Character(spriteConfig, animLoops){
if(args.mouth) self.characterFrames.mouth = args.mouth;
if(args.eyes) self.characterFrames.eyes = args.eyes;
// DID ANY PART CHANGE?
var ANY_PART_CHANGED = false;
if(args.body){
var bodyName = "body_"+args.body;
if(self.layers.body.currentFrameName!=bodyName) ANY_PART_CHANGED=true;
self.layers.body.gotoFrameByName(bodyName);
self.characterFrames.body = args.body;
}
if(args.mouth){
var mouthName = "mouth_"+args.mouth;
if(self.layers.mouth.currentFrameName!=mouthName) ANY_PART_CHANGED=true;
self.layers.mouth.gotoFrameByName(mouthName);
}
if(args.eyes){
var eyesName = "eyes_"+args.eyes;
if(self.layers.eyes.currentFrameName!=eyesName) ANY_PART_CHANGED=true;
self.layers.eyes.gotoFrameByName(eyesName);
}
// If NO CHANGE, then BOUNCE=0
if(!ANY_PART_CHANGED) bounce=0;
// Bounce?
if(bounce===undefined) bounce=0.03; // a LITTLE bit, by default
if(bounce!==undefined){
self.bounce += bounce;
}
// Go go go
var l = self.layers;
var c = self.characterFrames;

View File

@ -228,11 +228,20 @@ Loader.addSounds([
Game.goto("intro-start-2");
// Double total hack
$("#gear").style.display = "block";
$("#about").style.display = "block";
publish("show_tabs");
});
subscribe("hide_tabs", function(){
$("#gear").style.display = "none";
$("#huh").style.display = "none";
});
subscribe("show_tabs", function(){
$("#gear").style.display = "block";
$("#huh").style.display = "block";
});
subscribe("show_options", function(){
ALREADY_DID_INTRO = true;

View File

@ -25,11 +25,16 @@ function BG_Intro(){
var self = this;
// Sprites!
self.logoSprite = new Sprite({
var LOGO_SPRITE = {
image: Library.images.intro_logo,
grid:{ width:1, height:1 },
grid:{ width:2, height:1 },
frame:{ width:720, height:900 },
});
};
self.logoSprite = new Sprite(LOGO_SPRITE);
self.infoSprite = new Sprite(LOGO_SPRITE);
self.infoSprite.gotoFrame(1);
self.infoSprite.alpha = 0;
var spriteConfig = {
image: Library.images.intro_bg,
grid:{ width:2, height:3 },
@ -101,6 +106,7 @@ function BG_Intro(){
var parallaxTicker = 0;
var SHOWN_PLAY_BUTTON = false;
var SHOWN_LOGO = false;
var tickerSinceShown = 0;
var thePreviousFrame;
self.draw = function(ctx){
@ -162,6 +168,13 @@ function BG_Intro(){
}
if(GAME_TRANSITION==0 && SHOWN_LOGO){
self.logoSprite.draw(ctx);
self.infoSprite.draw(ctx);
}
if(SHOWN_LOGO){
tickerSinceShown += 1/60;
if(tickerSinceShown>1.5){
self.infoSprite.alpha = Math.min(1, tickerSinceShown-1.5);
}
}
// Show Play Button

View File

@ -15,8 +15,7 @@ SceneSetup.intro = function(){
Game.scene.children.push(bg);
// TOTAL HACK
$("#gear").style.display = "none";
$("#about").style.display = "none";
publish("hide_tabs");
};

View File

@ -31,9 +31,6 @@ subscribe("START_GAME", function(){
$("#loading").style.display = "none";
Game.start();
$("#gear").style.display = "block";
$("#about").style.display = "block";
// Intro
Game.goto("intro");

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

After

Width:  |  Height:  |  Size: 365 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 563 KiB

After

Width:  |  Height:  |  Size: 593 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 211 KiB

After

Width:  |  Height:  |  Size: 240 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 741 KiB

After

Width:  |  Height:  |  Size: 745 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 KiB

After

Width:  |  Height:  |  Size: 950 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 300 KiB

After

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 217 KiB

After

Width:  |  Height:  |  Size: 234 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

After

Width:  |  Height:  |  Size: 251 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 KiB

After

Width:  |  Height:  |  Size: 188 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 242 KiB

After

Width:  |  Height:  |  Size: 261 KiB

View File

@ -82,7 +82,7 @@ BOTTOM TABS
******************************************************************************************************/
#gear, #about{
#gear, #huh{
position: absolute;
bottom: 0;
background: #191919;
@ -90,10 +90,10 @@ BOTTOM TABS
height: 35px;
cursor: pointer;
}
#gear:hover, #about:hover{
#gear:hover, #huh:hover{
background: #575757;
}
#gear > .icon, #about > .icon{
#gear > .icon, #huh > .icon{
position: absolute;
width: 0;
height: 0;
@ -107,11 +107,11 @@ BOTTOM TABS
#gear > .icon{
left: 4px;
}
#about{
#huh{
right: 0;
border-top-left-radius: 50px;
}
#about > .icon{
#huh > .icon{
color: rgba(255,255,255,0.4);
font-weight: bold;
right: 19px;
@ -194,6 +194,7 @@ PAUSED & LOADING
background-size: 100%;
}
#loading{
cursor: default;
display:block;
background:#282828;
}