An Online Game with React and Socket.io

Hello Campers,

I coded an online multiplayer tic tac toe game with real time messaging support in 36 hours from scratch. I tried to put together all I’ve learnt from FCC so far into this project and I’ll love and appreciate your review. Please let me know of any bugs you come across.

Thanks in advance :slight_smile:

(To test the game, open it up in two different tabs or devices. Create an opponent with one then join with the other)

2 Likes

Great work!

Idea:

  • don’t know if you didn’t implement the singleplayer yet, if not, a visual hint when clicking on it would be awesome
1 Like

Thank you @miku86

You are right, I haven’t implemented the single player yet. I will disable the button as you recommended.

1 Like

I finally implemented the single player mode. However, my algorithm is very much beatable and I still have to work on it.

You can give it a try and please leave your thoughts on it :slightly_smiling_face:

1 Like

Great work. Very impressive. I hope to be able to do something like that one day.

Since there wasn’t anyone online to play against I don’t know if this feature exist or not, but how about a notification when a new message comes through? Unless you’re scrolled down to the bottom half you wouldn’t know if someone messaged you or not.

Again very nice.

1 Like

Thank you very much @jfirestorm4.

Your idea is great and I’m probably gonna implement it. May be a notification sound will do. Thanks once more.

You can use another device or browser tab to test the multiplayer mode :smiley:.

I forgot mentioning, you can probably do this and even more. All you have to do is keep on learning, and practicing, and I believe that’s why we are all here.

I look forward to seeing your even bigger project. :smiley:
Wish you the best too

1 Like

You did a great job! I love the UI design and the fact that you even included a chat.

Talking about bugs I noticed that when a user leaves a game the state of the application isn’t completely re initialized so if the user tries to start another game he finds himself stuck on the board of the previous game, if you need help in investigating the bug we can arrange an appointment on Discord.

Another suggestion I want to give you is to try to replace Socket.io with raw WebSockets, Socket.io was almost essential in 2011 when WebSockets support wasn’t uniform amongst platforms but now all the mainstream desktop and mobile browsers supports WebSockets therefore with almost the same effort you spend to use Socket.io you can develop with raw WebSockets with the advantage of having a lighter application (Socket.io is quite heavy to be a JavaScript library) and more freedom in choosing back-end language (if you continue your journey in programming you’re gonna to learn more languages than JavaScript and you might want or need to build a back-end in other languages such as Go, C# or Java which have a very limited or inexistent support for Socket.io but supports WebSockets very well).

1 Like

Hello @EmiSan1998,

Thank you very much for your feedback. Thanks for taking the time to go through the project. An appointment will be great, please let me know the time.

I haven’t used raw WebSockets before so implementing it might be an issue. However, thanks for the advice, I’ll do well to look it up and get more info.

Thanks :smiley:

I’m Italian so my timezone is UTC+1, if you give me your timezone we can find a time in which we are both awake and we can connect.

Good for you buddy. It looks respectable. I’ve worked on games in the past here and my participation was not so big as yours. I just advised developers sometimes on what not to do. This is a great game to play with your friends. So much fun.

1 Like

Thank you very much for your feedback. It means a lot to me.

I’ll love to take a look at some of your game projects so please do drop a link.