If you've ever played a game or followed a piece of software and left it alone for a few months, there is likely a significant amount of changes. In the modern day format of patch notes, it's simple to keep up if you view each one as it comes along, but it's otherwise inconvenient viewing all at once. In addition, it can get complicated (especially for games!) with many subcategories if you decide to view all the notes in regular chronological order.

What it does

This app will be a two-part solution - a python example parser that scrapes patch notes and generates a standard format, and a client-side display application that allows for specific compilations of specific time gaps.

How we built it

See above, tools used outside of the languages directly are primarily Vim, QT Creator, Cmake and CLion.

Challenges we ran into

Every company in the world has a different way to structure their own patch notes - understandably. In addition, inconsistencies might occur between months and years of different patches.

Accomplishments that we're proud of

First time either of us directly worked with QT or beautiful-soup, and the interior of the client-side application uses a tree structure to store both individual entries and categories without overlap. Printing each query is just performing a preorder traversal. We also are proud of the design behind this - the client could be used by any game since it only requires a specific format, there just needs to be scraping and parsing done for each game instead of worrying about modifying the client afterwards. There is a very low scraping requirement as it can be done only once and then the result file can be hosted at a community site. There is no need to keep up a server for a website to host a webapp (we're just college students after all) for the display side, and the performance is fairly good due to usage of C++.

What we learned

We learned how difficult it is to deal with inconsistencies in stylization and naming conventions with patch notes. We also ran into performance concerns as we believe our algorithms are not necessarily the best, but work for the purpose of a hackathon - something that should be given a serious look after this.

What's next for CatchUp

I'll likely be polishing CatchUp for the next few months so that it could benefit gamers like me that are interested in getting back into games that we used to be up-to-date with. Perhaps once it is at a stage where it could be feasible to release to the public, there could be an attempt to contact gaming communities to see if anyone is interested in working on more scrapers and hosting the results with their communities.

Share this project: