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
    Attenuation
    Specular Highlights
    Parallax Mapping


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


October - December 2010

Vector
Matrix
SceneGraph
Spring Simulation
    Numerical Instability
Splines
    Hermite
    Cardinal
    Catmull Rom
XML Parsing
Collada Model Loading
Billboarding

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
Comments