Orcoins Mixed Reality Game

An app-based outdoor game I organised for a ~300 attendee event, in which players collected coins hidden around a big nature area. Once found, coins can be scanned with the dedicated app to get a corresponding amount of points.

The Android app is a native Kotlin app with a Jetpack Compose UI. It features an onboarding flow leading to account registration, as well as allowing for the creation of teams and team management. The main dashboard shows the status of found and scanned coins, with hints to the amount of yet undiscovered coins. A leaderboard is also available, showing the current ranking and number of points for all teams. The key element is the scanner feature, connecting the real world coins with the virtual game.

The app also contains an integrated administration panel with the status of all coins, as well as showing their real world location on a map. The panel allows the game organisers to manage and deploy coins, as well scan coins to confirm they were returned from the field by the players.

For the backend, I used Kotlin with Ktor to create a REST API designed with Swagger/OpenAPI, with a MongoDB database. It is deployed on a cloud server with Docker Compose.

The coins themselves are 3D printed with a steel core for weight. I designed them with OpenSCAD, along with a Kotlin program to generate a 3D model for each coin, with a unique serial number and data matrix code. The program generates an OpenSCAD script, which in turn generates each model, along with an image render for use in the app as the representation of the coin.

On the left, prototypes of the coins on the way to the final design. On the right, portion of the 3D printed coins that were then hidden on location for players to find and scan with the app.


I'm excited to hear from you.