CMPS 179 Projects -Kinect

These are games I made for CS 179 Game Design Practicum, with a focus on Microsoft Kinect development.  
The idea behind the class was rapid game development, so projects were split up into 3 sprints, each 3 weeks long.
For each sprint we had a list of themes to build off of.

Sadly, I can't put these up to play (and they'd require a Kinect), but here are the videos for each

Phantom
    Phantom is my first game for the class, worked on independently.
The theme was "Interactive pet," so I decided I'd base it around my Uber-Marionette character.
It didn't end up being much of a game at first, so I turned into a Redlight/Greenlight style game, were you had to appease the creature with various motions. 
If you succeed, it becomes happy and you win.  If you fail, it becomes angry, and devours your soul.
The game picks randomly from 4 preset personalities, and the player has aggressive or submissive actions they can take.

Phantom

Aggressive Actions:
Waving hands above your head
Punching

Passive Actions:
Crossing Arms over chest
Holding hands above head

Neutral action:
Looking away from screen-causes Phantom to move forward, can be used as a way to accelerate the phantom's movement, and also a way to punish the player for not paying attention and looking at their cheat sheet



A Curious Robot Oddity
    My second game, made in Unity 3, which got extended into the final project (that's the version shown).  I worked with Jason Judd-Roth for the initial sprint/general concept. Adam Burns and Rob Giusti joined us for the final iteration.

    The theme we had to work with was "Curiosity," which was initially a very challenging idea to design around.  In the initial sprint, Jason and I came up with plenty of game ideas centered around curiosity (A few of which I would very much like to revisit).  Unfortunately, very few of these ideas incorporated Kinect in an interesting or meaningful way.  Those ideas that did incorporate Kinect seemed more like simple experiences.

    Ultimately we gravitated towards the idea of a branching narrative, where you'd be encouraged to explore what actions you can take.  These actions range from obeying or disobeying your AI partner, to shooting out the lights in a given room.  Your character is a robot undergoing product/compliance testing administered by your AI partner, which mostly evolved out of us using a text-to-speech API.  Slightly Portal-ish, but there isn't much you can do to address the fact that the voice sounds robotic, beyond making the voice robotic.
I did primary programming for several of the rooms, and added a few models(The robot arms and fist room being the most significant).

A Curious Robot Oddity

    We really wanted to focus the controls on very simple movements that corresponded, as much as possible, to player actions.
We really felt the Kinect was at it's most satisfying when the player's actions correspond directly to what they are doing in the game.
Our laser tool was controlled by the player extending their arm.  The Robot arms mapped directly to the player arms, which gave the player some sense of unity with their character, and also allowed the laser(and similar flashlight tool) to be aimed intuitively. 
The Robot was on an assembly line of sorts, so we never needed to deal with movement beyond very simple things like dodging left/right, or jumping forward(as we felt that full movement was one of the hardest things to control in a satisfying way with Kinect).

    Overall, the game turned out nicely, and offered a decent amount branching (for having been constructed in 6 weeks).  I think the point we most shot ourselves in the foot was at the 3 week mark (the transition from sprint 2 to sprint 3).  We wanted to further utilize the Kinect functionality, so we planned to make each room a mini-game of sorts, such as the conveyor belt room, where you had to dodge obstacles (or throw yourself off the path).  It was a good idea, but probably not the most practical one given our time constraints.  The main problem with this being that we were creating new game mechanics from scratch, which took time away from refining the mechanics we already had and polishing everything.