Welcome

Hi, my name is Nathan Dearth. I'm a game developer based in Austin, Texas and I've been making games since I was 11 years old.

I'm passionate about making games with exceptional performance and awesome physics.

Projects

Tricky Madness

[Unity] [C#]
2022 - Present

I'm currently making an arcade snowboarding game as the lead developer. My responsibilities include being hands-on with the code, art, and design.

  • Applied my mastery of quaternions and 3D math to successfully create a character controls that handles arcade snowboarding physics, rotations and alignment.
  • Wrote custom editor tools to improve level design iteration speeds including procedural rail generation tools and object placement tools to allow for a non-destructive workflow.
  • Used shaders and procedural mesh techniques to implement effects like a snowboard trail that helps to ground the player even in shadows.
  • Successfully married animations and code to make a seamless experience with half procedural half traditional animations.
  • Custom Game Engine

    [C++] [WIN32] [X11] [OPENGL]
    2018 - Present

    My game engine is written entirely from scratch without frameworks and limited use of third-party libraries. It has been a great learning experience and I plan to make commercial games in it soon.

  • Wrote a custom renderer on bare metal using OpenGL that supports modern PBR rendering techniques.
  • Implemented a cross platform layer using Win32 and X11 to have all platform specific calls handled in one file eliminating the need for #defines littered throughout the project.
  • Created a physics engine to support rigidbody physics with custom collision detection code and anti tunneling features.
  • Designed and implemented a novel crowd pathfinding algorithm in C++ that made crowd movement more believable and improved gameplay.
  • Wrote a skeletal animation system with effective algorithms used to support large blend trees and transitions while maintaining high performance.
  • Implemented ray-traced baked lighting for a physically based renderer, improved bake times by 400% by using SIMD, branch elimination and cache coherence.
  • Defined custom file formats for 3D assets with optimal data layout for loading speeds. Wrote Python scripts to export from Blender and C++ code load assets at runtime. Overall, increased loading speeds 10x compared to assimp with FBX files.
  • Green vs the Pink

    [GameMaker 7]
    2009

    One of my first games, I was passionate about game development from a young age. Wish I had more of my old projects kicking around.

  • Made when I was just 12 years old.
  • Includes janky platforming and AI code especially for vehicles and slopes.
  • I remember having a hard time implementing medals for vehicle kills and killing sprees like in halo. :)
  • It has multiple game modes with win conditions and all. (A rarity for my early games.)
  • My friends would come over to my house to play it and see the latest new features.
  • Sample Code

    Pathfinding Code

    A pathfinding algorithm with a novel change to make crowd movement more natural.

    View Code

    Volleyball Code

    Algebraic functions to control a volleyball and sync animations.

    View Code

    Audio Code

    Audio module for my game engine written in a single header style.

    View Code

    Get In Touch

    I am actively seeking employment opportunities and would like to offer my experience to your organization. If there is a position available that aligns with my skills and expertise, please don't hesitate to contact me.