Home
Resume
About Me
Youtube Channel
LinkedIn
Project Archive
Game Documentation
Creative Writing

Project Archive

2016


Abstraction Thumbnail

Abstraction

Abstraction is a demo for a shader effect I created while working at Boston Productions Inc. in order to transform a live camera feed into variations of an abstracted painting. The application primarily applies fragmentation and oil shading, but also includes a few different polish effects such as paint drips and expanding blotches.

Role: Graphics Programmer

  • Created project framework and system architecture in C++ / Cinder
  • Researched and combined fragmentation, abstraction, and oil shading effects
  • Implemented several particle-based overlay visuals to replicate paint drips and blotches
  • Enhanced shader to apply the effect based on the ratio of distance across the camera feed
AS3 Networking System Thumbnail

AS3 Networking System

Utilizing AIR Sockets in AS3, this project provides an overview of a networking system built around enabling applications to apply Server and Client objects in order to send and receive ByteArray data over TCP. A Server object manages Client connections by tracking active UIDs, while Client objects automatically attempt reconnections and track their overall status.

Role: Network Programmer

  • Built a Client / Server architecture system in AIR AS3
  • Implemented message packaging to condense data before flushing over the socket
  • Implemented data parsing to convert received ByteArrays into unique NetworkMessages
  • Client objects track their connection status for feedback within externally created UI

2015


iPhony Thumbnail

iPhony

iPhony is an iPhone game in which players cycle through Micro-App experiences, earn iBucks through Achievement progression, and utilize an in-game App store to unlock new Apps. iPhony represents the second production iteration of our concept SimPhony.

Role: Lead Programmer / Content Writer

  • Set tasks and schedules for the programming team
  • Assisted in transitioning brainstorming ideas to gameplay prototypes
  • Built Gameplay, Achievement, App-Store, and Saving / Loading Systems
  • Implemented and iterated on over 15 Micro-Apps experiences
  • Designed tools for simple access to touch, gyroscope, vibration, and landscape toggles
  • Allowed for simple template structure for art assets to streamline art-programming pipeline
RigidBodies Thumbnail

RigidBody Simulation

Stepping forward beyond particles, this demonstration provides a brief examination of RigidBodies. The simulation allows for collision detection between spheres, boxes, and planes. After collision, contacts are generated, prepared, and the positions and velocities of the participants are resolved accordingly.

Role: Programmer

  • Implemented Quaternions / Intersection Tests
  • Implemented Collision Detection for Sphere-Box-Plane relations
  • Built system to manage RigidBodies and perform contact resolution
Reaction AI Thumbnail

Reaction AI

This project brought an opportunity to explore implementing Enemy AI with some additional functionality. Most of the feature improvement related to mass AI path-finding, partial smoothing, player collisions, wave spawning, and character class implementation.

Role: Programmer

  • Implemented A* based on previously created grid collision data
  • Incorporated path smoothing by creating unit-based ray-tracing to detect grid corners
  • Created a system for enemy wave spawning and durations
  • Added physics velocity / position resolution to player-enemy interactions
  • Began building systems for class data and specific character types
Mass Aggregate Thumbnail

Mass Aggregate Simulation

Utilizing Contact and Force Generators, this simulation allows for the detection and resolution of collisions within a simple Mass Aggregate particle system. Particles form shapes by the implementation of rods between individual particles, allowing for more complex shapes to undergo gravity and collision.

Role: Programmer

  • Implemented Bungee, Spring, Cable, and Rod Contact / Force Generators
  • Handled velocity resolution, interpenetration, and resting contacts for physics objects
  • Created mass aggregate shapes and tested for realistic physics interactions
  • Built simple simulation to allow player interactions with collectibles
Room Generation Thumbnail

Room Generation

Along with continuing creating features for a console project, this brief exploration represents very basic room creation within the local multiplayer environment. At the start of the game session, players can toggle values to adjust the number of rooms and divergence rate for the algorithm, therefore impacting how the level layout will be visible during gameplay.

Role: Programmer

  • Implemented grid-based collision detection for players and wall areas
  • Designed Room System to allow for dynamically created doors and connections
  • Designed algorithm for randomly building levels based on editor input
Solar System Thumbnail

Solar System Demo

This provides a very simple demo of planetary orbits utilizing gravitational forces between entities. With basic initial velocity, planets are able to readily orbit around the sun similar to their actual patterns. Each planet has been given relative scaling for mass, distance, size, and velocity.

Role: Graphics / Physics Programmer

  • Learned OpenGL foundation and implemented rendering pipeline
  • Built Physics system based on force generators and registrations
  • Created gravity generator with corresponding equation to update forces on physics objects
  • Added texturing and skybox to provide the visual solar system
Ouya Console Development Thumbnail

Ouya Console Development

This project represents some basic demo tests conducted on the Ouya console. Primarily, this was designed the further study and research features unique to consoles. Controller support, resolution settings, deployment environments, frame management, and usability were all considered for the duration of this demo.

Role: Programmer

  • Built Controller Input and Controller Profiles utilizing Air GameInput API
  • Created Release Profiles to assist in debugging via computer and console
  • Implemented dynamic controller detection and basic gameplay and menu interactions

2014


SimPhony Thumbnail

SimPhony

SimPhony is an iPhone game containing a collection of rapid-fire Micro-Games based on popular and familiar mobile features and applications.

Role: Gameplay / Systems Programmer, Producer, QA Liaison

  • Built core framework for game environment and mobile interactions
  • Designed and implemented adjustable systems for Micro-Games and game modes
  • Managed back-logs, task features, and meeting notes to maintain stage deadlines
  • Created QA forms, surveyed testers, and organized feedback results
  • Wrote extensive technical, design, QA, and visual documentation
Renewable Vermont Thumbnail

Vermont Hackathon: Renewable Vermont

Renewable Vermont is a simple Flash game designed to educate and bring awareness to renewable energy sources. It was created within 24 hours during the Vermont Hackathon 2014, and was given the award for Best Student Team Application.

Role: Gameplay Programmer, Designer

  • Provided project foundation and delegated tasks to team members
  • Researched and designed methods to include API data within the game environment
  • Programmed menu transitions, button interactions, and node access features
  • Pitched the game concept and features formally during the presentation event
Time Out Thumbnail

Make a Change: Time Out

Time Out is a game concept for the Make a Change project, and allows for the presentation of educational facts accessible through a clock-based puzzle. The player must navigate around the center, reaching every node once in order to unlock the entirety of the central fact.

Role: Framework / Gameplay / Systems Programmer

  • Built project framework and standardized access between game prototypes
  • Refactored and extended code from earlier versions of the game
  • Built menu, animation, and save data systems to improve tester interactions
Fact Finder Thumbnail

Make a Change: Fact Finder

Fact Finder is a game concept for the Make a Change project, offering the ability to review the project's narrative moments by sorting character statements within the game environment. The player is offered a conflict between characters, and must sort a list of information elements into supporting, opposing, and opinionated categories.

Role: Framework / Gameplay / Systems Programmer

  • Built project framework and standardized access between game prototypes
  • Iterated on design directions, concentrating on creating extendable and decoupled features
  • Added UI scrolling, pop-ups, and hover interactions
  • Implemented transition systems for menus and state changes for information elements
Robo Drop Thumbnail

Robo Drop

Robo Drop is a 2 to 4 player fighting game that allows players to customize their robots before each round. Players can choose from unique combinations of available abilities, encouraging them to personalize their gameplay style.

Role: Lead / Gameplay / Physics Programmer

  • Designed, programmed, and tested all accessible features and abilities for players to select
  • Built responses and interactions for player movement and object collisions
  • Created structure to allow robot arms, legs, and torsos to have dynamic interactions
American Karuta Thumbnail

American Karuta

American Karuta is a competitive online card game for 2 players. The goal of the game is to be the first to claim cards as they are revealed from a separate deck, therefore clearing the player's side of the field and winning the round.

Role: Gameplay / Network Programmer, Designer

  • Implemented several of the features for sending packets between players
  • Created game assets, UI elements, and host / lobby functionality
  • Designed overall game structure and project goals
Endless Terrain Thumbnail

Endless Terrain in DirectX

This represents a simple simulation and testing ground for various 3D graphics techniques, primarily conveying basic lighting equations and rendering procedures. The application offers lens flare, fog, cloud billboards, and normal / diffuse lighting.

Role: Graphics Programmer

  • Wrote shaders and classes to effectively render and test implemented features
  • Made assets to visualize realistic mountains, utilizing diffuse, normal, and height maps
  • Researched various 3D graphics techniques to further understand the underlining procedures
Olly Olly Oxen Free Thumbnail

Olly Olly Oxen Free

Olly Olly Oxen Free is a project built during the Global Game Jam 2014, providing an opportunity to further learn about software, such as Unity and Maya.

Role: Level / Content Designer, 3D Artist

  • Lead discussion surrounding design, scope concerns, and goal requirements
  • Wrote narrative elements and designed game progression and interaction features
  • Learned 3D modeling in Maya and generated several assets for the game environment
  • Provided level design for the five sections of the game
Mutation Thumbnail

Mutation

Mutation is a base prototype for a game concept based on a first-person experience involving movement and environment interactions. The game would allow the player a collection of abilities to propel them through the world, as well as let them interact and change their surrounding environment.

Role: Gameplay Programmer

  • Built first-person movement based on utilizing forces in Unity
  • Created movement features, such as double-jumping, bouncing, and dashing
  • Implemented environment scripts to enable grappling and scaling on any game object
  • Assisted in the feature discussions surrounding the game's environment and core intent

2013


Flashlight Thumbnail

Flashlight

Flashlight represents an exploration into developing a game heavily influenced by AI characters and online gameplay. The game allows for 8 players to participate in a treasure hunt in a haunted mansion, racing to collect the most amount of gold hidden throughout the rooms. Players must use their flashlights to locate treasure and avoid ghosts.

Role: Gameplay Programmer, Designer

  • Designed basic gameplay features and organized weekly goals for project development
  • Programmed several player features and built packet systems for communicating information
  • Designed and implemented AI state machines for player characters and ghosts
  • Set a number of back-end features to allow host migration and player idling
Spooky House Thumbnail

Spooky House

Spooky House is an AI simulation designed to exhibit and experiment with Goal-Oriented Behavior for game characters. The application allows the user to create ghosts and resources, as well as alter Goals and Actions to examine different responses to environment changes.

Role: AI Programmer

  • Designed and developed system for Goal-Oriented Behavior
  • Created art assets and level design for the exhibit
  • Implemented pathfinding and wait cycles for AI characters
  • Wrote a presentation based on researched Goal-Oriented materials
NLF Thumbnail

Nobody Likes to be on Fire

Primarily representing several different studies of online networking, this game applies several common networking techniques to allow for responsive gameplay for up to 16 players. At the start of each round, a random player is placed in the center and tasked with tagging all of the other players, converting them to their side and forcing the remaining players to survive until the time limit is reached.

Role: Network / Gameplay Programmer, Designer

  • Made iterative design changes based on tester feedback
  • Implemented smoothing, prediction, and pack compression for reliable gameplay interactions
  • Enabled collisions and projectiles in a manner to reduce calculations required by the host
Tourist Attraction Thumbnail

Tourist Attraction

A 2 hour game jam, followed by an additional week of development, allowed for the creation of these two projects. Both games are variations of Space War, and were intended to rapidly apply online networking techniques within a minimal time allowance.

Role: Network Programmer

  • Built lobby and host procedures, as well as round transitions
  • Created art assets and particle effects for both projects
  • Programmed projectile and packet sending procedures for movement and collisions
Time Tanks Thumbnail

Time Tanks

Time Tanks is a game that allowed for research into game architecture and replay functionality. While battling through levels as a tank, each time the player is destroyed they are able to restart and continue side-by-side with their previous lives.

Role: Gameplay Programmer, Designer

  • Developed tank movement, turret rotations, and projectile functionality
  • Designed levels and implemented world collisions within different environments
  • Applied AI responses to enemy tanks, allowing them to chase and dodge player attacks
  • Programmed replay functionality and ghost tanks
Coal Quest Thumbnail

Coal Quest

A simple game based on Snake, focused on developing clean and effective architecture to readily implement new features and adjustments to gameplay within each level.

Role: Game Engine Programmer

  • Researched nodes and connections to set the foundation for the train grid
  • Programmed the grid system, collectible items, and unique abilities
  • Created art assets and level design for the train features

2012


Guardian Nimbus Thumbnail

Guardian Nimbus

Guardian Nimbus is a game designed to portray several different 2D graphics techniques. These include shaders, particle effects, animations, and parallax. The player controls several different weather abilities, and must protect the flower in the center from bunnies attempting to devour it.

Role: Gameplay / Graphics Programmer, Designer

  • Designed base game flow and art assets
  • Designed and programmed lightning, tornado, snow, and rain particle effects
  • Implemented several language options within the game's menu system
Back to Top