🎭 ADVANCED SYSTEMS DESIGN - 4 MAJOR FEATURES!
✅ COMPLETE DESIGN DOCUMENT CREATED: **ADVANCED_SYSTEMS_DESIGN.md (1,100+ lines)** 🎯 4 NEW MAJOR SYSTEMS DESIGNED: 1. 🎭 GENERATIONAL AGING SYSTEM: - 3 Life Stages: Young → Adult → Elder - Visual aging (dreads go grey, piercings STAY!) - Family Formation Mechanic - Ana search NEVER ends (even with kids) - Grandchildren join quest in late game - Stat changes per age (speed/wisdom trade-off) - Sprite Requirements: 250+ new sprites 2. 🎬 INTRO VIDEO & FLASHBACK EXPANSION: - Emotional intro sequence (happy → apocalypse → aging) - Blur-to-clear effects on best memories - Longboard with father scene - Dreadlocks at barbershop scene - Twin moment with Ana (clearest shot) - Time-lapse aging montage (30 years) - In-game flashback types: Fragment/Full/Dream - Trigger system for memory reveals 3. 👻 GHOST QUEST (PARENTS): - Activates AFTER Ana is found (post-game) - Parents as Noir-Neon ghosts (cyan/magenta) - Lead Kai to death location (ocean pier) - Emotional closure cutscene - Rewards: Ghostly Longboard mount, buffs - Night-only trigger (23:00-04:00) - Ethereal voice acting needed - 16 ghost sprites required 4. 🎁 SPECIAL EDITION GRONK HELPER: - Early Adopters (Buyer #1-20) exclusive - Streamer Mode detection (OBS/Twitch) - License verification API - Gronk as permanent ally/pet - Abilities: * Auto-gather resources (10-tile radius) * Combat assistance (smash attack) * Vape boost (+50% speed, 5min cooldown) * Emotional support (+10% XP) - Customization: vape flavors, outfits, piercings - Streamer bonuses: chat integration, alerts - 20+ Gronk companion sprites needed 📋 DESIGN DETAILS: **Aging System:** - Young Kai (25-29): Full dreads, lean, 120% speed - Adult Kai (30-39): Muscular, family, 100% speed - Elder Kai (40+): Grey dreads, wise, 80% speed, 200 HP - Ana ages to match Kai when found - Piercings NEVER removed (HIPO identity!) **Flashback System:** - Blur effect (heavy → clear) - Audio: [AI_VOICE] synced to visuals - Triggers: items, locations, birthdays - 3 types: Fragment (2s), Full (cutscene), Dream **Ghost Quest:** - Neon-noir aesthetic (transparent + glow) - Cyan Father, Magenta Mother - Hover animation + breathing - Lead to death site (pier from intro!) - Family closure + secret rewards **Gronk Companion:** - License check on startup - First 20 buyers get golden crown - Streamers get LIVE indicator - Vape flavors unlock via gameplay - Can't die (respawns) - Pink particle effects 📊 REQUIREMENTS: **Sprites:** ~250 new (3 Kai sets, 3 Ana sets, ghosts, Gronk) **Code:** ~2,000 lines (5 new systems) **Audio:** 10 ghost voices, vape SFX, flashback music **API:** License verification server 🎯 PHILOSOPHY: - Aging doesn't change identity (piercings stay) - Family doesn't end quest (determination) - Ghosts are beautiful (noir aesthetic) - Gronk is loyal (authentic friendship) - Early supporters deserve exclusivity - NO pay-to-win (helper, not OP) 📁 STRUCTURE: - Aging triggers (time + story-based) - Flashback types detailed - Ghost quest phases (4 phases) - Gronk abilities breakdown - License detection logic - Streamer mode integration Ready for implementation planning! 🚀
This commit is contained in:
882
docs/game_design/ADVANCED_SYSTEMS_DESIGN.md
Normal file
882
docs/game_design/ADVANCED_SYSTEMS_DESIGN.md
Normal file
@@ -0,0 +1,882 @@
|
|||||||
|
# 🎮 ADVANCED GAME SYSTEMS - DESIGN DOCUMENT
|
||||||
|
## Hipodevil666 Studios™ - DolinaSmrti
|
||||||
|
|
||||||
|
**Created:** January 10, 2026, 03:30 CET
|
||||||
|
**Version:** 1.0 - Advanced Features
|
||||||
|
**Status:** Design Phase
|
||||||
|
**Developer:** David "HIPO" Kotnik
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📋 OVERVIEW
|
||||||
|
|
||||||
|
This document outlines 4 major advanced game systems for DolinaSmrti:
|
||||||
|
1. **Generational Aging System** - Characters age visually and mechanically
|
||||||
|
2. **Intro Video & Flashback Expansion** - Emotional storytelling with blur effects
|
||||||
|
3. **Ghost Quest System** - Parents' spirits guide after Ana is found
|
||||||
|
4. **Special Edition Gronk Helper** - Bonus companion for early adopters/streamers
|
||||||
|
|
||||||
|
**Design Philosophy:** These systems add emotional depth, replayability, and premium value while maintaining the noir aesthetic and HIPO's authentic ADHD creativity.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎭 SYSTEM 1: GENERATIONAL AGING SYSTEM
|
||||||
|
|
||||||
|
### **Concept:**
|
||||||
|
Kai and Ana visually age throughout the game, reflecting the passage of time and emotional journey. Even if Kai starts a family, the Ana search continues - with his children potentially joining the quest in later phases.
|
||||||
|
|
||||||
|
### **Age Stages:**
|
||||||
|
|
||||||
|
#### **1. YOUNG KAI (Game Start - Year 1-5)**
|
||||||
|
**Visual Design:**
|
||||||
|
- Full dreadlocks (dark brown/black with colored tips)
|
||||||
|
- Piercings: 2 ear piercings, eyebrow piercing
|
||||||
|
- Clothing: Baggy punk style, band t-shirts
|
||||||
|
- Build: Lean, athletic
|
||||||
|
- Facial: Clean-shaven or light stubble
|
||||||
|
- Energy: High (faster movement speed)
|
||||||
|
|
||||||
|
**Sprite Requirements:**
|
||||||
|
- Full sprite set (idle, walk, run, combat, actions)
|
||||||
|
- Dreadlocks physics (sway animation)
|
||||||
|
- Vibrant clothing colors
|
||||||
|
|
||||||
|
**Stats:**
|
||||||
|
- Movement Speed: 120% base
|
||||||
|
- Stamina: 100%
|
||||||
|
- Health: 100 HP
|
||||||
|
- Emotional State: Desperate, energetic
|
||||||
|
|
||||||
|
#### **2. ADULT KAI (Year 6-15)**
|
||||||
|
**Visual Design:**
|
||||||
|
- Dreadlocks maintained but slightly matted
|
||||||
|
- ALL piercings remain (HIPO: "Piercings don't change you!")
|
||||||
|
- Clothing: More practical (cargo pants, work jacket)
|
||||||
|
- Build: More muscular (from survival)
|
||||||
|
- Facial: Short beard option
|
||||||
|
- Possible family: Wife + child sprite companions
|
||||||
|
|
||||||
|
**Sprite Requirements:**
|
||||||
|
- Updated sprite set with subtle muscle definition
|
||||||
|
- Dreadlocks slightly longer
|
||||||
|
- Piercings clearly visible
|
||||||
|
- Optional family member followers
|
||||||
|
|
||||||
|
**Stats:**
|
||||||
|
- Movement Speed: 100% base
|
||||||
|
- Stamina: 120% (experienced survivor)
|
||||||
|
- Health: 150 HP (tougher)
|
||||||
|
- Emotional State: Determined, paternal (if family exists)
|
||||||
|
|
||||||
|
**Family Mechanic:**
|
||||||
|
- Wife NPC: Provides home base, cooking, emotional support
|
||||||
|
- Child NPC (Age 5-10): Follows Kai on easier missions, learns survival
|
||||||
|
- **Story Note:** Family does NOT end Ana search quest
|
||||||
|
- Dialog: "My children deserve to know their aunt Ana is alive."
|
||||||
|
|
||||||
|
#### **3. ELDER KAI (Year 16+)**
|
||||||
|
**Visual Design:**
|
||||||
|
- Grey dreadlocks (dignified silver/white)
|
||||||
|
- ALL piercings STILL present (never removed!)
|
||||||
|
- Clothing: Worn leather jacket, patched clothes
|
||||||
|
- Build: Still strong but slower
|
||||||
|
- Facial: Full grey beard
|
||||||
|
- Possible grandchildren sprites
|
||||||
|
|
||||||
|
**Sprite Requirements:**
|
||||||
|
- Grey/white hair textures
|
||||||
|
- Weathered face (scars, wrinkles)
|
||||||
|
- Slower but powerful animations
|
||||||
|
- Grandchildren companion sprites
|
||||||
|
|
||||||
|
**Stats:**
|
||||||
|
- Movement Speed: 80% base (slower but wiser)
|
||||||
|
- Stamina: 80% (conserves energy)
|
||||||
|
- Health: 200 HP (resilient veteran)
|
||||||
|
- Wisdom Stat: +50% (better crafting, negotiation)
|
||||||
|
- Emotional State: Wise, reflective, still searching
|
||||||
|
|
||||||
|
**Grandchildren Mechanic:**
|
||||||
|
- Teen/Young Adult NPCs (Age 16-20)
|
||||||
|
- Can fully participate in combat and quests
|
||||||
|
- **Major Quest:** "Grandpa's Promise" - Help finish Ana search
|
||||||
|
- Dialog: "Grandpa never gave up. Neither will we."
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **Ana Age Stages:**
|
||||||
|
|
||||||
|
#### **1. YOUNG ANA (When Found - Captive)**
|
||||||
|
**Visual Design:**
|
||||||
|
- Lab coat over prisoner clothes
|
||||||
|
- Short practical hair (cut during captivity)
|
||||||
|
- Pale skin (no sunlight)
|
||||||
|
- Scientist appearance
|
||||||
|
- Exhausted but intelligent eyes
|
||||||
|
|
||||||
|
#### **2. RECOVERED ANA (Post-Rescue)**
|
||||||
|
**Visual Design:**
|
||||||
|
- Twin matching with Kai's current age
|
||||||
|
- If Kai is elder, Ana also shows grey hair
|
||||||
|
- Lab coat remains (scientist identity)
|
||||||
|
- Healthier appearance after recovery
|
||||||
|
|
||||||
|
**Story Sync:**
|
||||||
|
- Ana ages to match Kai's current stage when found
|
||||||
|
- If Kai is Old, Ana is also Old when rescued
|
||||||
|
- Emotional reunion regardless of age
|
||||||
|
- "I never stopped working on the cure, sister."
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **Aging Triggers:**
|
||||||
|
|
||||||
|
**Time-Based:**
|
||||||
|
- Every in-game year = visual age check
|
||||||
|
- Smooth transition (no sudden changes)
|
||||||
|
- Gradual sprite replacement
|
||||||
|
|
||||||
|
**Story-Based:**
|
||||||
|
- Major quest completions can trigger age jumps
|
||||||
|
- "10 years later..." time skips for dramatic effect
|
||||||
|
- Player choice: "Continue searching?" or "Build a family first?"
|
||||||
|
|
||||||
|
**Mechanical:**
|
||||||
|
```javascript
|
||||||
|
class AgingSystem {
|
||||||
|
constructor() {
|
||||||
|
this.kaiAge = 25; // Starting age
|
||||||
|
this.currentStage = 'young'; // young/adult/elder
|
||||||
|
this.yearsSearching = 0;
|
||||||
|
this.hasFamily = false;
|
||||||
|
this.children = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
updateAge(years) {
|
||||||
|
this.kaiAge += years;
|
||||||
|
this.yearsSearching += years;
|
||||||
|
|
||||||
|
if (this.kaiAge >= 40) {
|
||||||
|
this.transitionToElder();
|
||||||
|
} else if (this.kaiAge >= 30) {
|
||||||
|
this.transitionToAdult();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
transitionToAdult() {
|
||||||
|
// Load adult sprite set
|
||||||
|
// Update stats
|
||||||
|
// Check for family formation
|
||||||
|
// Show "Years have passed..." cutscene
|
||||||
|
}
|
||||||
|
|
||||||
|
checkFamilyFormation() {
|
||||||
|
// Player choice dialog
|
||||||
|
// If yes: wife NPC + child system
|
||||||
|
// If no: continue solo (faster progress)
|
||||||
|
// Either way: Ana search continues!
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎬 SYSTEM 2: INTRO VIDEO & FLASHBACK EXPANSION
|
||||||
|
|
||||||
|
### **Concept:**
|
||||||
|
Emotional intro sequence showing Kai's happy memories, the zombie apocalypse, and his aging journey searching for Ana. Uses blur-to-clear effects for emphasis on beautiful moments.
|
||||||
|
|
||||||
|
### **Intro Sequence Structure:**
|
||||||
|
|
||||||
|
#### **SCENE 1: HAPPY MEMORIES (Blurred → Clear)**
|
||||||
|
|
||||||
|
**Shot 1: Longboard with Father**
|
||||||
|
- **Start:** Heavily blurred (dreamlike)
|
||||||
|
- **Clear Moment:** Father's hand on young Kai's shoulder, "Pojdi, sin!" (Go, son!)
|
||||||
|
- **Visual:** Sunny day, ocean pier, longboard tricks
|
||||||
|
- **Audio:** [AI_VOICE:kai:2] "This place feels... familiar?"
|
||||||
|
- **Duration:** 5 seconds
|
||||||
|
- **Blur Effect:** Radial blur → crystal clear → fade out
|
||||||
|
|
||||||
|
**Shot 2: Dreadlocks at Barbershop**
|
||||||
|
- **Start:** Blurred
|
||||||
|
- **Clear Moment:** Mirror reflection, Kai smiling at new dreads
|
||||||
|
- **Visual:** Barbershop, stylist braiding, first piercings
|
||||||
|
- **Audio:** Happy indie music (upbeat)
|
||||||
|
- **Duration:** 4 seconds
|
||||||
|
- **Detail:** Pink streak being added to dreads (HIPO style!)
|
||||||
|
|
||||||
|
**Shot 3: Twin Moment with Ana**
|
||||||
|
- **Start:** Blurred
|
||||||
|
- **Clear Moment:** Ana and Kai laughing together, lab coat visible
|
||||||
|
- **Visual:** University lab, Ana in scientist gear, Kai visiting
|
||||||
|
- **Audio:** [AI_VOICE:ana:8] "I remember everything. Every moment."
|
||||||
|
- **Duration:** 6 seconds
|
||||||
|
- **Emotional Peak:** This is the CLEAREST shot (most important memory)
|
||||||
|
|
||||||
|
#### **SCENE 2: THE APOCALYPSE (Sharp, No Blur - Horror)**
|
||||||
|
|
||||||
|
**Shot 1: Zombie Bite**
|
||||||
|
- **Visual:** Father being bitten (silhouette, not graphic)
|
||||||
|
- **Audio:** Scream, zombie growl
|
||||||
|
- **Duration:** 2 seconds
|
||||||
|
- **No blur:** Harsh reality
|
||||||
|
|
||||||
|
**Shot 2: Virus Spread**
|
||||||
|
- **Visual:** News footage style, city chaos
|
||||||
|
- **Text Overlay:** "Day 1", "Day 7", "Day 30"
|
||||||
|
- **Audio:** Emergency broadcast (distorted)
|
||||||
|
- **Duration:** 5 seconds
|
||||||
|
|
||||||
|
**Shot 3: Ana Captured**
|
||||||
|
- **Visual:** Military van, Ana being taken
|
||||||
|
- **Last View:** Ana's face in window, crying
|
||||||
|
- **Audio:** [AI_VOICE:ana:6] "Don't give up on me, sister."
|
||||||
|
- **Duration:** 3 seconds
|
||||||
|
- **Cut to black**
|
||||||
|
|
||||||
|
#### **SCENE 3: THE SEARCH (Time-Lapse Aging)**
|
||||||
|
|
||||||
|
**Montage Sequence:**
|
||||||
|
1. **Year 1:** Young Kai walking (hopeful)
|
||||||
|
2. **Year 5:** Kai fighting zombie (determined)
|
||||||
|
3. **Year 10:** Adult Kai with child (still searching)
|
||||||
|
4. **Year 15:** Elder Kai with grey dreads (never giving up)
|
||||||
|
|
||||||
|
**Visual Style:**
|
||||||
|
- Noir filter strengthens with age
|
||||||
|
- Dreadlocks go from black → grey gradually
|
||||||
|
- Background seasons change (spring → winter → spring)
|
||||||
|
- Piercings ALWAYS visible (identity constant)
|
||||||
|
|
||||||
|
**Audio:**
|
||||||
|
- [AI_VOICE:kai:5] "Ana, I remember everything! Hold on!"
|
||||||
|
- Heartbeat sound (slower as he ages)
|
||||||
|
- Wind sound (time passing)
|
||||||
|
|
||||||
|
**Duration:** 15 seconds total (3s per year stage)
|
||||||
|
|
||||||
|
**Final Frame:**
|
||||||
|
- Elder Kai standing at city gates
|
||||||
|
- Text: "30 years later..."
|
||||||
|
- Fade to gameplay
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **Flashback System (In-Game):**
|
||||||
|
|
||||||
|
**Trigger Points:**
|
||||||
|
- Finding Ana's belongings
|
||||||
|
- Visiting important locations
|
||||||
|
- Meeting NPCs who knew Ana
|
||||||
|
- Kai's birthday (annual flashback)
|
||||||
|
|
||||||
|
**Flashback Types:**
|
||||||
|
|
||||||
|
**Type 1: Memory Fragment (Quick)**
|
||||||
|
- 2-3 second blur effect
|
||||||
|
- Voice line from past
|
||||||
|
- Screen shimmer
|
||||||
|
- Returns to gameplay
|
||||||
|
|
||||||
|
**Type 2: Full Flashback (Cutscene)**
|
||||||
|
- Playable sequence as young Kai
|
||||||
|
- Clear visuals (no blur)
|
||||||
|
- Learn new information about Ana
|
||||||
|
- Optional objectives
|
||||||
|
|
||||||
|
**Type 3: Dream Sequence (Sleep System)**
|
||||||
|
- Kai dreams when sleeping
|
||||||
|
- Blur-to-clear reveals clues
|
||||||
|
- Symbolic imagery (noir aesthetic)
|
||||||
|
- Wakes up with new quest marker
|
||||||
|
|
||||||
|
**Implementation:**
|
||||||
|
```javascript
|
||||||
|
class FlashbackSystem {
|
||||||
|
triggerFlashback(type, memoryData) {
|
||||||
|
// Pause gameplay
|
||||||
|
this.scene.pause();
|
||||||
|
|
||||||
|
// Blur effect (start)
|
||||||
|
this.applyBlurEffect(10); // Heavy blur
|
||||||
|
|
||||||
|
// Play memory audio
|
||||||
|
this.audioSystem.playVoice(memoryData.character, memoryData.phrase);
|
||||||
|
|
||||||
|
// Clear blur on important moment
|
||||||
|
this.tweens.add({
|
||||||
|
targets: this.blurFilter,
|
||||||
|
strength: 0,
|
||||||
|
duration: 1000,
|
||||||
|
ease: 'Power2'
|
||||||
|
});
|
||||||
|
|
||||||
|
// Show memory scene
|
||||||
|
this.showMemoryScene(memoryData);
|
||||||
|
|
||||||
|
// Return to gameplay
|
||||||
|
this.scene.resume();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 👻 SYSTEM 3: GHOST QUEST (PARENTS)
|
||||||
|
|
||||||
|
### **Concept:**
|
||||||
|
After Ana is found and the cure is distributed, Kai's deceased parents appear as ghosts in Noir-Neon style to guide him to their death location for closure and final secrets.
|
||||||
|
|
||||||
|
### **Activation Conditions:**
|
||||||
|
1. ✅ Ana must be rescued (main quest complete)
|
||||||
|
2. ✅ Cure must be distributed (world saved)
|
||||||
|
3. ✅ Kai returns to home town ruins
|
||||||
|
4. ✅ Triggers at night (23:00-04:00)
|
||||||
|
|
||||||
|
### **Ghost Design:**
|
||||||
|
|
||||||
|
#### **Father Ghost:**
|
||||||
|
**Visual Style:**
|
||||||
|
- Translucent (50% alpha)
|
||||||
|
- Neon cyan outline (glowing edges)
|
||||||
|
- Noir shadow underneath
|
||||||
|
- Longboard still visible (ghostly)
|
||||||
|
- Wears clothes from memories
|
||||||
|
|
||||||
|
**Animation:**
|
||||||
|
- Hovers slightly (no walking)
|
||||||
|
- Slow breathing animation
|
||||||
|
- Gentle glow pulse (1.5s cycle)
|
||||||
|
- Hair and clothes drift slowly
|
||||||
|
|
||||||
|
**Audio:**
|
||||||
|
- Ethereal voice filter (echo + reverb)
|
||||||
|
- [AI_VOICE] custom phrases:
|
||||||
|
- "My son... you never gave up."
|
||||||
|
- "Follow me. I'll show you the truth."
|
||||||
|
- "Your mother waits at the pier."
|
||||||
|
|
||||||
|
#### **Mother Ghost:**
|
||||||
|
**Visual Style:**
|
||||||
|
- Translucent (50% alpha)
|
||||||
|
- Neon magenta outline (love/warmth)
|
||||||
|
- Holds ghostly flowers
|
||||||
|
- Warm smile despite being dead
|
||||||
|
|
||||||
|
**Animation:**
|
||||||
|
- Same hover and glow
|
||||||
|
- Reaches toward Kai (can't touch)
|
||||||
|
- Tears visible (glowing drops)
|
||||||
|
|
||||||
|
**Audio:**
|
||||||
|
- Soft, comforting voice
|
||||||
|
- [AI_VOICE] custom phrases:
|
||||||
|
- "Kai, moj sin... proud of you."
|
||||||
|
- "Ana is safe now. Come, find peace."
|
||||||
|
- "Our story ends here, but yours continues."
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **Quest Structure:**
|
||||||
|
|
||||||
|
**Phase 1: First Encounter (Home Ruins)**
|
||||||
|
1. Kai enters childhood home (now ruins)
|
||||||
|
2. Blur effect starts (dreamlike)
|
||||||
|
3. Ghosts appear with cyan/magenta glow
|
||||||
|
4. Dialog: Father explains they've been watching
|
||||||
|
5. Quest Marker: "Follow the Spirits"
|
||||||
|
|
||||||
|
**Phase 2: Journey to Death Site**
|
||||||
|
- Ghosts lead Kai across map
|
||||||
|
- They move slowly (player must follow)
|
||||||
|
- Environmental storytelling:
|
||||||
|
- Blood stains (old)
|
||||||
|
- Broken barricades
|
||||||
|
- Father's longboard (broken)
|
||||||
|
- Mother's flowers (wilted)
|
||||||
|
- Ambient changes to somber piano
|
||||||
|
|
||||||
|
**Phase 3: The Pier (Death Location)**
|
||||||
|
- Arrive at ocean pier (same as intro memory!)
|
||||||
|
- Flashback triggers: Shows zombie attack
|
||||||
|
- Parents' last stand protecting Kai and Ana
|
||||||
|
- Ghosts become fully visible (100% alpha) for this scene
|
||||||
|
|
||||||
|
**Cutscene:**
|
||||||
|
```
|
||||||
|
[Blur clears to memory]
|
||||||
|
|
||||||
|
FATHER: "Ana, Kai - RUN!"
|
||||||
|
MOTHER: "We love you both!"
|
||||||
|
[Zombie swarm. Screen goes white]
|
||||||
|
[Cut back to present]
|
||||||
|
|
||||||
|
GHOST FATHER: "We bought you time to escape."
|
||||||
|
GHOST MOTHER: "And you saved the world, Kai."
|
||||||
|
```
|
||||||
|
|
||||||
|
**Phase 4: Closure (Grave Site)**
|
||||||
|
- Ghosts lead to unmarked grave
|
||||||
|
- Kai can place flowers, longboard, personal items
|
||||||
|
- Dialog choice:
|
||||||
|
- "Thank you for everything."
|
||||||
|
- "I wish you could meet Ana again."
|
||||||
|
- "I'll make you proud, always."
|
||||||
|
|
||||||
|
**Reward:**
|
||||||
|
- **Ghostly Longboard Mount:** Father's spirit board (cyan glow, fast movement)
|
||||||
|
- **Mother's Blessing Buff:** +20% health regen (permanent)
|
||||||
|
- **Family Photo Item:** Unlocks secret ending variant
|
||||||
|
- **Achievement:** "Closure" (15G)
|
||||||
|
|
||||||
|
**Ending:**
|
||||||
|
- Ghosts fade with smile
|
||||||
|
- Neon fades to pure white light
|
||||||
|
- Sunrise over ocean
|
||||||
|
- Kai alone but at peace
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **Technical Implementation:**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
class GhostQuestSystem {
|
||||||
|
constructor(scene) {
|
||||||
|
this.scene = scene;
|
||||||
|
this.ghostsActive = false;
|
||||||
|
this.fatherGhost = null;
|
||||||
|
this.motherGhost = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
checkActivation() {
|
||||||
|
if (
|
||||||
|
this.scene.questSystem.isCompleted('rescue_ana') &&
|
||||||
|
this.scene.questSystem.isCompleted('distribute_cure') &&
|
||||||
|
this.scene.player.location === 'home_ruins' &&
|
||||||
|
this.scene.timeSystem.hour >= 23
|
||||||
|
) {
|
||||||
|
this.summonGhosts();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
summonGhosts() {
|
||||||
|
// Blur effect
|
||||||
|
this.scene.cameras.main.setPostPipeline('BlurFX');
|
||||||
|
|
||||||
|
// Spawn ghosts
|
||||||
|
this.fatherGhost = this.scene.add.sprite(x, y, 'father_ghost');
|
||||||
|
this.motherGhost = this.scene.add.sprite(x, y, 'mother_ghost');
|
||||||
|
|
||||||
|
// Neon glow effect
|
||||||
|
this.fatherGhost.setTint(0x00FFFF); // Cyan
|
||||||
|
this.motherGhost.setTint(0xFF00FF); // Magenta
|
||||||
|
|
||||||
|
// Alpha + glow animation
|
||||||
|
this.scene.tweens.add({
|
||||||
|
targets: [this.fatherGhost, this.motherGhost],
|
||||||
|
alpha: { from: 0, to: 0.5 },
|
||||||
|
duration: 2000,
|
||||||
|
ease: 'Power2'
|
||||||
|
});
|
||||||
|
|
||||||
|
// Pulse glow
|
||||||
|
this.addGlowPulse(this.fatherGhost);
|
||||||
|
this.addGlowPulse(this.motherGhost);
|
||||||
|
|
||||||
|
// Start dialog
|
||||||
|
this.startGhostDialog();
|
||||||
|
}
|
||||||
|
|
||||||
|
addGlowPulse(sprite) {
|
||||||
|
this.scene.tweens.add({
|
||||||
|
targets: sprite,
|
||||||
|
scaleX: 1.05,
|
||||||
|
scaleY: 1.05,
|
||||||
|
duration: 1500,
|
||||||
|
yoyo: true,
|
||||||
|
repeat: -1,
|
||||||
|
ease: 'Sine.easeInOut'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎁 SYSTEM 4: SPECIAL EDITION GRONK HELPER
|
||||||
|
|
||||||
|
### **Concept:**
|
||||||
|
Premium feature for early adopters (first 20 buyers) and streamers: Gronk appears as a permanent ally/pet companion with unique abilities and personality.
|
||||||
|
|
||||||
|
### **Activation System:**
|
||||||
|
|
||||||
|
**License Check:**
|
||||||
|
```javascript
|
||||||
|
class LicenseSystem {
|
||||||
|
constructor() {
|
||||||
|
this.buyerID = null;
|
||||||
|
this.isStreamer = false;
|
||||||
|
this.specialEditionActive = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
async checkLicense() {
|
||||||
|
// Fetch from game server
|
||||||
|
const response = await fetch('https://hipodevil666studios.com/api/license', {
|
||||||
|
method: 'POST',
|
||||||
|
body: JSON.stringify({
|
||||||
|
gameKey: this.getGameKey(),
|
||||||
|
steamID: this.getSteamID()
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
const data = await response.json();
|
||||||
|
|
||||||
|
// Check if buyer #1-20
|
||||||
|
if (data.buyerNumber >= 1 && data.buyerNumber <= 20) {
|
||||||
|
this.activateSpecialEdition('early_adopter', data.buyerNumber);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check for streamer mode
|
||||||
|
if (this.detectStreamerMode()) {
|
||||||
|
this.activateSpecialEdition('streamer');
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
detectStreamerMode() {
|
||||||
|
// Check for OBS, Streamlabs, Twitch Studio
|
||||||
|
const streamingSoftware = [
|
||||||
|
'obs64.exe',
|
||||||
|
'obs32.exe',
|
||||||
|
'Streamlabs OBS.exe',
|
||||||
|
'TwitchStudio.exe'
|
||||||
|
];
|
||||||
|
|
||||||
|
// Also check command line flag
|
||||||
|
if (process.argv.includes('--streamer-mode')) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Process detection (Windows/Mac)
|
||||||
|
// Returns true if streaming software detected
|
||||||
|
return this.checkRunningProcesses(streamingSoftware);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **Gronk Companion Features:**
|
||||||
|
|
||||||
|
#### **1. APPEARANCE:**
|
||||||
|
**Visual:**
|
||||||
|
- Chibi Gronk (Style 32 Dark-Chibi Noir)
|
||||||
|
- Pink vape always visible
|
||||||
|
- Follows Kai (2 tiles behind)
|
||||||
|
- Idle animations: vaping, looking around, picking flowers
|
||||||
|
|
||||||
|
**Size:**
|
||||||
|
- Slightly smaller than Kai (companion scale)
|
||||||
|
- Still imposing (troll presence)
|
||||||
|
|
||||||
|
#### **2. ABILITIES:**
|
||||||
|
|
||||||
|
**Resource Gathering:**
|
||||||
|
- Auto-collects resources within 10-tile radius
|
||||||
|
- Deposits in player inventory
|
||||||
|
- Dialog: "Gronk find shiny! For Kai!"
|
||||||
|
- Visual: Pink sparkle trail when gathering
|
||||||
|
|
||||||
|
**Combat Assistance:**
|
||||||
|
- Attacks nearby zombies automatically
|
||||||
|
- Smash attack (AOE damage)
|
||||||
|
- Can't die (respawns if "defeated")
|
||||||
|
- Dialog: "Gronk smash for friend!"
|
||||||
|
|
||||||
|
**Vape Cloud Speed Boost:**
|
||||||
|
- Every 5 minutes, Gronk offers vape
|
||||||
|
- Player accepts: +50% movement speed for 30s
|
||||||
|
- Visual: Pink cloud surrounds Kai
|
||||||
|
- Dialog: "Gronk share vape! Bubble gum flavor!"
|
||||||
|
- Cooldown: 5 minutes
|
||||||
|
|
||||||
|
**Emotional Support:**
|
||||||
|
- Random encouraging dialog
|
||||||
|
- Examples:
|
||||||
|
- "Pink is best color, Kai agree?"
|
||||||
|
- "Gronk help find Ana! No give up!"
|
||||||
|
- "System no change Gronk OR Kai!"
|
||||||
|
- Morale mechanic: +10% XP when Gronk nearby
|
||||||
|
|
||||||
|
#### **3. CUSTOMIZATION (Special Edition Only):**
|
||||||
|
|
||||||
|
**Vape Flavors (Unlock via gameplay):**
|
||||||
|
- Bubble Gum (default - speed)
|
||||||
|
- Cotton Candy (health regen)
|
||||||
|
- Watermelon (stamina boost)
|
||||||
|
- Blue Raspberry (night vision)
|
||||||
|
|
||||||
|
**Outfits:**
|
||||||
|
- Punk Gronk (studded jacket)
|
||||||
|
- Formal Gronk (tiny tux)
|
||||||
|
- Beach Gronk (hawaiian shirt, sunglasses)
|
||||||
|
- Winter Gronk (beanie, scarf)
|
||||||
|
|
||||||
|
**Piercings:**
|
||||||
|
- Add piercings to Gronk (like Kai!)
|
||||||
|
- Earrings, nose ring, eyebrow pierce
|
||||||
|
- Unlocked by finding "Piercing Kits"
|
||||||
|
|
||||||
|
#### **4. SPECIAL EDITION EXCLUSIVE CONTENT:**
|
||||||
|
|
||||||
|
**Early Adopter Badge (Buyer #1-20):**
|
||||||
|
- Special "Founder" title in-game
|
||||||
|
- Gronk wears golden crown (tiny)
|
||||||
|
- Exclusive dialog:
|
||||||
|
- "Kai one of first! Gronk proud!"
|
||||||
|
- "Twenty strong! Original crew!"
|
||||||
|
- Founder-only Discord role
|
||||||
|
|
||||||
|
**Streamer Mode Bonuses:**
|
||||||
|
- "LIVE" indicator on Gronk
|
||||||
|
- Twitch chat integration (Gronk reads chat!)
|
||||||
|
- Subscriber alerts appear as Gronk dialog
|
||||||
|
- Donation triggers special Gronk emotes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
###**Gronk Companion UI:**
|
||||||
|
|
||||||
|
**HUD Element (Top-Right):**
|
||||||
|
```
|
||||||
|
[Gronk Portrait]
|
||||||
|
HP: ████████ 100%
|
||||||
|
Mood: 😊 Happy
|
||||||
|
Vape: ●●●○○ (3/5 charges)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Abilities Bar:**
|
||||||
|
```
|
||||||
|
[Q] Gather Mode (toggle)
|
||||||
|
[E] Smash Attack (10s cooldown)
|
||||||
|
[R] Vape Boost (5min cooldown)
|
||||||
|
```
|
||||||
|
|
||||||
|
**Dialog Box (Special):**
|
||||||
|
```
|
||||||
|
┌─ Gronk ─────────────┐
|
||||||
|
│ "Kai! Gronk find │
|
||||||
|
│ pink flower! You │
|
||||||
|
│ like pink, yes?" │
|
||||||
|
└─────────────────────┘
|
||||||
|
[Give Flower] [Thank Gronk] [Vape Together]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **Implementation:**
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
class GronkCompanionSystem {
|
||||||
|
constructor(scene, licenseType) {
|
||||||
|
this.scene = scene;
|
||||||
|
this.licenseType = licenseType; // 'early_adopter' or 'streamer'
|
||||||
|
this.gronk = null;
|
||||||
|
this.vapeCharges = 5;
|
||||||
|
this.mood = 100; // 0-100
|
||||||
|
}
|
||||||
|
|
||||||
|
spawnGronk() {
|
||||||
|
this.gronk = this.scene.add.sprite(
|
||||||
|
this.scene.player.x + 64,
|
||||||
|
this.scene.player.y,
|
||||||
|
'gronk_companion'
|
||||||
|
);
|
||||||
|
|
||||||
|
// Special edition crown for early adopters
|
||||||
|
if (this.licenseType === 'early_adopter') {
|
||||||
|
this.gronk.crown = this.scene.add.sprite(
|
||||||
|
this.gronk.x,
|
||||||
|
this.gronk.y - 32,
|
||||||
|
'golden_crown'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Streamer mode LIVE indicator
|
||||||
|
if (this.licenseType === 'streamer') {
|
||||||
|
this.gronk.liveIndicator = this.scene.add.text(
|
||||||
|
this.gronk.x,
|
||||||
|
this.gronk.y - 40,
|
||||||
|
'🔴 LIVE',
|
||||||
|
{ fontSize: '12px', color: '#FF0000' }
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Start AI behavior
|
||||||
|
this.startGronkAI();
|
||||||
|
}
|
||||||
|
|
||||||
|
startGronkAI() {
|
||||||
|
// Follow player
|
||||||
|
this.scene.physics.moveToObject(this.gronk, this.scene.player, 100);
|
||||||
|
|
||||||
|
// Auto-gather resources
|
||||||
|
this.scene.time.addEvent({
|
||||||
|
delay: 2000,
|
||||||
|
callback: () => this.autoGatherResources(),
|
||||||
|
loop: true
|
||||||
|
});
|
||||||
|
|
||||||
|
// Random dialog
|
||||||
|
this.scene.time.addEvent({
|
||||||
|
delay: 30000,
|
||||||
|
callback: () => this.sayRandomDialog(),
|
||||||
|
loop: true
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
offerVapeBoost() {
|
||||||
|
if (this.vapeCharges <= 0) {
|
||||||
|
this.showDialog("Gronk vape empty! Need more oil!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show offer UI
|
||||||
|
this.scene.showChoiceDialog(
|
||||||
|
"Gronk offer vape! Make Kai fast?",
|
||||||
|
[
|
||||||
|
{
|
||||||
|
text: "Yes! (Speed +50% for 30s)",
|
||||||
|
callback: () => this.activateVapeBoost()
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "No thanks, Gronk",
|
||||||
|
callback: () => this.showDialog("Okay! Gronk save for later!")
|
||||||
|
}
|
||||||
|
]
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
activateVapeBoost() {
|
||||||
|
this.vapeCharges--;
|
||||||
|
|
||||||
|
// Pink cloud visual
|
||||||
|
const cloud = this.scene.add.particles('pink_smoke');
|
||||||
|
cloud.createEmitter({
|
||||||
|
follow: this.scene.player,
|
||||||
|
lifespan: 30000,
|
||||||
|
speed: 20,
|
||||||
|
scale: { start: 1, end: 0 },
|
||||||
|
alpha: { start: 0.6, end: 0 },
|
||||||
|
tint: 0xFF69B4
|
||||||
|
});
|
||||||
|
|
||||||
|
// Speed buff
|
||||||
|
this.scene.player.speed *= 1.5;
|
||||||
|
|
||||||
|
// Gronk animation
|
||||||
|
this.gronk.play('gronk_vape_happy');
|
||||||
|
|
||||||
|
// Remove buff after 30s
|
||||||
|
this.scene.time.delayedCall(30000, () => {
|
||||||
|
this.scene.player.speed /= 1.5;
|
||||||
|
cloud.destroy();
|
||||||
|
this.showDialog("Vape power done! Was good, yes?");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 SYSTEMS SUMMARY
|
||||||
|
|
||||||
|
### **Development Priority:**
|
||||||
|
|
||||||
|
**Phase 1 (Immediate):**
|
||||||
|
1. Aging System sprites (9 sprite sets)
|
||||||
|
2. Intro video storyboard
|
||||||
|
3. License check API
|
||||||
|
|
||||||
|
**Phase 2 (Short-term):**
|
||||||
|
1. Flashback system implementation
|
||||||
|
2. Ghost quest design + sprites
|
||||||
|
3. Gronk companion AI
|
||||||
|
|
||||||
|
**Phase 3 (Polish):**
|
||||||
|
1. All cutscenes animated
|
||||||
|
2. Voice acting for ghosts
|
||||||
|
3. Streamer integration
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **Asset Requirements:**
|
||||||
|
|
||||||
|
**Sprites Needed:**
|
||||||
|
- Kai Young: Full set (40+ sprites)
|
||||||
|
- Kai Adult: Full set (40+ sprites)
|
||||||
|
- Kai Elder: Full set (40+ sprites)
|
||||||
|
- Ana stages: 3 sets (30+ sprites each)
|
||||||
|
- Father Ghost: 8 sprites
|
||||||
|
- Mother Ghost: 8 sprites
|
||||||
|
- Gronk Companion: 20+ sprites
|
||||||
|
- **TOTAL:** ~250 new sprites
|
||||||
|
|
||||||
|
**Audio:**
|
||||||
|
- 10 new AI voice phrases (ghost parents)
|
||||||
|
- Flashback music (emotional piano)
|
||||||
|
- Vape sound effects
|
||||||
|
- Ghost ambient (ethereal)
|
||||||
|
|
||||||
|
**UI:**
|
||||||
|
- Age indicator
|
||||||
|
- Gronk companion HUD
|
||||||
|
- License activation screen
|
||||||
|
- Ghost quest tracker
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **Code Estimate:**
|
||||||
|
- AgingSystem.js: ~400 lines
|
||||||
|
- FlashbackSystem.js: ~300 lines
|
||||||
|
- GhostQuestSystem.js: ~500 lines
|
||||||
|
- GronkCompanionSystem.js: ~600 lines
|
||||||
|
- LicenseSystem.js: ~200 lines
|
||||||
|
- **TOTAL:** ~2,000 lines new code
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 DESIGN NOTES
|
||||||
|
|
||||||
|
**HIPO's Philosophy Integration:**
|
||||||
|
- Aging doesn't change core identity (piercing stay!)
|
||||||
|
- Family doesn't end quest (determination)
|
||||||
|
- Ghosts are beautiful (noir-neon aesthetic)
|
||||||
|
- Gronk is loyal friend (authentic companion)
|
||||||
|
- Special edition rewards early supporters
|
||||||
|
|
||||||
|
**Accessibility:**
|
||||||
|
- All cutscenes skippable
|
||||||
|
- Gronk optional helper (not required)
|
||||||
|
- Ghost quest post-game (no spoilers)
|
||||||
|
- Flashbacks pause-able
|
||||||
|
|
||||||
|
**Monetization Ethics:**
|
||||||
|
- Early adopters deserve exclusivity
|
||||||
|
- Streamers promote game (mutual benefit)
|
||||||
|
- NO pay-to-win (Gronk is helper, not OP)
|
||||||
|
- All story content available to everyone
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Document Status:** ✅ Complete Design
|
||||||
|
**Ready For:** Implementation Planning
|
||||||
|
**Next Step:** Sprite Generation Phase
|
||||||
|
|
||||||
|
*Created by: David "HIPO" Kotnik*
|
||||||
|
*Hipodevil666 Studios™*
|
||||||
|
*Living ADHD dreams - Advanced Features Edition* ⚡🛹💜👻
|
||||||
Reference in New Issue
Block a user