joshfaust.com

projects

Currently Playing:

- Rock Band
- N+

Resistance 2

There's not much I can say about Resistance 2 other than that I am currently working on it.

Ratchet and Clank Future: Tools of Destruction

For RCF we performed a major overhaul on all of our tools code. This included everything from moving level construction out of Maya and into our own custom level editor, to moving away from "live" assets towards a policy of syncing data to a single point in time, with users controlling when they wanted to do so. It also included a complete revamp of our asset export/build pipeline. My roll included:
  • Maya export work
  • Asset build pipeline work, including dependency checking significant portions of our builders, and build time optimization
  • Creation of a distributed caching system for downloading data that others had already built
  • Creation of a dependency system for knowing which builds are necessary
  • Porting various old editors into our new editor framework (Luna).

Resistance: Fall of Man

I started work at Insomniac Games a few months before Resistance went gold. I began working on the tools pipeline for our UI solution, Anark Gameface. After a week or so, I was pulled into working full-time on creating and scripting screens, since I was one of only a few people who knew how to use Anark Studio. I ended up implementing a large chunk of the lobby, including the end-of-match results, matchmaking, soldier loadout, and clan screens, to name a few.

Halo 3

I worked on Halo 3 as an intern at Bungie Studios. I spent 6 weeks prototyping various multiplayer game types (including one of my own design) for their MP design lead. I did the first prototype of the VIP game type, which ended up making it into the final game.

Robot Simulator (Ropez)

This simulator was dreamed up as a way of using game technologies (Ogre3D, Novodex/PhysX, TNL, Collada) to create a physically realistic robotic simulation.  The idea is that you can run your robot with the same code that will be run on the physical robot, in the simulated environment.  We also developed a compatibility layer with Player/Stage that allows code created using those libraries to run on our platform without being recompiled.  The layer is very extensible, so adding other protocols is easy.  This was an independent study worked on by myself and another programmer, as well as a 3d modeler.

Once we had a somewhat solid simulation environment in place, we focused on integrating a networking model into the simulator, allowing human clients to connect from across a LAN and interact with the robots/environment. We also wrote a Collada loader so we could import data from many of the commercial modeling tools.

I have no good screenshots available, but there is a video demonstrating some of the features here (20MB).  The video was created for our professor (William Smart) to show what had been accomplished by the end of the fall 2005 semester. This is from before we had started working on human-robot interactions.

There is also a binary package of the simulator available here. For a quick test-run, not including running actual code on a robot:
  1. Download the zip file here.
  2. Unzip it into a location of your choosing.
  3. In the "Simulator" directory run the "Run Ropez" batch file
  4. Select your preferred rendering setup (defaults are probably OK)
  5. Click "Start Server"
  6. Select a level and click the "Start" button
  7. Click the "Join as Avatar" button
  8. Alt-tab (or Windows-key) out of the application
  9. Go back into the folder you unzipped the files into
  10. In the "Client" directory run the "Default Client" batch file
  11. Go back into the Simulator application. There should now be a robot in the world with laser and camera sensors
  12. Walk with the ASDW keys, look around with the mouse. When you get close enough to something you can pick it up by clicking the left mouse button.

Unsanity (Video)

Unsanity was developed as part of the Video Game Programming class at Washington University in St. Louis.  The class is a year-long project where we came up with a game idea, wrote a game design document, and then implemented it.  The game was written using the Torque game engine (from GarageGames).

Unsanity is a fast-paced, multiplayer platformer.  The object is to collect as many "objects" as possible, while preventing other players from doing the same.  Being hit by a weapon causes a portion of the objects you're holding to spew out of you for others to pick up.  Banking them at one of the roving banks protects them from that fate.  There are a number of powerups, including invisibility, speed boost, jump boost, a shield, and a magnet effect.  There are also a number of weapons, ranging from a machine-gun to a homing rocket launcher to a freeze-ray.
 
Though most of the gameplay is complete, a significant amount of artwork and polishing is needed for it to be a release-able game.  There is, however, a video of the game in action here.

Super Putt Classic

Super Putt was the first cell phone game developed by Venan Entertainment.  I was involved in the game from concept through alpha/beta of the J2ME version, and then had to go back to school.  It is a realistic minigolf game, with an isometric view and real 2-d physics.  More information is available at http://www.venan.com/games/SPC/spc.php

Bill Parcells' Football Camp

BPFC is a punt-pass-kick game, also developed while I was at Venan Entertainment.  The object is to get through three days of the camp, in order to obtain a contract.  In order to pass a day of camp and move on to the next, you must have a certain amount of dollars accrued, which are gained by performing well in each of the events.  Each day, the events get harder, and the amount of money required gets higher.  My involvement included helping finish the BREW (C++) version, and leading the port to J2ME.  More information can be found at http://www.venan.com/games/BP/bp.php.