Inspiration

In teams that we work with, we have casual game sessions on Fridays and before sprint retros, where the team members get together and play team building games, and the winner gets a free coffee. Sometimes we just go on Youtube and watch a marble race, and inspiration comes from here - why don't we combine marble race with Jira?

What it does

We collect metrics from open sprints in Jira and turn them into points. Team members who have more points will have more marbles (lives) and an edge (usually). Random modifiers will be added to the marbles before the race. To make this game not a work-to-win, not all modifiers are useful, some may even have bad effects! The team gets to pick a track from the track selection screen together, watch the race go and see who wins!

How we built it

The game is mainly developed in Unity game engine, written in C# and built as a WebGL project. Then a Forge custom-UI app is built on top of it, bridging Jira project page to the game. Data is collected via Jira Cloud REST API and is fed into the game via a custom UI bridge.

Challenges we ran into

The most challenging part of the project is integrating Unity into Forge, and getting WebGL and WASM to work via the custom UI bridge. We ran into CORS and permission issues during development, as well as communication issues from the browser to the unity instance that is sitting in the custom UI's iframe.

Accomplishments that we're proud of

Being able to resolve the technical challenges above, and this has effectively unlocked all future possibilities of building any games with the Unity engine and integrating it with Atlassian products via Forge!

What we learned

We learned about capabilities of Forge, learned more about building Custom UI apps and Custom UI bridges, and Marble Race is a lot more intense when your name is on the marbles!

What's next for Marble Race

The algorithm for collecting points is quite basic right now, it can be enhanced with more different metrics (logged time, story points, etc), also, more tracks and game modes.

Share this project:

Updates