Lots of things have happened since I last posted. I meant to keep up with this as a brain dump of the things I’ve been coding and learning, but time just got away from me.
- After a long, grueling and decisive few years I have finally graduated with a Master of Science, with Distinction, in Computer Game Development. It’s only been a couple of weeks so maybe it hasn’t fully sunk in yet.
- For the past year and a half, I have been working as a contract Associate Software Engineer at NetherRealm Studios. I’ve learned an incredible amount about games, software engineering and just what it’s like to work with people you actually enjoy working with. I am one of two Software Engineers working on User Interface (UI) for Mortal Kombat X and an unannounced project.
- I won’t know until the end of my contract (September) if a full offer is going to be made. While it frustrating, it is what it is. I love what I do, but I’m not certain if fighting games is where I want to end up or if I can take any more Chicago winters. Maybe this is a good opportunity to find something that just fits better.
- I’m spending my nights and weekends job hunting and practicing interview style questions. Data structures, algorithms and low level C++ just aren’t things I think about regularly, certainly not to the degree that they are asked about in interviews and not under pressure.
I had a quick phone interview today that I think went OK. I’m really bad at gauging these things. A code test is being sent so I guess that’s a good sign. I have a grid of keywords for stories in order to quickly recall answers to typical behavioural questions, but sadly she asked ones that weren’t on there. I still don’t even know how to answer what my “typical day looks like” since it’s different depending on the stage I’m at in my current project or where the game itself is at. My day at the end of the project is more bug fixing than now at the start of a new one with tech prototypes and UI system overhauls. Some-days I’m gathering information from designers, artists and gameplay programmers, other times it’s working on a screen in flash and sometimes it’s all C++ code. Most of the time is a mix. Early in the project I’m typically creating the grey box version of a screen in Flash and implementing it in code. The later it gets into the project the more likely it is that I’m fixing up newly skinned screens and adding new features to existing ones.
A question that stumped me was to talk about a time when I had to stop working on something and and switch to something else. I couldn’t narrow down anything because it happens all the time – especially during crunch – and I didn’t do anything other than “shelve what I was working on and start the other thing.” I suppose I context switch quickly?
Another one to add to the table – most satisfying experience:
Situation: The very first screen that I worked on was the move list – the list of moves with the necessary inputs for your character located in the pause menu. Working late one night, the senior UI artist (and UI designer) told me about a feature that he has always wanted to include, but has never made it in… saving your place in the move list so if you return back to the game and then go back, you are on the line you last looked at.
Action: I kept that idea in the back of my mind while I engineered the system. Months later sitting down to implement it took maybe a few hours.
Result: A seamless feature that adds to the user experience without being distracting and an extremely happy UI Artist.
What’s Happening At Work
I’m working on this really cool tech prototype that I can’t talk about. I’m under a pretty extensive NDA and not really certain exactly what I can say specifically about it, so I’m going to be as broad as possible. Today I finished up the UI that drives the new tech, but everyone in chair lab (UI) was out. So I decided to grab my producer for a 2nd set of eyes and eventually drew a crowd including the lead producer. Everyone was quite impressed, so it’s a happy day.
In my job search the most luck I’ve had has been picking out a city I might want to live in, going on game dev map, looking at every game studio listed and bookmarking the career section of anywhere I might want to work at. So far I have Seattle and Austin. Next up is the Bay Area which might actually take a while to get through. Then once per week I go through the list to see if a UI Engineer position has been posted. It’s an incredibly exhausting experience.
Tomorrow is the monthly local Industry Night. That should be fun.