
Streamlining Data Analysis - Configuring DeltaViewer with XML
This was the project I worked on during my internship at Electronic Arts! The goal was to create a new shell, a Telemetry View shell, within a tool called DeltaViewer that uses an XML configuration file to preload data tracks and events. This would save developers a lot of time when trying to track down problems in the game's data. This also removes hard-coded tables and tracks.

I was the creator of the shell and programmed it. Within the shell, I used similar logic to the Import function to convert all of the XML into tracks. From there, I had a chicken and egg problem - the tracks loaded before the tables, but the tracks needed the tables to get all the data from. To solve this, I saved the XML-generated tracks as a shell (get it?) of itself, created the table definitions based on the tables gathered at the start of the data analysis session, and then generated new tracks with the exact structure as the XML-generated track and linked the tracks to their respective tables.
What Did I Do?

What Have I Learned?
DeltaViewer had the biggest code base I'd ever been in, so learning how to navigate and explore a vast code base was very impactful and taught me a lot about programming within the software industry. I also learned the importance of respecting prior architectures - even though I wanted to tackle the problem differently, I had to respect the architecture DeltaViewer already had in place. Besides the technical project aspects, I got to work with a lot of programmers within the gaming industry and learn from them directly. I was on the American Football Systems team, and I got to learn how optimization was done at a lower level. I shadowed a lot of the programmers and learned how they approach problems and also learned a lot of C++ and the cool things you can do with it. Electronic Arts gave me a large space to learn from, and I am eternally grateful for this opportunity.