I am a Technical Director which means my days are advising lead developers on everything from system design and architecture to problem-solving, team dynamics and career development. I also still try to get down into the nuts and bolts of code whenever I still can. I am a developer at heart.
If I had to pick a specialty in tech it would be systems. I was never the gameplay guy and I gravitate toward the lowest level -- memory management, native device interface, networking, communications protocols... I think it’s a hangover from my telecom days.
On the management side it’s definitely hiring and running productive cross-disciplinary teams. Over the years I’ve learned a lot about types of attitudes, character and of course technical skill profiles that lend themselves best to development goals. In a sense, I think I’ve become really good at producing team chemistry.
“Tron”. Let’s be clear -- the original “Tron”, not the remake. I saw it when it came out in theatres. I was 8 years old and I will never forget it. I came out of the theatre and wanted to be “Flynn”, program my own video games and… well… to be physically deconstructed by a laser and reconstituted as a digital avatar. I had to settle for my Dad bringing home an obsolete computer that had been discarded by a scientist at his workplace. I plugged it in, turned it on and though it didn’t deconstruct me, I saw this blinking white cursor on a black screen with little else. It was mystery and discovery and possibility. I entered some nonsense, it responded with an error, and I was hooked on programming forever.
Unfortunately when I graduated from software development college in the early 90s there were no video game studios on this end of Canada. I needed to get a job and so I spent about 8 years programming in Telecom and IT consulting gigs. You might think the dream would have faded but my mom sent me a newspaper clipping about HB Studios opening up in Lunenburg, Nova Scotia and I sent them an email immediately.
You might think my biggest problem would be technical but it isn’t. There is a huge disparity between the number of men and women programmers. Ubisoft Halifax prides itself on employing a lot of very talented women but far too few of them are coming up through software engineering. I am trying to figure out how to inspire more women into our industry and into our discipline in particular.
We’re also trying to balance reusable systems with fast, iterative development. As you might expect, I work in a world which mixes art and engineering so we need to offer tools and environments which strikes a balance between enforcement of best practice, patterns and design while allowing a wide margin for innovation and creative possibilities. In short, everyone has to be as unencumbered as possible while allowing us to actually ship a game in a timely and performant manner. So I am trying to help direct our teams to build game systems which help strike that balance.
We also need to build everything for at least two primary platforms - Android and iOS. So even though Unity makes that much easier, on the fringes of those platforms where Apple and Google decide to do things very differently, there are always deviations, exceptions and compromises which cause my programmer heart to break.
Ubisoft, being as large as it is, has its own internal version of git server which is a treasure trove of tools, libraries, prototypes, scripts and projects developed and submitted all over the world that our developers can learn and draw from. Personally I am a huge fan of python and Flask for my own quick process and management-related tools. I use Visual Studio Code as my IDE of choice but most of our developers are using the more feature-bloated Visual Studio which ships with Unity. We also have a few using Jetbrains’ RIDE as well, I believe.
Most of the team is back in the studio as I write this but we were working from home for several months. Our IT team were heroes in getting us up and running remotely without much productivity loss. My biggest tip would be to “keep standard hours” and don’t blur the lines between your work life and your home life. If you are lucky enough to carve out a physical space for your office, treat it as though the minute you walk through the door or sit down at your desk is “in the office”. Emerge only for breaks, lunch and supper or whatever you would be doing in your normal work-hours. Then, when the clock stops, leave it all behind and go spend time doing what you would normally do outside of working hours. If you allow these two worlds to bleed together too much, it’ll cause stress, anxiety, loss of productivity and resentment for your job. Even if you think you’re getting more done, that could just mean you're moving faster toward being burned out and tired of what you love to do. Punch the clock, and go spend time with your friends and family. In short, keep a balanced lifestyle through self-discipline.
We’re in a very interesting time right now because we seem to have hit “peak phone” in terms of performance, screen resolution and what you can do on a phone. From here on out, hardware will only improve and software will continually optimize and become increasingly capable on even mid-tier devices. While you *could* use this to transfer more powerful console games onto phones, I think that’s a really weak approach and I am excited about the developers who are trying to play to the strengths of mobile, casual play in terms of design and interface.
It’s also getting easier and easier for indie developers to enter the market as well with engines like Unity, Unreal and Defold. This rich ecosystem of developers just keeps pushing the bar for what games can accomplish, how you can tell a story and how you can engage with your player in a meaningful (and profitable) way.
As a developer, I am excited about the ongoing optimizations in the Unity engine, technologies like DOTS introduced a few years ago which is a game changer for crazy amounts of on-screen objects. I am encouraged to see some of the better innovations from the web world sneaking over to game development (CI, package management). I am interested in “Bolt” and what it might offer in terms of fast prototyping -- and of course I’d be remiss if I didn’t say I was stoked to see what games will look like on the upcoming new generation of consoles. On the back end, I am really interested in the application of machine learning as it applies to understanding player behaviour and making AI and gameplay reactive in real time.
Make games. You’d be amazed how many people say they are passionate about games or game development and then can’t point to any concrete example of demonstrating that passion. There are so many tutorials, free tools, web-based walk-throughs, free advice and even local meetups (shout-out to Halifax Game Collective!) that as long as you’ve got a computer and internet access there is nothing stopping you. In the past we’ve hired people from the web world, from the film world and even from the IT world. I began making firmware for IP switches. But we all had one thing in common and that is a love for learning about making games.
We'll let you know about upcoming events, speaking opportunities, or other important community news