View John Hahn's profile on LinkedIn
Resume: PDF Resume Word Resume
Portfolio:   http://www.hahnsolo.net
Email:        john@hahnsolo.net
Phone:      806-570-4415
Team Experience
Lucasarts Internship (Unannounced AAA Star Wars Title)
May 2011 – July 2011
Intern Gameplay/AI Engineer (Unreal Engine 3)
  • Implemented various gameplay and AI related features
Fury of the Ancients (Team of 15)
October 2010 – Present
AI Programmer (Unreal Development Kit)
  • Designed and implemented all AI for dungeon crawler RPG game including
    • Use of navigation mesh to find path and chase player
    • Finite State Machines for behaviors including:
      • Swarm around the player, teleport, suicide bombers
    • Set up mob animations
    • Created various Kismet nodes for the LDs to interact with the AI
    • Created data transparency so that the game designer can easily tweak and control the AI behaviors and balancing
Amaranth (Team of 7)
July 2010 – October 2010
Sole Programmer (Unreal Development Kit)
  • Designed and implemented all code for puzzle FPS game
    • Custom gun that shoots spheres that stick to whatever they hit
      • Spheres slow or speed up time for anything inside the sphere
      • Player maintains momentum after leaving a sphere
    • Turrets that track and shoot at the player
    • Drone robots that patrol the levels and shoot at the player on sight
Lollypop (Team of 4)
March 2010 – June 2010
Sole Programmer (TorqueX-2D C#)
  • Designed and implemented all code for a 2D top down physics based puzzle game
  • Designed the mechanics and helped with the story
    • Custom “flick” slingshot mechanic for Xbox 360 Controller
      • Avatars bounce off the walls like rubber balls
      • Won “Most Original Mechanic” award (voted by peers)
Technology Experience
3D Rendering Engine: Hahnsolo Engine (HSE)
March 2010 – Present
  • Renderer agnostic (OpenGL and Direct3D)
  • Shaders (HLSL for Direct3D and GLSL for OpenGL)
    • Real-time lighting including specular, parallax, normal maps, height maps
  • Custom scripting language (HSS) for engine configuration variables
  • Quake 3 BSP map support with multi-texturing (light maps), ray-casting, and PVS culling
  • Imports 3DS Max models using a custom file format called HMAX.
  • Skeletal mesh animation and bone rendering
  • Frustum culling, optimal model minimum bounding sphere calculations, and particle systems
  • Artificial intelligence including A* path finding and GOAP planning.
  • Particle system based real-time cloth physics
Concurrent RTS Simulation
October 2010 – December 2010
  • Implemented thread-safe, lockless FIFO supporting multiple producers/consumers with underlying architecture as both a linked list and ring-buffer
  • Efficient state management system across multiple threads
Squad-Based AI Simulation
October 2010 – December 2010
  • Implemented finite state machine and fuzzy logic to simulate a tactical squad
  • Modified Raven 2D level design tool to support cover points and cover walls
  • Squads will follow around the player and take order from the player
  • Squads can bunker down in a cover point location and work together to fight off enemies
  • Squads behind cover walls take less damage if the enemy is on the other side of the wall
Custom Scripting Language: HahnSolo Script (HSS)
August 2010 – September 2010
  • Implemented lexical analyzer, parser, compiler, and VM for a custom scripting language
  • Variables are weakly typed
  • Integrated with HSE and used for configuration variables in the engine
  • Scripts can also manipulate 3D objects in HSE
Landscape with Level-of-Detail support
August 2010 – September 2010
  • Implemented height-map based landscape rendering
  • Dynamic LOD support with intrinsic detail and stitching to fill “holes” between the LOD chunks
  • Dynamically calculate landscape normals and wrote shader in both GLSL and HLSL
  • Quad-tree frustum culling
Related Experience
Software Engineer
June 2009 – December 2009
CA, INC. (Plano, Texas)
Software Developer
May 2005 – June 2009
Financial Payments (Amarillo, Texas)
Computer Technician
2004 – 2005
Best Buy Geek Squad (Amarillo, Texas)
Computer/Network Technician
2003 – 2004
Epin Technologies (Amarillo, Texas)
Education
The Guildhall at Southern Methodist University, 3.7 GPA
January 2010 – Present
Master’s in Interactive Technology, Specialization in Software Development
West Texas A&M University, 3.5 GPA
2005 – 2008
Bachelor’s of Science in Computer Science
  • National Honors Society, Alpha Chi Honors Society
  • Vice-chair of the WTAMU Student Chapter of the Association for Computing Machinery, 2006 – 2008
Skills
C/C++, C#, Java, Ruby, Rails, DirectX, OpenGL, UnrealScript, Debugging, Linux, XNA, MySQL, MSSQL, BSP, Quad-trees and Oct-trees, Real-time physics, Quaternion, Version Control (SVN), FMOD(Sound), Lighting, HTML, CSS, XML, SCRUM, Multi-threading, lockless FIFO, Adobe Photoshop, 3DS Max, Rigid body dynamics, Particle systems, Numerical integration, Linear algebra, Scene graphs, AI, GOAP, A*, Visual Studio, Eclipse, Microsoft Office 2007