Graphics
- Software Scanline
- Phong Shading - a software implementation of the phong lighting model
- Bump Mapping - an extension of phong - uses a height map to generate normals giving the appearance of texture.
- Phong Shading - a software implementation of the phong lighting model
- Raytracing - calculates realistic reflection, transmission and shadows. Additional features include soft shadows, blurred transparency and 2 forms of anti-aliasing.
- BSP - First, a good root node is found on which to divide the scene. The spacially organized objects can then be drawn without the use of the depth buffer.
- Occlusion - pre-chosen ‘good occluders’ are used to eliminate needless drawing and calculations of hidden objects.
- Animation
- Path following with animation blending - the character smoothly transitions from a walk to a run, all while maintaining an accurate pace to prevent ’sliding’.
- Inverse Kinematics - If the character is too far from his goal, he will follow a path until close and then reach for the goal using the CCD method to calculate the necessary rotations.
- Physics with springs - linear and rotational momentum are used to simulate boxes connected with springs.
AI
- Behavior Trees - An Experiment with behavior trees and continuous monitoring of the world. Teleo-Reactive sequences define a form of building goal directed sequences. Combined with the behavior tree protocol, these sequences can be easily built, reused and can result in powerful behaviors. (based on papers by Nils Nilson and Alex Champandard)
- Zombie Invasion FSM - A zombie invasion built with state machines, using Steve Rabin’s FSM library. Zombies have a range in which they can smell humans. Humans have a frustum of sight and a range in which they can hear the zombies. When a human smells a zombie she becomes alerted and looks around and/or runs away. When a human sees a zombie she runs away.
- Sokubahn solver using A* - heuristics are used to search the game state space. To make things more efficient, only the positions of the blocks is considered in the search. The player movement is then extrapolated later.
- Evolution Strategies - used to find an ideal sequence of acceleration and steering inputs to navigate a race track. Children are generated using a normal distribution. Fitness is evaluated based on how fast and how far a child makes it before crashing. The deviation for the normal distribution is also encoded in each generation, so that the size of changes adapts as well as the changes themselves.