mafia / frontend /src /gameConfig.json
Alfaxad's picture
Migrate Mafia game to ZeroGPU Gradio Space
c670567 verified
Raw
History Blame Contribute Delete
6.1 kB
{
"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" }
}
}