大學作業|University Coursework
Obviously, this is not a comprehensive list, and a college curriculum comprises of many, many, many more assignments. However, here are a select few that stand out in memory.
Sound Design
Work I did include producing a podcast clip, a music mix, a foley of a movie clip, and a found sound interpretation of a haiku. All pieces of sound/music composed using Pro Tools. 1
Introduction to Computer Graphics
A basic mesh generation and processing utility that is capable of building triangle meshes to approximate some simple curved surfaces and texture mapping. It reads and writes meshes stored in the popular OBJ file format. 2
Design and Programming for the Web
We found a local electric bike business and implemented their new website. Functionalities include search queries, adding items to a wishlist, reviewing a bike, and upvoting user reviews. 3
Advanced Topics in Computer Game Architecture
Dive is an action-puzzle mobile game written in C++. The player plays as a godly spirit who overlooks an underwater city called Neropolis. The goal is to use your divine powers to shift the underwater landscape and escort a diver to your ancient lost city.
I am the software lead of Singularity Games, a team of seven students (Alina Robin, Anna Rice, April Chen, Haoming Wu, Jacob Rauch, Zachary Silliman and myself). My work consisted of specifying the game architecture and class interfaces, implementing UI, and designing levels. I also created art assets and promotional materials. 4
Production Laboratory
Worked in stage production for a semester, doing scenery design and lighting. I painted the ground and the walls, hung grid lights, did woodwork and metalwork, and broke a Phillips screw. 5
Screenwriting
I wrote a couple of weird screenplays: The Narrator and Chrononautics Device I.001. 6
Analytics Driven Game Design
Dripdrop is a semester-long game project made using Unity by Beeeeeep Studios, a team of six students (Carina Crabbe, Cindy Wang, Tyler Etzel, Heather Zhu, Annie Zhang, and me). We collected gameplay data throughout a number of releases and used data analysis to improve the mechanics and gameplay experience with each iteration. 7
You can play Dripdrop on Kongregate.
Computer System Organization and Programming
A 5-stage fully pipelined MIPS processor with basic R-type, I-type, and J-type instructions, implemented using Logism. 8
Data Structures and Functional Programming
CamlMessage is a peer to peer, console texting application written in OCaml. Functionalities include sending and receiving messages, adding friends, spellcheck, word suggestions, shortcuts, ad-hoc encryption, group chats, and more. I worked on CamlMessage with three other programmers (Brian Voter, Leeds Rising, and Matthew Gianetta) as the open-ended final project for this course. 9
Visual Imaging in the Electronic Age
Shrine VR is the final project of this course, which I worked on with Elder Bekpulatov and Jordan Stern to create a fantasy landscape that one can explore using a VR set. I built all the models in the virtual reality world using Blender (and for one specific model, using Autodesk Recap photogrammetry software). The world is created and the lighting is built using Unreal Engine. As for physics, besides simple movement, collisions, picking up and throwing items around, the player can also shoot portals on certain surfaces so that objects, including the player, can go through one portal and resurface from another (inspired by the Portal series). This was my first time using the Oculus Rift and doing 3D modeling! 10
Light and Image
The class covers location lighting, kit lighting, and grid lighting—the major segments of lighting for the film and video industry—as well as camera framing. All work is mediated. 11