Behind the Project

All Mines

A 3-player AR mining game created using Meta's discontinued Spark AR framework. The game featured head-tracking controls, real-time networking, and debuffs to create player conflict. The project was created for Meta’s Spark Playtime hackathon, where it placed 4th among hundreds of entries.

3 Players 10 Rocks 1 Winner 4th place, Spark Playtime 2022
Read Overview Watch the breakdown

The Game

Mine rocks & outplay your friends

01 / Collect

Race to collect 10 rocks

Rocks spawn throughout the play-space. Players can collect the rock if it shares a colour with their miner. First to collect 10 rocks wins.

02 / Move

Head as a joystick

Tilt your head and your miner moves in that direction.

03 / Debuff

Freeze or flip opponents

Close your eye for a few seconds to send a debuff to another player. The debuff will either freeze them in place, or invert their controls.


Game Rules

  • 3 players on video call.
  • Each player is assigned a colour and controls a miner matching the same colour.
  • Rocks spawn semi-randomly around the play-space
  • Players race to be the first to collect 10 rocks. However, to create player conflict:
    • players can only collect rocks that they share a colour with.
    • each rock carries two of the three possible colours, therefore creating one-on-one confrontations
  • Players move by rotating their head like a joystick, and they can wink to send random debuffs to their opponent such as:
    • freezing them
    • reversing their controls

How Did It Happen?

The full breakdown, in five parts.

Below is a short video series walking through the design and implementation decisions behind the game.

Part 01 / 05

Intro

In this game, players race to be the first to mine 10 rocks. However, players can only collect rocks that their character shares a colour with. This first video of the series sets the stage for everything that follows.

Part 02 / 05

Multiplayer Networking

The second part of the series explains how in multiplayer games, we can think of each player as being in their own parallel copy of the same "world". These "parallel worlds" are connected and can influence each other. The game of Pass the bomb is used as an example to illustrate the concept.

Part 03 / 05

Movement

The third part of the series expands on the "multiverse" concept from the previous video to explain how to sync game state and predict movement updates in a multiplayer game.

Part 04 / 05

Who’s the Boss?

The fourth part of the series presents the difference between the typical client-server networking used in most multiplayer games and the multi-peer networking used in All Mines. Behind the scenes, a random player's device is chosen to act as the "server" for the game. That device is the "boss" and therefore responsible for keeping the game state in sync for all players.

Part 05 / 05

UI/UX

The final video in the series discusses the challenges of designing UI for 1/4 of a mobile phone screen as well as what decisions were made to maximise UX despite this limitation