Yichen Shou


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

I'm a senior majoring in Digital Media Design and minoring in East Asian Languages and Civilization at University of Pennsylvania. I am a programmer, artist and designer with some side website and video projects. In my free time, I love to play/make video games, lion dance, and blog about my study abroad experience in Japan. My dream is to one day work in the video game industry, but for now I'm planning to move to Japan after graduation to either program or teach English!

Resume here.

You can reach me through my email:

Find Me On Other Sites

linkedin youtube


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; better quality renders are on its way!


chARge is a local multiplayer augmented reality jousting game that you can play on your phone. Augmented reality means that as long as you print out the provided image and scan it using your phones camera, the game will spawn the game field anywhere you want! 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, so be prepared to move fast! Watch the awesome trailer by clicking on the thumbnail on the left.



Spacero is a competitive 2D PvP game with simple rules and even simplier controls. The game was created during a 36 hour period for the 2015 PennPlay game jam with a team of two using Unity and C#. Key game mechanics include traversing through space by blowing up the planet you're on to create force, finding and collecting more energy orbs than the enemy player, and making split-second decisions during quickdraw events where whoever reacts faster wins. Try the game out here!

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.

Fridge Manager

Fridge Manager

The ultimate app that you didn't know you needed until now, Fridge Manager is an android app that helps you track everything fridge-related from expiration dates of food items, recipes to grocery lists. The app also allows you to look up recipes online and directly add their ingredients to your grocery list; it even lets you quickly add the foods that are going bad soon to your grocery list so you can restock easily. The app was created as the final group project for my software design class; I personally implemented many features such as drag and drop, filtered recipe searches and notifications.

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