Key Skills
  • C/C++
  • C#
  • Java
  • Python
  • LUA
  • HLSL
Graphics APIs
  • DirectX 9
  • DirectX 11
  • DirectX 12
Engines and Tools
  • Unity
  • Unreal Engine
  • Microsoft Visual Studio
  • Autodesk 3ds Max
  • Autodesk Maya
  • Adobe Photoshop
  • PC
  • Xbox One/360
  • Oculus Rift/Vive
  • Android
Some Specifics
  • Mechanics and Weapons
  • AI Behaviors
  • Controls and Interfaces
  • Animation Systems
  • Multithreading
  • Particle/Effects Systems
  • Rapid Prototyping
About Me
        For the past several years I've worked within a wide variety of areas in game development. I've worked primarily on projects for PC, but I also have experience on Consoles and Mobile devices, and more recently on VR platforms (Oculus and Vive). My experience with console development goes back to the independent games program for the Xbox 360. As a programmer I've gained experience in various areas of generalist interactive software development. These areas include most of the major pillars of software engineering in games. The projects I've worked on have been primarily focused on first person action and puzzle games. I've used both C++ and C# to develop them within my own engines, and in commercial engines such as Unity and UE4. I've written my own engines from the ground up, and have worked on extending and implementing 3rd party libraries and engines. I've also worked extensively at strengthening my abilities in mathematics and physics which has helped immensely in enhancing my abilities in general game development. I also have a strong understanding of areas outside of programming, which allows me to better work with developers of other disciplines.

        Outside of game development I have a strong background in mathematics and physics. I more recently worked extensively with modern AI with a focus on deep learning and reinforcement learning. Through that work I developed an engine designed around AI research. I used CPU and GPU computing for AI training. For the GPU I decided to use compute shaders for direct integration into the graphics engine. I also created a simple graphing language for quickly designing networks, which currently supports feedforward and convolutional networks. I also have an understanding of evolutionary algorithms such as NEAT that allows for dynamic topologies of neural networks. I've created chatbots and utility apps for with their API, and have worked on games designed for their platform such as a twin stick shooter that can support thousands of players controlling a ship through voting on direction and shooting individual projectiles. I also have experience developing video streaming applications that allow a user to stream from various sources to It uploads the stream to Twitch with the RTMP protocol. It processes the video with the ffmpeg library, and audio with an AAC encoder. The interface uses the DirectX 11 API. I also have experience with web development using HTML, Javascript, PHP and SQL. Most of my experience in those areas involve basic website development and creating SQL databases for storing game information such as player stats, i.e. highscore tables.

        As mentioned above, I have years of experience working in areas outside of purely technical roles. For creating digital content, I have several years of experience with 3ds Max, and more recently Maya. Through that experience I can quickly create prototype props, characters and structures. I've worked with creating and collecting audio effects and ambience with the help of tools such as FL Studio and Audacity. I have experience with Photoshop and Illustrator, along with their open-source counterparts, GIMP and Inkscape. Through independent development I've gained a strong understanding of game design. This includes mechanics, interfaces, levels, and scripted and unscripted events and sequences.

If you'd like to know more about me, feel free to get in touch!