Goggle Eyes
A real-time multiplayer number-recognition game built with Java socket programming, client-server communication, and synchronized gameplay.
Project overview
Goggle Eyes is a competitive multiplayer desktop game where players race to identify the number that differs from a repeated pattern. Speed and accuracy determine each player's score.
The project focuses on real-time networking rather than a single-player experience. A central Java server coordinates connected clients, validates answers, manages rounds, and keeps every leaderboard synchronized.
Gameplay experience
Every player sees the same number grid and submits the different number through the desktop interface. The screen also presents the timer, active players, current scores, and live ranking.
This gameplay mockup shows the complete experience in one view, from spotting the different number to sending an answer and tracking the competition.
Core features
The game combines synchronized networking, server-controlled logic, and a clear desktop interface to create a fast competitive experience.
Real-time multiplayer
Multiple players join the same session and compete through a synchronized game flow.
Waiting room
Players connect through a shared lobby before the server starts the active game session.
Live scoring
Correct answers immediately update player scores and the shared leaderboard.
Timed rounds
Each round challenges players to identify the different number before time runs out.
Server validation
The server validates submitted answers and controls the authoritative game state.
Java Swing interface
A desktop interface presents the challenge, players, scores, controls, and leaderboard.
Client–server architecture
The server acts as the single source of truth. It manages connected players, room state, challenges, submitted answers, scores, and the final ranking.
Each client focuses on player interaction and interface updates while socket messages keep all players aligned with the latest server state.
Multiplayer workflow
The full interaction follows a controlled sequence from connection to synchronized leaderboard updates.
Player joins
The client connects to the server and submits the player name.
Waiting room
Connected players remain in the lobby until the game begins.
Game session
The server distributes the same challenge and round state to every client.
Answer submission
Players send their selected number through the socket connection.
Score update
The server checks the answer and broadcasts the updated scores.
Leaderboard
Players receive the latest ranking after every scoring event.
Technical challenges
The most important engineering challenge was keeping several client interfaces consistent while events happened almost simultaneously.
Concurrent clients
Separate execution threads allow the server to communicate with multiple players without blocking the full session.
State synchronization
Server broadcasts ensure every client receives the same round, scores, and leaderboard state.
Fair validation
Answers are checked centrally so scoring rules remain consistent for every connected player.
Technology stack
The implementation uses core Java technologies to build the desktop interface, manage network communication, and coordinate simultaneous clients.
Explore the full implementation
Review the Java clients, socket server, multiplayer networking logic, interface implementation, and complete project files on GitHub.
View Goggle Eyes on GitHubProject outcome
Goggle Eyes demonstrates how socket programming and multithreading can transform a simple visual challenge into a synchronized multiplayer game.
The completed project combines networking, shared state management, real-time scoring, and desktop interface development in one practical Java application.

