Skip to content

Eggplant203/Infinite-Tic-Tac-Toe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

♾️ Infinite Tic Tac Toe

Real-time multiplayer Tic Tac Toe with infinite gameplay - no draws, just endless fun!

🌐 Play Online

Live Demo: https://infinitive-tic-tac-toe.netlify.app/

Note: Backend uses free tier hosting. If you experience delays when creating/joining rooms, please wait 1-2 minutes for the server to wake up from sleep mode.

✨ Features

  • 🎮 Infinite Gameplay - Pieces vanish after 3 moves to prevent draws
  • 🌐 Real-time Multiplayer - Play with friends using 6-digit room codes
  • 🔊 Audio System - Background music and sound effects
  • 💬 Sticker Chat - 58+ stickers across 5 categories
  • 📱 Mobile Responsive - Works on all devices
  • ⚡ Smooth Animations - Framer Motion powered

🚀 Quick Start

# Install dependencies
npm install
cd client && npm install
cd ../server && npm install

# Run development
npm run dev

Open http://localhost:5173 for client and http://localhost:3001 for server.

🏗️ Tech Stack

Frontend: React 18, TypeScript, Vite, Zustand, Framer Motion, SCSS
Backend: Node.js, Express, Socket.IO, TypeScript
Testing: Vitest, Jest, React Testing Library

🚀 Deploy

Backend (Render)

  1. Connect GitHub repo to Render
  2. Set build command: npm run build
  3. Set start command: npm start
  4. Add environment: NODE_ENV=production
  5. Important: Set root directory to / (not /server)

Frontend (Netlify)

  1. Connect GitHub repo to Netlify
  2. Set build command: cd client && npm run build
  3. Set publish directory: client/dist
  4. Add environment: VITE_SOCKET_URL=https://your-backend.onrender.com

That's it! 🎉

🎯 How to Play

  1. Create Room - Click "Create Game" and share the 6-digit code
  2. Join Room - Enter room code to join a friend's game
  3. Play - Take turns placing X's and O's
  4. No Draws - After 3 moves, your oldest piece disappears!
  5. Win - Get 3 in a row (horizontal, vertical, or diagonal)

📁 Project Structure

├── client/          # React frontend
├── server/          # Node.js backend
├── shared/          # Shared TypeScript types
└── scripts/         # Utility scripts

🧪 Testing

npm test              # Run all tests
cd client && npm test # Client tests only
cd server && npm test # Server tests only

📄 License

MIT © 2025


Author

© 2025 - Developed by Eggplant203 🍆

About

♾️ Infinite Tic Tac Toe - Real-time multiplayer game with audio system, sticker chat, and responsive design. No draws, just endless fun! Built with React, TypeScript, Socket.IO, and Framer Motion.

Topics

Resources

License

Stars

Watchers

Forks

Contributors