training-academy/docs/archive/GAME_MODE_CLEANUP_PLAN.md

9.4 KiB

🧹 GAME MODE CLEANUP PLAN

Generated: November 8, 2025

📋 OVERVIEW

After moving all game modes to their own dedicated HTML files (quick-play.html, training-academy.html, etc.), we discovered that all the original game mode infrastructure still exists in index.html. This document outlines a comprehensive cleanup plan to remove obsolete game mode code and screens.


🎮 CURRENT GAME MODE ARCHITECTURE

NEW SYSTEM - Dedicated HTML Files

  • quick-play.html - Quick play game mode
  • training-academy.html - Training academy mode
  • porn-cinema.html - Media viewing mode
  • player-stats.html - Statistics and progress
  • user-profile.html - User profile management

OLD SYSTEM - Embedded in index.html (TO REMOVE)

All game mode functionality is still embedded in index.html as separate screens and should be removed.


🗂️ OBSOLETE SCREENS ANALYSIS

1. GAME SCREEN (Lines 1632-1677)

  • Element: <div id="game-screen" class="screen">
  • Purpose: Main gameplay interface with task display
  • Components:
    • .task-container - Task display and controls
    • .task-image-container - Task image display
    • .task-text-container - Task text display
    • .action-buttons - Complete, Skip, Mercy Skip, Pause buttons
    • .game-stats - Real-time session statistics
  • Status: OBSOLETE - Functionality moved to dedicated mode files

2. PAUSED SCREEN (Lines 1678-1685)

  • Element: <div id="paused-screen" class="screen">
  • Purpose: Game pause interface
  • Components:
    • Resume button
    • Quit button
  • Status: OBSOLETE - Handled in dedicated mode files

3. GAME OVER SCREEN (Lines 1686-1700)

  • Element: <div id="game-over-screen" class="screen">
  • Purpose: End game statistics and replay option
  • Components:
    • Final stats display (XP, time, tasks, streaks)
    • Play again button
  • Status: OBSOLETE - Handled in dedicated mode files

📜 OBSOLETE SCRIPTS ANALYSIS

4. GAME MODE DATA SCRIPTS (Lines 1705-1710)

  • Files:
    • src/data/modes/mainGameData.js
    • src/data/modes/humiliationGameData.js
    • src/data/modes/trainingGameData.js
    • src/data/modes/enduranceGameData.js
    • src/data/modes/dressUpGameData.js
    • src/data/gameDataManager.js
  • Status: MAY BE OBSOLETE - Check if still used by dedicated HTML files

5. GAME MODE MANAGER SCRIPT (Line 1843)

  • File: src/core/gameModeManager.js
  • Status: MAY BE OBSOLETE - Check if still used by dedicated HTML files

🔧 OBSOLETE FUNCTIONALITY ANALYSIS

6. SCREEN NAVIGATION SYSTEM

  • Functions: showScreen() calls throughout JavaScript
  • References: Lines 1892, 1893, 3807, 3808, 3872, 3874, 3876, 3899, 3900
  • Purpose: Navigate between embedded game screens
  • Status: PARTIALLY OBSOLETE - Still needed for media management screens, but game mode navigation should be removed

7. GAME STATE MANAGEMENT

  • Elements: Session stats, final stats, game mode tracking
  • Purpose: Track progress within embedded game modes
  • Status: OBSOLETE - Now handled in dedicated HTML files

8. TASK DISPLAY SYSTEM

  • Elements: Task images, task text, action buttons
  • Purpose: Display and interact with game tasks
  • Status: OBSOLETE - Now handled in dedicated HTML files

🎯 KEEP vs REMOVE ANALYSIS

KEEP - Media Management Screens

These screens are still used for media library management:

  • start-screen - Home/landing page
  • library-screen - Media library management
  • image-management-screen - Image organization
  • audio-management-screen - Audio management
  • video-management-screen - Video management
  • photo-gallery-screen - Photo viewing
  • annoyance-management-screen - Settings management

REMOVE - Game Mode Screens

These screens are obsolete after moving to dedicated HTML files:

  • game-screen - Main gameplay (moved to dedicated files)
  • paused-screen - Game pause (moved to dedicated files)
  • game-over-screen - End game stats (moved to dedicated files)

🗂️ CLEANUP PHASES

PHASE 1: SCREEN REMOVAL

Step 1.1: Remove Game Screens

  • Delete game-screen element and all contents (Lines 1632-1677)
  • Delete paused-screen element and all contents (Lines 1678-1685)
  • Delete game-over-screen element and all contents (Lines 1686-1700)

Step 1.2: Update Screen Navigation

  • Remove game screen references from showScreen() calls
  • Keep media management screen navigation intact
  • Remove obsolete screen transition JavaScript

PHASE 2: SCRIPT CLEANUP

Step 2.1: Evaluate Game Mode Scripts

  • Check if mainGameData.js is used by dedicated HTML files
  • Check if humiliationGameData.js is used by dedicated files
  • Check if trainingGameData.js is used by dedicated files
  • Check if enduranceGameData.js is used by dedicated files
  • Check if dressUpGameData.js is used by dedicated files
  • Check if gameDataManager.js is used by dedicated files

Step 2.2: Remove Unused Scripts

  • Remove script references from index.html if not used elsewhere
  • Keep script references if still used by dedicated HTML files

Step 2.3: Evaluate Core Scripts

  • Check if gameModeManager.js is used by dedicated HTML files
  • Remove from index.html if not needed for media management

PHASE 3: JAVASCRIPT CLEANUP

Step 3.1: Remove Game Mode Functions

  • Remove task display functions
  • Remove game state management functions
  • Remove game statistics functions
  • Remove game navigation functions (skip, complete, pause, etc.)

Step 3.2: Clean Screen Navigation

  • Remove references to deleted screens in JavaScript
  • Update screen navigation to only handle media management screens
  • Clean up obsolete event listeners

Step 3.3: Remove Game Mode Variables

  • Remove game state variables
  • Remove task management variables
  • Remove obsolete game mode tracking variables

PHASE 4: CSS CLEANUP

Step 4.1: Remove Game Screen Styles

  • Remove .task-container and related styles
  • Remove .task-image-container styles
  • Remove .task-text-container styles
  • Remove .action-buttons styles
  • Remove .game-stats styles

Step 4.2: Remove Game Mode Specific Styles

  • Remove paused screen styles
  • Remove game over screen styles
  • Remove game mode specific animations and transitions

Step 4.3: Keep Media Management Styles

  • Keep all styles for media management screens
  • Keep start screen and library screen styles
  • Keep general screen navigation styles

PHASE 5: HTML CLEANUP

Step 5.1: Remove Obsolete Elements

  • Remove task image containers
  • Remove action button containers
  • Remove game statistics displays
  • Remove final stats displays

Step 5.2: Clean Comments and Documentation

  • Remove comments referring to removed screens
  • Update HTML structure comments
  • Clean up obsolete TODO comments

📊 ESTIMATED IMPACT

Code Reduction:

  • HTML: ~200 lines removed (obsolete game screens)
  • CSS: ~300 lines removed (game mode specific styles)
  • JavaScript: ~500 lines removed (game mode functions)
  • Scripts: 5-7 script references potentially removed
  • Total: ~1,000+ lines of obsolete code cleanup

Performance Benefits:

  • Reduced index.html complexity and load time
  • Cleaner separation of concerns (media management vs gameplay)
  • Reduced JavaScript bundle size
  • Faster startup time for index.html
  • Simplified debugging and maintenance

Architecture Benefits:

  • Clear separation between media management and gameplay
  • index.html focused solely on media library management
  • Dedicated HTML files handle all game mode functionality
  • Reduced code duplication and conflicts
  • Easier to maintain and extend individual game modes

⚠️ TESTING CHECKLIST

After each phase, verify:

  • index.html loads and displays correctly
  • Start screen navigation works
  • Media library screens function properly
  • Image, audio, video management still works
  • Settings/annoyance management still works
  • No JavaScript console errors
  • Dedicated HTML files (quick-play.html, training-academy.html) still work
  • No broken links or missing resources
  • CSS styling remains consistent

🚀 DEPENDENCIES CHECK

Before cleanup, verify which dedicated HTML files use shared resources:

  • Check if quick-play.html uses game mode data files
  • Check if training-academy.html uses gameModeManager.js
  • Check if any dedicated files import from src/data/modes/
  • Check if any dedicated files use shared CSS from styles.css
  • Ensure cleanup doesn't break shared dependencies

📝 NOTES

  • Primary Goal: Remove obsolete game mode infrastructure from index.html
  • Secondary Goal: Maintain all media management functionality
  • Tertiary Goal: Ensure dedicated HTML files continue working
  • This cleanup addresses the architectural shift from embedded game modes to dedicated HTML files
  • All game mode functionality has been successfully moved to dedicated files
  • index.html should focus solely on being a media library management interface

Document created after successful character image toggle implementation Next: Execute cleanup phases to remove obsolete game mode infrastructure