Brian Hackbarth  Email brian.hackbarth@gmail.com Address 1326 Ashburn Way Verona WI 53593 Phone (262) 308-2822

Work Experience

Studio Software Engineer January 2008 - Present Raven Software – Middleton, Wisconsin

Generalist involved with the design, implementation, and maintenance of a multitude of engine, gameplay, and tool systems. Work intimately with other studios, departments, and disciplines to complete features quickly and with high quality. Use broad knowledge base to help teammates and guide production decisions. Combine both low-level technical knowledge with high-level system design into a versatile, all-around software engineer.

Extensive work in a latency-sensitive, multithreaded C++ code base implementing features and debugging issues. Considerable experience with both transactional and realtime networking design patterns and systems.

Selected contributions to shipped titles:

Call of Duty^{◯^{R}}: Modern Warfare Remastered - 2016 Loot System: Wrote client-side request/response transaction handling for the loot system. Maintained and extended the C^{#} tool suite for managing the database of gameplay data for loot and reward items. Wrote Python tool to interface with XMLRPC-based backend for management of inventory loot items. Weapon Configuration: Implemented a furniture kit configuration system, allowing for weapons with multiple visual themes. Provided simple CSV-based management system for art team to enter data and authored Python tool to transform data for consumption by build system. Party System: Maintained and extended peer-to-peer party system for joining users together for online gameplay. Consolidated offline and LAN play for more streamlined experience.

Call of Duty^{◯^{R}}: Advanced Warfare - 2014 Asset Streaming: Extended existing character streaming system to allow significantly more avatar customization. Additionally, added support for realtime weapon streaming to reduce overall memory footprint. Interfaced with gameplay systems to ensure necessary weapons were loaded from disk when needed. Matchmaking: Updated matchmaking design to ensure low skill and high skill users were never in the same match to help prevent premature churn. Collaborated with data services team to implement configurable skill pool based on the Johnson SU-distribution.

Call of Duty^{◯^{R}}: Online - 2013 Animation System: Ported, extended, and maintained the networked animation system. Allowed previously local-only animation scenes to be reliably networked. System managed registration and low-bandwidth transfer of animation command data, as well as playback and debugging.

Call of Duty^{◯^{R}}: Black Ops 2 - 2012 Map Porting: Authored a suite of Python tools for porting assets and maps from a previous title. Included data management, conflict resolution, and integration into the revision control system. Tools were adapted and used across multiple projects.

Wolfenstein - 2009 Boss Fight: Collaborated extensively with the design and animation departments on a multi-stage boss fight. Iterated heavily on gameplay to help ensure a positive user experience. Gameplay Configuration: Developed configuration system to allow the design department and user experience tests to easily modifiy in-development gameplay features for A-B testing. Allowed iteration on both major gameplay altering functionality changes and minor changes like altering timer durations.

Software Engineer I June 2007 - November 2007 Electronic Arts – Chicago, Illinois

Member of the MARVEL Gameplay team. Worked primarily on environment programming, focusing on object interaction and destruction. Also worked with the Content Solutions team supporting the tool pipeline, implementing new features, and providing runtime and tool-side support for teammates.

Software Engineer Intern May 2006 - August 2006 Electronic Arts – Redwood Shores, California Worked with the The Lord of the Rings: The White Council team. Accomplishments ranged from fixing unit tests and setting up a network testbed to implementing network time synchronization, debug object visualization, and the mini-game framework.

Teaching Assistant September 2005 - May 2007 Purdue University – West Lafayette, Indiana Led lab sections of approximately 20 students. Answered questions and encouraged productive thinking about problems. Other duties included planning lab and project exercises, grading, and holding weekly office hours.

Student Labstaff June 2003 - August 2005 Computer Systems Lab – Madison, Wisconsin Wrote and maintained infrastructure software, web forms, and various scripts to support the full-time staff. Other tasks included supporting over 1000 machines as well as a large user base.

Education

Purdue University September 2005 - May 2007 Awarded Master of Science degree from the Department of Computer Science.

University of Wisconsin-Madison September 2001 - May 2005 Awarded Bachelor of Science degree from the Computer Sciences and Mathematics Departments. Graduated with distinction in top twenty percent of class.

Technical Skills

• Proficient in C and C^{+}^{+}

• Experience with C^{#}, Python, Java, and Lua

• Comfortable in both Windows (Visual Studio) and Linux/UNIX (emacs/gdb) development environments

• Experience with Android/NDK Development

• Familiar with Perforce, Mercurial, Subversion, and CVS revision control systems

• Experience with low-level debugging of assembly code

• Worked with code profilers to identify hot-spots and improve application performance

• Familiar with various networking protocols and design patterns