A new stupid football wikilinks game

Okay so. My exams are over, my mental stress is finally going down now. It’s time to pick up something from the long list of random ideas I wanna create, and this is one I’ve been thinking of for a bit. It’s kinda stupid but you know what? I don’t care.

I’ve been thinking about it, and I really wanna build shit. I just wanna create something. Doesn’t have to be good, doesn’t have to be meaningful, doesn’t have to fit anything. An idea pops in my head, I’m gonna create it. I wanna spend the next year picking up electronics and devices and making something that works well. I’ve got an idea for a phone controller, and a compilation of the stupidest ways to play video games where I’m just coming up with weird ways to control your characters on your computer. Could be fun. But first, we make FootyLinks, a WikiLinks-like game for footballers.

The idea is really simple. You’re given Player A and Player B, and you have to create a chain from player A to B, such that each player in the chain has been a teammate of the players adjacent to them. So if the chain goes A – C – D – B, then A was teammates with C, who was teammates with D, who was teammates with B, and that’s the game. Obviously, lowest clicks or links is the winner.

There’s a lot of factors to consider here. First comes the web scraping. I turned to TransferMarkt and wrote a few scripts that fetched the last 20 seasons of squads of the teams in the top 5 tiers of the top 10-12 highest ranked countries in the UEFA Coefficients List. After that, I wrote a second script which mapped players and the team they were in for each season in the last 20 years. I now have a one to one relation set up both ways for this data.


The first challenge is storing this data. I initially thought a simple JSON file would be enough, but that’s almost 80-100MB, which makes it a terrible way of serving data. That means I’ll need to have a frontend and backend service for this, and it would be better to use MySQL here instead of MongoDB. A relational database will be so much better for this kind of data. So the current task on hand is to setup a MySQL database, create a Node JS Server, populate the database with my JSON data, and then write queries for the backend to use. Easy.. peasy.. haha.

Anyway, once that’s done, I can move onto building the front end for the application. That should be straightforward since there isn’t much except just querying players and their teams, and then for a selected team you must query for players.

A fun exercise I wanna pick up is to somehow organize players into a graph. It’s possible that there exist two players A and B such that there is no way to link from A to B. So it’s a good idea to figure out what all players are connected to each other, so that any link problem is only between players from the same component. Plus this way you could also query for minimum distance between two players to make the puzzles harder or easier. This will be the most exciting part of this journey, can’t wait to pick this up.

Fin, hopefully I write again soon with a cool update on this project.

Leave a Reply

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