Yichen Shou


Hi, I'm Yichen, but you can call me Ethan!

I am a Master's student studying Computer Graphics and Game Technology at the University of Pennsylvania, where I also studied Digital Media Design as an undergrad. I like to follow my dreams: my last one got me to take a gap year to teach English in rural Japan. My current dream is to work in the video game industry, as I have been playing games for 10+ years and making them in my free time for 5+ years. If you have a cool game you could use some help making, email me at yichenshou@gmail.com.

Here is my resume.

Find Me On Other Sites

linkedin youtube github




Towerbeats is a rhythm-based tower defense game where every tower you build contributes to the soundtrack so that every level is also a unique song that you're mixing by just playing the game. The game was original a 2018 Global Game Jam submission that I made in 48 hours, but I've since been working on fleshing the idea out. The game is being developed using the Unity game engine and C#. You can download a demo of the game here! (Windows only)



Spacero is a 2D mobile game where you control an astronaut who must defend his space ship from incoming asteroids. The game is based on a "best runner-up game" local multiplayer browser game I made during the Penn Play game jam. The game is all about using the orbit of planets to get around the map smoothly and pushing planets into each other to blow them up. The game was developped using the Unity Game Engine and C#.

Space Escape

Space Escape is an Oculus Rift/Leap Motion VR game set in space where you guide an astronaut to safety with your own hands. Your hands are scanned into the game using a Leap Motion strapped to an Oculus Rift headset. The game was developped using the Unity Game Engine and C#. Click on the thumbnail to watch a video demo of the game.


chARge is a mobile local multiplayer augmented reality jousting arcade game (I know it's a mouthful). You can play the game anywhere as long as you scan in a printout of the anchor image. The goal of the game is to control your knight character to knock out all the other player's knights while collecting power ups and avoiding traps. Your knight's movements are directly mirrored from your physical movements about the battlefield. Watch the trailer by clicking on the thumbnail on the left.



QuikDeform - Autodesk Maya Plugin

QuikDeform is a plugin for Autodesk Maya that generates realistic and accurate physics-based animations for any arbitrary 2D or 3D mesh. The plugin implements the continuum-based Projective Dynamics method to reproduce physically accurate animations that you can easily tweak and customize. QuikDeform was developed in a group using C++ and Visual Studio. Click here for a full video demo.

Cloth Simulator

The cloth simulator implements the Position-based Dynamics method to generate realistic-looking cloth simulation in real time. The project was developed in C++. Click on the thumbnail to see a demo video rendered using Houdini.

Typographic Portrait Generator

Monte Carlo Renderer

This web app scans your social media profile and creates a typographic portrait of your using your most commonly used words and a provided picture. Using Python's Scikit-image library, the app creates a black and white image that highlights facial features by combining results from different image thresholding algorithms, then fills up the image with words using a modified version of Andreas Mueller's wordcloud library. The project was made possible thanks to help from the wonderful staff of Penn's World Well-Being Project. Read my dev-blog here, or check out my code on github.

Monte Carlo Renderer

Monte Carlo Renderer

The Monte Carlo Renderer is the final project of my Computer Graphics class and is built using C++, OpenGL and Qt. It implements rendering techniques like Multiple Importance Sampling, Global Illumination, uses data structures like K-d trees, and has features such as depth of field. Click on the thumbnails for some test renders.

All Your Words Are Belong To Us

All Your Words Are Belong To Us

"All Your Words Are Belong To Us" is a web app that visualizes the language of video game characters using MadLibs. It scans the dialogue scripts of various video games and builds a database of vocabulary for each game character, then picks out words they are likely to say and puts them into a sentence that you put it. The initial scan and database building is done in Java; the MadLib sentence generation is done in Javascript; both parts of the projects uses Stanford's Part-Of-Speech Tagger. Click on the thumbnail to try out the app.

Mini Maya


Mini Maya is a basic version of Autodesk Maya coded in C++/OpenGL with Qt. The final group project of my Intro to Graphics class, the program includes functionalities such as: vertex/edge/face selection, polygon manipulation, and a functional 3D camera. As the "deformer" of the group, I implemented free-from deformations, global deformations (e.g. twist), and the importing/exporting of OBJ files. Here's a video demo of the deformations!



The Games Of My Life Data Visualization Asian Stereotypes In Games Mandala Public Awareness Poster Melting


Self Portrait Stairs Skeleton Takeout

3D Modeling

Pixiu Unicorn Gundam GLaDOS