Heroes of the Storm

Project Type:  Professional

Release Date:  6/2/2015

Resources:  Website

Role:  Graphics Engineering Intern

Details:

This one is definitely a bit of an odd story.

As much as I enjoyed Evac as a game and as a development experience, it also really burned me out.  I had learned a whole lot, but coming out of junior year I also was heavily sleep deprived, cranky as hell, and I was just ready to do… anything else.  The passion for real time graphics wasn’t necessarily gone, but I was legitimately eyeing business app development internships over game studio possibilities.  If nothing else, I needed a chance to recover.

Blizzard was the only game studio I had applied to, but I considered it a longshot and when they finally contacted me about an interview I had honestly nearly forgotten all about it.  The first interview felt terrible; I started off with a ridiculously terrible answer to the first question.  Things steadily improved through to the end, but I was still pretty surprised when they wanted to do a follow up.  Second interview went a lot better, but I still wasn’t sure.  Can you ever really be?  Either way, they made me an offer, and it was a really exciting moment to get that call!

That call was to offer me an internship on the Titan team.  That internship ultimately wasn’t to be, but when it fell apart the StarCraft team was happy enough to take me on if I wanted to make that switch.  Which of course I did; StarCraft is only one of the most popular, most successful franchises of all time.  If I had gone to DigiPen to gain the skills to work in AAA games, this was exactly what I was aiming for.

My time on Team 1 was pretty amazing.  Between the abruptness of my internship switch and Team 1 Engine’s currently staffing at the time, I fell into an interesting combination of “not actually ready for me” and “all hands on deck”.  I didn’t get as much mentoring as I might have hoped for, but it was more than made up for with the ability to get my hands dirty and make real contributions to the engine.  I learned a lot from my time in that codebase, and it was also a validating experience to see an engine like this one make fundamentally similar architecture choices (discounting scale, obviously) to what I had done at school.

Even better, I shipped a few pieces of code into Heroes of the Storm and StarCraft II: Legacy of the Void.  I wrote the unit based occlusion outlining, fixed post processing on the minimap, made it possible for unit/building lights to inherit team colors, did a lot of bug fixing in the art pipeline, and sorted out a few other small bugs/features.  I also encountered a legitimate driver bug, diagnosed it, and provided a workaround, which I may just write about one of these days.  This is also when I met Alan, which may have been the best part of the whole internship, truth be told.

This internship definitely succeeded in renewing my desire to make games.  I left Blizzard fired up to write a new renderer that would hopefully leverage all kinds of things I had learned over the summer.  I then proceeded do to what no reasonable person does and I got all my friends to form a game team with me for senior year, where we would make a new engine from scratch, and it would be amazing.

Spoiler, it wasn’t.