Date: January 2021 to Present
Client: Rose City Games; Lyrical Media
Software Used: C#, HLSL, Unity
Position: Technical Director, Lead Software Developer
Direct production to retain performance and framerate.
Implement core mechanics, interactivity, shaders, and animation.
Tool development to speed the implementation of non-code related tasks.
Date: April 2019 to December 2019
Client: Rose City Games
Software Used: C#, Unity
Position: Lead software developer
Responsible for implementing gameplay, UI, saving and loading processes, enemies and enemy AI, and player cards.
Updated core code to be easier to use for future developers.
Game released on Windows, Mac, and Nintendo Switch.
Date: December 2019
Client: Koh Ker Archaeological Project; National Authority of Preah Vihear
Software Used: RealityCapture, Agisoft PhotoScan
Position: Documentary Photographer, Scan Coordinator, Drone Operator
Plan, capture and process scans of Buddhist temples
Capture documentary photography of the archaeological process
Date: July 2018 to March 2019
Client: Rose City Games; Viz Media
Software Used: C#, Unity
Position: Lead software developer
Lead software developer for an independent video game produced by Rose City Games and published by Viz Media.
Game released on Windows, Mac, and Nintendo Switch.
Date: January 2018
Client: Craig Winslow Studios; The Neon Museum
Software Used: C++
Position: Lead software developer
Wrote software to procedurally animate thousands of elements to simulate classic vegas marquee lights and render them into image sequences.
Tool was used to create animated content for The Neon Museum’s experience entitled “Brilliant”. This show revives historic neon signs from Las Vegas’ past by projection mapping animation onto the now defunct displays.
Date: February-April 2017
Client: Second Story; Holland America Lines
Software Used: C++
Position: Lead software developer
Developed one of three vignettes for a the new “Explorations Central” interactive space aboard the MS Westerdam cruise ship.
This multi-touch social experience allowed guests explore and share how they had been influenced by their travels.
Date: January 2017
Client: Dot Dot Dash; HTC
Software Used: C++, Python
Position: Software and hardware developer
Designed and built custom camera hardware to integrate with HTC’s new “Vive Tracker” product. Hardware allowed users to capture photographs from within a virtual reality experience and print them out while still on the showroom floor.
Date: February 2016
Client: Dot Dot Dash; PepsiCo
Software Used: C#, Unity3D, Javascript, Node.js
Position: Software developer and video capture engineer
Developed tools to display content created in virtual reality on large-format touch screen displays.
Co-developed a cueing system that allowed visitors to sign up to experience virtual reality without having to wait in line for their turn to play.
Was world’s first show of HTC Vive outside of a technology expo.
Software Used: Cinder, C#, C++, OpenCV, Unity3D, Xcode
Position: Lead developer and interaction designer
Developed and designed real-time object tracking and projection mapping software to follow a hand-held projection screen for enhancing/augmenting stage presentations.
Software Used: C++
Position: Software Developer, embedded electronics designer
Designed and programmed hardware to interact with mobile devices and vend in-aisle samples.
Software Used: Cinder, C++, MySQL, OpenCV, PHP, Python
Position: Lead software developer, embedded electronics designer
Developed software to capture, crop, and organize photos taken from more than one hundred Raspberry Pi based cameras so captured images can be easily processed into printable three-dimensional models.
Designed hardware and networking to allow easy shipping and setup while providing consistent photographic results.
Wrote scripts to identify each camera in three-dimensional space as part of initial system configuration so they wouldn’t have to be identified and labeled manually.
Software Used: Java, AS3
Positions: Software Developer, Hardware Consultant
Exhibit 1: Developed Java software to facilitate serial communication between hardware peripheral and pre-designed software.
Exhibit 2: Developed synchronized, multi-screen interactive exhibit using AS3 and Java. Developed Java application to facilitate serial communication between Adobe Flash and multiple serial devices.
Exhibit 3: Designed exhibit audio layout.
Installed and configured interactive software on-site for all exhibits.
Software Used: AS3, Java
Position: Software Developer
Developed networked, multiplayer game as part of installation’s central exhibit using ActionScript 3.
Installed and configured software in collaboration with another member of RLMG.
Software Used: C++, Java, AS3, JavaScript, Unity
Position: Software Developer
Writing software to relay information from Arduino to Flash interactive using Java. Primary exhibit programmed with AS3 and JavaScript through the Unity IDE.
Klassen, S., Carter, A. K., Evans, D. H., Ortman, S., Stark, M. T., Loyless, A. A., Polkinghorne, M., Heng, P., Hill, M., Wijker, P., Niles-Weed, J., Marriner, G. P., Pottier, C., & Fletcher, R. J. (2021). Diachronic modeling of the population within the medieval Greater Angkor Region settlement complex. Science advances, 7(19), eabf8441. https://doi.org/10.1126/sciadv.abf8441
Masters in Entertainment Technology
BA in Multimedia Arts and Sciences
Minor in Computer Science
The Portland Indie Game Squad is a 501(c)3 organization dedicated to supporting the health and continued expansion of game developer and enthusiast communities in Portland, the Pacific Northwest, and online. As a volunteer, I help organize and run events, help members connect with each other, do bookkeeping, give lectures, and develop media for online streaming.
As an external reviewer my responsibility is to help vet submissions to make sure they are categorized correctly, produced to a specific level of completeness, and exhibit a novel approach to the subject matter that will both further the field and help inspire future researchers.
“The goal of Upward Bound is to increase the rate at which participants complete secondary education and enroll in and graduate from institutions of postsecondary education”. Often this includes helping students find paid mentorships in fields they aspire towards. During the summer of 2021, I was approached to take on five students interested in various aspects of game development. The subject matter included 3D modeling using Blender and programming using P5js and Unity.