feat: implement competitive clicker MVP with Colyseus.js

- Add real-time multiplayer game server with Colyseus
- Implement unique player naming system with auto-increment
- Create lobby system with automatic matchmaking
- Build 10-minute competitive clicking game rooms (max 2 players)
- Add admin dashboard for game management (pause/resume/restart/kick)
- Implement Vue 3 client with professional UI
- Add WebSocket communication with state synchronization
- Include TypeScript throughout with proper typing
- Create REST API for admin operations
- Add reconnection support and error handling
This commit is contained in:
2025-08-06 02:32:18 -06:00
commit a28bc286a1
30 changed files with 7053 additions and 0 deletions

27
shared/types.ts Normal file
View File

@@ -0,0 +1,27 @@
export interface PlayerInfo {
sessionId: string;
name: string;
clicks: number;
}
export interface RoomStats {
roomId: string;
players: PlayerInfo[];
gameStatus: GameStatus;
timeRemaining: number;
winner?: string;
createdAt: number;
}
export enum GameStatus {
WAITING = 'waiting',
PLAYING = 'playing',
PAUSED = 'paused',
FINISHED = 'finished'
}
export interface AdminAction {
action: 'pause' | 'restart' | 'kick';
roomId: string;
playerId?: string;
}