Adventure Time Card Wars reimagined as a physical AR tabletop game. Place NFC-tagged cards on a Tilt Five retroreflective board and watch 3D creatures appear above the table, fight, and die in augmented reality.
Two-player. Local. Physical cards. Real combat.
| Item | Purpose |
|---|---|
| Tilt Five AR Glasses | AR display — you need one set per player |
| ACR122U USB NFC Reader | Reads the physical cards |
| NTAG215 NFC cards | The physical cards (same chip as Amiibo) |
| Windows PC | Runs the game |
Download CardWarsAR_Setup.exe and run it. It installs:
CardWars.exe— the Unity gamenfc-bridge.exe— NFC reader process (no Python required)LaunchCardWars.bat— starts both together- A desktop shortcut
Double-click the shortcut or run LaunchCardWars.bat to start. The launcher starts the NFC bridge first, waits 2 seconds, then launches the game.
Both players pick a hero deck using the wand joystick (left/right to cycle, trigger to confirm). Player 1 picks first, then Player 2. First turn is random.
- Tap an NFC card to the reader to scan a creature into your hand
- Joystick to select a lane, trigger to place the creature
- B button to end your action phase and enter combat
- Creatures in lanes automatically fight the creature in the opposing lane
| Input | Action |
|---|---|
| Joystick left/right | Select lane |
| Trigger | Place card / confirm action |
| B button | Confirm turn / enter combat |
| Y button | Enter floop mode |
| X button | Draw extra card (costs 1 action) |
| A button | Activate ability mode |
Each hero has 4 lanes of specific terrain types. Creatures can only be placed on their matching landscape.
Open nfc-bridge/uid_map.json and map each physical tag's UID to a card ID:
{
"04:A1:B2:C3:D4:E5:F6": "cornataur",
"04:11:22:33:44:55:66": "ancient_scholar"
}Tap a card to the ACR122U while nfc-bridge.exe is running — the UID will print to its console window. Card IDs match the id field in cards.json.
Requirements:
- Unity 6
- Python 3.11+ (for NFC bridge development)
- Inno Setup (to rebuild the installer)
- Tilt Five Unity SDK (install via Package Manager → Add from git URL)
# NFC bridge dev mode
cd nfc-bridge
pip install -r requirements.txt
python reader.py
# Build NFC bridge to exe
build_bridge.bat
# Rebuild installer (after new Unity build)
# Open installer/CardWarsAR.iss in Inno Setup Compiler → BuildUnity build output goes to Build/. The installer packages Build/ + nfc-bridge/dist/nfc-bridge.exe.
/Build — compiled game (run CardWars.exe directly)
/CardWars — Unity project
/Assets/Scripts
/Game — card logic, combat, game state
/NFC — WebSocket listener, card event dispatcher
/TiltFive — board setup, creature spawner, wand input
/installer — Inno Setup script → CardWarsAR_Setup.exe
/nfc-bridge — Python NFC reader + PyInstaller build
reader.py — reads ACR122U, sends card events over WebSocket
uid_map.json — maps NFC tag UIDs to card IDs
LaunchCardWars.bat — starts bridge + game together
- Unity 6 + Tilt Five SDK — AR rendering
- C# — all game logic
- Python 3 + PyInstaller — NFC bridge (ships as a standalone exe)
- ACR122U — USB NFC reader
- WebSocket (localhost:8765) — bridge between NFC reader and Unity
- MixCast — mixed reality capture
Prototype. Two-player local play is working. NFC card scanning, 3D creature rendering, full combat resolution, and AR display via Tilt Five are all functional.