FootyLinks in the works

There’s been good progress on FootyLinks, the football teammate matching game. I had to setup an AWS RDS, which is a free learning opportunity, and we never say no to that. That also forced me to pick up SQL again and after my time with JEEBuddy writing SQL statements that spanned an entire paragraph, I was dreading it BAD. But you know what, SQL is fun, it’s alright. I’ve finished all but one query.

The game “works” now, and by that I mean you have rudimentary HTML elements that you use to change the state variables. I’m going to write a new scraper that fetches every player’s individual information such as age, nationality, max transfer value, and so on. Consider this an (in)formal apology in advance, Transfermarkt servers. They won’t know what hit em.

Once the information is fully scraped (which should take a few hours with ~100k players), I’m also looking to replace how the round is selected. Instead of a random picker that selects an initial and final player, I’ll shortlist players based on their peak transfer value so that only well known common players are played. Would have to account for inflation though, that’s gonna be a fun problem to solve.

I also wrote my graph checking and DSU algorithm to find the minimum number of components. I really thought it was gonna be just 1, but turns out the answer’s 31. That’s a fun little tidbit: there exists no player such that you can reach every other player from him. I’ll be finishing the search algorithm with a multi source BFS (thank you coding teammates for this idea), and after that we should be able to generate shortest paths (although it’s also a fun problem to figure out how to rank multiple paths of the same length, maybe peak transfer value or average?).

We might also consider adding national teams from tournaments such as the World Cup or Euros, in case testers struggle to find the paths by just club links.

Now all the boring work out the way, the thing I’m looking forward to the most by a landslide: MULTIPLAYER FUNCTIONALITY! I’m excited to figure out how to make a concurrent game session for multiple users by rooms. I’ve worked with sockets before but not to this extent and depth, so it’ll be a fun little exercise for me.

I’ve got a few friends in mind I would like to test this project out, hopefully in a couple weeks. Till then I’m gonna put my head down and work on making this the best application I’ve ever created.

Leave a Reply

Your email address will not be published. Required fields are marked *