0
Kai Detmers
← Project index
Game R&D · native iOSAdvanced prototype

Barcode Battler— every object can become a creature.

Scan a real barcode and get a deterministic creature identity, then layer generated pixel art, collection progression, auto-battles and territory play on top. The physical world becomes an infinite set of stable game seeds.

How it evolved

Reconstructed from the May 2026 implementation sequence and current design docs.

01
Make identity deterministic before making it beautiful.

The first architecture pass replaced fallback hashing with CryptoKit SHA-256 and added cross-platform parity fixtures. A barcode should always map to the same underlying stats independent of device or backend.

02
Pivot PvP to Apple-native game infrastructure.

GameKit turn-based matches, recurring leaderboards and the friend graph replaced bespoke Firestore responsibilities. That shifts commodity multiplayer lifecycle to the platform and keeps game-specific logic in the app.

03
Anchor the combat loop as an auto-battler.

Team building, front/back positioning, synergies and speed controls put player agency before battle while preserving fast mobile sessions during resolution.

04
Give the generated art a strict visual language.

Image prompts were rewritten around a 16-bit SNES/Genesis JRPG style, with observable poses, palettes and pixel-energy details. A consistent collection matters more than individually impressive generations.

05
Add reasons to scan tomorrow.

Daily quests and scan streaks introduced a retention loop that uses the physical scan mechanic rather than bolting on generic daily rewards.

06
Expand the physical-world layer into territory.

Points of interest, links, zones, hotspots and faction control turn location into a second map of ownership — a broader experiment than the original collection loop.

Game / UI rationale

Scan is the hero actionThe physical barcode is the distinctive mechanic. It should be one tap from the main surface and visually more important than menus for inventory or settings.
Identity stays stable; appearance can evolveStats derive deterministically from the barcode while generated art can improve over time. This prevents a model/provider change from rewriting the player's collection.
Battle setup carries the strategyAuto-resolution is readable on mobile because decisions happen before the fight: team, order, equipment and synergy. Playback can then offer 1×/2×/4×/skip without removing agency.
Pixel art creates collection coherenceA rigid visual style makes creatures feel like they belong to one game. Prompt design is therefore part of art direction, not just an AI integration detail.
Map is a separate modeTerritory mechanics have different information density and spatial semantics from collecting. They deserve a dedicated map surface rather than being squeezed into creature detail.

System boundaries

BarcodeStable SHA-256-derived identity and stat vector.
ArtAI generation creates a visual representation under a versioned pixel-art style pack.
ProfileCloudKit stores private collection/profile state with Sign in with Apple.
BattleGameKit handles turn-based match lifecycle; game engine owns deterministic auto-battle logic.
WorldMap/territory services add POIs, links, control zones and faction influence.

Image evidence

The repository contains generated-art and game-design infrastructure but I did not find a clean, attributable in-app screenshot artifact suitable for this public portfolio pass. The case therefore documents the actual visual system — deterministic identity plus a versioned pixel-art prompt pack — rather than using an unrelated mock.