Tic Tactics was a competitive online game that allowed you to play a unique take on the classic game Tic-Tac-Toe with friends or strangers. The gameplay was asynchronous, so you can have multiple games going at once against multiple components.
Everyone knows how to play Tic-Tac-Toe, but Tic Tactics added the twist of playing with nine boards, each of which contains the “basic” Tic-Tac-Toe experience. You need to win three boards in a row horizontally, vertically, or diagonally to win a match of Tic Tactics.
There was also a player level system, where you gained XP when making moves and winning matches. As you leveled up, you’d gain new titles (Beginner, Tactician, Conquerer, Master, etc). Additionally, the game made use of an ELO-based rating system that was used to match up opponents of equal skill.
Tic Tactics was released in January 2014, and is unfortunately no longer available!
Tic Tactics was developed in 2013, and it was Hidden Variable’s first foray into the world of networked multiplayer games and free-to-play games. We developed our backend server logic in C# using a service called Player.IO, which was later rebranded as Yahoo GamesNet.
I learned a lot on Tic Tactics about backend server development, deployment, and monitoring. Using a platform like Player.IO instead of hosting our own servers gave us some huge advantages (such as not having to worry about keeping our servers up, or dealing with hardware scaling).
It also presented some challenges - when Player.IO didn’t support features that we needed, we had to get creative. One example was Player.IO not supporting API calls with JSON bodies - only web form content was supported! As a result, we had to run a server who’s only job was to convert web form data to JSON and redirect the content to some other server.
On the client side, we used Unity, along with many of the libraries and features we had used on Bag It. We also used Playmaker to script our tutorials and NGUI to do our UI (this was before Unity had their own UI system).