-
-
Game starts with X taking a random position
-
Implementation of Minimax Algorithm
-
Best game would be a tie but never a victory for the user. So it does it's job very nicely
-
Created room using Firebase Real-time database
-
Rooms communicating/ exchanging data to one another user
-
Implementation of Sockets.io to establish the real-time connection between users
Inspiration
The world has oh so many problems but solutions(especially the efficient ones) are not so many. So, we have decided to do a rather small project in the most efficient possible way possible for us. So, we are rather putting more of our focus on the efficiency and simplicity of the solution approach.
What it does
This is a Tic-Tac-Toe Game. There are usually two players playing in this game, in this case, the 2nd player is the computer. We found a way to make the computer take smart moves to avoid being lost to the human.
How we built it
While brainstorming for the solution approaches, we accidentally stumbled upon an interesting algorithm called Minimax Algorithm. This is actually a great way of implementing the winning logic with as small as double nested for-loop to make it work like a charm.
Challenges we ran into
The main challenge we had was the integration of various parts of the project. Like, integrating or porting from a vanilla JS code to ReactJS was very hard for us. Then using WebSockets to create rooms for users was also a major hurdle for us. We did create a ChatRoom, however, as a part of mini-goals.
Accomplishments that we're proud of
Apart from the learning milestones we have accomplished, we're very proud to be a team first. We all from different places and have different skills. The whole experience of promoting one another towards a better version of ourselves. We are already good friends, and on top of that, all the mistakes while organizing tasks and choosing relevant projects are lessons for life. We're super pumped to participate in future events too.
What we learned
We learned about
- Understood the importance of considering the skillsets of all the team members while picking a project idea is very essential.
- We need to improve at splitting tasks evenly
- We learned about using and implementing multiple ways of establishing Real-time Communication between users.
What's next for noOX AI(not AI)
We are not done yet! There's a lot of improvement possible in the project. We plan to :
- Port the entire app from Vanilla JS to React JS
- Add Custom Room creation and join feature using Websockets/Sockets.io
- Add better animation effects like strikethrough and change color on victory to make the game more playable.

Log in or sign up for Devpost to join the conversation.