Games
Garage Games

Praelium - Torque 3D

Praelium For my senior capstone project I was the only engineer on a team composed of five artists, two designers, a producer and myself. We worked to integrate speech recognition technology into a first person, multi-player spell-casting game. We used both two and three word combinations to determine the resulting spell.

Our design doc wiki is hosted on PBWorks.

Praelium Trailer from Alex Gustafson on Vimeo.


Old video (Pre-Production Proof of Concept):


*All art in images is placeholder from 12/2009. Praelium was previously titled Merrett's Legacy.
Lots going on Use walls for protection Watch out behind you
Garage Games

Outfits of Hypocrisy - Torque Game Engine Advanced

Outifts of Hypocrisy Outfits of Hypocrisy is a first person action adventure game I created as lead engineer on a team composed of two engineers, three artists, a designer and a designer/producer. This was our semester-long Game Production II project in which we tried to focus on character interactions and player choice. With this project we tried to push ourselves as hard as we could to figure out where the scope cap was for a one semester project. Needless to say we found that cap after creating three story lines with complete voice overs, navmesh navigating AI, and a healthy amount of performance tweaking and LOD meshes.

And now for some self-aggrandizing and self-deprecating humor:

Took forever to build Watch out for the guards Lots of items to place

Work Projects
GEHC Logo

Automation and Unit Testing Project - GE Healthcare

For my 2009 summer internship at GE Healthcare I converted almost all of their VB6 unit tests to C# using NUnit and interop. At the end of the summer I had completed the conversion of 85-95% of the tests (well over 100 tests). I made sure these tests were left in a passing state or documented why they were failing, which often involved debugging the VB6 code.

I also set up a CruiseControl .Net Server to handle the automated building of the tests as well as the core code base (after they upgrade from VB6 to C#). I used NAnt to script the build server and hooked CruiseControl into the NUnit results allowing me to display them on a website and send e-mail notifications to the right people.

Before I left I created documentation for the expansion and maintenance of my work including word documents, wiki's, training videos (for both NAnt scripting and CruiseControl server setup), and two Virtual Machines running properly configured CruiseControl servers with a different version of their product on each VM.
GEHC Logo

Quality Metrics Dashboard - GE Healthcare - © GE 2008

Default Report The Quality Metrics Dashboard is an internal tool that I developed for GE Healthcare in Burlington, VT during my Summer 2008 internship. This tool provides a centralized location for software metrics data as well as unit test results and design process documentation.

At the end of the summer I also wrote a paper on quick and easy root cause analysis. If you would like to know more about that topic e-mail me and I will help create a root cause analysis process for you as I can't distribute that paper.

For a more in-depth look at the Quality Metrics Dashboard, and the work I did, check out my write-up (PDF).
Custom Report CDI Status Review Unit Test Results
GEHC Logo

XML Narrative Tool - UN Project For Preventing Violence Against Women - C#

Minimally Filled Out John Holland and I volunteered at the Emergent Media Center and produced the tool they use to create the narrative sections of the game for the UN. This tool contains layout and asset information for each screen of the narrative portions of the game.

We worked with their engine programmers to design an XML schema that would hold all the necessary information. We also created and integrated a wrapper for Tortoise SVN as all their files are under source control.
An empty form

Education and Training Projects

Winsock Chat Client and Server - C++ & Managed C++ (CLI)

Default Report Working with John Holland, we created a simple winsock based chat room as a major project for our Network Programming class. Two programs were made; a command line server, and a GUI-based client program.

To easily communication between the two applications, we created a packet structure that was able to be dynamically sized while still being easy to serialize and deserialize.

The final version of the project supported a single chat room per server and a settable max number of clients. Each client was also able to change their displayed name. We were experimenting with extra features such as private chat rooms and enabling IPv6 when the course ended.
Single User Server Multiple Users
Collada Logo

Collada to X File Converter - C++ / Win32

The Collada to XFile Converter is a small program (done as a school midterm with John Holland and Corey Cunha) that takes in a COLLADA file, loads it into an XML tree (using TinyXML) then parses out the correct components to build the mesh and saves it to a .x file that is engine ready to render.

There were some problems with UV map integration and our converter only supported a triangle list not a polylist. However, considering the size of the COLLADA DOM project (which does this conversion completely) our converter worked well given the limited amount of time we had to work on it.
OpenGL Logo

OpenGL Scenegraph - C++ / Win32

Multiple Objects The final project for Graphics Programming II was to create a simple scenegraph editor using what we knew about OpenGL. My project supported saving, loading, object importing (from .obj files), and various forms of object manipulation (translation, scale, rotation, shape changing and deletion).
Start out small Check the controls Make it big
TGEA Logo

MMO Style Persistance Framework - Torque Game Engine Advanced

Using the Torque Engine as a base, together Corey Cunha, John Holland, and I created a persistance prototype for use in Torque. Our work spread across multiple languages as we used PHP, ASP with C#, SQL, and Torque Script to add accounts, servers, and general inventory persistence to the Stronghold example game (provided by Garage Games Inc).

For more information about what the Persistance Framework was doing check out the write-up (PDF).
TGEA Logo

DJ Booth & Media Control Tools - Second Life

The DJ Booth For my Game Architecture class's final project I worked with John Holland to create a DJ Booth and Media Controls Suite in Second Life. The DJ Booth was our team's contribution to the class's final project: a Nightclub in Second Life. Throughout the course we learned about the various parts and jobs that go into making a game including art, animation, code, script, design, and documentation. We then used Second Life to apply and explore these concepts.

For a more detailed description of the tools we created take a look at the write-up (PDF).

You can also download all the scripts we made in .zip or .rar.
Start out small Check the controls Make it big

All works and logos are copyright or trademarked by their respective owners.
Projects displayed here were programmed by Adam Maier and/or with permission to display from other team members.