Drew Tremblay - Software Engineer II - Nintendo Software Technology

Andrew Tremblay - Software Engineer II

Experienced game programmer with proficiency in artificial intelligence, gameplay, engine and architecture, multiplayer and networks, real-time graphics, animation, and user interface programming.

  • Passionate about games and game development.
  • Highly self-motivated, hardworking, dedicated, and well organized.
  • Excellent time management skills with a proven track record of meeting goals and deadlines.
  • Strong written and verbal communication skills.
  • Experience working in a team environment.
  • Committed to developing clean, properly documented, scalable, reusable code that is well planned and thoroughly tested.

Technical Skills

Console and Platform Development

  • Windows PC, Nintendo DS and DSi.

Languages

  • Fluent in C, C++, and Lua.
  • C#, Java, JavaScript, Visual Basic, UnrealScript, SQL, XML, HTML.

General Programming

  • Experience programming on multithreaded applications.
  • Object Oriented Programming and Component-Based Software Engineering.
  • Designing and implementing scalable, reusable, modular code.
  • Experience leading other programmers.
  • Strong debugging and testing skills.
  • Localization techniques.

Artificial Intelligence and Gameplay

  • Pathfinding and dynamic steering.
  • State machines, planning (GOAP), goal-based, smart terrain, complex agent behaviors.
  • Gameplay and game rules.

System and Engine

  • Architecture and design, state management, messaging, data pipelines, memory management.
  • Object management, factories, and components.
  • File IO, saving and loading, input, DirectInput.
  • Some FMOD.

Multiplayer and Network

  • Socket programming and Winsock.
  • TPC/IP, UDP, and reliable communication.

Real-Time Computer Graphics

  • Software rendering, texturing, bump mapping, reflection mapping, and specular reflection.
  • Picking, clipping, culling, and occlusion mapping.
  • DirectX, Direct3D, DirectShow, and some OpenGL.

Productivity and Software

  • Microsoft Visual Studio, Microsoft Office, Doxygen, and STL.
  • Version control software: Tortoise SVN and Perforce.
  • Experience working with Code Warrior, SDL, Boost, Paint.net, Photoshop and 3ds Max.

Professional Experience

Nintendo Software Technology, 2008 - Present

Software Engineer II

  • Programmed user interface for Mario Vs. Donkey Kong: Mini-Land Mayhem.
  • Graphics and animation programming.
  • Designed and programmed runtime library, asset pipeline, and export file format for an in-house menu layout tool created for use on all DS and DSi projects.

Associate Software Engineer

  • Programmed user interface for Mario Vs. Donkey Kong: Minis March Again!
  • Optimized rendering and animation system for the runtime library for an in-house menu layout tool.
  • Implemented asset clipping and culling for the menu runtime library.

DigiPen Institute of Technology, 2008

Teacher's Assistant

  • Demonstrated ability to work with code written by other programmers.
  • Instructed students on the technical areas of their game's development.

Professional Projects

Mario Vs. Donkey Kong: Mini-Land Mayhem

Mario Vs. Donkey Kong: Minis March Again!

Independent and Student Projects

Site Demos

  • Library based game engine.
  • File Logging, Memory Management, Macros, Matrix and Vector Manipulation, and Timers.

UT3 Modding - UnrealScript

  • Implemented game mods and mutators with UnrealScript using Unreal 3.
  • Programmed new game rules for a simple team based game.
  • Programmed custom behaviors for game actors.

Block Breakers - Technical Director and Lead Programmer

  • Demonstrated ability to lead a project with five programmers.
  • Designed and implemented game engine and architecture.
  • Implemented a Lua wrapper for object creation, game state management, game logic, UI layout, object creation, state machines, and AI logic.
  • Programmed all game AI: pathfinding, dynamic steering, logic, and complex behaviors.
  • Designed and programmed menu backend: animations, object creation, input based collision detection and event notification, and data driven object management.
  • DirectShow for video playback.

Shoot On Sight (S.O.S.)

  • Programmed game AI: pathfinding, dynamic steering, logic, and complex behaviors.
  • Programmed a Lua wrapper for object creation, state machines, and AI logic.

Firestorm: Arena Combat

  • Programmed all game AI: dynamic steering, swarming, complex behaviors, and goal-based logic.

Education

DigiPen Institute of Technology

B.S. Real-Time Interactive Simulation

  • Relevant Coursework: real-time computer graphics, artificial intelligence, network programming, 3D math, and game development project courses.
  • Winner of Best Senior Game and Best AI in a Senior Game for my work on Block Breakers.

Mount Wachusett Community College

A.S. Computer Information Systems