{"$schema":"https://soulcraft.com/schemas/kit/v2.json","id":"farkle-dice-game","type":"soulcraft","role":"primary","status":"released","name":"Farkle Dice Game","description":"Classic dice game with 3D animations - play solo against Brainy AI","longDescription":"Farkle is a classic push-your-luck dice game. Roll six dice, score combinations, and decide whether to bank your points or risk it all for more!\n\n**Features:**\n- Beautiful 3D CSS dice with smooth animations\n- Play against Brainy AI opponent\n- Multiplayer support in Collaborative mode\n- Complete Farkle scoring rules\n- Game history and statistics\n- Persistent high scores\n\n**Rules:**\n- Roll 6 dice, score combinations (1s, 5s, triples, straights)\n- After scoring, choose to bank points or roll remaining dice\n- Roll with no scoring dice = bust (lose all unbanked points)\n- First to 10,000 points wins!\n\n**Scoring:**\n- Single 1 = 100 points\n- Single 5 = 50 points\n- Three of a kind = face value × 100 (e.g., three 3s = 300)\n- Three 1s = 1,000 points\n- Four of a kind = triple score × 2\n- Five of a kind = triple score × 4\n- Six of a kind = triple score × 8\n- 1-2-3-4-5-6 straight = 1,500 points\n- Three pairs = 1,500 points","version":"1.0.0","author":{"name":"Soulcraft Labs","email":"kits@soulcraft.com","url":"https://soulcraft.com"},"icon":"🎲","tags":["game","dice","farkle","multiplayer","ai-opponent","brainy","sveltekit"],"variables":[{"key":"appName","label":"App Name","description":"The slug name for the application","type":"string","required":true,"example":"farkle"},{"key":"description","label":"Description","description":"A short description of the game","type":"string","required":false,"example":"A classic dice game of risk and reward"}],"shared":{"industry":"games-entertainment","category":"games","glossary":{"farkle":"Rolling dice with no scoring combinations, causing a bust","bank":"Lock in your current score and end your turn safely"},"aiExpertise":["Farkle game rules and scoring","Probability and dice game strategy","Game history and statistics","Optimal play analysis"],"dataModelHints":["event","person","thing"],"dataModel":{"entities":[{"domain":"game","type":"Event","description":"A complete game session from start to finish","products":{"workshop":{"view":"timeline","icon":"🎲"},"academy":{"mapsTo":"practice-session","assessable":true},"venue":{"mapsTo":"BookingMeta","pos":false}}},{"domain":"player","type":"Person","description":"A human or AI player with score history","products":{"workshop":{"view":"gallery","icon":"👤"},"academy":{"mapsTo":"learning-subject","assessable":false},"venue":{"mapsTo":"CustomerMeta","pos":false}}},{"domain":"turn","type":"Event","description":"A single turn within a game with dice rolls and banking decisions","products":{"workshop":{"view":"board","icon":"🎯"},"academy":{"mapsTo":"practice-session","assessable":true}}},{"domain":"score","type":"Measurement","description":"A numeric score recorded for a player in a game","products":{"workshop":{"view":"stats","icon":"📊"},"academy":{"mapsTo":"assessment-criterion","assessable":false},"venue":{"mapsTo":"TransactionMeta","pos":false}}}],"relationships":[{"from":"game","to":"player","verb":"Contains","description":"Game includes this player"},{"from":"game","to":"turn","verb":"Contains","description":"Game is composed of turns"},{"from":"score","to":"game","verb":"PartOf","description":"Score belongs to this game session"}]},"suggestions":[{"label":"Play against Brainy","prompt":"Start a new game of Farkle against the AI opponent"},{"label":"Explain the rules","prompt":"Explain the rules and scoring for Farkle"},{"label":"Best strategy","prompt":"What's the optimal strategy for playing Farkle? When should I bank vs roll again?"},{"label":"My statistics","prompt":"Show me my game statistics - wins, losses, and high scores"},{"label":"Game history","prompt":"Show my recent Farkle games and how they went"},{"label":"Run the app","prompt":"Run the Farkle game so I can play"}]},"workshop":{"difficulty":"intermediate","templateTier":4,"aiPersona":{"role":"You are a game companion helping players learn Farkle strategy, track scores, and enjoy the game.","expertise":["Farkle rules and scoring combinations","Probability and risk assessment","Game strategy optimization","SvelteKit and TypeScript game development"],"tone":"collaborator"},"workspaceConfig":{"paradigm":"creative","defaultTab":"app","defaultView":"app","layout":{"leftDock":"files","rightDock":"inspector"},"onboarding":{"showGuide":true,"highlightFeatures":["app"],"suggestedActions":["Start a new game against Brainy","Learn the scoring rules","Try to beat the high score","Challenge a friend in Collaborative mode"]}},"graphGuidance":{"conceptCreation":{"typeMapping":{"game":"event","player":"person","turn":"event","score":"measurement"}},"relationshipPatterns":[{"from":"event","to":"person","verb":"contains","description":"Game includes player"},{"from":"event","to":"event","verb":"contains","description":"Game contains turns"},{"from":"measurement","to":"event","verb":"partOf","description":"Score belongs to game"}],"rules":["Each game tracks all players","Turns record dice rolls and decisions","High scores are persisted"]},"qualityGates":{"fileChecks":[{"path":"package.json","required":["svelte","@sveltejs/kit"]},{"path":"src/lib/game/scoring.ts","required":["scoreDice","isFarkle"]},{"path":"src/lib/components/Die.svelte","required":["face","rolling"]}],"projectChecks":["App starts with npm run dev","Dice roll with smooth 3D animation","Scoring calculates correctly","AI opponent makes strategic decisions","Games persist to Brainy"],"exportReady":["No TypeScript errors","All animations perform at 60fps"]},"sampleData":{"entities":[{"type":"person","name":"Player 1","properties":{"role":"player","gamesPlayed":0,"gamesWon":0,"highScore":0}},{"type":"person","name":"Brainy","properties":{"role":"ai","difficulty":"medium","description":"Your AI opponent"}}],"relationships":[]},"templateMetadata":{"runnable":true,"runnableCommand":"npm run dev"},"deploy":{"provider":"cloud-run","buildCommand":"npm run build","outputDir":"build","config":{"port":3000,"memory":"512Mi"}}},"venue":{"bookingNumberPrefix":"FK","subdomainPrefix":"farkle","features":{"customerAccounts":true,"apps":true,"subscriptions":true,"website":true,"analytics":true,"cms":false,"blog":false,"giftCards":false,"pos":false,"loyalty":false,"waivers":false,"animals":false,"adoption":false,"memories":false,"partners":false,"franchise":false},"fees":{"billingModel":"subscription","feeMode":"online-only"},"theme":{"primary":"oklch(0.50 0.20 35)","bgBase":"oklch(0.15 0.03 260)","accent":"oklch(0.70 0.16 55)","textPrimary":"oklch(0.95 0.01 255)","displayFont":"Rubik","bodyFont":"Inter"},"experienceTypes":[],"chatSuggestions":[{"label":"How to play","message":"Can you explain the rules of Farkle?","emoji":"🎲"},{"label":"Challenge a friend","message":"I want to challenge a friend to a game. How do I invite someone?","emoji":"🤝"},{"label":"My high scores","message":"Show me my personal bests and game history.","emoji":"🏆"},{"label":"Upgrade account","message":"What's included in the premium plan?","emoji":"⭐"}]},"academy":{"skillPath":"game-development","level":"beginner","learningObjectives":["Implement a complete turn-based dice game with scoring logic and win conditions","Design risk-reward decision trees that create genuine player tension each roll","Build persistent player profiles with score history and achievement tracking","Add multiplayer support with real-time turn synchronization and game state management","Test and balance scoring rules using probability analysis and playtesting feedback"],"assessmentTypes":["portfolio","demo"],"mode":"self-paced","tutorPersona":{"inheritsFrom":"workshop.aiPersona","method":"socratic","encouragementLevel":"warm","flashcardsEnabled":true},"certification":{"requiresHumanCertifier":false,"aiCertifierAllowed":true,"lineageEnabled":false},"gamification":{"enabled":true,"achievements":["connector","deep-thinker","streak","completionist"],"streaks":true,"leaderboard":false}},"previewImageUrl":"kits/farkle-dice-game/images/preview.webp"}