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 :

  1. Port the entire app from Vanilla JS to React JS
  2. Add Custom Room creation and join feature using Websockets/Sockets.io
  3. Add better animation effects like strikethrough and change color on victory to make the game more playable.
Share this project:

Updates