Portfolio

Matthew Sorenson

sorenson.matt@gmail.com · www.mattsorenson.com


Objective

To get a job making awesome games.

Education

B.S. in Real Time Interactive Simulation, Graduated: April 2010

DigiPen Institute of Technology, Redmond, WA

Skills

Languages

C/C++, Lua, HLSL/GLSL, x86 assembly (reading)

APIs

DirectX 9, WIN32, OpenGL, FBX SDK, PhysX, WinSock, SDLWii SDK

Tools

Visual Studio, Hg/SVN/Git, PIX, GCC, nvPerfHUD, XML, Doxygen, CodeWarrior, AMD CodeAnalyst, Microsoft Office, Valgrind, Windows, Linux

Math

Linear Algebra, Quaternions, Curves and Surfaces, Numerical Analysis

Graphics

Normal Maps, Shadow Maps, Projective Texturing, Pre-Pass Lighting, Crepuscular Rays, Motion Blur, Ray Tracing, Software Rasterization


Class Projects/Experience
Technical Director/Programmer - Box Bunny:  - June 2009 to April 2010

Box Bunny is a side-scrolling shooter.

  • Programmed a modular component-based engine in C++ and Lua
    • Scripting allows gameplay to change rapidly
    • Asset management with file hot loading
    • Robust logging system, message passing, XML-based serialization
  • Programmed the graphics system in Direct3D 9
    • Abstracted Direct3D code to remove strict external dependencies from graphics code
    • Skinned animations, particle systems, pre-pass lighting
    • Scripted post-processing framework

Technical Director/Programmer - Annulus: Fall 2008 to Spring 2009

Annulus is a 3D vector based rail shooter that takes place on the inside of a winding tube.

  • Programmed the core engine in C++
    • Messaging system, asset management, game state machine, process management, dynamic component-based object system
  • Programmed the graphics system using Direct3D 9

Programmer - Kudos: - Fall 2007 to Spring 2008

Kudos is an action adventure game which mixes components of role playing games with the real time strategy genre similar to the game Pikmin.

  • Programmed the mappingtrigger and serialization systems

Additional Projects:

  • Profiler: Automated instrumented profiler for C++ code
  • Ray Tracer: Multithreaded recursive Ray Tracer in C++
  • Tanks!: Networked version Atari's classic Tanks using custom reliable UDP layer in C++
  • Wii Shootem-upOld school top down rail shooter on the Nintendo Wii in C/C++
  • Software Rasterizer: A 3D Software Rasterizater with texturing in C++
  • Object Culler: Culling using KD-Trees, BSP Trees, bounding hierarchy and Occlusion in C++
Volunteer Work
UCUCC Child Care Programs: Ongoing Computer and Network maintenance.