Here are projects that I’ve done for past employers, or as part of school work.
VTAK
The Virtual Tactical Assault Kit is a 3D world markup and powerful multimedia planning tool in the Unreal Engine for police, medical, military, and research applications. A virtual reality and desktop application, users can communicate with each other; plan scenarios; mark lines of sight, ranges, or other geometry in a virtual world; and display it all using real-world DTED terrain.
GPEG
At Primal Space Systems I helped to develop a streamable system for dividing 3D geometry up and sending it across the network on an as-needed basis, primarily with geometry in the Unreal Engine. The conceit of this system was to enable streamable 3D environments in a way that allowed a client machine to process as little as possible while removing the traditional games streaming problem of needing to have input to a server machine, experiencing input lag.
User-navigable space is divided up into box-shaped “view cells”, from each of which a complete set of visible triangles is calculated that can be seen from at least one location in the box.
My work in this process was focused on the algorithm for determining environment triangle visibility, and on injecting these streamed triangles into the Unreal Engine rendering process.
Ultra
Ultra is a comprehensive medical imaging interface designed to incorporate any number of devices and peripheries under a single united interface. It supports a variety of X-ray panels, X-ray generators, and positioners from such companies as Samsung and Toshiba. Users can perform a breadth of image manipulation operations to focus on different parts of the image and easily perform complex tasks such as stitching together multiple overlapping shots to appear as a single image.
In addition to fixing bugs, I was responsible for adding many new features into the program such as incorporating the APIs of new devices via marshalling through C++, adding new image manipulation tools which use matrix transforms, and adding new reusable custom controls.
Currently I am working with the product owner to design a complete visual overhaul of the interface in photoshop, giving it a more modern look and feel. The design is an iterative process that involves a lot of back-and-forth with several parties. Often this is done by presenting several similar options based on a given description, as seen below.
We expect this redesign to be completed by the end of the year, where it will be incorporated into a tablet attached to a medical imaging device.
Being
Being is a one to two player dance game where players must mimic the motions of onscreen dancers. Upcoming dance moves are telegraphed by sprites scrolling towards the center of the screen. Players encouraging get feedback based on how well-timed their dance moves are and are given a score and a rating at the end of the dance. Being is programmed in C# using Microsoft’s XNA library and the Kinect for Windows libraries, and the Microsoft Kinect was used to recognize players positions. Programming was done in coordination with Irena Rindos.
An example of Being gameplay from opening night at the exhibit.
Journeys
The single player game Journeys is a choose-your-own adventure game where players select their identity from a group of Lebanese immigrants at the turn of the 20th century and choose when to immigrate to America (if ever) based on the character’s life and current events of the time. Journeys was programmed in Objective-C and was released, with Being, as part of the Lebanese exhibit in the North Carolina Museum of History.