Employment Experience
Staff Engineer
10/13 – Present
WB Games, San Francisco, California
Full-stack feature developer for DC Legends. Responsibilities include architecting, designing, implementing, debugging features across all game systems, from client to server. Implemented many core framework, gameplay, rendering systems. Worked closely with artists and designers, creating custom tools to ease workflows and enable quick iteration of game data. Led team of engineers, breaking down, costing, prioritizing tasks. Managed production releases with new client updates, server data, and server code that handles existing users and new users with different client versions. Development using Unity, MonoDevelop, C# for client, Node.js using JavaScript and WebStorm for server
Software Engineer
8/12 – 10/13
Zynga Inc., San Francisco, California
Feature and UI developer for Battlestone. Responsibilities include full-stack feature development; implementing UI screens using Adobe Flash for layout and GameMonkey Script for functionality; adding custom UI features, such as scrolling lists, tween based animations, and font effects. Cross platform development using Visual Studio 2010 and XCode, C# and C++ for external tools, PHP and Membase for server.
Technical Lead
1/11 – 5/12
IGM at Rochester Institute of Technology, Rochester, New York
Designed, developed and maintained IGM Student Achievement System from the ground up utilizing custom built MVA (Model View Adapter) framework using PHP, MySQL, HTML5, CSS3, JavaScript, UNIX, and SVN. Managed server, user accounts, SVN server and general Web Site infrastructure. Integrated log in to use RIT’s LDAP system to authenticate students and faculty. Conducted interviews and hired co-ops to aid in development, maintenance and content creation.
Application Developer
9/07 – 9/10
Board of Governors of the Federal Reserve System, Washington, D.C.
Updated, maintained and developed components for informational banking software using J2EE, WebSphere, Rational Application Developer, SQL, XML, XLST, HTML, JavaScript and CSS. Participated in and chaired design and code reviews. Attended weekly client meetings, as well as weekly unit meetings. Other responsibilities included writing unit tests, performing unit tests, and production testing. Spearheaded initiative to rewrite main project using modern technologies and techniques. Attended training voluntarily in MSSQL, Microsoft Web Services, and programming, designing and administering Microsoft SharePoint sites. Helped in the hiring process of new interns and potential full time employees.
Jr. Software Developer
11/05 – 8/06
Xerox, Webster, New York
Developed translation database tool which allowed the development team to easily localize the main applications by using enumerated strings in place of actual text. Interface and database interaction was developed in C#, using Visual Studio .NET 2005 and MSSQL Server 2005. Features included searching for strings based on English string or enumerated value; adding new strings; modifying current strings; importing strings from an XLS file; and exporting to an XLS file or to a secondary database.
Research Assistant
6/05 – 8/05
Rochester Institute of Technology, Rochester, New York
Ported clustering software, OpenSSI, from the Intel x86 architecture to PowerPC architecture in Debian Linux. Tasks included translating some x86 assembly to PowerPC assembly, building and debugging kernel level modules, and maintaining four lab Macintosh machines.
Projects
DC Legends
Unity • C# • NodeJS • JavaScript • Android • iOS
A 3D character collection RPG based around DC Comics characters where players collect and assemble teams of heroes and villains to battle through PvE static and server-driven event content. Players earn materials and character fragments to upgrade and progress in the PvE story, and to compete with other users in PvP leaderboards. Released on Android and iOS using unified Unity project
Battlestone
C++ • DirectX 9 • OpenGL/ES • Android • iOS
A 3D action RPG where players choose between three archetypes, four tribes, and multiple ranks of heroes to play as. Players swipe multiple enemies on screen to chain attacks together. Social features included guilds, PvP, and leaderboards. Released on Android and iOS using a unified codebase. External build tools used to compile assets for multiple platforms.
The Harvest HD
Unity
A 3D dungeon-crawler RPG where the user played as one of a variety of heroes with varying strengths and weaknesses through crafted levels. Responsibilities included implementing single player co-op and survival mode networked multiplayer.
Card Kingdom
C++ • DirectX 11 • XML
A 3D arena-style brawler where the player plays as an anthropomorphized playing card that defeats overwhelming numbers of zombified cards raised by the evil Joker to conquer Card Kingdom. The player can use multiple combinations of attacks to defeat waves of enemies. Multiple types of enemies vary the player’s priorities: melee goons surround the player and ranged bombers throw bombs to attack the player from range. Custom audio was created by audio engineers, including ambient music. Havok Animation and Physics used for rendering characters and player interactions.
InZero
C++ • DirectX 11 • XML
A 2D side scrolling action/platformer where the player utilizes grenades that perform various physics effects: pull, push and slow, which affect the player, enemies, projectiles and environmental objects. Multiple types of enemies with varying levels of difficulties and behaviors are placed across the level. The final boss was a multi-segmented serpent that had multiple stages to dictate its behavior. Custom audio was created, including a music track. Normal maps and custom lighting were used across all in-game objects. Custom level editor for quick creation and refinements of levels was created.
Parallel Distributed Ray Tracer
Java 1.5+ • Networking • XML
A ray tracer is a simple, yet powerful computer graphics method for rendering realistic looking scenes by modeling how light interacts in the physical world. Multiple geometric shapes could be rendered. Support for anti-aliasing, reflection, refraction with diffusion, texture mapping, and soft shadows. Standard pinhole camera model replaced with a realistic model to include depth-of-field. Rendering can be multithreaded or across multiple computers by using a client/server architecture. XML was used to configure all levels of the ray tracer and scene.
Bloxen Wars
C++ • DirectX 9 • XML
A networked multiplayer third-person shooter where the player took control of a sudo-Lego man and battled other players in a variety of game modes which included: death match, team death match, capture the flag, president, and king of the hill. Players could spawn various types of “bloxen” bricks that would stack on one another, forming bridges or towers, and one that acted as a trampoline. Depending on the game mode, players earn points for defeating another player, bringing the enemy flag to their base, holding on to the flag the longest or staying near a flag. Custom OBJ and MD2 meshes were created for the game. A separate server application was implemented for players to connect to for both single and multiplayer game modes.
Smash Force
C++ • DirectX 9 • XML
A one or two player top-down shooter consisting of multiple levels, weapons, and enemies. XML is used to define a level for quick updates and creation of new levels. Varying types of AI is used for the enemies’ movement and behavior. Two player support is developed for two users to use the same keyboard to play in a co-operative mode. Pixel and vertex shaders are used for special effects.
Professional Qualifications
- Specialize in Java, C/C++ programming, application and database design
- Highly experienced in multimedia development, web design and development
- Adept at Windows, Mac OS and UNIX/Linux
- Skilled in working in team environment and working individually
- Conducted interviews for technical positions within companies
Technical Skills
Programming
C/C++/C# • Java 1.5+ • PHP • MySQL/MSSQL • XSLT • HTML5 • CSS3 • JavaScript
Software Knowledge
DirectX 9/10/11 • OpenGL • HLSL/GLSL • jQuery • Eclipse • Rational Application Developer • Visual Studio 2010+ • Macromedia Flash • Adobe Photoshop • MS Office Suite • MSSQL Server
Operating Systems
Windows XP/7/10 • Mac OSX • UNIX, Primarily Ubuntu, Debian, Gentoo and Solaris
Education
Masters in Game Design and Development
9/10 – 5/12
Rochester Institute of Technology, Rochester, New York
Major GPA: 4.0/4.0 Cumulative GPA: 3.9/4.0
Bachelor of Science in Software Engineering
9/02 – 5/07 (5 year program)
Rochester Institute of Technology, Rochester, New York
Concentration in Computer Gaming
Minor in Japanese Language
Major GPA: 3.3/4.0 Cumulative GPA: 3.1/4.0