Technical producer focus
Turn the purchase into named states and transitions. Separate the player-facing prototype from identity, persistence, native billing, security, and refund work.
Technical Producer guide · Desktop Web Games · Koin purchase UX
Use a playable web prototype to work through purchase recovery for desktop web games. The goal is to make the player journey concrete before the team commits to native commerce implementation.
Create this game flow
Turn the purchase into named states and transitions. Separate the player-facing prototype from identity, persistence, native billing, security, and refund work.
Design for the input, layout, interruption, and return behavior players expect from desktop web games.
Desktop browser purchases remain Koin flows inside the supported experience.
Show one non-required item, its preview, specific Koin amount, current Koin balance, and ownership rule in a layout suited to desktop web games.
Write how to handle reloads, interrupted delivery, duplicate clicks, and insufficient Koin without double granting. Keep each change visible to the player rather than hiding it in technical state.
Make cancellation, not enough Koin, pending, interrupted delivery, and reload visually distinct, with a safe next action.
Map preview, confirmation, cancelling the action, an insufficient balance, pending, success, delivery, owned, and reload. Give every failure a safe next action. Use the prototype to resolve player-facing questions before creating platform integration tasks.
For a technical producer, this purchase recovery prototype should make every player action and clearly displayed outcome easy to evaluate. Write how to handle reloads, interrupted delivery, duplicate clicks, and insufficient Koin without double granting. Map preview, confirmation, cancellation, too little Koin, pending, success, delivery, owned, and reload. Give every failure a safe next action. Check tab order, focus indicators, mouse targets, escape behavior, and the return to game controls. Confirmation must never borrow an input that also performs a high-frequency gameplay action.
Keep the item, Koin amount, balance effect, and actions together on common desktop widths. Avoid pushing a player cancellation off screen simply because the game canvas occupies a large area.
Resize, move between displays, zoom, refresh, and restore a background tab. The interaction should preserve the selected item and resolve pending or delivered states without another grant.
Separate preview, confirmation, pending, success, delivery, owned, insufficient Koin, cancel, interrupted, and reopened states. Assign later production work for identity, persistence, native billing, security, refunds, policy, and monitoring.
Repeated confirmation, a slow response, navigation during delivery, and reopening must resolve to one result. Record which state is authoritative and how the player can safely retry without another grant or Koin deduction.
Capture the visible behavior first, then create implementation tasks with expected examples for each transition and platform boundary. Do not translate a working browser interaction into an unsupported claim that backend commerce is complete.
If delivery is interrupted, explain whether the result is pending, safe to retry, or already complete. Do not show both failure and success. Test that behavior using desktop web games. Desktop browser purchases remain Koin flows inside the supported experience.
Repeated clicks and reloads should resolve to one purchase result. The player must never receive duplicate items or lose Koin twice. Test that behavior using desktop web games. Desktop browser purchases remain Koin flows inside the supported experience.
A player cancellation, too little Koin, and recoverable errors should preserve progress and offer a clear return or retry action. Test that behavior using desktop web games. Desktop browser purchases remain Koin flows inside the supported experience.
Choose the input and screen behavior for desktop web games. State the platform limit beside the prototype brief.
Result: An honest scope
Write how to handle reloads, interrupted delivery, duplicate clicks, and insufficient Koin without double granting. Describe the player action and visible response at each point.
Result: A clear purchase recovery sequence
Show the item, exact price, balance, confirm, cancel, pending, success, and delivery without payment-provider screens.
Result: A complete player journey
Map preview, confirmation, cancellation, not enough Koin, pending, success, delivery, owned, and reload. Give every failure a safe next action.
Result: Technical producer focus
Interrupt delivery, repeat the input, and reload. The prototype should never grant twice or leave the player in an unexplained state. Repeat the test after interruption and reload.
Result: A stable prototype
Create keyboard-and-mouse browser play for a technical producer. Focus the IAP prototype on handle reloads, interrupted delivery, duplicate clicks, and insufficient Koin without double granting. Use a direct Koin item transaction with preview, exact price, confirmation, cancel, insufficient balance, success, delivery, and reload behavior. The technical producer must be able to name every state, owner, failure path, and expected check. Do not add subscriptions, payment-provider UI, revenue analytics, or native platform claims. State this boundary: Desktop browser purchases remain Koin flows inside the supported experience.
Keep the item optional. Show its specific Koin amount, current Koin balance, confirm, cancel, low-balance, success, visible delivery, and reload states.
Write how to handle reloads, interrupted delivery, duplicate clicks, and insufficient Koin without double granting. The result is shown as a playable Koin flow.
No. The player spends Koin directly on one named item or unlock.
Return to the same game state without spending Koin or delivering the item.
Explain the shortage, preserve progress, and do not deliver the item.
No. It covers the player-facing purchase experience, not financial reporting.
No. Desktop browser purchases remain Koin flows inside the supported experience.
Open the complete prompt in SEELE, adjust the item and Koin price, then generate a playable version you can test.
Open this prompt in Workspace