Inspiration

The digital world has experienced a pastime like no other: video games. While video games are, despite purely showing their presence online, not a new activity, Riot Games, most known for their debut title League of Legends, have released their take on the tactical FPS genre. We were curious to see what the hype surrounding it was about-- fast-forward to 2024, and what began as a simple passion for an indie game has evolved into our take on traditional fantasy sports, with VALORANT as our primary inspiration.

What it does

FANLORANT has many side functions, but it has three main functions: tracking points for every player in each match, providing up-to-date VALORANT information, and ensuring that match information is relayed to users upon request. We want an enjoyable experience with as few inaccuracies and delays as possible, with an easily navigatable UI that uses Discord slash (/) commands.

How we built it

FANLORANT is built with a web scraper in Python, grabbing data from a website with all VALORANT matches and storing them in a local database. Using this data, users can interact with the database and compete against each other based on an overall points system. Hosted on an EC2 instance with AWS, we can ensure perpetual uptime for optimal user quality.

Challenges we ran into

While there were many challenges, we initially had trouble sourcing the data from VALORANT matches automatically and how we would store this data. This was resolved after extensive searching when we stumbled across a forum site, vlr.gg, actively updating with the latest VALORANT news and match statistics. Upon setting vlr.gg as a baseline to web scrap, the web scraper itself was built with BeautifulSoup, a popular Python library. After rigorous, meticulous testing, we got it to identify specific parts of the HTML. Storing the data efficiently and effectively was another issue; SQLite was our method of choice due to its quick and easy setup in code, and minimal need for testing.

Accomplishments that we're proud of

Working on a completely new library, web scraping, and getting consistent data have been our toughest and proudest achievements. We’re also proud that we were able to upload the code onto a remote server and allow it to asynchronously manage data and commands simultaneously without fail.

What we learned

FANLORANT was an interesting project, and nothing like we ever attempted before. One of the major takeaways was understanding how to maintain and build a Discord Bot from scratch. It particularly tested our limits on web scraping and hosting the bot itself, but also outsourcing data from sites like vlr.gg, and also helped with various soft skills, including: timeliness, inductive reasoning, critical thinking, collaboration, and especially with our communicative abilities.

What's next for FANLORANT?

We plan to add more data, such as different events that happen in VALORANT, to be scraped. For example, when a player performs a "Clutch," or when a player wins a round as the last player alive, we want to give them proportionally more points, considering that we want to assign harder feats with more points as a reward. We also want to have an automated draft and team management system to alleviate any difficulty in managing, trading, and keeping overall track of their players and see how they stack up against other teams.

Share this project:

Updates