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
michaelxing.azurewebsites.net domain, are
not covered under the Creative Commons and GNU licenses that
govern this website.
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 Institute's 2019 showcase, and was accepted to the digital showcase at Boston FIG 2019.
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 am currently 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.
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.
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.
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.
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.
Web app utilizing time-dependent QR codes to allow members of an organization to quickly and seamlessly check in to a meeting by scanning their phones, while eliminating the possibility of forging another member’s code. Was eventually integrated into the club management dashboard.
Web-based management portal built in PHP and MySQL for student members of a club. Streamlined club management and allowed more scalable management techniques as the population of the school and club ballooned to over a hundred students.
Website for the Ardrey Kell High School Technology Student Association club. The current site is no longer under my control, and may have changed since.
Website created for a Technology Student Association competition. The task was to design and launch a website that would teach people about augmented reality. Won 2nd place at the TSA 2017 national conference.
Website created for a Technology Student Association competition. The task was to design and launch a website that would teach people about drones. Won 5th place at the TSA 2016 national conference.
A Flash game made for Civics and Economics intended to teach the Bill of Rights to kids.
Solved dihybrid crosses for Honors Biology. Included calculating genotype ratios.
According to my Google Search Console, this is apparently the most trafficked page on my site, due in large part to it being the second Google search result for "dihybrid cross maker". As such, I've since gone back and remade it to be a bit nicer and fleshed out. For historical reasons, the original is still available as well.
Older, non-programming related projects can be found here.