Chronological List of Major Systems

October - December 2011

Hash Case-Insensitive String - String hashing for quick evaluations

Timing Management - Hierarchical Clocks and code section profiling

Generic Range-Mapping and Filter Functions - Used to simulate physics or many other things

Curves and Splines - Bezier, Hermite, Cardinal splines with welding

Event Management System - Fire and register event callbacks

Randomness with Procedural Generation - Reproduce the same "random" things by using a keyword, overcoming issues with STD::rand

Threaded Loading -  Load/Queue large chunks of data in the background without stalling the main thread

Named Properties Assign a string to any generic value

Data Driven Design Game Object Loader - Use XML and named properties to create a classless and scale-able system

DLL Plugin Loader -  Load/Reload DLL's on the fly without closing down the program

AI Battle - 2nd place overall - A battle for food and survival against other programmed AI
(Green in picture)

August - October 2011

String Pool - Intensive memory management and manipulation of strings

Intrusive Smart Pointer - Objects that manage themselves based on type

LUA Engine Integration - Compile and Run Scripts in LUA with native code access

Computational Geometry
Source Code
  • Uses Minkowski sum to generalize the problem into smaller components
  • Very fast intersection checks
  • 100% Accurate Swept Sphere to Triangle Collision
  • Intersection detection of many different types

June - July 2011

Cell - Game Conversion from Torque X 2D to XNA
Source Code - Input Management System

Memory Manager - Set size data management and error handling

Minimum Bounding Sphere - Given all vertices, find a sphere that will be the smallest possible sphere still covering all cases

Streaming - Packing data into a contiguous block, saving it, then reading it back in

Concurrency - Producer/Consumer compared on 4 and16 core machines using both mutex and critical sections

Fixed Point - Floating point operations on an Integer structure

March - May 2011

JanScript (spec) - Made my own scripting language with native code access

Level of Detail Terrain with stitching (shown in wire-frame for clarity of technique)
Close up  - Stitching example - without and with

Dj3d (spec) - 3dsMax exporting my own format to read into my engine (with animations and skinning)

January - March 2011

Dual Renderer interface - swap between OpenGL and Direct X

Shader Programming - multiple lights
    Phong (Normal) lighting
    Bump Mapping
    Specular Highlights
    Parallax Mapping

Car Physics on Terrain
Uses spring physics on a terrain generated from a height map

October - December 2010

Spring Simulation
    Numerical Instability
    Catmull Rom
XML Parsing
Collada Model Loading

Binary Space Partition (BSP) with collision detection
Potentially Visible Set (PVS)

Frustum Culling

August - October 2010

My Freecell - openGL

Automatic Game Balancing using NEAT (Neuro Evolution of Augmented Topologies)
Input: Health and Attack damages of every unit 
Output:  Balanced attack timing cooldowns based on desired Lock/Unlock chart

Late 2009 - Early 2010

Hoffman Encoding/Decoding

Cryptography - Encryption and Decryption

Robot Vision - Image Recognition
    Sobel - find the magnitude and direction of light displacement - input any image
    Canny - find the peaks and valleys of the image - input sobel
    Burns - find the N number longest lines within an angle threshold - input Canny

Spell Checker - Hashed Collision resolution