Final Project Art Contest Selection

Project Award Winners

Dream World: Meditation Simulation
Elizabeth Petrov, Lydia You, Lauren Johnston, Joanna Kuo
🏆 Best Overall Award
💡 Innovation Award
🏛️ Hall of Fame
Best Overall Award (Students' Choice)

This project entails the creation of a Javascript-based world simulation for focused meditation. We hypothesized that we could facilitate the meditation process by designing a dream-like world in which users can customize their own calming terrain through the perspective of a flying bird while listening to peaceful music and guided meditations.

With the COVID-19 pandemic affecting more people each day, we wanted to explore ways to remain calm and reduce stress through meditation. We were successful in our goal of creating this simulation, and in particular achieved our target results: the implementation of infinite terrain generation, realistic bird movement, and music and terrain (i.e. audiovisual) coordination.


This project entails the creation of a Javascript-based world simulation for focused meditation. We hypothesized that we could facilitate the meditation process by designing a dream-like world in which users can customize their own calming terrain through the perspective of a flying bird while listening to peaceful music and guided meditations.

With the COVID-19 pandemic affecting more people each day, we wanted to explore ways to remain calm and reduce stress through meditation. We were successful in our goal of creating this simulation, and in particular achieved our target results: the implementation of infinite terrain generation, realistic bird movement, and music and terrain (i.e. audiovisual) coordination.

Solar System Survey
Zak Dasaro, Jason Kim
⚙️ Execution Award
🥈 Best Overall Runner-up
🏛️ Hall of Fame

The goal of this project was to create a graphical representation of the solar system, including its planets, major moons, and other prominent objects like dwarf planets, asteroids, and comets. In this program, planets are accurately positioned in the simulation according to their orbital data, so the user can see an accurate spatial layout of the solar system. Celestial bodies are rendered with great visual accuracy, using available textures and carefully tuned reflection models. The user may move the view throughout the solar system, zoom in on different objects, and look around using mouse controls.


The goal of this project was to create a graphical representation of the solar system, including its planets, major moons, and other prominent objects like dwarf planets, asteroids, and comets. In this program, planets are accurately positioned in the simulation according to their orbital data, so the user can see an accurate spatial layout of the solar system. Celestial bodies are rendered with great visual accuracy, using available textures and carefully tuned reflection models. The user may move the view throughout the solar system, zoom in on different objects, and look around using mouse controls.

Driver's Ed
Dora Zhao, Karen Ying, Sharon Zhang, Brandy Chen
🎨 Art Direction Award
🥉 Best Overall Runner-up
🏛️ Hall of Fame
Art Direction Award (Students' Choice)
Best Overall Runner-up (Students' Choice)

This fall semester, Princeton University is offering a new class DRI 101: Driver’s Ed. Our game, Driver’s Ed, is an infinite-runner game in which a player controls a car driving down Washington Road. Each player is given three lives (or three chances in the class), and every time they hit an obstacle they lose a life. The player uses the arrow keys to dodge the obstacles— pedestrians, crossing animals, and other cars— all while trying to collect coins.

The goal of the game: get as many coins as possible without getting kicked out of the class. Driver’s Ed uses computer graphics concepts, such as polygonal meshes, light rendering, and collision modeling, to create an enjoyable and aesthetically-pleasing game for players.


This fall semester, Princeton University is offering a new class DRI 101: Driver’s Ed. Our game, Driver’s Ed, is an infinite-runner game in which a player controls a car driving down Washington Road. Each player is given three lives (or three chances in the class), and every time they hit an obstacle they lose a life. The player uses the arrow keys to dodge the obstacles— pedestrians, crossing animals, and other cars— all while trying to collect coins.

The goal of the game: get as many coins as possible without getting kicked out of the class. Driver’s Ed uses computer graphics concepts, such as polygonal meshes, light rendering, and collision modeling, to create an enjoyable and aesthetically-pleasing game for players.

Cat Dash
Xi Chen
👻 Spirit Award
🏛️ Hall of Fame
Best Overall Runner-up (Students' Choice)

Endless runner games have become increasingly popular in recent years. Inspired by the successful work of Temple Run and Subway Surfers, I implemented a similar game called Cat Dash, where players control a cat to avoid obstacles and earn rewards. To enrich the game interface, scenery are randomly generated and spawned along sides of the cat’s moving tracks. Optimizations have been done to guarantee the game’s playability and compatibility, and enhance algorithm efficiency.

Based on the comprehensive experiments and tests, the game runs smoothly and bug-free with different screen sizes and browsers.


Endless runner games have become increasingly popular in recent years. Inspired by the successful work of Temple Run and Subway Surfers, I implemented a similar game called Cat Dash, where players control a cat to avoid obstacles and earn rewards. To enrich the game interface, scenery are randomly generated and spawned along sides of the cat’s moving tracks. Optimizations have been done to guarantee the game’s playability and compatibility, and enhance algorithm efficiency.

Based on the comprehensive experiments and tests, the game runs smoothly and bug-free with different screen sizes and browsers.

Chromatic Arrow
William Li, Anna Qin, David Todd
💻 Interaction Award
🏛️ Hall of Fame

Chromatic Arrow is an archery-based web game developed using the ThreeJS library. Its core gameplay consists of shooting arrows at targets that randomly spawn in 360 degrees around the player. Arrows follow the laws of physics, so the player must account for gravity and wind while aiming. There are also invisible barriers throughout the scene that will block the player’s shots; barriers are revealed by paint splatters whenever an arrow collides with them.

The more the player shoots, the more of the level is uncovered. Points are scored by hitting targets and revealing barriers before time runs out.


Chromatic Arrow is an archery-based web game developed using the ThreeJS library. Its core gameplay consists of shooting arrows at targets that randomly spawn in 360 degrees around the player. Arrows follow the laws of physics, so the player must account for gravity and wind while aiming. There are also invisible barriers throughout the scene that will block the player’s shots; barriers are revealed by paint splatters whenever an arrow collides with them.

The more the player shoots, the more of the level is uncovered. Points are scored by hitting targets and revealing barriers before time runs out.

Raymarching with Signed Distance Fields
Jake Waksbaum, Benjamin Huang, Anvay Grover
🧠 Technical Achievement Award
🏛️ Hall of Fame
Technical Achievement Award (Students' Choice)

We explore an alternative technique to raytracing for rendering 3D scenes called Signed Distance Field Raymarching that represents the entire scene using a signed distance field (SDF) that maps each point in space to the distance to the nearest object. We are able to implement comparable features to the raytracer in assignment 3 at near real-time frame rates (10-30 FPS). We also render a scene that would be infeasible to produce with raytracing due to its recursive nature.

We highlight the composable nature of the SDF representation by building an editor that allows users to build complex shapes by composing primitives with transformations.


We explore an alternative technique to raytracing for rendering 3D scenes called Signed Distance Field Raymarching that represents the entire scene using a signed distance field (SDF) that maps each point in space to the distance to the nearest object. We are able to implement comparable features to the raytracer in assignment 3 at near real-time frame rates (10-30 FPS). We also render a scene that would be infeasible to produce with raytracing due to its recursive nature.

We highlight the composable nature of the SDF representation by building an editor that allows users to build complex shapes by composing primitives with transformations.

Going Viral
Jeongmin (JM) Cho, Claire Guthrie, Heidi Kim, Oliver Schwartz
🤪 Meme Award
🏛️ Hall of Fame

Going Viral is a COVID-19 themed arcade-type survival game. You, the player, control a healthy white cell while trying to avoid infection by enemy virus particles. You control your cell with the arrow keys and the spacebar (to jump). As you successfully complete levels, the game becomes more difficult, challenging the user to be more daring. Stay Healthy!


Going Viral is a COVID-19 themed arcade-type survival game. You, the player, control a healthy white cell while trying to avoid infection by enemy virus particles. You control your cell with the arrow keys and the spacebar (to jump). As you successfully complete levels, the game becomes more difficult, challenging the user to be more daring. Stay Healthy!

Pac-Atac
Jerry Zhu, Daniel Wey, Michael Fletcher, Hollis Ma
🎮 Gameplay Award
🏛️ Hall of Fame

Pac-Atac is an exciting first person shooter game inspired by nostalgic Pac-Man aesthetics and first person shooter classics. Players play as Pac-Man and attempt to survive for as many waves as possible by shooting cherries and other assorted fruits to defeat the unrelenting ghosts.

Developed using ThreeJS, Pac-Atac reconciles dynamic game-design and visually-exciting graphics concepts to promise an action-packed 2.5D experience in the spirit of Pac-Man.


Pac-Atac is an exciting first person shooter game inspired by nostalgic Pac-Man aesthetics and first person shooter classics. Players play as Pac-Man and attempt to survive for as many waves as possible by shooting cherries and other assorted fruits to defeat the unrelenting ghosts.

Developed using ThreeJS, Pac-Atac reconciles dynamic game-design and visually-exciting graphics concepts to promise an action-packed 2.5D experience in the spirit of Pac-Man.

mpThree.js
Hanson Kang, Greg Umali, Johan Ospina
🎧 Audio Award
🏛️ Hall of Fame
Audio Award (Students' Choice)

mpThree.js is a music-adapting retro racer that is powered by YOUR music. Users upload their own .mp3 files, and the game elements interact with the music to create a unique experience. Over the course of the song, players avoid red ‘death spheres’ and try to collect gems and power-ups to rack up as many points as they can.


mpThree.js is a music-adapting retro racer that is powered by YOUR music. Users upload their own .mp3 files, and the game elements interact with the music to create a unique experience. Over the course of the song, players avoid red ‘death spheres’ and try to collect gems and power-ups to rack up as many points as they can.

2020: A Princeton Space Odyssey
Jessica Edouard, Emmanuel Teferi, Justin Tran, Henry Wang
🏛️ Hall of Fame
Gameplay Award (Students' Choice)

Princeton 2020: A Space Odyssey is a space flight game where the player must navigate an ongoing asteroid field while also collecting enough fuel to survive. Players can hope to join an exciting, flight-centered space adventure.

Pilot a spaceship flying through outer space as you attempt to warp home by collecting fuel charges. The primary objective will be achieved by the player collecting fuel charges as they spawn while avoiding flying asteroids or picking up power-ups to become invulnerable to asteroid collisions.


Princeton 2020: A Space Odyssey is a space flight game where the player must navigate an ongoing asteroid field while also collecting enough fuel to survive. Players can hope to join an exciting, flight-centered space adventure.

Pilot a spaceship flying through outer space as you attempt to warp home by collecting fuel charges. The primary objective will be achieved by the player collecting fuel charges as they spawn while avoiding flying asteroids or picking up power-ups to become invulnerable to asteroid collisions.

3D Knockout
Richard Wolf, Jonah Lytle, Jacob Schachner
🏛️ Hall of Fame

3D Knockout is a 2 – 4 player game based off of the 2D Game Pigeon game “Knockout,” in which players launch their penguin characters with specified magnitude and direction in an effort to knock the opposing player’s penguin characters off of the ice sheet that the game is played on. A player begins with four penguin characters and wins by knocking all of the opponents’ penguins off the ice sheet while having at least one of their characters remaining in the end. Each player gets one opportunity to “launch” their penguins per round, and the penguins begin to move according to the user’s instructions simultaneously at the end of the round.

In our project, we managed to implement all of the key aspects from the original 2D game into a visually appealing 3D scene containing the icy playing field, an animated ocean, mountains, and several dynamic, exotic creatures. However, we also implemented other cool features such as incorporating a scoreboard, sound effects, a rotatable camera angle, and the ability to play with 2 – 4 players.


3D Knockout is a 2 – 4 player game based off of the 2D Game Pigeon game “Knockout,” in which players launch their penguin characters with specified magnitude and direction in an effort to knock the opposing player’s penguin characters off of the ice sheet that the game is played on. A player begins with four penguin characters and wins by knocking all of the opponents’ penguins off the ice sheet while having at least one of their characters remaining in the end. Each player gets one opportunity to “launch” their penguins per round, and the penguins begin to move according to the user’s instructions simultaneously at the end of the round.

In our project, we managed to implement all of the key aspects from the original 2D game into a visually appealing 3D scene containing the icy playing field, an animated ocean, mountains, and several dynamic, exotic creatures. However, we also implemented other cool features such as incorporating a scoreboard, sound effects, a rotatable camera angle, and the ability to play with 2 – 4 players.

Hackmail
Jessica Fielding, Jamie Guo, Ze-Xin Koh, Abigail Rettew
Meme Award (Students' Choice)

Hackmail is a game where you navigate your professor’s laptop to elicit evidence of his extramarital affair so that you can blackmail him. Solve puzzles on his computer to gather enough pieces of evidence.


Hackmail is a game where you navigate your professor’s laptop to elicit evidence of his extramarital affair so that you can blackmail him. Solve puzzles on his computer to gather enough pieces of evidence.

Pool Whirl
Nsomma Alilonu, Rachel Lee, Sean-Wyn Ng, Emily Yin
Innovation Award (Students' Choice)

Our group created an infinite single-player game called PoolWhirl. The player’s objective is to navigate a teddy bear on a tube within a whirlpool. The teddy bear must avoid obstacles floating on the water and collect as many points as possible; its motion can be controlled using the left and right arrow keys.

Colliding with rubber ducks causes the bear to be knocked toward the center of the whirlpool and the player to lose points; ducks also become haloed and super-charged (more damaging) after lightning strikes. The player gains points by consuming fish. The game ends when the teddy bear is sucked into the center of the whirlpool.


Our group created an infinite single-player game called PoolWhirl. The player’s objective is to navigate a teddy bear on a tube within a whirlpool. The teddy bear must avoid obstacles floating on the water and collect as many points as possible; its motion can be controlled using the left and right arrow keys.

Colliding with rubber ducks causes the bear to be knocked toward the center of the whirlpool and the player to lose points; ducks also become haloed and super-charged (more damaging) after lightning strikes. The player gains points by consuming fish. The game ends when the teddy bear is sucked into the center of the whirlpool.

Rubik's Cube
Tyler Campbell
Interaction Award (Students' Choice)
Execution Award (Students' Choice)

My project is a Rubik’s Cube that can be controlled using both key inputs and the mouse. The cubes can be scrambled and solved. There are buttons to undo a move and reset the cube back to the original state. There are 4 options for the speed of turning the cube (slow, normal, fast, and very fast). There are 4 options for the size of the cube (2x2, 3x3, 4x4, and 5x5). There is a button that shows and explains the controls for the cube.Each color of the cube can be changed independently and the colors can be reset to the default colors. There is a PLL/OLL trainer, the algorithms that solve the last layer. The trainer shows the algorithms and how they are done. It can be used to learn and to practice. Lastly, there is an example solve, which shows the 4 steps in the CFOP method.


My project is a Rubik’s Cube that can be controlled using both key inputs and the mouse. The cubes can be scrambled and solved. There are buttons to undo a move and reset the cube back to the original state. There are 4 options for the speed of turning the cube (slow, normal, fast, and very fast). There are 4 options for the size of the cube (2x2, 3x3, 4x4, and 5x5). There is a button that shows and explains the controls for the cube.Each color of the cube can be changed independently and the colors can be reset to the default colors. There is a PLL/OLL trainer, the algorithms that solve the last layer. The trainer shows the algorithms and how they are done. It can be used to learn and to practice. Lastly, there is an example solve, which shows the 4 steps in the CFOP method.

Type Type Revenge
Christy Lee, Christine Kwon, Anabelle Chang, Donovan Coronado
🏛️ Hall of Fame

Type Type Revenge is a 3D web game built with ThreeJS to provide an interactive environment for users of various typing levels to practice their typing skills. In this game, random letters fall down the screen in time with music, and players must type the corresponding keyboard key as a letter reaches its target at the bottom of the screen. There are two song options and three levels of difficulty offered, and point values increase as the player reaches longer streaks of successfully typed letters.


Type Type Revenge is a 3D web game built with ThreeJS to provide an interactive environment for users of various typing levels to practice their typing skills. In this game, random letters fall down the screen in time with music, and players must type the corresponding keyboard key as a letter reaches its target at the bottom of the screen. There are two song options and three levels of difficulty offered, and point values increase as the player reaches longer streaks of successfully typed letters.

Honorable Mentions

3D Snake
Rachel Inman, Archana Sharma

For our final project, we decided to implement a 3D version of the classic Snake game in ThreeJS. In this version, you are a little red spherical snake in someone’s front yard. Eat the mice to get bigger, but don’t hit the fence! The game is played in first person for more ~intrigue~ and an extra challenge as well.


For our final project, we decided to implement a 3D version of the classic Snake game in ThreeJS. In this version, you are a little red spherical snake in someone’s front yard. Eat the mice to get bigger, but don’t hit the fence! The game is played in first person for more ~intrigue~ and an extra challenge as well.

3D Tetris Deluxe
Uri Schwartz, Michael Stambler, Sophie Kader

This project is a 3D representation of Tetris, written using the ThreeJS library and NodeJS. The game includes all the classic features of Tetris, along with several graphical enhancements and power-ups. The graphical enhancements include changing the texture and shape of the blocks, as well as adding a neon effect using bloom post-processing. The power-ups can speed up or slow down the game, remove columns, or shuffle each row.


This project is a 3D representation of Tetris, written using the ThreeJS library and NodeJS. The game includes all the classic features of Tetris, along with several graphical enhancements and power-ups. The graphical enhancements include changing the texture and shape of the blocks, as well as adding a neon effect using bloom post-processing. The power-ups can speed up or slow down the game, remove columns, or shuffle each row.

8-Track Payback
Yunzi Shi, Milan Eldridge

8-Track Payback allows the player to visualize and interact with music they are hearing. Upon entering the game, the player can select the music to be played from a list. The player then controls an avatar through a tunnel-like scene, trying to dodge the 3D obstacles coming from all directions that are generated from the music being played.

Getting hit by an obstacle costs the player’s lives. The player loses the game when all lives are lost, and wins when they survive a complete piece of music.


8-Track Payback allows the player to visualize and interact with music they are hearing. Upon entering the game, the player can select the music to be played from a list. The player then controls an avatar through a tunnel-like scene, trying to dodge the 3D obstacles coming from all directions that are generated from the music being played.

Getting hit by an obstacle costs the player’s lives. The player loses the game when all lives are lost, and wins when they survive a complete piece of music.

A Game of Ice and Fire
Gabe Roth, Dovid Braverman, Ofek Peres

We created an infinite runner game where the player is an ice cube traveling along volcanic ash platforms in order to evade the sea of lava beneath. The ice and fire themed game is entitled A Game of Ice and Fire” — a spin off of George R. R. Martin’s epic fantasy novel series A Song of Ice and Fire. In the game, the player has the ability to move forward, backward, left, right, and jump; the goal of the game, like any infinite runner game, is to make as much forward progress as possible.

The game design includes randomly placed volcanic ash platforms, rotating iceberg obstacles, ice trampolines, and storms of giant hail. As the player advances, both the aesthetics and difficulty of the game develop. BablylonJS and CannonJS were utilized to create a game that balanced user interface simplicity, game complexity, visual aesthetics, and smooth graphical rendering.


We created an infinite runner game where the player is an ice cube traveling along volcanic ash platforms in order to evade the sea of lava beneath. The ice and fire themed game is entitled A Game of Ice and Fire” — a spin off of George R. R. Martin’s epic fantasy novel series A Song of Ice and Fire. In the game, the player has the ability to move forward, backward, left, right, and jump; the goal of the game, like any infinite runner game, is to make as much forward progress as possible.

The game design includes randomly placed volcanic ash platforms, rotating iceberg obstacles, ice trampolines, and storms of giant hail. As the player advances, both the aesthetics and difficulty of the game develop. BablylonJS and CannonJS were utilized to create a game that balanced user interface simplicity, game complexity, visual aesthetics, and smooth graphical rendering.

Air Force One
Hyeong Joon Suh

The goal of this project was to develop a flight simulator game using the ThreeJS framework. The objective of the game is to collect as many points as possible before running out of fuel or crashing. The result is a simple simulation and control of an airplane’s key movement components: thrust, roll, yaw and pitch. Although there is more work required to achieve a realistic simulation that takes more aerodynamics into account, the current work can serve as a simple and clear illustration of how an airplane controls its movement. On a technical level, this project efficiently generates a non-repetitive, ‘infinite’ scene procedurally using randomness (Perlin noise for the terrain).

The method used in this project to procedurally generate scenes to create an illusion of an infinite scene can easily be applied in other settings to achieve a similar effect. Lastly, the project demonstrates an ability to import external glTF files to render realistic objects and detect collisions between the camera (airplane) and objects in the scene.


The goal of this project was to develop a flight simulator game using the ThreeJS framework. The objective of the game is to collect as many points as possible before running out of fuel or crashing. The result is a simple simulation and control of an airplane’s key movement components: thrust, roll, yaw and pitch. Although there is more work required to achieve a realistic simulation that takes more aerodynamics into account, the current work can serve as a simple and clear illustration of how an airplane controls its movement. On a technical level, this project efficiently generates a non-repetitive, ‘infinite’ scene procedurally using randomness (Perlin noise for the terrain).

The method used in this project to procedurally generate scenes to create an illusion of an infinite scene can easily be applied in other settings to achieve a similar effect. Lastly, the project demonstrates an ability to import external glTF files to render realistic objects and detect collisions between the camera (airplane) and objects in the scene.

DemoSource
Avatar: The Last Infinite Runner
Lily Zhang, Jingwen Guo, Catherine Yu

In this infinite runner game, you will play as play as Aang — the Last Airbender — and overcome obstacles using four different elemental attacks. Control the Avatar using your keyboard.

The goal of the game is to survive for as long as possible. Good luck!


In this infinite runner game, you will play as play as Aang — the Last Airbender — and overcome obstacles using four different elemental attacks. Control the Avatar using your keyboard.

The goal of the game is to survive for as long as possible. Good luck!

Bucket Ball
Labib Hussain, Emre Cakir

Bucket Ball is a mini golf game with interactive levels. To start the game, users will use their keyboard to aim the ball and then hold the space bar to select the power. Within its trajectory, the ball will have to face a wide array of obstacles that the user must maneuver around to get the ball successfully into the hole.

The user will aim to get the golf ball into the hole in the fewest amount of turns, before finally being presented a screen that displays the user’s current score.


Bucket Ball is a mini golf game with interactive levels. To start the game, users will use their keyboard to aim the ball and then hold the space bar to select the power. Within its trajectory, the ball will have to face a wide array of obstacles that the user must maneuver around to get the ball successfully into the hole.

The user will aim to get the golf ball into the hole in the fewest amount of turns, before finally being presented a screen that displays the user’s current score.

Catcher
Yujin Yamahara, Max Fu, Jake Kirkham, Zoya Shoaib

In this project, we create a game centered around catching falling objects from the  sky. Inspired by the current COVID-19 pandemic, the game’s player catches falling PPE and vaccine components while avoiding falling virus particles. In this report we detail how our game evolved from the starter code provided, to the bare bones version presented as an MVP, and finally to the final product demonstrated in the live demo. The report also details the multitude of features implemented by our game and the various obstacles that we encountered while developing them.

Throughout this process, we were successfully able to create a game where the player receives points for catching falling physically-simulated objects while avoiding physically-simulated virus particles.


In this project, we create a game centered around catching falling objects from the  sky. Inspired by the current COVID-19 pandemic, the game’s player catches falling PPE and vaccine components while avoiding falling virus particles. In this report we detail how our game evolved from the starter code provided, to the bare bones version presented as an MVP, and finally to the final product demonstrated in the live demo. The report also details the multitude of features implemented by our game and the various obstacles that we encountered while developing them.

Throughout this process, we were successfully able to create a game where the player receives points for catching falling physically-simulated objects while avoiding physically-simulated virus particles.

Colorful Kart Racing
Scott Aravena, Gabriel Contreras, Charlie Minns

For our final project, we created a web-based, player-versus-player racing game with the ThreeJS library. We were inspired by the gameplay mechanics and design of Nintendo’s Mario Kart franchise, as well as by the split-screen multiplayer gameplay and style of COS 426 Spring 2019’s ColoRing. As such, we implemented two-player keyboard controls, split-screen functionality, driving mechanics, collision physics, a basic track, moving obstacles, consumable power-ups, a lap counter, as well as start and end menus. As a finishing touch, we applied a colorful design inspired by the (in)famous “Rainbow Road”of Mario Kart.


For our final project, we created a web-based, player-versus-player racing game with the ThreeJS library. We were inspired by the gameplay mechanics and design of Nintendo’s Mario Kart franchise, as well as by the split-screen multiplayer gameplay and style of COS 426 Spring 2019’s ColoRing. As such, we implemented two-player keyboard controls, split-screen functionality, driving mechanics, collision physics, a basic track, moving obstacles, consumable power-ups, a lap counter, as well as start and end menus. As a finishing touch, we applied a colorful design inspired by the (in)famous “Rainbow Road”of Mario Kart.

CoronaTime
Audrey Cheng, Christine Lu

CoronaTime is an “endless runner” game in which the player is a white blood cell, moving through a blood vessel. Along the way, the player must kill as many virus particles as possible by colliding with them, while also avoiding getting stuck in blood clots that kill the player. Collisions with small antibody objects provide power-ups: either a temporary reduction in speed or invincibility to blood clots.

Building off the simple “endless runner” style, we achieved 3D motion for all our objects and implemented randomly generated bends in our blood vessels. Moreover, we utilize the post-processing Bloom effect to create exciting visuals and add audio to create an immersive gameplay experience that has relevance to the current global pandemic caused by the coronavirus (COVID-19).


CoronaTime is an “endless runner” game in which the player is a white blood cell, moving through a blood vessel. Along the way, the player must kill as many virus particles as possible by colliding with them, while also avoiding getting stuck in blood clots that kill the player. Collisions with small antibody objects provide power-ups: either a temporary reduction in speed or invincibility to blood clots.

Building off the simple “endless runner” style, we achieved 3D motion for all our objects and implemented randomly generated bends in our blood vessels. Moreover, we utilize the post-processing Bloom effect to create exciting visuals and add audio to create an immersive gameplay experience that has relevance to the current global pandemic caused by the coronavirus (COVID-19).

Crash for Cash
Taylor Beckett, Arman Medghalchi

Crash for Cash is a single player game that operates with a simple objective: navigate around a map using your arrow keys, trying to collect as many coins as possible while avoiding police cars that are scattered throughout the scene. Starting with a welcome screen and ending with a game over screen, the user is engaged throughout the whole process, entering the scene as a stationary sphere that can be moved in any direction by the arrow keys.

The physics is semi-realistic with an arcade-like feel, making the movement challenging yet responsive, while the camera follows the player from a distance and keeps the controls simple and reliable. Having emerged from this final project process, we managed to successfully make an addicting arcade game that allows users to try to beat their high score while providing an engaging and reliable graphic landscape with room for further improvements and feature additions.


Crash for Cash is a single player game that operates with a simple objective: navigate around a map using your arrow keys, trying to collect as many coins as possible while avoiding police cars that are scattered throughout the scene. Starting with a welcome screen and ending with a game over screen, the user is engaged throughout the whole process, entering the scene as a stationary sphere that can be moved in any direction by the arrow keys.

The physics is semi-realistic with an arcade-like feel, making the movement challenging yet responsive, while the camera follows the player from a distance and keeps the controls simple and reliable. Having emerged from this final project process, we managed to successfully make an addicting arcade game that allows users to try to beat their high score while providing an engaging and reliable graphic landscape with room for further improvements and feature additions.

Dynamic Planet Rendering with Noise Generation
Robbie Freeman, Tommy Martinson

We set out to create a model that can represent a planet and render it in more detail as the user zooms in more (like Google Earth). In order to do this, we attempt to implement an algorithm that can present to the user more detailed generated views of a spherical mesh as well as its surrounding texture.


We set out to create a model that can represent a planet and render it in more detail as the user zooms in more (like Google Earth). In order to do this, we attempt to implement an algorithm that can present to the user more detailed generated views of a spherical mesh as well as its surrounding texture.

DemoSource
Gradual Gravity Gauntlet
Zhongqiao Gao, Vinay Ramesh, Nicholas Liu

Gradual Gravity Gauntlet is an immersive platforming game with one singular goal: fall onto the ground at a low enough velocity so that you can survive the fall! This threshold velocity and current velocity will always be displayed on the screen for the player’s convenience so they always know how they are doing.

The game uses several aspects of physics such as gravity and collisions in order to simulate a real life skydive. Many realistic objects such as birds and clouds will be in the way in order to slow the diver’s fall, and several rings will be in the way to speed the diver up. The rings will cause a lot of stress, so please avoid those rings! Have fun diving and good luck!


Gradual Gravity Gauntlet is an immersive platforming game with one singular goal: fall onto the ground at a low enough velocity so that you can survive the fall! This threshold velocity and current velocity will always be displayed on the screen for the player’s convenience so they always know how they are doing.

The game uses several aspects of physics such as gravity and collisions in order to simulate a real life skydive. Many realistic objects such as birds and clouds will be in the way in order to slow the diver’s fall, and several rings will be in the way to speed the diver up. The rings will cause a lot of stress, so please avoid those rings! Have fun diving and good luck!

Hue Are You?
Johana Leanos, Emerson Thomas

Hue Are You is a personality quiz with a colorful twist. You are on a journey to slay an evil monster, but on the way you must go through an even more challenging task: self discovery. Please, do pause a moment and take in the luscious scenery. But beware, every choice you make impacts the color of your result. Dawn is approaching. What are you waiting for?

As you can see, we have created a quiz where the user travels around the scene and ultimately receives a color to represent their personality. We hope that people might enjoy the experience and explore the scene after.


Hue Are You is a personality quiz with a colorful twist. You are on a journey to slay an evil monster, but on the way you must go through an even more challenging task: self discovery. Please, do pause a moment and take in the luscious scenery. But beware, every choice you make impacts the color of your result. Dawn is approaching. What are you waiting for?

As you can see, we have created a quiz where the user travels around the scene and ultimately receives a color to represent their personality. We hope that people might enjoy the experience and explore the scene after.

Ink Renderer
Julian Knodt, Eric Tsang

This project implements hardware-accelerated ink wash painting for 3D objects based on the work of Park et al. and adapted for the web using GLSL and ThreeJS. Enjoy!


This project implements hardware-accelerated ink wash painting for 3D objects based on the work of Park et al. and adapted for the web using GLSL and ThreeJS. Enjoy!

PrincetTron Legacy
Catherine Nguyen, Kevin Finch, Nebil Ibrahim, Alice Xue

PrinceTron Legacy is a 3D reimagining of the lightcycles-based game Tron Legacy. Two players use the same screen and control motorcycles that leave colored trails behind them. The goal of the game is to survive the longest without intersecting your own trail, your opponent’s trail, or the borders of the game board.


PrinceTron Legacy is a 3D reimagining of the lightcycles-based game Tron Legacy. Two players use the same screen and control motorcycles that leave colored trails behind them. The goal of the game is to survive the longest without intersecting your own trail, your opponent’s trail, or the borders of the game board.

Red Green Bullets
Henry Peters, Mensheng Romano

Our project, entitled Red Green Bullets (RGB), was our attempt to create a simple but fun game based on the common genre of video games known as “bullet hells”. In a bullet hell game, the player is normally given the ability to fire some sort of projectile, or bullet, and then tasked with killing numerous enemies and bosses. The enemies also have the ability to fire projectiles, and usually they are able to fire so many that dodging them becomes a real challenge. RGB is our take on this genre, given the allotted time.


Our project, entitled Red Green Bullets (RGB), was our attempt to create a simple but fun game based on the common genre of video games known as “bullet hells”. In a bullet hell game, the player is normally given the ability to fire some sort of projectile, or bullet, and then tasked with killing numerous enemies and bosses. The enemies also have the ability to fire projectiles, and usually they are able to fire so many that dodging them becomes a real challenge. RGB is our take on this genre, given the allotted time.

Other Art Galleries