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
- IGF Student showcase winner at GDC in 2004: Ice Wars
- Provided technical review of upcoming A K Peters, Ltd. textbook Processing for Visual Artists
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.
