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