Portfolio

August 15th, 2009

Here you will find some of my projects (programming, papers, and presentations) of the past and present.

Programming | Papers | Presentations

Programming

Artemis Chronicle – July 2008 to May 2009

Artemis Chronicle is an action/adventure game for the PC and Xbox 360. It was built in C# using Microsoft XNA. The game is built on top of our in-house engine, NitroX. Some of the current features include:

  • Multi-threaded architecture
  • Advanced shader effects and lighting
  • Advanced AI (pathfinding, goal based hierarchy, perception, FSMs)
  • Animation blending
  • High level FX systems (point-sprite and billboard)
  • Physics integration
  • Game state management
  • Advanced tool set (level editor, artist tools)

Team Website: Chimera Game Studios

– Trailer –

– Video 1 –


Video 1 Overview:

The player must defeat the Eyes of Hades, and restore Apollo’s light. The Eyes are initially sleeping, and must be woken by striking the Bell of Apollo. Once awoken, the encounter begins.

The main Eye only becomes vulnerable when its’ minions have been disabled. The minions each shoot a different color laser. The minion Eyes are only vulnerable to fire of the same color as their current laser attack (red, green, blue).

Once the Eyes have been knocked out, the path of light becomes unobstructed. The player then proceeds to light the torches all the way up to the top of the cathedral, until Apollo’s light has been restored.

The player then uses Apollo’s light to strike the Bell of Apollo, which puts an end to the Eyes for good.

– Video 2 –

Video 2 Overview:

The gameplay is split into ‘islands’, where progression to the next island requires the collection of a red crystal, and it’s insertion into a shrine. Each island shows off a different element of gameplay:

Island #1 is largely an introduction. Basic character locomotion is shown, as well as many of the technical features of the engine: graphical effects (shaders, animations, particles, shadows, etc) and physics.

Island #2 shows off a puzzle aspect of the game, and illustrates some of what can be done with the arrow mechanic.

Island #3 shows off the combat and AI systems (pathfinding, collaboration, goals, and behaviors).

Tools:

There were a bunch of tools I developed for this project, with screenshots below. See this post for a complete discussion of the tools.

divider

Finite State Machine (AI) Framework – Feb. 2008

A simple FSM Framework and example application, based on ideas presented in “Programming Game AI by Example” by Mat Buckland.

divider

Depth of Field Effect – Dec. 2007

A flexible, GPU-based depth of field module built on top of the OGRE 3D engine. Uses GLSL.

divider

World of Warcraft Addons – Nov. 2007

  • WoWSlang – an in-game WoW dictionary, with definitions of commonly used terms and acronyms.
  • WoWCalc – an in-game calculator.

divider

Procedural Clouds – Nov. 2007

A procedurally generated, real-time, GPU-based cloud module, written on top of the OGRE 3D engine. Cloud formation, movement, lighting and layers. One version was also done in pure OpenGL/C++. Both implementations make use of GLSL.

divider

Portals – Oct. 2007

A portal system, similar to that found in Half Life 2: Portal. Utilizes multiple viewports to achieve the effect. Implemented on top of the OGRE 3D engine.

divider

E-Cookbook 1.0.0b – Jun. 2006

An electronic recipe organizer written in Python. Search, sort, print, and organize your recipes, as well as many other useful features. This project has an official Sourceforge project page. wxPython is used for the interface, and PySqlite for the database backend. Windows/Mac OS X supported.

E-Cookbook is an electronic cookbook or recipe organizer. It will replace the old tattered cookbook in your kitchen. Easily decide on something to make for dinner, or see what you can make based on the ingredients in your refrigerator.

divider

Java Bytecode IDE – Jan. 2006 – May 2006

An Integrated Development Environment (IDE) for writing Java Bytecode programs, using C++ and wxWidgets. Some features:

  • Full-featured text editor with tab support.
  • Assembler to translate bytecode into instruction-level code.
  • Multi-threaded debugging, with support for breakpoints and line-by-line debugging.

divider

SOM Demos – Nov. 2005 – Dec. 2005

Self-Organizing Map demo applications (as described in the SOM paper in the Papers section). SOM_Color is an application that learns to recognize and classify colors. SOM_Image is an application that can do the same for images, using various image classification algorithms. Both are written in C#.

divider

Gaming Engine – Nov. 2004 – Mar. 2005

Initial steps towards a C++ gaming engine, featuring:

  • OpenGL and DirectX 9 rendering support
  • .3DS file format loading
  • Camera systems
  • Performance profiler
  • Memory tracker
  • Logging capabilities

divider

Robot Gems – 2003

A Sokoban clone written in C++ and OpenGL. In the game, you are a robot. Your goal is to push gems, which are scattered around the map, on to certain designated areas.

Top

Papers

Realistic Real-time Skies – December 15th, 2007

A description of a GPU-based real-time sky method, which includes procedural clouds, sky dome mesh generation, and lens flare calculations.

>> Download <<

divider

H5N1 Simulated Outbreak – May 2nd, 2006

A simulated outbreak of Avian Influenza (aka Bird Flu or H5N1). This paper discusses the design, implementation, and conclusions of a computational model (written in Mathematica) that simulates an outbreak of Bird Flu on the population of the United States.

>> Download <<

divider

Kohonen Self-Organizing Maps – December 15th, 2005

This paper introduces the Artificial Intelligence concept of neural networks – specifically, Self-Organizing Maps (SOMs). It discusses the SOM algorithm and introduces two SOM application implementations (both of which are available for download from this site).

>> Download <<

divider

PHP Manual – May 5th, 2004

A manual for the PHP programming language.

>> Download <<

Top

Presentations

Half-Life 2: Empowerment Through Portals – December 20th, 2007

For a Game Design Workshop class, my partner and I were tasked with adding a new feature to an existing game. This is what we came up with. Our presentation was selected to be presented at the “2007 USC School of Cinematic Arts Student Showcase“.

>> Download <<

divider

Virtual Environments – April 29th, 2006

A presentation I gave at Wittenberg University, showing some of the things I accomplished while working at the Ohio Supercomputer Center for a summer internship. The project was titled: “Evaluating Elicited Anxiety in a Simulated Environment“.

>> Download <<

Comments are closed.