Mark Grigsby – Software Engineer

Email: Web: http://www.markgrigsby.com/

Skills

Languages: C/C++ (4 yrs), C# (1 yr), Java (1 yr), Jython (< 1 yr)

Networking: TCP, UDP, Client/Server, Winsock

Graphics: DirectX 9 (3 yrs), OpenGL (1 yr), HLSL (< 1 yr), GDI/GDI+

Image Processing: Edge Detection, Convolution Filters, OCR

AI: Steering, Flocking, A*, Floyd-Warshall, Finite State Machine

Physics: Rigid Body

Sound: FMOD (3 yrs), FMOD-Ex (2 yrs)

Software: Eclipse Java IDE, Microsoft Visual Studio, XNA, STL,

Subversion Control (SVN), Mercurial, GIT, Maven,

Microsoft Office Suite, MPLAB, Inno Installer Scripting, FMOD

Designer, Unreal Script (<1 yr), 3D Studio Max 9, Doxygen,

MATLAB (<1yr), PhysX (<1 yr)

Leadership: Technical lead during game development projects, leading teams

of 3-5 people

Technical Design: Wrote technical design portion of documentation, including

object-oriented design, UML diagrams, interface design, data types,

and system requirement estimates

Adaptability: Able to work on a variety of tasks, switch tasks as needed, and

reprioritize tasks

Agile Methods: Familiarity with various agile methodologies

Achievements

· Presented undergraduate research project titled "Rook Polynomials in 3D" to the Mathematics

Association of America (Northwest Section) in April 2007.

Education

DigiPen Institute of Technology Redmond, WA 2005-2009

Bachelor of Science, Major: Real-Time Interactive Simulation (Computer Science)

University of Phoenix Phoenix, AZ 2002-2005

Bachelor of Science, Major: Information Technology

Graduated with Honors 2005


Employment

DoubleDown Interactive (Volt) Seattle, WA 2012-2012

SDET

·  Worked with QA, Producers, and Development teams to identify problems and issues

·  Wrote internal documentation for tools and processes for QA and Development teams

·  Wrote internal documentation to assist new employees with correctly configuring their systems

·  Created load test scripts in Linux using BASH shell

·  Created automated bots framework tool in Jython 2.5

·  Ran BVT, load/performance/stress tests, regression tests, manual test cases and automated tests

·  Worked with production and development teams to create internal processes for development testing and post launch update tests

·  Collaborated with the development teams in design reviews and software test process reviews

·  Filed bug reports as needed using Bugzilla

Disney Interactive Media Group (CompuCom Systems Inc) Redmond, WA 2011-2012

QA Engineer

·  Involved with the testing of the MetaPlace browser-based game development platform APIs, tools, and user content

·  Validated API documentation and training materials by using existing tools

·  Created API test applications using C#

·  Filed bug reports as needed using JIRA

·  Investigated potential software solutions for test management and test automation frameworks

Microsoft (CompuCom Systems Inc) Redmond, WA 2010-2011

SDE

·  Involved with the Exchange Customer Experience (CXP) group

·  Triage investigate potential Exchange bug fixes to provide risk/cost analysis

·  Created bug fixes using C/C++ and C#

·  Created unit tests as needed

·  Integrate changes and back-port fixes across multiple versions of Exchange as needed

Microsoft (Volt) Redmond, WA 2009-2010

SDE/T II

·  Involved with the testing of Zune HD platform, APIs, and games

·  Created automated test scripts using combinations of PERL and LUA

·  Created API test applications using C#

DigiPen Institute of Technology Redmond, WA 2006-2008

Summer Workshop Instructor / Production Assistant

·  Involved with the DigiPen Summer Workshops programs as an instructor for the Robotics Level

·  One and Video Game Programming Level One courses

·  Designed course materials for the Robotics workshop including writing many example applications for the robots in Assembly and C/C++

·  Taught students how to program their robots to perform various tasks using the example applications as tutorials, including autonomous behavior

·  Created a terminal application using C# for the Robotics workshop students to use for serial port communication with the robots


Project Experience (Academic)

Title: Dedicated Server for S.O.S.

Genre: Dedicated Network Server for 3D 3rd-person, Action shooter

Team: 1 person team at DigiPen, Semester 8

Role: Networking, Technical Director and Producer

Contribution:

· Networking (UDP using Winsock)

o Successfully tested with up to 24 clients across a local area network connection.

· Multiplayer Gameplay

o Players may join and leave games in progress at any time.

o Adjusted and balanced gameplay.

· Win32 based application for user interface components (text output, controls, menu)

Title: Gear Games (Project Cancelled)

Genre: 3D 3rd-person, Stunt Driving Simulation

Team: 2 person team at DigiPen, Semester 7

Role: Graphics and AI, Producer

Contribution:

· Graphics Engine (DirectX 9)

· Artificial Intelligence (AI)

o Finite State Machine

o Event based messaging system

· Input Handler (DirectInput - Keyboard, Mouse / XInput - Joystick)

· Sound Effects and Music (FMOD-Ex)

Title: Shoot On Sight (S.O.S.)

Genre: 3D 3rd-person, Action Shooter

Team: 4 person team at DigiPen, Semesters 5-6

Role: Networking and Gameplay, Technical Director

Contribution:

· Game Architecture

o Created an architecture which utilized static libraries for each of the various game

components such as Networking, Sound, Input, AI, Graphics, and Physics

· Networking (UDP using Winsock)

o Implemented a reliable UDP layer which was able to smoothly handle up to 4 players

simultaneously across a local area network connection

· Multiplayer Gameplay

o Automatic server detection and migration

o Ability to join and leave multiplayer games in progress at any time

o Adjusted and balanced gameplay as needed

· Input Handler (DirectInput - Keyboard, Mouse / XInput - Joystick)

o Reused the input library I had created while working on my previous project “Top Dog”

o Designed an input manager to check for user input and then fill in a bit-vector to track

button press events and a vector to track mouse/joystick movement offsets

· Sound Effects and Music (FMOD-Ex)

o Implemented a sound effect manager that used 2D sound effects for player-centered

sound events, such as GUI clicks or the player shooting their own weapon

o Implemented 3D positional audio for sounds which are not centered on the local player,

such as other players or enemies shooting

Title: Top Dog

Genre: 2D, Top-down, Action Game

Team: 3 person team at DigiPen, Semesters 3-4

Role: Graphics Programmer, AI Programmer, Producer

Contribution:

· Graphics Engine (DirectX 9)

o Created a custom tiled map class which was used to create a mesh containing the

individual tiles with layered textures

o Created a custom sprite animation system

o Implemented a split-screen mode for multiplayer games

· Artificial Intelligence (AI)

o Finite State Machine

o Event messaging system

o Steering Behaviors including: object avoidance, seek, flee, wander, pursue

· User Interface

o Created a heads-up display of the player status, weapon selection, and trap selection

· Input Handler (DirectInput - Keyboard, Mouse / XInput - Joystick)

o Created an input library that acted as a wrapper for Direct Input to handle keyboard and

mouse events and XInput for joystick support

o Support for multiple controls to allow multiple players to share the same computer

· Sound Effects and Music (FMOD)

o Created a wrapper class for FMOD 3 for 2D sound effects and background music

Title: Elementals Battle Arena

Genre: 2D 1st-Person, Turn-Based Combat

Team: 4 person team at DigiPen, Semesters 1-2

Role: Lead Programmer, Tools, Technical Director

Contribution:

· Graphics Engine (Color ASCII Art in a Console Window)

o Created a framework that uses console buffers to allow page-flipping for animation in a

console display

· User Interface

o Created the player GUI, menu system, and editor interfaces

o Created a pop-up window system to display help messages

· Tools

o Created an in-game editor that was used to create all of the graphics and enemy data for

the game

· Console-based Input Handler (Keyboard and Mouse)

o Created an input system that was able to poll keyboard and mouse inputs and translate

them into events used by the GUI

· Sound Effects and Music (FMOD)

o Created a wrapper class for FMOD 3 which was used to load and play back sound effects

and background music in 2D