Below are some noteworthy school projects that I have completed.
An arcade-styled rail shooter game that uses an Android phone as a controller, created in Unity. This was done with interest of managing a small project that focuses on UX, under NUS module CS3241R, an exploratory module on computer graphics. I was in charge of game scenes and combat mechanics.
Code available at https://github.com/yuhongherald/SaberSkirmish
Saber Skirmish
ThanePark is a command-line application that streamlines theme park management in tracking queue status of rides. This was done as part of CS2103T. I was mainly in charge of UI and leading the team.
​
Code available at https://github.com/CS2103-AY1819S1-W14-2/main (username: YuPeiHenry)
More about my contributions can be found here: https://cs2103-ay1819s1-w14-2.github.io/main/team/yupeihenry.html
ThanePark
An AI project to design an agent to play a game of Tetris. This was done as part of NUS module CS3243 Introduction to Artificial Intelligence. I implemented, wrote and maintained Page Rank algorithm and did some contributions to Main Project. Although Page Rank was not used for final results, it has reasonable efficiency. Ran on 12 cores NSCC for 2 hours, Completed 12 iterations with 479130 vertices on a sparse graph.
Code available at https://github.com/YuPeiHenry/tetris-localsearch
Report available at https://github.com/YuPeiHenry/tetris-localsearch/blob/master/report.pdf
Tetris Agent
An educational programming game created in Unreal Engine. this was done with interest of education through immersive gaming, under NUS module CP3108 Independent Work. I was in charge of the JavaScript interpreter and the level design and programming.
​
Code available at https://github.com/YuPeiHenry/SpaceSentinels (username: YuPeiHenry)
Space Sentinels
Various labs completed in NUS module CS3241, Introduction to Computer Graphics. Works include animating Ironman using hierarchical transformations, drawing an airplane/bird using only 2 shape primitives, implementing the diamond square algorithm to generate terrain, animating a cat using bezier curves and rendering a scene with composite objects using ray tracing (simulated caustics, texture/bump mapping, refraction/reflection)