Implemented a generic A* pathfinding algorithm and then modified it by preprocessing the map. Clusters of path nodes are created to and then possible paths between clusters are found and then connected by a hierarchical A* implementation for faster runtime pathfinding.
Renders a patch-based terrain system with LOD based on intrinsic detail and camera distance values. Patches are stitched together to guarrantee seamless transitions between different LODs. Also generates a normal map and supports quad-tree based frustum culling.
Created grammar for a C style scripting language and built a compiler with a lexical analhyzer, parser, and code generator as well as a stack based virtual machine to operate on the byte code. The scripting language includes weakly typed variables (ints, floats, strings, and vectors) and supports conditional statements, function calls and recursion.
Simulation of AI controlled units individually controlled on by separate threads. Threads are managed by a lockless FIFO linked list, and access to unit data is controlled by a lockless spinlock.
Loads Quake 3 BSP maps and renders with support for textures and lightmaps, as well as VIS data occlusion culling and frustum culling. Also supports fast ray traces for collisions with the BSP.
3D API Agnostics Rendering capable of rendering in both DirectX 9 and OpenGL. Supports both HLSL and GL assembly shaders for per-pixel lightning and bump and parallax mapping. Also includes a 3DS model loader, and an exporter for creation of a streamable file format and calculation of minimal bounding spheres.







