Shan Huang

16 Jan 2014

Hello world!

I am Shan, a senior in Computer Science and Human Computer Interaction. I am a programmer who also happens to draw and paint. Exploring the intersection of Computer Science and Art has always been a great enjoyment to me. Honestly speaking my interests in both fields originated from playing video games (and I know I’m not alone in this haha). There were so many epic moments in games that made me think “Ahhh, I wish I could make this”. I started by attempting implementing character control via keyboard in middle school, and this eventually led me to systematically study CS as a CS major while keeping sketching and painting. Of course I know both CS and Art are so much more than game developing, but it’s game that brought me here.

Nowadays I like to make cool stuff in my free time, game related or not. This includes coding cool looking things like particle systems and simulations, tools for procedurally generating cityscapes with night illuminations, tools for generating animated impressionism paintings from photos, and adding touchpad control to unexpected things (for example robotic arms). Here is a project from last semester that I especially like. It is a hackathon project called Super Duper Mario:

The project is basically an augmented reality version of Super Mario. It is an Android phone game implemented with Android SDK, pretty standard stuff. In this game we turned the real world into our game world by running edge detection on camera input and using the edges as platforms for Mario to jump on. The idea was simple, but we had a lot of fun implementing edge-based platform generation and combating noise from the real world.

The motivation of this project was to escape from level design. Because my level design skill is kind of horrible, I tend to work around level designs by building levels from existing matters (like maps, photos, large data sets). Super Duper Mario follows the same rationale. However, it doesn’t mean the game excludes level design. To the contrary if you are interested in creating your own level, it’s as simply as drawing down your level on a piece of paper and point your camera at it. This is a cool aspect of the game that the video doesn’t demonstrate ;) You can even form levels with your body, or your friend’s body (in which case it would become a cooperative game in which the other player “holds” Mario for you). There are a lot of exciting things you can potentially do with the game mechanism, and I wish to revisit this concept some time in the future to further polish it.