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.
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.