Bird Box
A multiplayer AR chicken-fighting game using multipeer connectivity to synchronize 3D objects across devices in the same physical space.
Overview
Bird Box is a multiplayer fighting game where players battle each other as chickens inside a shared AR environment. With multipeer connectivity, all players see the same 3D objects anchored in the same physical space, creating the feeling of a real chicken fight. The game also includes multiple character skins so players can choose their favorite chicken.
Project Goals
The goal of this project was to explore the broad capabilities of various Apple technologies. As a team passionate about both gaming and augmented reality, we wanted to combine these interests by designing and building a multiplayer AR game.
Screenshots



Challenges and How We Overcame Them
We faced many challenges—almost everything in this project was new to us: AR development, 3D object handling, game controllers, and especially building a shared AR experience.
Our team consisted of two developers and one designer. We split the responsibilities so that my teammate focused on the shared AR session while I handled the game controller system and character movement. The real complexity began when integrating both parts. In shared AR, player actions and entity movements must be synchronized across devices, meaning every movement and animation must be broadcast and rendered correctly on all peers.
This was far from straightforward. We encountered issues where entities wouldn’t move, animations wouldn’t play, or devices would fall out of sync. After many deep debugging sessions and continuous iteration, we finally achieved stable synchronization.
Another major challenge was area synchronization—ensuring that all players saw the objects in the exact same location. To solve this, we used an AR Image Anchor as a shared reference point so each device could place the objects consistently in the same physical space.

Learnings
This project taught me how to build an AR game from the ground up: moving 3D objects, managing a shared AR experience, and creating a multiplayer environment. It was also the first time I learned about the Entity Component System (ECS) architecture and implemented it in Swift for game logic. The entire process—from technical challenges to creative problem-solving—was a highly rewarding experience.
Attributions
From Left to Right:
- Java Kanaya Prada: Game Programmer
- Graciella Michelle Siswoyo: Game Artist
- Ghazali Ahlam Jazali: Game Programmer