Ticky is a premium, real-time multiplayer Tic-Tac-Toe application designed for competitive play and tactical training. Built with modern web technologies, it offers a seamless and high-performance gaming experience.
- Real-Time Multiplayer: Challenge players worldwide with instant matchmaking and private game rooms.
- Infinite Mode: A tactical twist where pieces fade and vanish after 3 moves, requiring deep planning.
- Training Ground: Hone your skills against an AI with multiple difficulty levels.
- Global Chat: Direct messaging and match invitations within the app.
- Leaderboard: Compete for XP and climb the global ranks.
- Dynamic Themes: Sleek dark and light modes with glassmorphism aesthetics.
- Offline-First PWA: Installable app experience with full offline support for Training Mode and iOS-specific setup guidance.
- Advanced Chat Features: Real-time typing indicators, visual read receipts (checkmarks), and direct matchmaking within the chat interface.
- Network Awareness: Real-time connection monitoring with an in-app offline indicator.
- Ambient Music: Immersive background audio system that intelligently manages playback.
src/context.jsx: Central nervous system; manages global state, socket events, and network status.src/page/chat/chat.jsx: Advanced real-time messaging interface with typing indicators and read states.src/page/game/game.jsx: Core match engine for live multiplayer sessions, featuring in-game chat.src/page/training/TrainingGame.jsx: Local AI match engine (fully functional offline).src/page/home/home.jsx: The command center for matchmaking, game creation, and quick training access.src/page/profile/profile.jsx: User identity hub with matchmaking triggers and game history.src/components/InstallModal.jsx: Custom UI for PWA installation prompts with cross-platform (Android/iOS) logic.src/header/header.jsx: Global navigation, persistent audio controls, and offline alerts.socket.js: Socket.IO client configuration and singleton instance.
- Frontend: React, Vite, Framer Motion (Animations), Tailwind CSS (Layout), Lucide-React (Icons)
- State Management: React Context API
- Real-Time: Socket.IO
- PWA Integration:
vite-plugin-pwafor service worker management and asset precaching.
- Clone & Install:
npm install
- Environment Setup:
Ensure
.env.localis configured withVITE_SERVER_URL. - Run Dev:
npm run dev
- Log Purge: Zero
console.logstatements in production files. - PWA Integrity: Validated
manifest.jsonand service worker precaching. - Offline Resilience: Verified AI Training logic and UI indicators work without connection.
- Match Sync: Match invitation flow is unified across Users and Profile pages.
- Performance: Component stability verified with stable callbacks and memoized state.
- TypeScript Migration: Introduce type safety across the match engine and socket events.
- Persistence Layer: Implement
IndexedDB(viaidborDexie) for persistent match history caching even when offline. - Advanced AI: Integrate more sophisticated algorithms or weight-based moves for the Training Mode.
- Social Features: Add "Add Friend" functionality and persistent friend status tracking.