JACK KERN

Education

DigiPen Institute of Technology, Redmond, WA

Bachelor of Science in Real-Time Interactive Simulation, 2007

Professional Experience

Independent Contractor (Web Developer, Java), Pacific Northwest Hatchery Reform Project, 2010-Current

Maintain the hatchery reform project’s web site; build web-based tools to help the hatchery scientific review board collaborate on the review

process.

Independent Contractor (Web Developer, PHP), NuwVuw LLC., 2010

Helped architect the service-based customer portal “NuwVuw Studio”; implemented the company’s website template; developed a user-interface generation system that greatly reduced the amount of code required to map service data to UI fields and back.

Software Engineer (Tools, C++), Monolith Productions, Inc., 2007-2010

While at Monolith, I earned credit on two titles (Condemned 2: Bloodshot and F.E.A.R. 2) and contributed to the Core Technology Team in many ways, including:
  • WorldEdit: Implemented and supported scene container nodes; name change report, error detector, material & prefab palette UI overhauls and support; primary force in stabilization efforts of the tool at various stages.
  • Updated technology to 64-bit: Updated the game engine, world editor, and all supporting libraries to build and run on 64bit architecture, enabling the company’s transition to 64-bit development machines.
  • TrayClient: Authored TrayClient, a tool that automatically creates and packs a variety of content files on file change notifications for transfer to Xbox 360.
  • Resource Editors: Implemented tagging support in the resource editors; wrote shared property and tag manager classes for easy future integration with other tools.

Skills and Proficiencies

Computer Science

  • Over 10 years programming experience
  • 7 years experience in C++
  • 5+ years in Java 5 and Processing with (Generics, Spring, Hibernate, JOGL, Android)
  • 3+ years in PHP with (MySql, WordPress API, Etsy API)
  • Additional experience in C#, Perl, PowerShell, CG, HLSL, VBA, AutoHotKey, JavaScript, XML 1.1, HTML 4.01, HTML 5, CSS 2
  • Algorithm Analysis, Data Structures, File Formats, Design Patterns, Unit Testing, TDD
  • API/framework: .NET, OpenGL, DirectX, XNA, GDI, openFrameworks
  • Database: MySQL, PostGreSQL
  • IDE: Visual Studio 6.0 – 9.0, CodeBlocks, Eclipse, Jpad Pro, Processing
  • Compiler/build system: Incredibuild, Javac, JavaDocs, Ant, MinGW

Graphics

  • Spatial partitioning (BSP, KD-Tree, Oct/Quad Tree)
  • Frustum culling, hierarchical occlusion mapping
  • Data/image compression (JPEG, Huffman, RLE, arithmetic)
  • Implemented a ray-tracer with local and global illumination on various solid objects
  • Solid understanding of hierarchical animation using quaternion-based interpolation & orientations (VQS)

Art and Design

  • 5 years experience sub-division modeling and UV mapping in Wings3D
  • SketchUp, Silo3D, Blender and 3ds Max modeling and animation experience
  • Inkscape, Paint.Net, Adobe Photoshop

Electronics

  • Arduino micro-controllers
  • Experience interfacing with unipolar and bipolar stepper motors, servos, DMX
  • Pulse-width modulation

Mathematics and Physics

  • Linear Algebra, Trigonometry, Calculus, Curves and Surfaces, Motion Dynamics

Additional Software and Tools

  • Operating Systems: Windows (95, XP, Vista, 7), Ubuntu
  • Versioning & Collaboration: Perforce (P4Win & P4V), Araxis Merge, Git, SVN, DropBox
  • Productivity & Documentation: SharePoint, Confluence, Wiki, Javadoc
  • Docs: Notepad++, Microsoft Office Suite, Open Office, IHMC CmapTools (mind-mapping)
  • Audio: Audacity, Acid Pro, DBPowerAmp

Independent Game Development

Zombie Run (Android game): current work in progress, personal development
  • Full 3D game engine & tool pipe written in Processing & Java with object oriented design
  • DynamicMesh class caches state-machine-style render calls into vertex/index/uv/color/normal arrays for mesh instancing while maintaining readability
  • .obj format mesh support, selection based context menus
  • Mode-based editing, in-editor gameplay mode, flocking system for zombie AI & prey
  • Debris tool, screen space drag-selection of 3D objects, selection based context menus
  • Saving & loading using game-object serialization
Hauser the Hound (PC game): three programmers and four artists, six months
  • Designed & implemented the engine framework including an advanced messaging system, game state manager system
    and game component framework.
  • Designed the XML serialization system that was implemented by a team member.
  • Programmed the foundation components for user input and in-game console for debugging.
  • Wrote the in-game editor, level data structure in memory & file format
Islands (PC game): four programmers, six months
  • Wrote the 3D physics; sphere-sphere & sphere-mesh collision detection and resolution
  • Developed AI system using A* for path finding.
Ice Wars (PC game): five programmers, nine months
  • Developed dynamic 2D terrain with pixel based collision detection and resolution
  • Designed menu interfaces as well as in-game particle systems
Grid-Locked (J2ME mobile puzzle game): two programmers, two and a half months

Teaching Experience

  • F.I.R.S.T. Lego League Robotics Coach for the Latino Achiever’s Academy, 02/2010 – Current
  • Video Game Programming Workshop Instructor, DigiPen Institute of Technology, 05/2006 – 08/2006
  • Computer Science T.A. (grader), DigiPen Institute of Technology, 2003
  • Ski Instructor, Ski Sundown, 1998-2001

Awards and Publications

Interests and Hobbies

  • Virtual reality, electronics, robotics, Arduino
  • Games (e.g., Myst series, WoW, Diablo II, Incredible Machines, Halo 1 and 2)
  • Sculpting, drawing, 3D modeling, procedural content generation
  • K’NEX, LEGO, RC airplanes, helicopters, and model rockets
  • Cognitive science, neuroplasticity
  • Electronica, alternative rock
  • Skiing, snowboarding, skateboard, surfing, skimboarding

References

Available upon request.