Collin Eye


A short narrative game about two people talking. Typically narrative games present very discrete choices to the player, usually in the form of dialogue trees. I wanted to explore the types of choices that could be made when the player has no control over what their character says. How much are they able to express thru movement and interaction with props?

Credits: Kayden Nasr, Asa Rodriguez, G William Boyd.

Instead of delivering the line all at once, the player delivers it word by word.

Technical Details

A game about acting relies on expressive and interesting animations, so the majority of my work was creating an animation system.

Animations are controlled by an animation graph script which uses a layered state machine. Each layer can be in a node at any given time. Arcs specify which transitions a node can make, and what messages it needs to receive from the game to begin the transition. It supports continuous and frozen cross-fades.




The technical achievment I'm the most proud of is the IK system. The game in its present form does not feature stairs or inclines of any kind, but it does involve a lot prop interactions and even interactions between the characters.

Initially I tried an iterative approach to solving the IK chain using Cyclic Coordinate Descent. This yielded fine results, but it felt a little robotic, and the code was pretty unrefined. Before improving the implementation I wanted to take a fresh crack at it from first principles.

What I found was that the solution I needed was almost always about getting the arm to a point. There's some interesting things we can leverage there. First, we can create a plane between our destination point and our shoulder. Then on that plane we know that the start of our forearm must lie some where on a circle around the point, where the radius of that circle is the length of our forearm. If we also take a circle centered at our shoulder, with radius equal to bicep length, then we have 2 possible points where our forearm can be, and it's as simple as picking the one that rotates our forearm the least.

This system was used to animate the player grabbing a glass, reaching for a door knob, and for Liddy placing her hands on the player's shoulders.