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