Levelling up – building ‘Project:Ranked’ from code to community

Discover how Micah from our Youth Advisory Council turned a passion for coding and community into Project:Ranked - a fair, fun, and rewarding digital competition platform built from the ground up during the Telstra Foundation’s Digital Skills Project.
Share to Facebook
Share to LinkedIn

I recently was able to participate in Telstra Foundation’s “Digital Skills Project” which was awesome to work with the others on our own projects and just have fun in general. I wanted to outline how I made Project:Ranked as it’s what my Digital Skills Project was all about. 

First with building it – I had to pick a programming language. Which was an easy choice for me – php for the backend mixed with the standard frontend stack of HTML, CSS, and JS. I picked these because it’s where all of my years of experience is – and that because php can run things on my server’s end to keep things all fair. For storing things – I mixed PostGRE SQL to store things like matches, user data, and more on the same server for faster fetching. For things like images – I used Google Cloud’s Storage tools to store things like Profile Pictures, Decorations, Game images, and more.

What I built

First – the key thing:
The ranking system

The ranking system is managed via a queue system, where you can sit in the queue for up to 30 seconds until you’re booted out because no one else is in the queue.

If it does end up finding someone, it’ll match you with them for you both to enter a map and compete in a one-versus-one match. Because my servers don’t have the resources to track what happens in-game (it’s also a big no-no from Meta), users come back to the website to tell it who wins. (If the two people respond incorrectly then it alerts me to figure out what happened.). For your first three matches – your rank is unknown until you win (or lose) your first 3 matches. Keeps everyone hyped 🙂

Images of the ranks

Images of the ranks I designed – used on projectranked.com (in order of highest rank to lowest rank, of which being Celestia, Ascendant, Crystal, Emerald, Sapphire, Gold, Iron, Bronze and Stone. It’s easier to tell which one’s higher as from Stone to Crystal – there are more sides on the badge’s shape.

Now what’s ranking without…

The rewards system

There are two types of rewards, Skill Points, and Credits. Your skill points are changed based on when you win. You earn points by winning, and lose points by… losing (of course). I based the Skill Point system based on Chess’s “ELO” system, where you’ll earn more points for winning against someone with a much higher Skill Point count, and you’ll also lose less points if you lose to someone with a higher Skill Point count (and vice versa).

Credits are earned just by playing matches. You’ll earn more credits if you win (you’ll still earn some if you lose), but you will never lose credits. Credits are used to purchase stuff from the Item Shop that I hand-designed myself. These vary from Avatar Rings (decorations around your avatar), Profile backgrounds (background designs for your Rank Card, and for when you see people on leaderboards and almost everywhere), and name effects (to spice up how your name looks)

Image of the Profile Studio on projectranked.com

Image of the Profile Studio on projectranked.com 

With things like credits, I never earn any profit. Because as I always say: “A credit card shouldn’t make you better than everyone else.”

And lastly of the main 3 that I built:

A community

I made a community Discord server for members of ProjectRanked to talk and have fun. Contributors (like map builders and people who made videos about ProjectRanked) received a role called “Ranked Royalty” – as to which they received a special on-platform badge and Avatar Ring. Different members of ProjectRanked also had competitive teams as to which I built a Clubs system for members with teams to be able to create their team, and watch it on the leaderboard – while team members can select their favourite team to show the team’s profile tag (a 6 letter piece of text) next to their name.

Image of the Club manager on projectranked.com, showing a club called “bocchi the rock fans”

Skills, AI and Careers

Image of the Club manager on projectranked.com, showing a club called “bocchi the rock fans” with a club tag of “BOCCHI”, and a menu to create or join a new club.

So the creation of Project:Ranked was really fun, and although I currently only support one game (“Yeeps”), I’m still reaching out to other companies about having their game added to Project:Ranked – and I’m also in the process of building new tools to allow for developers to add Project:Ranked to their own game.

If you have a VR headset and want to join the fun – the link is projectranked.com – it’s free to use.

All writing and content in this blog have been cleverly created by Micah with their permission to reproduce it here.

Related Posts