Quint
2-Player Asynchronously Networked Mobile Board Game
Quint is a board game like no other. Play head-to-head online against your friends in a battle of wits as you develop your tactics, thwart your opponent's plans, and try not to accidentally help them win (which can easily happen in this game)!
The Game
Quint is a 2-player asynchronously networked board game written in Unity C# that I made as an individual project to learn about Unity mobile development, database management, and modeling in Maya. The idea for the game is based off of a game that I created with one of my friends in high school. I originally coded the game in Java for Android Studio, but decided to port it to Unity (which was not very difficult given how similar Java and C# are) in order to make a nicer looking game.
The objective in Quint is to get five-in-a-row. Each turn, players place two pieces: one of their color (black or white), and one grey piece, which counts for both players. These two pieces cannot be in the same row, column, or diagonal. The piece of their color can be placed on an empty square, or also to replace a grey piece on the board, whereas the grey piece must be placed on an empty square. Black goes first, but white starts with a piece in the center of the 11x11 board. If the board is full and there are no five-in-a-rows, the game is a draw.
The game is quite simple to learn yet elegantly complex in practice. It quickly becomes difficult to both attack and defend at the same time without helping your opponent with your grey pieces. Generally, your color piece moves become your defensive moves, as you can't block with grey pieces, and your grey piece moves are generally used offensively to try to expand without helping your opponent too much. Some of the main ways to win include: getting an open-ended four-in-a-row of your color or getting two or more four-in-a-rows that don't intersect at a grey piece.
Currently, the game is released on the Google Play Store, with possible future releases to the iOS App Store.
The Team

The Lessons
This project was specifically a learning project, so I definitely accomplished that goal. Building a game from scratch in a matter of weeks was definitely not easy.
For programming, the most valuable thing that I learned was database management. I was able to create my own database that managed the game states, message system, user system, etc., write php code to query that database, and hook up that php code with Unity using WWWs. I found a free website that still currently hosts my database as well as the php files that access it. This was a fairly complex task that took the bulk of the development time. The rest of the programming was pretty basic, all knowledge that I had acquired over my previous projects, such as programming user interfaces, gameplay logic, etc. It actually turned out that developing for mobile was a lot easier than I had anticipated, and not a lot changed from my normal development habits besides using a tablet with Unity Remote to test. I learned a few things about Unity In-App Purchasing and Advertisement, but using those APIs was incredibly simple.
This was the first project in which I created my own art, as all of my other projects had artists on them. After taking a model and worldbuilding class at UC Irvine, I learned how to use Maya, which I used to create all of the 3D assets in this game. My inspiration for the isometric 3D design came from games like Hearthstone (which also happens to be made in Unity).
Additionally, I learned how to stay disciplined on individual projects, and the true value of having a producer keeping you on track. At times it was difficult to keep working (some days I spent 8+ hours working on this project), but in the end I was glad that I was able to work as hard as I did on the project with only my self-motivation.