SUMMER 2017: PSYCHIC VR LAB
Creating awe-inspiring games. Developing Mixed Reality Videos. Teaching workshops.
During the summer of 2017 I worked at Psychic VR Lab, a fast-growing virtual reality startup based in Tokyo, Japan. During my time there, I did the things listed above and more. Click through the slideshow below to read more about my internship!
I made two games at Psychic VR Lab, both of which were designed to work with the HTC Vive. The first game was a shooting game where the player stood in the middle of a circular arena and tried to shoot incoming enemies with a crossbow. This was designed as a demonstration piece for the company's online VR editor STYLY. The second game I made involved flying through space attacking alien invaders and experimented with the use of movement in a VR game. Normally VR games require you to teleport in order to avoid inducing motion sickness, however when the player is flying through space there is no ground to act as a reference for their motion, and thus they do not feel motion sick. As a result, I designed a game where you moved by tilting you head in the direction you wanted to fly, and was able to create a fun and unique movement system out of that!
SUMMER 2018: APPIRITS
Designing a networked fighting game in Unity. Porting an iPhone game to the PlayStation store.
During the summer of 2018 I worked in the game division of Appirits, a technology giant in Japan focusing on multiple services across all devices. During my time at Appirits, I worked on a complex multiplayer game in Unity and assisted in porting over an existing game to the PlayStation store. Click through the slideshow below to read more about my internship!
Unity Game Development
The game I made was called 魔法マニア, or Magic Mania. It was a 3D bullet hell shooter, which means that there are multiple enemies firing multiple bullets at the player, which they have to dodge in order to survive. The game took place in a large castle area, which was filled with wizards shooting bullets of magical energy and giant ground-based enemies that ran swiftly across the battlefield. To make the game ever harder, I added enemies on the ramparts that could snipe the player and a giant cloud raining arrows that would periodically cross the screen. Finally, I created a boss fight with a giant dragon. The game used a wave system to gradually increase difficulty over time. Each wave slightly more enemies would spawn and they would do more damage. The dragon would spawn every 10 waves. Upon defeating enemies and surviving waves, the player received gold that they could spend in the in-game shop in order to power up their health, mana and magic. The magic system revolved around three different spells: fire, lighting and heal. Fire shot a fireball out in a straight line, lighting zapped whatever the player was currently pointing at and heal replenished their health. The player also had the choice of using three different weapons in combat of varying ranges. All-in-all, the game was a success and was very engaging to play!
After creating the initial single-player prototype, I then took on the mission of re-implementing it as a multiplayer game. This required me to become familiar with the UNet API, Unity's networking framework, and learn about client-server game systems. I went through the game's code and adapted all of the variables, objects and events to work on a network-based framework, which required substantial editing, rethinking of various designs, and solving some tough synchronization issues. By the end of the project, however, I had completed a multiplayer game that up to four people could play together, and I was able to play with my mentor and another programmer on my team with minimal lag.
SUMMER 2019: GOOGLE
Worked in mobile AR, and wrote various utility and comparison apps for internal use.
During the summer of 2019 I worked at Google in Mountain View on mobile AR. More specifically, I created a comparison app that could ran Google's ARCore iOS software against other other AR platforms to obtain accurate comparison metrics. I also contributed to the creation of a public sample app for ARCore iOS, written in Swift, and performed many other jobs during my time at the company.
STANFORD CS PROJECTS & COURSES
Coursework ranging from Artificial Intelligence to State-of-the-art Computer Graphics. Projects across the board.
Throughout my time at Stanford I have been able to take a wide range of computer science classes that have exposed me to multiple diverse fields. I am currently studying on the Artificial Intelligence track, as I believe understanding AI will be invaluable to my future career, yet am also very interested in a myriad other topics, including computer graphics, games, VR, AR and probability and statistics. I have also been involved in a variety of challenging projects across these fields. Find out more in the slideshow below!
Computer Science Courses
CS 106B - Programming Abstractions
CS 107 - Computer Organization and Systems
CS 110 - Principles of Computer Systems
CS 103 - Mathematical Foundations of Computing
CS 109 - Introduction to Probability for Computer Scientists
CS 131 - Computer Vision: Foundations and Applications
CS 221 - Artificial Intelligence: Principles and Techniques
CS 224N - Natural Language Processing with Deep Learning
CS 231N - Convolutional Neural Networks for Visual Recognition
CS 248 - Interactive Computer Graphics
CS 348B - Computer Graphics: Image Synthesis Techniques
CS 279 - Computational Biology: Structure and Organization of Biomolecules and Cells
CS 269Q - Elements of Quantum Computer Programming
Fostering a game development community on campus. Teaching kids tech at StreetCode.
These are two of the things that I do to give back to the community and help spread my enthusiasm for technology in general. I am currently an officer in Stanford's Game Development club and am also teaching at StreetCode academy, a non-profit tech academy for East Palo Alto residents based near Facebook's Menlo Park headquarters. See the slideshow below for more details!
Stanford Game Developers
I am currently an officer in SGD, the Stanford Game Development club, which started in Fall 2018. Throughout my time in the club I have helped organize multiple game jams, or hackathons for creating games, and have taken part in various game projects. As an officer in the club, I am able to further develop my passion for games, as well as spread this enthusiasm to others on campus and beyond!
Image recognition and translation. Language Learning. Games. News. The world of apps.
I have been making iPhone apps since high school, and have finished the development of five apps in that time. The first two apps I made were both games and the third was a news app that collected data from a German news website and displayed it in an easily digestible format. Sadly the data from those apps is long gone on an old computer I had long ago. However, I still have my two most recent apps! See the slideshow below to learn more!
Kanji Homophone Resolver
One of the hardest things about learning Japanese is being able to tell the difference between homophones, or words that sound exactly the same. Being a student of the language myself, I thought it would be immensely helpful if I could create an app that could help students resolve the homophones they encountered when listening to Japanese (since in writing you can tell what a word means based on its characters). What the app does is take in a word in phonetic characters and then output the relative frequencies of different meanings of that words, along with their respective kanji, or characters. The app turned out to be a great success and I have used it numerous times in my Japanese studies!