Inspiration
Everyone knows Tic Tac Toe, it's a game so simple that at least one perfect AI for it has been written in an esoteric language. Nevertheless, the idea of the game is timeless and extremely simple, and we wanted to amplify its strategic depth while (mostly) keeping the simplicity.
What it does
It's a game of Tic Tac Toe where each of the 9 squares is a smaller game of Tic Tac Toe. You need to win small grids to claim the respective squares on the big grid. There is one twist, though: where you place your mark within the small grid determines which small grid your opponent will have to play in. For example, if i play in the centre of a small grid, my opponent will have to play their next move in the centre grid. Careful, though, as directing your opponent to a completed grid will allow them to play wherever they please!
The game is built as an Android app which allows both local play (on a single device with a person next to you) and online play with a friend (by one person creating a game and the other one joining).
How we built it
We used Android Studio and Java to build the app. We also built a server in Go to handle communication between players for online matches, and deployed it on a DoC Cloud VM.
Challenges we ran into
We initially tried using Flutter to build the app, as we intended to make it cross-platform. We realised around midnight that we were stuck and weren't going to finish, so we switched to Java.
We initially tried deploying the back-end to Heroku, but requests that wait for another player to join or make a move would time out after 30 seconds. Deploying on a Cloud VM has the down-side of only being accessible from the College network, but it doesn't time out so we see it as the better choice for the hackathon.
In the end, online didnt work
Accomplishments that we're proud of
What we learned
Using channels for communication between concurrent processes in the backend. ~Alex
Interacting with a server from an Android Studio project through json. The importance of believing in yourself no matter how difficult the situation seems to be. ~Tiberiu
What's next for BigTacToe
Making it pretty, deploying to a better and more accessible server, matchmaking, tournaments and expanding to more platforms.
Log in or sign up for Devpost to join the conversation.