Software Projects
Summary
- Application Development, Software Architecture, Technology Analysis, Project Management.
- Virtual Reality, Motion Capture, 2D/3D Graphics, Custom Hardware Interfaces, Software Performance.
- UI Design, Asset Management, Scheduling.
- Cross-Platform System and Network Architecture and Configuration.
- Mathematical Modeling, Physical Simulations, Machine Vision.
- Windows, Linux, OSX, Embedded, Many legacy platforms.
- C, C++, C#, Personal Java, Enterprise Java, Pixel/Vertex/Geometry Shaders, bash, python.
- Unity, Unreal, Visual Studio, Eclipse, Subversion, GitHub, Perforce.
- JBOSS, Hibernate, Java Server Faces, PostgreSQL.
Details
Point Cloud Visualization - Craniac Entertaiment, Summer 2019-Fall 2020
Refactored real-time free-roam VR software to new data scheme, capable
of rendering even larger datasets, up to the entire surface of the earth
(given enough storage). Coded in C++ for Windows, OpenGL.
360 Video in VR - LifeStep Therapies, Summer 2019-Fall 2020
Architected and developed interactive 360-degree video viewer.
Coded in C# for the Unity 3D application engine targeted at Oculus VR
platforms. Managed Subversion source code repository.
Embedded Facial Animation - Primed, Inc., Fall 2019-Winter 2020
Developed animation playback engine for interactive facial animations
and expression transitions. Coded in C++ using OpenGL/GLES on various
small-board Linux computers.
Free-Roam Virtual Reality - FreeRoam VR, Winter 2017-Summer 2019
Architected and developed software for single-player, location-based
free-roam platform rendering high-resolution scanned scenes as point clouds.
Worked with Windows Mixed Reality HMD for real-time 6 DOF tracking
without external hardware (no towers or cameras).
Coded in C++ and Java for Windows and Android.
Managed Subversion source code repository.
Free-Roam Virtual Reality - Spaces, Inc., Summer 2017-Fall 2017
Refined existing tech stack for multi-player, location-based free-roam
VR platform using Unity Engine. Identified discrete I/O solutions for
wired effects, instrumentation. Worked with Optitrack Motive hardware
and software for real-time motion capture.
Coded in C# and C++.
Assisted with GitHub source code repository.
Free-Roam Virtual Reality - NomadicVR, Summer 2016-Summer 2017
Architected and developed through prototype phase complete tech stack
for multi-player, location-based free-roam VR platform using Unreal
Engine 4. Identified embedded processing solutions for wireless props,
discrete I/O wired effects, instrumentation, network architecture and
communication. Worked with various HMDs, Optitrack Motive hardware and
software for real-time motion capture. Coded in C++. Managed
Perforce source code repository.
At-Desk Virtual Reality - Koolbit, Summer 2015
Developed cross-platform VR software on the Unity platform.
Ported existing ActionScript 3 gaming framework to C#, running
in Unity. Worked with Oculus Rift DK2 and Samsung GearVR.
Set up and managed GitHub source code repository.
Software Port from DirectX 9 to DirectX 11 - Craniac Entertainment, Spring 2015
Ported Craniac's application platform from DirectX 9 graphics libraries for
Visual Studio 2005 to DirectX 11, for Visual Studio 2012. This port involved
abandoning the DX9 fixed-function rendering pipeline and relying
entirely on custom shaders for a fully-customizable renderer.
Embedded Motor Control Software - Winter 2015
Developed software for the Beaglebone Black computer for real-time
motor control. Multiple processors are available on the Beagleone, including
two real-time processors programmed in assembly language.
One World Trade Center Observation Deck - Hettema Group, Fall 2014-Winter 2015
Provided technical oversight of two vendors developing interactive attractions
for the observation decks (floors 100-102) of One World Trade Center in New York.
Worked with Panoramic Image Stitching and Gesture-based User Interfaces.
Air Mouse with Kinect - Summer 2014
Developed gesture detection software that uses a Microsoft Kinect and emulates
low-level mouse input to a Windows desktop with large hand motions in an active cube
roughly 6 feet to a side.
Data Connections - Kamico, Spring 2013-Summer 2014
Performed upgrades to Kamico's Data Connections suite
of web-based student test tracking tools. Was solely responsible for the site for this period,
including front end and back end code. Brought up new Linux server and migrated data
and web materials to new server.
Gesture Detection with Kinect - Chaotic Moon, Fall 2013
Developed gesture detection library code that uses multiple Microsoft Kinect
devices with overlapping spaces. Open source gesture solutions were investigated,
but in the end I developed new code from scratch.
Music Video Special Effects - Flavor Raid, Summer 2013
Developed a suite of special effects that use the depth field provided by the
Microsoft Kinect to create unusual video effects in real-time.
Test Track Photo Finish - Walt Disney Imagineering, Spring 2012-Fall 2012
Worked with Walt Disney Imagineers to develop a 6000 square foot collection
of interactive photo sets where guests can have photos
automatically taken and emailed to a destination of the guests' choice.
Backdrops and vehicles varied from physical to virtual/projected items chosen
by guests.
Magic Play Floor - Walt Disney Imagineering, Summer 2009-Spring 2011
Worked with Walt Disney Imagineers to co-design a dozen games for patented
location-based platform installed on the Disney Dream cruise ship, launched in
January 2011. Performed all prototyping and programming.
User interface consisted of in-floor proximity detectors indicating user presence.
Hybrid in-floor video output split between 4x7 video array and 16 player stations
with 24-bit low-res LED output.
The Great Piggy Bank Adventure - Walt Disney Imagineering, Summer 2008-Summer 2009
Worked with Walt Disney Imagineers to develop their creative design
into this location-based game installed at Epcot.
Performed 95% of programming, including networking architecture to track
players amongst 5 different experiences on 20 different kiosks. User interfaces
included touch screen monitors, discrete I/O, and infrared vision. Used novel
displacement map approach to simulate flying through wind currents.
Power City - Walt Disney Imagineering, Spring 2007-Winter 2007
Worked with Walt Disney Imagineers to develop their creative design
into this location-based game installed at Epcot and Disneyland.
Performed all programming, including a high-performance infrared vision
system that enables players to use shuffleboard-type sticks to move
virtual objects around on the 8 x 11 foot play floor and a physics
dynamic model for colliding objects.
Body Builder - Walt Disney Imagineering, Fall 2006-Spring 2007
Worked with Walt Disney Imagineers to develop their creative design
into this location-based game installed at Epcot and Disneyland.
Performed all programming for this stereographic 3D game that lets players
remotely build an animated "Dr. Bones" from various body parts presented
on a conveyor belt.
Big Screen Bingo - TimePlay / Big Screen Games, Summer 2006-Winter 2007
Developed a script-driven interactive video playback engine used to provide gaming
experiences to a large audience, such as that in a cinema. Initial rollout for the
product consists of Bingo games intermixed with small skill-based games.
Windows Energy Screen Saver - Frog Design, Fall 2005
Programmed this 3D screen saver, the default screen saver for Windows Vista,
to creative design and performance specs using the latest DirectX 9 technologies,
including multiple vertex shaders and pixel shaders.
SNMPv3 Security for Remote Management of Smart UPS's - Tripplite, Inc., Summer 2005
Implemented security provisions of SNMPv3 protocol into existing
PowerAlert UPS management suite. Network security, GUI design, cross-platform issues.
Chessmaster Challenge - Playfirst, Summer-Fall 2004
Developed 3D graphics interface for a downloadable adaptation of the award-winning
Chessmaster series by Ubisoft. Chessmaster Challenge went on to be one of Yahoo!
Games most popular downloadable board games. Advised on structure and content
of in-house software libraries.
Remote Management for Smart UPS's - Tripplite, Inc., Summer 2002-Fall 2003
Co-designed and developed PowerAlert, Tripplite's client-server
utility for remotely managing Tripplite and other manufacturer's smart UPS's.
Massive Multiplayer Car Battle Game - Craniac Entertainment, Winter-Spring 2002
Initial technology investigations. Designed and developed prototype software
for a real-time massive multiplayer network game. Windows clients. Linux server.
Server software designed for multi-box scalability.
Windows Media Player Visualizations - Frog Design, Fall 2001
Developed 2 Windows Media Player visualization modules as Bonus Downloads. Animated
flame and cloth simulations. Modules displayed 3D scenes animated in coordination
with the music being played by the Media Player.
Windows Media Player Visualizations - Frog Design, Spring 2001
Developed 3 Windows Media Player visualization modules for the Windows XP Plus!
Pack. Skinned mesh and vertex keyframe animation. Modules displayed 3D scenes
animated in coordination with the music being played by the Media Player.
Terminator 2:3D - Universal Studios Theme Park, Osaka, Japan, Summer 2000
Controls Engineer for installation of this special effects attraction at Universal
Studios' latest site in Osaka, Japan. Supervised integration of computer controls
systems for all special effects with the central control system. Worked with
vendors on all aspects of show control hardware and software, including Allen-Bradley
PLC's, Anitech MP4000, robot animation scripts, failure mode effects analysis
(FMEA), and fail-safe design.
Vertical Reality 2 - Sega Gameworks, Summer 1998
Concept and design work on a 3D action game for Sega Gameworks' location- based
Vertical Reality hardware platform described below.
Puzzle Modules - IMedia I.T., Spring 1998:
Designed and programmed several simple game/puzzle modules to the client's specification.
These were to be integrated into the Computer Based Training product which they
sell.
Night Raptor - Sega Gameworks, Summer 1997:
Produced, designed game features, and programmed software for a feasibility
study of this 3D-sound-intensive, motion-base ride/game hybrid based on Jurassic
Park.
Vertical Reality - Sega Gameworks, Winter 1997:
Designed and programmed this 5-computer, location-based arcade game from concept
to public opening in four months. The platform provides three-channel sound,
a large-screen video array (9' wide x 24' tall overall), and motion feedback
for up to four simultaneous players. Vertical Reality is the centerpiece game
of all Gameworks centers. The first site opened on time in Seattle in March,
1997. Architected and developed show control software to communicate with the
Allen Bradley controllers running the hardware.
Redneck Rampage - Xatrix Entertainment, Summer 1996:
Performed initial management of software development for this product based
on Apogee's Build engine. Evaluated game engines and technologies available
for license. Assisted in initial game concept work.
Cyberia 2 - Xatrix Entertainment, Winter 1996:
Produced German, French, Spanish, Japanese-localized versions of Cyberia 2.
Cyberia 2 - Xatrix Entertainment, Fall 1995-Winter 1996:
Assisted in product completion and design of action/adventure game. Carried
out final correspondence with Virgin Interactive Entertainment to create golden
master disks for duplication.
Hardware-Accelerated 3D Demo - Velocity Incorporated, Summer 1995:
Designed and developed 3D-action demo based on Jet Ski Rage to showcase the
Diamond Graphics/NVidia 3D accelerated video card announced at E3 in the summer
of 1995.
Jet Ski Rage - Velocity Incorporated, Summer 1995:
Designed code and data architecture for first-person point-of-view Jet Ski race
simulator, including real-time ocean wave simulation and simulated vehicle interaction
with those waves.
Spectre PC/CD - Velocity Incorporated, Winter 1994:
Supervised port of Spectre MGA from the hardware-accelerated Matrox MGA version
to a non-accelerated Windows version.
Spectre MGA - Velocity Incorporated, Fall 1994:
Ported Spectre VR, one of the very first commercially-successful, LAN-based,
interactive computer games to use Criterion's Renderware 3D API and 3D hardware
acceleration provided by the then-cutting-edge Matrox MGA 3D video card.
Golf Screen Saver - Go-Go Studios, Spring 1994:
Lead Programmer for Go-Go Studios' golf-styled screen saver.
Graphics Effects - Miles Design, Spring 1994:
Developed high-performance low-level rasterizer library modules for professional
graphics library sold by Miles Design.
Screen Saver - Craniac Entertainment, Spring 1994:
Developed After Dark screen saver modules.
Graphics Library - Atomic Games, Spring 1983:
Created a 2D graphics library to support a massive number of animated figures
to be overlayed and masked onto the display screen for Atomic Games' war games
for the Macintosh.
OpenGL - IBM, Summer 1992:
Co-ported hardware-dependent implementation of OpenGL to an all-C, hardware
independent version for the RS-6000 under AIX.
Virtual Reality System - Craniac Entertainment, Spring 1991-Winter 1991:
Designed and fabricated prototype for a virtual reality display system, including
articulated-arm head tracker, head-mounted display, shaft encoders, and optics.
Designed and developed simple flight simulator software to demonstrate the hardware,
including head-tracking independent from cockpit and 3D rendering library.
Wing Commander I - Origin Systems, Winter 1991:
Developed high-performance screen transition effects for Origin Systems. These
routines became part of the internal graphics library used in Chris Roberts'
award-winning Wing Commander I.
Ultima VII - Origin Systems, Winter 1991:
Developed high-performance graphics primitives for Origin Systems. These routines
became part of the internal graphics library used in Richard Garriot/Lord British's
Ultima VII.
3D Graphics Optimization - Greg Passmore, Spring 1990:
Reviewed and optimized existing C-Language 3D graphics rendering library. Converted
C routines into 80386 assembly language where appropriate for speed enhancement.
Real Estate Owned Database Application - Consluting and Management, Spring 1990:
Developed Real Estate Owned (REO) tracking database application for the PC.
2D Image Median Filter - University of Texas, Spring 1990:
Senior Lab project. Designed and coded simple median and low-pass image-processing
filters for the Motorola DSP-56000 embedded processor.
Omega - Origin Systems, Summer 1988:
Ported Stuart Marks' Omega from the Apple II to the Commodore 64.
2400 A. D. - Origin Systems, Summer 1986-Spring 1988:
Designed and developed interactive role-playing game for the Apple II.
Report Generator - Kufta & Associates, Fall 1986:
Developed database application to track data and generate reports for retail
"mystery shopping" service.
Ultima IV - Origin Systems, Spring 1986:
Ported Richard Garriott/Lord British's Ultima IV from the Apple II to the Commodore
64.
Autoduel - Origin Systems, Winter 1984-Winter 1986:
Designed and developed prize-winning hybrid action/adventure game based on Steve
Jackson's "Car Wars" role-playing board game.
Ultima III - Origin Systems, Fall 1983:
Ported game from the Apple II to the Commodore 64. Designed and developed hardware
and software to allow data transfer between the Apple II and Commodore 64.
Ultima III - Origin Systems, Summer 1983:
Ported Richard Garriott/Lord British's Ultima III from the Apple II to the Atari 800.
Ultima III - Origin Systems, Summer 1983:
Programmed boot-up animations for Richard Garriott/Lord British's Ultima III
game for the Apple II.
Caverns of Callisto - Origin Systems, Spring 1983:
Ported game from the Apple II to the Atari 800.
Caverns of Callisto - Origin Systems, Winter 1983:
Designed and developed interactive arcade-style game for the Apple II.
Ultima II - Online Systems, Fall 1982:
Ported Richard Garriott/Lord British's Ultima II from the Apple II to the Atari 800.
Jaw Breaker II - Online Systems, Fall 1982:
Ported game from the Apple II to the Atari 800. Designed and developed hardware
and software to allow data transfer between the Apple II and Atari 800.
Jaw Breaker II - Online Systems, Fall 1982:
Co-designed and developed interactive arcade-style game for the Apple II.
Lunar Leepers - Online Systems, Summer 1982:
Designed and developed interactive arcade-style game for the Apple II.
Ultima II - Online Systems, Fall 1981:
Programmed boot-up animations for Richard Garriott/Lord British's Ultima II
game for the Apple II.
Laff Pak - Online Systems (now Sierra), Summer 1981-Spring 1982:
Designed and developed this 4-title collection of games for the Apple II computer.
Collection included: Creepy Corridors, Space Race, Mine Sweep, and Apple Zap.
Brainteaser Boulevard - California Pacific Computer Company, Summer 1981:
Designed and developed interactive arcade-style game for the Apple II computer.
Ultima I - California Pacific Computer Company, Spring 1981:
Programmed boot-up animations for Richard Garriott/Lord British's Ultima I game
for the Apple II computer.