David
1 supporter
Old Republic: Battle Parser

Old Republic: Battle Parser

Sep 07, 2024

Hello everyone, after many years of working on Orbs I figured I should write up a short post detailing the history of where it started and where I would like it to go.

In 2019 I was a somewhat new Software Engineer and had aspirations of creating my own combat parsing software. I had recently learned about JSON and other similar data structures for storing information as a string, so I felt equipped to explore the structure of the combat logs from SWTOR. Well, for those of you who are familiar with the combat log structure you know that I was about to be disappointed. For whatever reason, SWTOR uses it own totally unique structure for storing the combat information in the combat log text file, and I tried for a bit and quickly got in over my head to parse the flood of incoming text.

Fast forward to July of 2021. I had a few more years of professional experience under my belt and was an avid user of StarParse for tracking all the information it provided. The heal over time (HOT) tracking was specifically useful for Operative healing ensuring that my HOTs never fell off a given teammate. A few months prior, I had noticed that the SWTOR devs updated the Operative healing class such that one of the abilities refreshed the HOTs that previously hadn't. StarParse initially didn't follow the same logic, and there was now a disconnect between the true HOT in the game and the StarParse overlay. This renewed my interest in creating a parsing software so that I could be in full control over what was tracked, how it was tracked, and how it looked. My first thought was to modify a branch of StarParse since it is open source, but due it it's being in Java I quickly decided to start my own .NET project.

2021 was the 6.x era of SWTOR, which is important because that meant the combat logs were all still individual. Long time raiders will remember the joy that was synching up your group via StarParse's built in "group raiding" feature. I knew I'd need to have support for the same thing, so I got to work building out the network infrastructure that would be required to synchronize all the logs from different clients. Then, the SWTOR devs announced that in 7.0 the combat logs would be shared across all clients in instanced groups! This did mean throwing away a few weeks of work but allowed me to focus on other aspects of the project.

Early screenshot of Orbs UI (v0.56.2)

Initially Orbs was a very small project intended for me and a small circle of friends, and in the early days it was very rough around the edges (if you think it is rough now, just try to imagine lol). As I used it and shared it with others it began to grow both in maturity and feature richness. The most notable partnership was that of my work with Keetsune. He was absolutely critical in the development of the combat timers. Not only did he come up with the logic for all the built-in combat timers, he provided valuable feedback on the stability and performance of the different functions of the timers. You can thank both the SWTOR devs, and Keetsune's genius for the complexity of the timer offerings in Orbs.
Current screenshot of Orbs UI (v1.9.16)

277 git commits and over 3 years later Orbs is being used by over ~4,000 individuals every month and users recorded 60,000 boss kills during the month of July! It is absolutely staggering how many people are using this software that initially started out as a very rough prototype to fix a small annoyance I had with StarParse. The goal for Orbs is to allow more players to feel comfortable in difficult content. Keeping a healthy raiding population is critical to the long-term success of this game, and I hope that Orbs is playing its part in giving people with less experience the confidence to move into harder content. My plans for Orbs aren't done yet, and I have a lot of ideas for how to both improve the user experience (I hear your comments about it being unintuitive and I'm working on it!) as well as add new features (like flashpoint/raid time trial leaderboards). I also want to continue adding new floor hazard overlays for Revan, and other bosses to help new players get familiar with the fights and further boost the number of end game raid players.

Please reach out to me on discord @Zarnuro or in game on Star Forge @Zarnuro as I'm always open to hear your feedback, even if they're complaints, I want to make this software as good as I can. Happy raiding!

Enjoy this post?

Buy David a coffee