Skip to content

irehsrg/ATCW_AR

Repository files navigation

Card Wars AR

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.


Hardware Required

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

Installation

Download CardWarsAR_Setup.exe and run it. It installs:

  • CardWars.exe — the Unity game
  • nfc-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.


Playing

Deck Selection

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.

Taking a Turn

  • 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

Controls

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

Lane Types

Each hero has 4 lanes of specific terrain types. Creatures can only be placed on their matching landscape.


Setting Up NFC Cards

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.


Building from Source

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 → Build

Unity build output goes to Build/. The installer packages Build/ + nfc-bridge/dist/nfc-bridge.exe.


Project Structure

/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

Stack

  • 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

Status

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages