History  1995-2000  2001-2004  2004-2007

Klepto (N64) 1998-2000

Inspired by Umihara Kawase, I set about creating a 3D 3rd person grappling hook game.  The idea was that you played a cat burglar-type in a SF world.  Each mission was designed to be playable in several ways, ie you could sneak in and steal the target item and if you were really good, you could sneak out without being detected.  However, taking the loot would likely set off alarms and you’d have to fight your way out.  Or if you preferred, you could try fighting your way in and out…

The player experience was designed to be as nerve-wracking as possible: the player was allowed as much practice as they wanted in a simulator environment based on incomplete knowledge (one idea was to allow recon missions to fill in pieces of the mission simulator), but only one shot at actually performing the mission for real, with large meta-game rewards/penalties.

The core dynamics were about using a physics-based grappling hook (as opposed to the shoot-zip or stiff fake-swinging types)to move around and manipulate a physics-based environment.  The stretchy rope enabled the excellent and deep player-skill rubber-banding movements from Umihara Kawase, with some additions like slip-walls where the grappling hook could freely slide in one direction.  But more than just a fun method of getting around, the grappling hook’s stretchy rope provided an indirect yet high-fidelity way to interact with objects and enemies - the player could reel in/let out rope, or move themselves to change the rope's tension.  You could shoot out and attach to the foot of guard standing on a ledge, then reel-in while moving back to yank him off the edge.  Or you could gently drag a crate of something fragile (and likely explosive) to the edge of a shaftway, then gently lower it to the bottom.

There were a number of tools that were addend on top of the vanilla grappling hook.  In order to fight the entropy of all objects ending up at the bottom of a level, you could attach rapid-inflate balloons to an item (or enemy).  The player could also shoot a spring, one end at a time, allowing you to attach any two things in sight, like an enemy to a bomb crate.  And the general purpose “pipe tool” ended up being a flamethrower, which was useful for cutting springs, detonating bombs, and torturing bound-up (by springs) enemies into dropping keycards.

The analog stick directly controlled the camera orientation (ie not the angular velocity) in a hemisphere around the player.  It mapped to the front hemi-sphere, though I later experimented with a top hemi-sphere for a shooting/platform game.   

Although the game worked, it had distinct feel of sub-optimal design and in the end I never solved the camera and control issues to make the game workable for beginners.  We could have paved over that with a slow introduction to the tools and lots of training, but I would have preferred a better control scheme.

Klepto had my first general-purpose dynamics sim.  It explicitly integrated the rigid body system, and directly solved the LCP for collision and contact.  Collisions were all union of convex hulls and spheres.  The rope physics were a partioned dynamics sim, done as a semi-implicit penalty system.

The animation system used expression-based layered/masked animation system that blended many animations to construct fake IK solutions, such as the player’s aiming, and slip-free walking/running.Simple secondary physics models drove some of these IK systems, used for such things as the player’s legs when swinging and simple enemy ragdolls.

Klepto never shipped, but it was a great testbed for design and technology.

 

 

 

Montezuma's Return (PC) 1995-1998

A first-person platform game.  I fought very hard to make it 3rd person but failed (when SM64 came out, it was somewhat bittersweet).  But Gary and I did our best to make it work – 3D animated player arms and legs helped to ground the player, and an active camera to made the combat/special moves/rope climbing/dizzy knock/etc feel more physical.  The jumping had both short blind hops and bumper-driven huge tosses, which caused the camera to auto-pitch down so you could aim your feet for the landing/next bumper.  I made a wacky hierarchical parametric system for controlling movable parts of the environment and we leveraged that into some pretty insane platforming action.  My favorite parts are, of course, the extremely hard bonus mini-levels that I created.

My first commercial 3D engine was rather odd as I inherited already-made game levels built around the rather interesting constraints of the previous engine - basically huge polygons that needed relatively high-quality dynamic lighting.  For environments, the renderer dynamically computed light map on a screen-aligned 8 pixel x 8 pixel grid.  The texture mapper would do a perspective divide every 8 pixels and each span would do a shorter sync-in and sync-out span to align into and out of the light map grid.  This worked great for large foreground polys, but in the distance it would vastly under sample the lighting, and even worse it would sample off the triangle.  The 3dfx version worked similarly, with software-rendered screen-space light maps (though now in color).  For the Voodoo2 version, we put in embossed bump maps, which looked quite cool with all the dynamic lights.  The character animation was quat interpolation based and crazily drove the physics of the enemies punch/kicking the player.  Characters had collision spheres on major bones, and those were considered infinite mass for fist/feet bones.  The rest of object-object physics was a simple sphere vs sphere penalty system that worked stably enough.  The object vs environment physics had a brute-force solution to the simple LCP of an infinite MoI sphere vs a set of infinite-mass 6 DOF environment contacts.  It worked great, felt smooth, and was exploited in later levels to squeeze the player between two moving surfaces, shooting him out at a high velocity.









































































  

Home of the Underdogs 

Abandonia 

(please don't use mouse control - it was hacked on and screws up the combat) 

 

















GameSpot review

GamePro review