m.s. thesis: evolving character controllers



Full title: Evolving Character Controllers for Collision Preparation

Abstract: Full dynamic control of physically simulated characters is the holy grail of video games and other interactive applications. Recent advances in the field have presented controllers that can handle the balance and fall response after a collision. This thesis addresses the development of a controller that handles the response before a collision--reflexive posturing that protects the character from impact. To solve this problem we present a technique that uses genetic algorithms to optimize a pose controller based on analysis from a pain measurement system. Applying our technique we develop collision preparatory controllers that defend a virtual character in several different styles from a variety of threats.

Link

gameboy advance game



shusaku hanamoto and i did a one-day gba programming compo.. goal was to create as much of a gba game as possible in eight hours. we created a simple platformer with old-school mario running around.

download (with source): [gba.zip]

a* pathfinding experiments



this demo shows several approaches to implementing an a* pathfinding algorithm.

1) grid based with 8 possible directions + single memory (last space only)

2) grid based with 4 possible directions + complete memory

3) ray based with zero memory

4) combination ray/grid + complete memory

environment is physically simulated, agents and player are spheres that roll around.

pathfinding allows the agents to "find" the player.

interactive demo (with source): [ballz.zip] (6mb)

xbox game



quickly ported one of my games to xbox, a tetris clone with some extra features. blocks go into physical simulation when broken. particle system effects when lines are broken. every piece is individually bump mapped.

disclaimer: i have no idea what the legalities of posting an xbox game online are, so i'm not going to try. you can download a video however: [2.4mb mpeg4]

triangle mesh collision in nogredex



added arbitrary mesh loading capabilities to the nogredex framework. ogre .mesh files can be simulated as boxes, capsules or a triangle mesh. written using Novodex and Ogre 3D. nogredex is now an official OgreAddon!

download demo: [nogredex-demo.zip] download source: [sourceforge.net] thread: [ogre3d.org]

usgs terrain renderer



work in progress! renderers us geological survey elevation data as a 3D height-map. uses geometry clipmaps to provide fall-off LOD. uses sdts++ to parse data.

website: [here]

todo: clouds? tree shader? orthoimagery overlays?

nogredex bowling



modified rocketman's nogredex demo and turned it into a simple bowling-like game. goal is to knock all of the red blocks off the blue platform. written using Novodex and Ogre 3D.

download: [bowling.zip]

autonomous robot controllers using genetic algorithms



evolved robot controller for a two joint, three segment virtual robot. based on the work of smith, sims, nolfi and floreano. controller is a fixed-structure neural network, weights are chosen using genetic algorithms.

paper: [developing autonomous robot controllers
using genetic algorithms
] website: [link]

trimesh + mocap character renderer



renders motion capture data in biovision bvh format as a 3d trimesh character model.

paper "character animation with triangle meshes and motion capture data": [trimesh.pdf] demo: [trimesh_demo.zip]

3d graphics engine for mobile platforms, rude engine



rude engine is a cross-platform object-oriented framework for creating instantly portable mobile 3d games. rude engine can currently target windows desktop, windows mobile pocket pc, windows mobile smartphone, palm os, nokia series 60 (3650, 7650, n-gage), and symbian uiq (sony-ericsson p800, p900).

visit the website for more details.

video game for mobile platforms, vector blaster



what began as a simple ui experiment turned into a full-blown video game for pocket pc. i wanted to explore the use of a stylus to replicate the "analog" feel of a trackball on old arcade games. game was released for pocket pc january 2004 and has since been ported to windows mobile smartphone, symbian series 60 (nokia 3650/7650), symbian uiq (sony-ericsson p800/p900), and nokia n-gage. game has undergone the windows pocket pc and windows smartphone logo approval process.

for more information please visit rude scotsman studios.

music visualizer 3



visualizer plugin dll for winamp. based on the gummy cubes visualization done previously. rendered using directx 8.0, framework based on my own rgl direct3d
framework
.

download: [link]

motion capture viewer



displays and animates the biovision bvh file format. parses bvh using an ll(1) grammar inspired by "sign language using motion capture based animation" cadiz, salvador 2000. motion looping done using a linear angle blending technique and quaternions.

sample bvh files: [walk1.bvh] [dance.bvh] mpeg movies: [walk.mpg] [walkmorph.mpg] exe: [mocap.exe]

particle system 2



physical simulation of some delicious looking gummy cubes. cubes are composed of particle balls from the previous particle system (below) and behave by the same rules. springs are added to keep the cubes together. rendered using opengl wgl extensions, framework based on code from dr. ron metoyer.

mpeg movie: [10 cubes]

exe: link

particle system 1



physical simulation of "robert's happy fun zone" play pin full of brightly colored balls. particles interact with wall boundaries and with eachother by laws of conservation of momentum and gravity. ball -> ball collision detection sorted by quadtrees over x and z axis. rendered using opengl wgl extensions, framework based on code from dr. ron metoyer.

mpeg movies: [50 particles] [1000 particles]

exe: link

music visualizer 2



visualizer plugin dll for winamp.

spinning boxes x and z position based on sine and cosine of current time +/- super-improved beat detection,
y position based on beat detection +/- frequency of beats.
spectrograph rendered based on data passed from winamp.
background pinwheel effect "winds" up or down based on frequency of beats detected.

rendered using directx 8.0, framework based on my own rgl direct3d framework.

download: link

graphics framework for directx 8.0

framework for direct3d, microsoft's proprietary graphics api for windows.
abstracts polygon transformation and rendering, provides functions to
streamline pipeline changes such as perspective/camera position.

source and documentation available here:
rgl direct3d framework

music visualizer 1



visualizer plugin dll for winamp.

spinning boxes x and z position based on sine and cosine of current time +/- beat detection, y position based on beat detection +/- frequency of beats.
spectrograph rendered based on data passed from winamp.

rendered using glide 3.0, framework based on my own grl glide framework.

graphics framework for 3dfx glide

framework for the glide api, the library interface to 3dfx voodoo graphics cards. featured a simple graphics pipeline that handled the world, view, perspective, and project and clip steps of rendering.

source and documentation available here:
grl glide framework.