Spaces:
Running on Zero
Running on Zero
| { | |
| "screenSize": { | |
| "width": { | |
| "value": 1536, | |
| "type": "number", | |
| "description": "Game width in pixels" | |
| }, | |
| "height": { | |
| "value": 1024, | |
| "type": "number", | |
| "description": "Game height in pixels" | |
| } | |
| }, | |
| "debugConfig": { | |
| "debug": { | |
| "value": false, | |
| "type": "boolean", | |
| "description": "Enable debug mode" | |
| }, | |
| "skipDialogue": { | |
| "value": false, | |
| "type": "boolean", | |
| "description": "Skip dialogue (debug)" | |
| } | |
| }, | |
| "renderConfig": { | |
| "pixelArt": { | |
| "value": true, | |
| "type": "boolean", | |
| "description": "Enable pixel art rendering" | |
| } | |
| }, | |
| "gameplayConfig": { | |
| "textSpeed": { | |
| "value": 22, | |
| "type": "number", | |
| "description": "Typewriter speed (ms per character)" | |
| }, | |
| "autoAdvanceDelay": { | |
| "value": 0, | |
| "type": "number", | |
| "description": "Auto-advance delay (0 = manual)" | |
| }, | |
| "defaultMusicVolume": { | |
| "value": 0.3, | |
| "type": "number", | |
| "description": "Music volume (0-1)" | |
| }, | |
| "defaultSFXVolume": { | |
| "value": 0.5, | |
| "type": "number", | |
| "description": "SFX volume (0-1)" | |
| } | |
| }, | |
| "battleConfig": { | |
| "playerMaxHP": { | |
| "value": 100, | |
| "type": "number", | |
| "description": "Player starting max HP" | |
| }, | |
| "enemyMaxHP": { | |
| "value": 80, | |
| "type": "number", | |
| "description": "Enemy starting max HP" | |
| }, | |
| "handSize": { | |
| "value": 3, | |
| "type": "number", | |
| "description": "Cards drawn per turn" | |
| }, | |
| "quizTimeLimit": { | |
| "value": 0, | |
| "type": "number", | |
| "description": "Quiz time limit in seconds (0 = none)" | |
| }, | |
| "comboTiers": { | |
| "value": [ | |
| { "minStreak": 0, "multiplier": 1.0, "label": "" }, | |
| { "minStreak": 2, "multiplier": 1.2, "label": "GOOD" }, | |
| { "minStreak": 4, "multiplier": 1.5, "label": "GREAT" }, | |
| { "minStreak": 6, "multiplier": 2.0, "label": "PERFECT" } | |
| ], | |
| "type": "array", | |
| "description": "Combo multiplier tiers" | |
| } | |
| }, | |
| "dialogueConfig": { | |
| "boxWidth": { | |
| "value": 900, | |
| "type": "number", | |
| "description": "Dialogue box width" | |
| }, | |
| "boxHeight": { | |
| "value": 150, | |
| "type": "number", | |
| "description": "Dialogue box height" | |
| }, | |
| "boxY": { | |
| "value": 650, | |
| "type": "number", | |
| "description": "Dialogue box Y position" | |
| }, | |
| "backgroundAlpha": { | |
| "value": 0.85, | |
| "type": "number", | |
| "description": "Dialogue box background opacity" | |
| } | |
| }, | |
| "audioConfig": { | |
| "backgroundMusicKey": { | |
| "value": "", | |
| "type": "string", | |
| "description": "Default background music key" | |
| }, | |
| "clickSFXKey": { | |
| "value": "", | |
| "type": "string", | |
| "description": "Button click sound key" | |
| } | |
| }, | |
| "characterSelectConfig": { | |
| "enabled": { | |
| "value": false, | |
| "type": "boolean", | |
| "description": "Enable character select" | |
| }, | |
| "maxColumns": { | |
| "value": 4, | |
| "type": "number", | |
| "description": "Grid columns" | |
| }, | |
| "cardWidth": { | |
| "value": 180, | |
| "type": "number", | |
| "description": "Character card width" | |
| }, | |
| "cardHeight": { | |
| "value": 240, | |
| "type": "number", | |
| "description": "Character card height" | |
| } | |
| }, | |
| "dualPlayerConfig": { | |
| "enabled": { | |
| "value": false, | |
| "type": "boolean", | |
| "description": "Enable 2-player mode" | |
| }, | |
| "mode": { | |
| "value": "BUZZER_RACE", | |
| "type": "string", | |
| "description": "PVP mode type" | |
| }, | |
| "scoreToWin": { | |
| "value": 10, | |
| "type": "number", | |
| "description": "Score needed to win" | |
| }, | |
| "correctPoints": { | |
| "value": 1, | |
| "type": "number", | |
| "description": "Points for correct answer" | |
| }, | |
| "wrongPenalty": { | |
| "value": 0, | |
| "type": "number", | |
| "description": "Points deducted for wrong answer" | |
| }, | |
| "buzzerTimeLimit": { | |
| "value": 10000, | |
| "type": "number", | |
| "description": "Buzzer time limit (ms)" | |
| } | |
| }, | |
| "mafiaConfig": { | |
| "playerCount": { "value": 7, "type": "number", "description": "Total seats at the table" }, | |
| "mafiaCount": { "value": 2, "type": "number", "description": "Number of Mafia roles" }, | |
| "detectiveCount": { "value": 1, "type": "number", "description": "Number of Detective roles" }, | |
| "doctorCount": { "value": 1, "type": "number", "description": "Number of Doctor roles" }, | |
| "villagerCount": { "value": 3, "type": "number", "description": "Number of Villager roles" }, | |
| "phaseBannerHoldMs": { "value": 1500, "type": "number", "description": "Phase banner transition duration" }, | |
| "initialSuspicion": { "value": 10, "type": "number", "description": "Initial AI suspicion score" }, | |
| "suspicionSilenceWeight": { "value": 2, "type": "number", "description": "Suspicion for silence" }, | |
| "suspicionAccusationWeight": { "value": 4, "type": "number", "description": "Suspicion vs accused" }, | |
| "suspicionCounterAccuseWeight": { "value": 5, "type": "number", "description": "Suspicion for counter-accuse" }, | |
| "suspicionVoteTownWeight": { "value": 3, "type": "number", "description": "Suspicion for voting Town" }, | |
| "suspicionVoteMafiaWeight": { "value": -4, "type": "number", "description": "Suspicion drop for voting Mafia" }, | |
| "suspicionContradictionWeight": { "value": 8, "type": "number", "description": "Suspicion for contradicted claim" }, | |
| "suspicionProtectedPartnerWeight": { "value": -6, "type": "number", "description": "Mafia avoid partner weight" }, | |
| "suspicionDetectiveHintWeight": { "value": 6, "type": "number", "description": "Detective hint pressure" }, | |
| "aiConfidenceRevealThreshold": { "value": 18, "type": "number", "description": "Detective reveal threshold" }, | |
| "aiVoteThreshold": { "value": 14, "type": "number", "description": "AI vote threshold" }, | |
| "aiMafiaRedirectThreshold": { "value": 12, "type": "number", "description": "Mafia redirect threshold" }, | |
| "maxDiscussionLinesPerAI": { "value": 2, "type": "number", "description": "Max AI chat lines per discussion" } | |
| } | |
| } | |