Xing

Project Showcase

I've been programming for fun since middle school, and in addition to the collection of assorted games I have listed, I have also worked on many other personal projects. Here is a selection of them.

Please note that the contents of all off-site links, including but not limited to the michaelxing.azurewebsites.net domain, are not covered under the Creative Commons and GNU licenses that govern this website.

Featured

SweetSpace

The gameA screenshot from the game

Cosmic radiation is tearing through your ship; you and your friends are the only “donauts” who can stop it! Donut waste time as you roll and patch your way through these bite-sized holes in your ship. You’ll need to communicate and cooperate to achieve your dream of a sweet, sweet space.

A game on which I was development lead, built for the Advanced Game Design course at Cornell University. Created over the course of a semester in a team of six, built in C++ using the Cornell University Game Library.

Won the Most Innovative Mobile Game award at the Cornell University Game Design Initiative's 2020 showcase.

SweetSpace Logo Learn More

Samwise - A Student Planner for Everyone

Samwise project overviewA typical week plan

A homework and project planner designed to help students plan their schedules and reduce stress. Integrates with Cornell registrar data to automatically import exams, as well as with Canvas to automatically import and update assignment deadlines and details.

A web app on which I was technical product manager after originally joining as a frontend developer. Built with React and runs on Firebase. Launched in early 2019 to over 200 users.

A project by the Cornell Design & Tech Initiative.

Samwise Logo VisitDTI Logo GitHub Repo

Flourish

The gameA screenshot from the game

Ages after Homo sapiens abandoned an exhausted Terra, life has just begun to reclaim its place on the surface. With limited resources, sunlight, and space, spread roots and grow towards the sky to become the last plant standing.

A game on which I was software lead, built for the Introduction to Game Design course at Cornell University. Created over the course of a semester in a team of seven, built in Java using LibGDX.

Won the Faculty Choice Award at Cornell's Bits on Our Minds 2019 annual student project showcase, won the Audience Choice Award at the Cornell University Game Design Initiative's 2019 showcase, and was accepted to the digital showcase at Boston FIG 2019.

Flourish Logo Learn More

University

Ultimate Tic-Tac-Toe

A game of Ultimate Tic-Tac-ToeA game of Ultimate Tic-Tac-Toe versus my AI

A remake of a personal project I originally wrote for my site in 9th grade, Ultimate Tic-Tac-Toe is a variant of the classic Tic-Tac-Toe with a drastically expanded rule set that allows for significantly more strategy (see here for rules). My remake is responsive to many more screen sizes, improves the multiplayer experience, and introduces an AI to play against in single player.

The online multiplayer offers real-time multiplayer between two clients on different machines using Socket.IO. Communication between devices is handled by a Socket.IO Node server I'm running on a free Azure instance.

The AI is powered by a Monte-Carlo Tree Search. On hard, the algorithm runs for 5 seconds (one on medium), so difficulty depends on the machine you play on. I managed to beat the AI on my phone once; so far, no luck on my laptop.

Tic-Tac-Toe Ultimate Tic-Tac-Toe

OCaml Tetris

The gameA screenshot from the game

A midterm project created in a team of four for our functional programming class. Written entirely in OCaml, with the strict limitation that only system libraries and OCaml standard library functions may be used. As such, we were unable to use any async libraries, graphics packages, input libraries, and more. Much effort was spent just figuring out how (if it was even possible) to get unbuffered keyboard input while a background timer ran the game.

For reasons of academic integrity, the source code is not available online, but we did make a joke trailer for the game.

Tetris Logo (Joke) Trailer

Cornell Roosevelt Institute Website

CU Roosevelt Home PageThe admin console from the website

Web site and management system designed for a student-run think tank. Included a public-facing website and a back-end content management system, built with Node.JS and Express, backed by MySQL.

CU Roosevelt Logo Visit

Online Multiplayer Games

A screenshot from Bringing Down the LandlordA screenshot from Tianjin Mahjong

A series of online multiplayer games powered by Node.js and Socket.IO on the backend, allowing multiple player to simultaneously connect to each other on their own devices over the internet to play against each other.

Includes a variant of Mahjong from the Chinese city of Tianjin and a Chinese card game I'm translating as Bringing Down the Landlord.

A black jack playing card Bringing Down the LandlordA mahjong tile Tianjin Mahjong

More Stuff

Non-Programming Excursions High School Junk