Professional
Works
|
|
|
|
 |
|
The Sphere,
Las Vegas
Sphere
Entertainment, Madison Square Gardens
The Sphere in Las Vegas is a new kind of
immersive entertainment venue. The outside
is a 360-degree animated display that
dominates the Vegas skyline. Inside is an
18,600 seat theater with a 16K screen that
wraps around the entire audience, offering
new ways to present films, live
performances, and interactive media.
I am a Senior Engineer on the Interactive
Media Team at Sphere Entertainment. We are
building games and other interactive content
for visitors. Check back to see info on
completed projects, soon!
|
|
|
|
 |
|
Humans are being captured and sold as a
powerful drug. Journey across the the
universe with your talking guns to take out
the alien drug cartel.
I worked on a lot of the end game content,
including the final boss fight, the ultimate
player weapon, and hunter challenge systems.
|
|
|
|
 |
|
Moxie is a robotic companion for children.
It can have conversations, play games, tell
stories, and teach kids positive life
lessons.
I wrote various games and conversation
pattern rules to help Moxie interact in
natural ways with people.
|
|
|
|
 |
|
Grab a drink and tune into this Adults-only
dinner-theater game show based on classic
rock music and culture.
I wrote a bunch of mini-games, sped up
network communication via multithreading,
and wrote image parsing and scoring
algorithms for a game where you draw
genitals on a concert bathroom wall
(Seriously).
|
|
|
|
 |
|
An Oculus Quest VR skydiving experience
using cables and fans to create a real sense
of falling. I wrote the VR game software.
|
|
|
|
 |
|
A projection-mapped target game where
players try to throw real and virtual balls
into scoring holes for points. I wrote all
of the game software, including in-game
mapping tools to line up the virtual
elements with their real-world
counter-parts.
|
|
|
|
 |
|
Learn how to perform high-risk invasive
surgery in minutes, just feet away from a
fully stocked bar!
I wrote countless mini-games, added tons of
multi-threaded optimization for the network
code, and provided the voice of "Ken", the
surgery victim patient.
|
|
|
|
 |
|
Spin giant circus ball controllers to bump
the other players off of the platform in a
king-of-the-hill combat game.
I wrote the gameplay code and firmware for
the circus ball trackball controllers.
|
|
|
|
 |
|
Throw a wrecking ball at the screen to knock
down buildings and score points.
I wrote code for gameplay, procedural level
creation, force-feedback rumble floors,
sensor communication, and automated testing.
|
|
|
|
 |
|
The classic carnival balloon game, but with
match-3 mechanics and computer vision. I
wrote PLC communication scripts over Modbus
TCP to blast air at players when they hit
balloons, activate stage lighting, and raise
or lower a pneumatic platform.
|
|
|
|
 |
|
Get ready to sweat while moving to some
awesome beats! Pose to hit the green blocks
for points, but don't hit the red ones!
I added a social media sharing system to
share videos of the player's real-world
dance moves after the game ends.
|
|
|
|
 |
|
AVOID MINES FOR HIGHSCORE. The longer you
survive, the higher you climb on the
leaderboards. How high can you climb?
I wrote most of the key systems including
player control, mine spawners, and the
chain-reaction scoring system.
|
|
|
|
 |
|
You are a machine built to battle! Wind up
and slam into the other bots to get the high
score in this networked 4-player combat
game.
I wrote all of the networked gameplay code
including player controllers and physics.
|
|
|
|
 |
|
I wrote the joystick firmware for the Two
Bit Circus VR POD version of Rebellion's
Battlezone (And for several other park
attractions as well).
|
|
|
|
 |
|
I wrote several VR-enabled vehicular motion
simulator game prototypes for Two Bit Circus
attractions.
|
|
|
|
 |
|
A mobile VR on-rails shooter where you drive
a tank. I developed camera, weapon,
and vehicle systems.
|
|
|
|
 |
|
Push buttons, turn cranks, pull levers, bop
punching bags, and do whatever else you can
to raise the score to 1 Billion points!
I wrote the gameplay code and communication
with all of the various widgets.
|
|
|
|
 |
|
Use your facial expressions to help
creatures in a fantasy land.
I helped fix bugs and build in gameflow to
get the game ready for production.
|
|
|
|
 |
|
Travel back in time with the mysterious Deja
Cube! Meet famous historical figures, then
use the widgets on the faces of the cube to
solve puzzles and help them with their
problems.
I wrote most of the Python gameplay-side
logic, including a bunch of cool minigames.
|
|
|
|
 |
|
Gather a group of brave adventurers to slay
monsters and match like-colored gems! I
wrote pretty much everything that deals with
the puzzle half of the game.
|
|
|
|
 |
|
Explore the city in a classic Metroid-vania
style action adventure. I programmed boss
and enemy AI, and implemented a
coroutine-based scripting language for
allowing rapid programming of advanced
entity behaviors. |
|
|
|
|
|
Adventure
Time: Explore the Dungeon Because I
DON'T KNOW!
For
WiiU, XBox 360, PlayStation 3, 3DS,
and PC
Explore the
dungeons underneath the Candy Kingdom and
stop the prisoners from escaping. I
programmed two of the game's boss scenes.
|
|
|
|
|
|
The Smurfs
2
For
Wii, Wii U, XBox 360, and PlayStation
3
Help Papa and
the rest of the Smurfs rescue Smurfette
from Gargamel! I worked on coding the AI
and attack patterns for some of the
enemies and bosses, backend elements like
loading screens, and lots of other various
gameplay elements.
|
|
|
|
|
|
Lalaloopsy:
Carnival of Friends
For
Nintendo DS/3DS
Help Peanut
Big Top get everything ready for the
carnival! I programmed a lot of
behind-the-scenes memory managemnet issues
and added in the bonus game segments.
|
|
|
|

|
|
Race your friends around your actual
neighborhood using GPS in search of
virtual poker cards. This was created for
the Berkeley Center for New Media to be
used as a tool for exergaming and city
planning research. The game is available
now for Android cellphones.
|
|
|
|
 |
|
Generate beautiful, dynamically shifting
patterns on your Android cellphone's home
screen with this FREE live wallpaper app!
The visualizations use user-specified
cellular automata rule sets to create
dancing lights and flashing colors as the
cells move, grow, and evolve. |
|
|
|
|
|
|
|
Personal
Works
Below includes
school and hobby projects ranging
across art, gaming, and robotics.
|
|
|
|
 |
|
This is a prototype for a iPad storybook
written in HTML5 and Javascript that is
meant to teach children about the flu.
Children can learn by watching the pages
come to life through silly animations and
through playing games. |
|
|
|

|
|
A research project for the Berkeley EECS
Hybrid Systems Lab
to play capture the flag with robots.
Players communicate with a central server
using GPS enabled cell phones that also
track the players movement. The phones are
used to send reconnaissance commands to
the STARMAC quad-rotor helicopters and
display optimal
movement suggestions for the human
players.
|
|
|
|

|
|
A robotic tank finds its way through a
model city to a target. When the target is
within range, the tank fires a toy missile
at it. The tank receives information about
the target via a camera ("Satellite")
placed above the city that tracks fiducial
markers on the robots. City buildings are
detected using IR sensors on the robots.
|
|
|
|

|
|
I competed in the National Semiconductor
intercollegiate autonomous model racecar
competition with a group of friends. The
car had to follow a path defined by a wire
carrying a 75k-Hertz signal. My team built
electro-magnetic sensors into the front
bumper of the car to detect the signal and
control software to steer the car based on
this input. We also wrote code to memorize
the track so that subsequent laps of the
race could be performed in even faster
time.
|
|
|
|

|
|
The BMO Buddy is an on-going
personal project to make a real
life version of the robot/game
system hybrid from the cartoon
Adventure Time. Custom electronic
circuits, special interchangeable
software systems, and 3D modeling
are all involved to make BMO as
functional and adorable as in the
show.
|
|
|
|
 |
|
This is a cartoon made entirely in
Maya. Starting with no previous
experience, I modeled, rigged, and
animated, and then edited the
entire production. |
|
|
|

|
|
A friend and I designed this augmented
reality version of Pong for the Xilinx
Virtex V FPGA. A webcamera tracks colored
markers held by each player and moves the
corresponding paddles to match their
positions. A bluescreen paints a backdrop
behind the players and makes them feel like
they are really in the game. Custom image
compression algorithms were written in order
to fit all of the animated graphics into our
unforgiving memory constraints.
This was made as the final project for a
Digital Design class. Our submission
received the highest grade in the class and
won my partner and I our own FPGAs as
prizes.
|
|
|
|

|
|
A blind PacMan hunts for ghosts with a
particle filter. Using Markov chains and
Baysian Inference, Pacman listens for the
ghosts and tries to find and eat them. The
brighter the square is, the more likely
Pacman believes the ghost is hiding there.
This was done with a friend as part of an
artificial intelligence class.
|
|
|
|

|
|
You play as a paint mixing robot. Each
time the factory gives you a target color,
you need to toggle the primary color
spigots to produce that color. You do this
by grappling color bubbles with your
tractor beam and colliding into them or
swinging past and using the resulting
momentum to shoot yourself off towards
other bubbles. Flawless play results in
score multipliers. Go for the high score!
|
|
|
|

|
|
As the brave Sir Ball, bounce your way
accross perilous platforms and through
dangerous traps. Move your paddle warriors
into strategic positions to help you cross
gaps and climb to new heights. This obscure
re-imagining of the classic arcade game
requires strong puzzle solving skills and a
bit of ambidextrousness.
|
|
|
|

|
|
In this dodgeball-style game, players move
their "Spit-Baller" using Wii Nunchuck
controllers and attempt to hit each other
with spitballs. The longer a ball is held,
the faster it will fire. Hold the ball too
long, however, and your baller will implode!
Catch three of your opponent's thrown balls
in a row to unleash a devastating Super
Attack!
|
|
|
|

|
|
Create a maze by "painting" a seed onto
your map and watch it grow via cellular
automation. Then try to find your way to
the exit. You can make the path more
complicated by putting down waypoints that
the solution has to pass through.
|
|
|
|
 |
|
Take turns
placing pieces on the board, or try
converting your opponent's pieces to your
color. The player with the most pieces
remaining when the board is filled is the
winner. You can even enter an IP address
of a friend to play the game online!
This was originally part of a month-long
school project for a Data Structures
class. I finished the project two weeks
early so I could spend the remaining time
building a graphical user interface. My
submission received the highest grade in
the class. |
|
|
|
To see
older works and more school and hobby
projects, click ALL Works. |