Loading...

Tracking scores for an in game system using an OCR for Star Wars: The Old Republic

First deployed on September 3, 2014

Inspiration

On August 19, 2014 Bioware launched a new system for Star Wars: The Old Republic, a planetary conquest system.

Many people, myself included, figured Bioware would put out a way to view these scores out of the game. When a week passed and the previous weeks scores disapeared forever, I decided I should look into developing a solution.

This was a lot of firsts for me; cron jobs, OCR, queues, and ruby on rails. I had never used any of these before building this service.

I started with building a bot that goes through all of the servers in game, taking screenshots and using an OCR (tesseract) to read the scores.

Once that was done I built a buffer between the bot and the website, also working a bit like a queue. This was before I knew what rabbitMQ was so I built my own solution. The bot posts to an API endpoint which saves the information to a queue. Then every 10 minutes the queue will post the data to the website itself. Part of the original idea of this was at any point I could click a button on the queue and rebuild the entire website. This ultimately fell through due to complications with the data and handing backups of the main database correctly.

After I knew that the bot would work (I figured that would be the most difficult part) I built the website itself.

Third Party Work

The UI for the website was rebuilt by a third party.

Evolution

For a long time SWTORConquest was the only website I was running, about 3 months. During this time I learned a lot about Ruby on Rails and the website evolved a ton.

I added widgets guilds could put on their website, automted reddit posts when a week starts and ends with the final scores (no longer used), automated alerts to twitter of first place, and more.

I launched a successfull Kickstarter to have a better UI built.

Now SWTORConquest website itself is basically feature complete, most of my work now is on improving the accuracy of the scores the bot scanns.

I plan on integrating SWTORConquest with SWTORData at a later date.

New Scanner System

Originally the bot that I build for SWTORConquest was made to do one thing, grab the conquest scores from in game.

However I wanted to create more bots so I needed to start from scratch to create a new bot platform from the ground up.

This new bot drew insperation from the original conquest bot was built, but was made to be more general and flexible

This was a major project that has allowed me to since add features like Dark vs Light, Cartel, and GTN scanning to my various website quickly.

Status

Live – www.swtorconquest.com