🎬📝🔥 60s EPIC INTRO - ENGLISH + SUBTITLES COMPLETE!

 ALL 20 SUBTITLES ADDED:
- Phase 1 (5): Happy childhood dialogue
- Phase 2 (5): Virus outbreak dialogue
- Phase 3 (5): Amnesia & aging dialogue
- Phase 4 (5): Awakening & mission dialogue

 COMPLETE ENGLISH DIALOGUE:
- Kai: Full narrative arc (12 lines)
- Ana: Emotional journey (8 lines)
- Gronk: Wake-up call (1 line deep UK)
- ALL synchronized with voice timing

 SUBTITLE FEATURES:
- Bottom center (100px from bottom)
- 20px Courier New font
- White with black stroke + cyan glow
- Auto fade in/out (500ms/300ms)
- 2.8s duration (perfect for 3s shots)
- Word wrap support
- Depth 950 (visible over Polaroid, under VHS)

🎯 COMPLETE INTEGRATION:
- 21 English voices (en-US + en-GB)
- 20 intro shots (all 20!)
- 60 seconds exactly
- 4 emotional phases
- Full story arc
- Polaroid + VHS effects
- Smooth transitions
- Skip functionality

READY FOR EPIC TEST! Type 'rs' in terminal! 🎆
This commit is contained in:
2026-01-10 14:21:43 +01:00
parent 0efadb9448
commit bfd0cb01e3

View File

@@ -301,23 +301,23 @@ class IntroScene extends Phaser.Scene {
// Shot 1 (0-3s): Family Portrait + Kai voice
this.showShot('intro_family_portrait', 0, 3000, { warm: true });
this.time.delayedCall(200, () => this.playVoice('kai_01')); // "Vse se je začelo..."
this.time.delayedCall(200, () => this.playVoice('kai_01', "It all started with family. With colors. With hope."));
// Shot 2 (3-6s): Otac Longboard + Kai voice
this.showShot('intro_otac_longboard', 3000, 6000, { warm: true });
this.time.delayedCall(3200, () => this.playVoice('kai_02')); // "Oče me je učil..."
this.time.delayedCall(3200, () => this.playVoice('kai_02', "Dad taught me that life isn't a straight line..."));
// Shot 3 (6-9s): Kai Dreads + Ana voice
this.showShot('intro_kai_dreads', 6000, 9000, { warm: true });
this.time.delayedCall(6200, () => this.playVoice('ana_01')); // "...ampak divja vožnja..."
this.time.delayedCall(6200, () => this.playVoice('ana_01', "...but a wild ride with those you love."));
// Shot 4 (9-12s): Ana Barbershop + Ana voice
this.showShot('intro_ana_barbershop', 9000, 12000, { warm: true });
this.time.delayedCall(9200, () => this.playVoice('ana_02')); // "Bili smo neustavljivi..."
this.time.delayedCall(9200, () => this.playVoice('ana_02', "We were unstoppable. We were immortal."));
// Shot 5 (12-15s): Birthday Cake + Both voices
this.showShot('intro_birthday_cake', 12000, 15000, { warm: true });
this.time.delayedCall(12200, () => this.playVoice('kai_03')); // "Bili smo... celi."
this.time.delayedCall(12200, () => this.playVoice('kai_03', "We were... whole."));
// Transition to Phase 2
this.time.delayedCall(15000, () => this.playPhase2TheVirus());
@@ -332,24 +332,24 @@ class IntroScene extends Phaser.Scene {
// Shot 6 (15-18s): Virus + Kai voice
this.showShot('intro_virus', 15000, 18000, { toxic: true, glitch: true });
this.time.delayedCall(15200, () => this.playVoice('kai_04')); // "Potem je prišel X-Noir..."
this.time.delayedCall(15200, () => this.playVoice('kai_04', "Then came X-Noir. The virus. Death in nanobytes."));
// Shot 7 (18-21s): Chaos + Ana voice
this.showShot('intro_chaos', 18000, 21000, { red: true, glitch: true });
this.time.delayedCall(18200, () => this.playVoice('ana_04')); // "Vsi so se spremenili..."
this.time.delayedCall(18200, () => this.playVoice('ana_04', "Everyone changed. The streets burned."));
this.cameras.main.shake(3000, 0.005);
// Shot 8 (21-24s): Zombies + Kai voice
this.showShot('intro_zombies', 21000, 24000, { red: true, strobe: true });
this.time.delayedCall(21200, () => this.playVoice('kai_05')); // "Sosedi, prijatelji..."
this.time.delayedCall(21200, () => this.playVoice('kai_05', "Neighbors, friends... they all became zombies."));
// Shot 9 (24-27s): Parents Ghosts + Ana voice
this.showShot('intro_parents_ghosts', 24000, 27000, { fadeIn: true });
this.time.delayedCall(24200, () => this.playVoice('ana_05')); // "Starša sta se borila..."
this.time.delayedCall(24200, () => this.playVoice('ana_05', "Our parents fought. Our parents... left us."));
// Shot 10 (27-30s): Ana Taken + Ana SCREAM
this.showShot('intro_ana_taken', 27000, 30000, { red: true, blur: true });
this.time.delayedCall(27200, () => this.playVoice('ana_06')); // "KAI! NE POZABI ME!"
this.time.delayedCall(27200, () => this.playVoice('ana_06', "KAI! DON'T FORGET ME!"));
// Transition to Phase 3
this.time.delayedCall(30000, () => this.playPhase3TheAmnesia());
@@ -364,23 +364,23 @@ class IntroScene extends Phaser.Scene {
// Shot 11 (30-33s): Kai Alone + Kai voice
this.showShot('intro_kai_alone', 30000, 33000, { fadeIn: true });
this.time.delayedCall(30200, () => this.playVoice('kai_06')); // "Ostal sem sam..."
this.time.delayedCall(30200, () => this.playVoice('kai_06', "I was left alone. In darkness. With a hole in my head."));
// Shot 12 (33-36s): Kai Young + Kai voice
this.showShot('intro_kai_young', 33000, 36000, { fadeIn: true });
this.time.delayedCall(33200, () => this.playVoice('kai_07')); // "Leta so minila..."
this.time.delayedCall(33200, () => this.playVoice('kai_07', "Years passed. My face changed..."));
// Shot 13 (36-39s): Kai Adult + Kai voice
this.showShot('intro_kai_adult', 36000, 39000, { fadeIn: true });
this.time.delayedCall(36200, () => this.playVoice('kai_08')); // "...brada je zrasla..."
this.time.delayedCall(36200, () => this.playVoice('kai_08', "...my beard grew... but my memories?"));
// Shot 14 (39-42s): Kai Elder + Kai voice
this.showShot('intro_kai_elder', 39000, 42000, { fadeIn: true });
this.time.delayedCall(39200, () => this.playVoice('kai_09')); // "Spomin je ostal megla..."
this.time.delayedCall(39200, () => this.playVoice('kai_09', "All memory was fog. Except for one face."));
// Shot 15 (42-45s): Ana Memory + Ana voice (echo)
this.showShot('intro_ana_memory', 42000, 45000, { fadeIn: true });
this.time.delayedCall(42200, () => this.playVoice('ana_07')); // "Ana... Sestra..."
this.time.delayedCall(42200, () => this.playVoice('ana_07', "Ana... Sister... Twin... The truth."));
// Transition to Phase 4
this.time.delayedCall(45000, () => this.playPhase4TheAwakening());
@@ -395,23 +395,23 @@ class IntroScene extends Phaser.Scene {
// Shot 16 (45-48s): Bedroom + Kai voice
this.showShot('intro_bedroom', 45000, 48000, { fadeIn: true });
this.time.delayedCall(45200, () => this.playVoice('kai_10')); // "In zdaj... se zbudim..."
this.time.delayedCall(45200, () => this.playVoice('kai_10', "And now... I wake up. Again. Every single day."));
// Shot 17 (48-51s): Gronk + Gronk voice
this.showShot('intro_gronk', 48000, 51000, { fadeIn: true });
this.time.delayedCall(48200, () => this.playVoice('gronk_01')); // "Končno si buden..."
this.time.delayedCall(48200, () => this.playVoice('gronk_01', "Finally awake, old man. Your mission awaits."));
// Shot 18 (51-54s): Ana Memory Reprise + Kai voice
this.showShot('intro_ana_memory', 51000, 54000, { fadeIn: true });
this.time.delayedCall(51200, () => this.playVoice('kai_11')); // "Moram jo najti."
this.time.delayedCall(51200, () => this.playVoice('kai_11', "I must find her."));
// Shot 19 (54-57s): Twins Childhood + Ana voice
this.showShot('intro_twins_childhood', 54000, 57000, { warm: true, fadeIn: true });
this.time.delayedCall(54200, () => this.playVoice('ana_08')); // "Vedno sva bila dva..."
this.time.delayedCall(54200, () => this.playVoice('ana_08', "We were always two..."));
// Shot 20 (57-60s): Fade to Black + Kai FINAL
this.time.delayedCall(57000, () => {
this.playVoice('kai_12'); // "...tudi če mi vzame celo življenje."
this.playVoice('kai_12', "...even if it takes my entire life.");
// Fade to black
const blackScreen = this.add.rectangle(