Most of the time, I am a software engineer.
I love music and good time, but what keeps me waking up every day is to create memorable interactive experience for every guest.
Film cinematography has the function of eliciting emotions from the audience. It influences not only how scripts are written, but also how the director chooses to direct the movie.
To improve one’s skills about cinematography, we believe that practice makes perfect. However, setting up a film set with real props and actors is really expensive and not easily available to most of the novices.
In this virtual film set, a user can act as a director, photographer, or an editor.
The user can decide the number of cameras that should be placed by observing the whole film set from the god’s perspective and the storyboard
The user is able to determine where to place the cameras in order to have the desirable framing. We also provided dynamic tracking camera system for the user.
The user is expected to arrange the story by composing a sequence of shots from the various camera streams.
The system was developed using Unity 3D and runs on HTC VIVE. While operating the virtual film set, a user simply puts on the headset and interacts with the set using the two hand controllers.
Here are several small games created on the course: Computer Game Programming (15-466/15-666) at CMU. Those games were fully implemented by C++, featuring OpenGL.
Thomas Wrabetz, Hao Chen, Liang-Yen Chou, Chih-Hsuan (Wish) Kuo
You are a six legged housekeeping robot, and there are some drunk people either standing or lying on the ground. Try to throw all of the drunk people into the trash bins!
Leo Chou, Wish Kuo
It's a battle field for multiplayers(two for now) to control the tanks and fight against each others.
There are 1 server and 2 clients (Player01 / Player02) in this game. Each time when a state change, for example, any control keys down or up, the package will be sent from the client to the server. Each package contains an identifier ('b' for keyboard event, and 'f' for being hit event) and the content. A 'b' package contains keyboard status and counters, while a 'f' package contains current score for both players.
After the client sends the msg to the server, it will reply a package recording all the game status, including keyboard status, event counters, current score for both players.
You are attending a big eater! However, while approaching to the end of the game, you are required to finish the last four dishes in order.
Leo Chou, Wish Kuo, Wizard Hsu
I'm so hungry, let me eat all the carrots!
How The Asset Pipeline Works
Built from asset_generation.cpp. Read ast_list.txt to process .png files in the list. PNG files will be converted to .asset files. During gameplay, the game loads .asset files to process tiles and palette via PPU.
Just walk and explore the world.
Try to hit rectangles with the ball in the same color, the color of the ball will change after each time it hits the rectangles.
Lyraflo is a student pitch project at the Carnegie Mellon University’s Entertainment Technology Center (ETC) discovering how interactions, visualizations, and gameplay can be used to convey music theory concepts in virtual reality.
Project website: https://projects.etc.cmu.edu/lyraflo/
The user can grab the note and hear the pitch at the same time, and then release the note by release the trigger on the controller.
The slingshot is designed as a C major scale, therefore, the user can get a sense of how does a scale sound like.
The accordion is implemented through Bezier curve. The user can interact with the accordion by horizontal squeezing and stretching.
The user is able to pump the correct note into the air pipe by the accordion.
The Vlight project is to create an edge-native AR game by integrating innovative technologies including AR, AI, and edge computing and carry out data analysis to benchmark the performance of the game.
Project website: https://projects.etc.cmu.edu/v-light/
Building Virtual Worlds (BVW) is a course from Carnegie Mellon University. It challenges students to work quickly, creatively and collaboratively. Using rapid prototyping and communication across roles to complete sprints within a tight time frame.
BVW gives small teams of students, 5 team members (2 programmers, 2 artists, 1 sound designer), two weeks to create a virtual world, with new groups and goals for each round. It all culminates in a public festival to hundreds of spectators.