Skip to main content

Goggle Eyes

A real-time multiplayer number-recognition game built with Java socket programming, client-server communication, and synchronized gameplay.

  • Java Development
  • Socket Programming
  • Client–Server Architecture
  • Multithreading
  • Game Development
Goggle Eyes number difference challenge project cover.

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.

Real-timeMultiplayer communication
TCPSocket-based networking
5Competitive game rounds
LiveScores and leaderboard

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.

Goggle Eyes multiplayer gameplay interface displayed on a laptop.

Core features

The game combines synchronized networking, server-controlled logic, and a clear desktop interface to create a fast competitive experience.

01

Real-time multiplayer

Multiple players join the same session and compete through a synchronized game flow.

02

Waiting room

Players connect through a shared lobby before the server starts the active game session.

03

Live scoring

Correct answers immediately update player scores and the shared leaderboard.

04

Timed rounds

Each round challenges players to identify the different number before time runs out.

05

Server validation

The server validates submitted answers and controls the authoritative game state.

06

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.

Player client
Player client
Player client
Central serverSession and game-state managerConnections · rooms · validation · scores · broadcasts

Multiplayer workflow

The full interaction follows a controlled sequence from connection to synchronized leaderboard updates.

01

Player joins

The client connects to the server and submits the player name.

02

Waiting room

Connected players remain in the lobby until the game begins.

03

Game session

The server distributes the same challenge and round state to every client.

04

Answer submission

Players send their selected number through the socket connection.

05

Score update

The server checks the answer and broadcasts the updated scores.

06

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.

01

Concurrent clients

Separate execution threads allow the server to communicate with multiple players without blocking the full session.

02

State synchronization

Server broadcasts ensure every client receives the same round, scores, and leaderboard state.

03

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.

JavaJava SwingSocket ProgrammingTCP NetworkingMultithreadingClient–ServerReal-time CommunicationDesktop GUI
Source code

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 GitHub

Project 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.