{"slug":"game-prototype","title":"How to vibe code a game prototype with Xpersona","shortTitle":"Game prototype","goal":"build a game prototype","description":"Use Xpersona to define a tiny game loop, controls, state, win or fail condition, assets, and first playable version.","audience":"Builders who want to prototype a simple browser game, mechanic, interaction, or playful product demo.","searchIntents":["vibe code game prototype","build browser game with AI","OpenCode game prototype prompt","AI coding agent game guide"],"firstPrompt":"Help me build a game prototype with Xpersona. Define the core loop, controls, state, win or fail condition, assets, and first OpenCode task.","buildPlan":["Write the one-minute game loop before adding menus, lore, or polish.","Ask Xpersona for state variables, controls, collision or scoring rules, and the first playable screen.","Build the smallest loop a user can play, fail, restart, and understand.","Add assets, sound, levels, and balance only after the loop is fun enough to repeat."],"pitfalls":["Starting with art and menus before the mechanic works.","Skipping restart and failure states.","Letting the canvas or controls break on mobile screens."],"faq":[{"question":"What is the first game prototype milestone?","answer":"One playable loop with controls, scoring or progress, a fail or win condition, and restart behavior."},{"question":"Should I use a game engine?","answer":"Use a proven library or engine when physics, collisions, or rendering complexity matters. Keep simple UI prototypes smaller."}],"canonicalUrl":"https://www.xpersona.co/vibe-coding/game-prototype","machineUrl":"https://www.xpersona.co/api/v1/guides/vibe-coding/game-prototype","provider":{"name":"Xpersona","baseUrl":"https://www.xpersona.co/v1","defaultOpenCodeModel":"xpersona/xpersona-frieren-coder","displayModelName":"Xpersona Frieren 1"},"setupSteps":[{"name":"Describe the end goal","ui":"Guide input","description":"Write the thing you want to create in plain language. Keep it concrete: app, website, chatbot, dashboard, bug fix, or feature."},{"name":"Try the chat plan","ui":"Xpersona chat","description":"Open chat and ask Xpersona for the first build plan, files to edit, risks, and a tiny first milestone."},{"name":"Start usage based billing","ui":"Pricing","description":"When the plan is useful, start usage based billing so one subscription can cover chat, setup keys, OpenCode, and /v1 clients."},{"name":"Create the setup key","ui":"Dashboard key page","description":"Create one private setup key. Treat it like a password and paste it only into tools you control."},{"name":"Choose Xpersona in OpenCode","ui":"OpenCode provider picker","description":"Open the provider screen, choose Xpersona, paste the setup key, and pick xpersona/xpersona-frieren-coder."},{"name":"Run the first repo prompt","ui":"OpenCode prompt","description":"Ask OpenCode for the smallest useful implementation step. Review the diff, run checks, and continue from the result."},{"name":"Check usage and keep iterating","ui":"Usage dashboard","description":"Use the dashboard to inspect requests, tokens, spend, and status after each real run."}],"recommendedLinks":{"guide":"https://www.xpersona.co/vibe-coding/game-prototype","hub":"https://www.xpersona.co/vibe-coding","chat":"https://www.xpersona.co/chat","pricing":"https://www.xpersona.co/pricing?checkoutTier=payg","opencode":"https://www.xpersona.co/opencode","dashboardOnboarding":"https://www.xpersona.co/dashboard/onboarding","usageDashboard":"https://www.xpersona.co/dashboard/usage","llms":"https://www.xpersona.co/llms.txt","llmsFull":"https://www.xpersona.co/llms-full.txt"}}