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