Paper and Game presented in

CHIPLAY ‘25, held in CMU, Pittsburgh

Whatever Floats Your Boat

A Hybrid Game (physical and digital) based on balance.

Duration: 3 Months • Anubhuti, Ranjabati, Ishita, Sajana

A tangible, collaborative game where players physically balance a virtual raft to trap a crab, blending hands-on interaction with real-time digital feedback.

View Paper

Research & Ideation

In an era of screen-based isolation, how can we make digital gaming more

The big question

social, intuitive, and physical?

Why Cards?

Tactile satisfaction in holding, shuffling, and placing a card.

Simple, tangible objects you can hold and move.

Carry hidden information that our game's digital world can interpret.​

Process

Research & Ideation

First Prototype

second iteration Prototype

Playtesting

Final Game Development

Playtesting

Final Showcase at CHIPLAY

Concept

Elements

Proposed Set-up & Mechanism

The cards represent weight according to their hierarchy. Eg, a 6 of any suite would be heavier than a 5 of any suite.

Physical cards as weights interacting with the game board divided into directional zones to balance a digital disk carrying a ball.

Disk with the eight directions to assist with placement of the weights.

The disc tilts according to the weights(cards) put on the board and the ball moves along it.

The disc has a curved surface to keep the ball from falling out.

Stacking cards will add on the weight.

x2/”right”

x1/”left”

y1/”right”

y1/”left”

First Prototype

Front depicts and objects with its corresponding heaviness value. Back of each card has a QR with the weight value stored.

Each piece of the gameboard holds a directional value and holds a certain weight, to which the raft directly responds.

Digital screen placed in the center of the board, displaying the digital raft and a crab on top.

Cards

Elements

Gameplay Loop

Gameboard

Raft

The game starts with the crab appearing at a random position on the raft.

Start

Card Placement

The player draw cards from the deck, and places at any of the eight directions.

The system scans the card and position.

Detection

The raft tilts, and the crab moves off-center if imbalanced.

The crab returns to center if perfect balance is achieved.

Feedback

The rounds repeat with new card draws and crab reposition.

Repeat

Phone camera captures the cards placed on the game board.

IP WebCam streams phone camera.

OpenCV detects and localizes QR codes.

Spatial location of code determines its directional zone.

Python pyzbar appends and updates the position totals, reflecting in p5 sketch

IPAD →Display

PLAYER MAT →Direction detection

→ zone distribution using pyzbar

PLAYER MAT →Direction detection

→ zone distribution using pyzbar

card detected by camera using QR

displaying

data sent to laptop (value+direction)

appends the data

PHONE →Camera, Image detection through OpenCV

Laptop/Mac → Data Transfer from phone to Ipad using python

Playtesting

Playtest Observations

p5.js output in html

python backend

QR code scanning & appending

6

test rounds

12 participants

Players instinctively tried to move or replace cards, even though the initial rule only allowed stacking.

Swapping emerged naturally as a better and more strategic mechanic.

Reversible actions

Real-time strategy development

Longer, more thoughtful turns

Final Prototype

Updated Mechanics

Swap cards to change the overall balance

Swap the objects already on the raft to tilt the raft in desired direction


Net weight stays the same


More margin for error correction


Reusing same weight resources: game can go on

Stack objects from your collection one over the other to tilt the raft


Net weight increases each turn


Less margin for error correction


Limited weight resources: game can end regardless of the win condition when weights get over

Arduino Mega

Esp 2866

Game board

Storage unit

Cards

MFRC522 (RFID)

Camera Detection and QR Codes

RFID Readers and Arduino

QR at the back OpenCV JSON string. → Websocket → p5 js sketch

Back

Front: depicting weight

RFID Tag between the layers

Stack cards to create heavier weight

Shuffle and place the cards face down on the direction zones

The initial tilt of the raft determines where the crab starts

Crab moves according to the net tilt of the raft as the cards are swapped

The boat reaches a correct level of tilt that traps the crab in the center.

starting state

game states 1,2...

(GS1,GS2,)

ending state

pick 2 cards

SWAP!

see crab movement

Gameplay Loop

The hardware is stored inside the box connected to the boards

The iPad gets fixed in the center

Coding & Hardware

Arduino

p5.serialport

p5.js sketch

Allots value to RFID cards: weight (1-8)

Allots value to RFID sensors: directional zones (N, S, NE, SE etc)

Both values read and converted to JSON

Bridge between Arduino and sketch.js

The code for visual (js and html)

Updates raft tilt based on the JSON

Gravity module for raft tilt

Internal map: live updates from the arduino data in the zone weight map.

Embodied Cognition

Social

Co-presence

of board games

via spatially direct mapping

Replayability

of digital games

Create a free website with Framer, the website builder loved by startups, designers and agencies.