| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205 |
- {
- "schemaVersion": "slot_game_config.v1",
- "game": {
- "id": "jelly-candy-slot",
- "title": "Jelly Candy Slot",
- "mode": "demo_only",
- "engine": "cocos_creator_3_8",
- "orientation": "portrait",
- "targetViewport": { "width": 798, "height": 1724 },
- "audienceFeel": ["casual", "juicy", "bright", "fast"]
- },
- "theme": {
- "world": "jelly candy land",
- "visualStyle": "cute 3D-rendered translucent jelly creatures, glossy gummy texture, soft highlights, mobile game asset style",
- "palette": ["pink", "blue", "purple", "gold", "lemon yellow"],
- "avoid": ["photorealistic human", "dark horror", "busy text", "copied logos", "checkerboard background"]
- },
- "reels": {
- "mode": "ways",
- "columns": 5,
- "rows": 3,
- "payDirection": "left_to_right",
- "paylines": {
- "enabled": false,
- "count": 25,
- "patterns": []
- },
- "ways": {
- "enabled": true,
- "waysCount": 243,
- "minAdjacentReels": 3
- },
- "megaways": {
- "enabled": false,
- "columns": 6,
- "rowRange": [2, 7],
- "maxWays": 117649
- },
- "clusterPays": {
- "enabled": false,
- "grid": { "columns": 6, "rows": 5 },
- "minClusterSize": 5,
- "adjacency": "orthogonal"
- }
- },
- "mathProfile": {
- "volatility": "medium",
- "hitFrequencyFeel": "medium",
- "maxWinMultiplier": 5000,
- "rtpTargetLabel": "demo_not_certified",
- "note": "Prototype config only. Real-money RTP, symbol weights, certification, and jurisdiction compliance are outside this template."
- },
- "symbols": {
- "low": [
- { "id": "jelly_blue", "role": "low_symbol", "countWeight": 18 },
- { "id": "jelly_green", "role": "low_symbol", "countWeight": 18 },
- { "id": "jelly_orange", "role": "low_symbol", "countWeight": 16 }
- ],
- "high": [
- { "id": "jelly_purple", "role": "high_symbol", "countWeight": 10 },
- { "id": "jelly_rainbow", "role": "premium_symbol", "countWeight": 6 },
- { "id": "symbol_seven", "role": "top_symbol", "countWeight": 4 }
- ],
- "special": [
- {
- "id": "wild",
- "type": "wild",
- "substitutesFor": ["low", "high"],
- "canAppearInBaseGame": true,
- "canAppearInFreeSpins": true
- },
- {
- "id": "scatter",
- "type": "scatter",
- "trigger": "free_spins",
- "requiredCount": 3,
- "canAppearAnywhere": true
- },
- {
- "id": "coin_cash",
- "type": "cash",
- "trigger": "hold_and_win",
- "valueRangeMultiplier": [1, 100]
- },
- {
- "id": "collect",
- "type": "collect",
- "collects": "coin_cash"
- }
- ]
- },
- "paytable": {
- "currency": "credits",
- "lineBetMultiplierPayouts": {
- "low": { "3": 0.2, "4": 0.6, "5": 1.2 },
- "high": { "3": 0.5, "4": 1.5, "5": 4 },
- "premium_symbol": { "3": 1, "4": 4, "5": 12 },
- "top_symbol": { "3": 2, "4": 10, "5": 50 }
- },
- "scatterPays": { "3": 2, "4": 10, "5": 50 }
- },
- "features": {
- "wilds": {
- "enabled": true,
- "variant": "expanding",
- "expandsOnReels": [2, 3, 4],
- "stickyDuringFreeSpins": false,
- "multiplierRange": [1, 1]
- },
- "scatterFreeSpins": {
- "enabled": true,
- "triggerCount": 3,
- "spinAwards": { "3": 8, "4": 12, "5": 20 },
- "retrigger": true,
- "freeSpinModifiers": ["more_wilds", "win_multiplier"]
- },
- "cascades": {
- "enabled": true,
- "removeWinningSymbols": true,
- "dropDirection": "down",
- "baseMultiplierStart": 1,
- "baseMultiplierStep": 1,
- "freeSpinMultiplierStep": 2,
- "maxCascadeCount": 8
- },
- "holdAndWin": {
- "enabled": false,
- "triggerCashSymbolCount": 6,
- "initialRespins": 3,
- "resetRespinsOnNewCashSymbol": true,
- "lockCashSymbols": true,
- "jackpots": [
- { "id": "mini", "valueMultiplier": 20 },
- { "id": "minor", "valueMultiplier": 50 },
- { "id": "major", "valueMultiplier": 200 },
- { "id": "grand", "valueMultiplier": 1000 }
- ]
- },
- "pickBonus": {
- "enabled": false,
- "triggerSymbol": "bonus",
- "pickCount": 3,
- "rewardPool": ["credits", "multiplier", "free_spins"]
- }
- },
- "playerControls": {
- "spin": true,
- "turbo": true,
- "autoSpin": true,
- "betLevels": [1, 2, 5, 10, 20, 50, 100],
- "defaultBet": 10,
- "showPaytable": true,
- "showRules": true
- },
- "feedback": {
- "overallFeel": "elastic, bright, satisfying, not too noisy",
- "intensity": {
- "tap": "micro",
- "smallWin": "normal_win",
- "bigWin": "big_win",
- "bonus": "bonus"
- },
- "events": [
- {
- "id": "tap_spin",
- "trigger": "player_taps_spin_button",
- "uiAnimation": ["spin_btn_press"],
- "vfx": [],
- "durationMs": 180
- },
- {
- "id": "small_win",
- "trigger": "payout_greater_than_bet",
- "characterAnimation": "win",
- "uiAnimation": ["scale_bounce", "number_roll"],
- "vfx": ["win_burst"],
- "durationMs": 900
- },
- {
- "id": "big_win",
- "trigger": "payout_at_least_10x_bet",
- "characterAnimation": "win",
- "uiAnimation": ["reward_popup_in", "number_roll", "win_icon_pulse"],
- "vfx": ["coin_rain", "bigwin_glow", "confetti_pop"],
- "durationMs": 2400,
- "blocksInput": true
- },
- {
- "id": "free_spins_intro",
- "trigger": "scatter_free_spins_triggered",
- "uiAnimation": ["elastic_in", "pulse"],
- "vfx": ["confetti_pop", "bigwin_glow"],
- "durationMs": 1800,
- "blocksInput": true
- }
- ]
- },
- "assetGeneration": {
- "characterCount": 10,
- "uiArt": ["bg_main", "logo", "reel_frame", "btn_spin", "btn_round", "hud_pill", "win_popup", "free_spin_badge"],
- "vfx": ["coin_rain", "win_burst", "bigwin_glow", "confetti_pop"],
- "uiTweenPresets": ["scale_bounce", "elastic_in", "fade_slide_in", "number_roll", "pulse"],
- "manifestOutput": "animation_manifest.json"
- }
- }
|