Portal 2 Leaderboards

This was a site made for a tight speed running community which speed-ran the game Portal 2 (myself included). The game had a challenge mode in which you complete sections of the game (or a track) as fast as possible. When you complete a run, your best time (or score) was stored online on a platform called Steam, where you could see other people scores as well, but it was just that – you can only see the scores. I wanted much more than that.

Portal 2 Leaderboards (P2LB) was a reliable source to check for world-records or other competitor scores. This was done manually by banning scores and/or players that gained their times unfairly, so when you looked at the site, you knew what kind of time you need to achieve to get into a TOP20 for a specific track.

All tracks, their scores and player names were displayed compactly in a single page, kind of like an overview. You didn’t have to open each track’s leader-board individually. My own made design for the site helped a lot.

Players had profile pages which displayed how active and good a player was. Each player had a global rank calculated by all the placements they have on all the tracks, which motivated the players to speed-run more and to become better at the game, so they can place higher in the rankings.

Key part of the site was able to view “score updates”, which was a history of any score improvements across all tracks. Manually tracking all players and on what tracks they have improved their scores is difficult. On this page you could easily see who improved their score at what time and by how much. And if you wanted to be more specific, you could search the history with a player or track criteria.

Because the Steam platform didn’t provide data for when the player improved or gained their score, I had to scrape their web-site every minute to be able to track the time-stamps for score improvements.

This was my first serious big project that I developed, and my goal with it was to learn PHP OOP. Because my code is open-source, a member from the community forked my project, added additional features and continued hosting it (which I no longer wanted to do).


Linkboard.iverb.meYear2013Source codegithub.com github.comProgrammingPHP, HTML, CSS, JS