Football Club Management Simulator

FUTBOL: Desktop Football Manager with Real-Time Networking

Language
Java
UI Framework
JavaFX
Networking
WebSockets
Storage
File I/O

Video Demonstration

Watch FUTBOL in action - Real-time football club management with live transfer market

Project Overview

FUTBOL is a feature-rich desktop application designed to simulate the experience of a football club manager. Built as a Level 1, Term 2 term project, it combines management simulation with real-time networking and interactive gaming.

The application provides an immersive experience where users can manage their football club, participate in a live transfer market, build tactical formations, and enjoy skill-based minigamesβ€”all powered by modern Java technologies and real-time WebSocket communication.

Key Features

Dynamic Marketplace

A robust system where users can browse, buy, and sell players. The economy is driven by player stats and user demand with real-time price adjustments.

Live Transfer Window

Leveraging WebSocket technology for a real-time transfer market where players can be traded instantly, ensuring all connected users see live updates.

Team Management

A tactical module that allows users to drag and drop players into various tactical setups (e.g., 4-4-2, 4-3-3) to optimize their squad.

Penalty Shootout

Integrated minigame providing a break from management with skill-based gameplay. Test your reflexes and accuracy in exciting penalty shootouts.

Player Statistics

Comprehensive player stats tracking including performance metrics, market value, and historical data to make informed decisions.

Club Economics

Manage your club's finances with budget tracking, transfer budgets, and revenue streams from player sales and achievements.

Technical Stack

Frontend

JavaFX with custom CSS styling

  • β€’JavaFX for rich desktop UI components
  • β€’Custom CSS for modern, responsive styling
  • β€’Drag-and-drop interface for team formation
  • β€’Scene Builder for UI design

Backend & Networking

Real-time WebSocket communication

  • β€’WebSockets for live transfer market updates
  • β€’Multi-threaded server architecture
  • β€’Real-time data synchronization
  • β€’Concurrent user session management

Data Management

Persistent storage and data handling

  • β€’File I/O for player and team persistence
  • β€’Serialization for data storage
  • β€’Database integration for scalability
  • β€’Efficient data retrieval and caching

Game Logic

Core gameplay mechanics and algorithms

  • β€’Player valuation algorithms
  • β€’Market dynamics simulation
  • β€’Formation validation logic
  • β€’Penalty shootout physics engine

Architecture

Client-Server Model

Distributed architecture for multi-user gameplay

  • β€’JavaFX desktop client for user interface
  • β€’Central server managing game state
  • β€’WebSocket connections for real-time updates
  • β€’Session management for concurrent users

MVC Pattern

Clean separation of concerns

  • β€’Model: Player, Team, Market data structures
  • β€’View: JavaFX FXML layouts and scenes
  • β€’Controller: Business logic and event handlers
  • β€’Observable pattern for reactive updates

Complete Feature Set

βœ“Real-time multiplayer transfer market
βœ“Drag-and-drop tactical formation builder
βœ“Interactive penalty shootout minigame
βœ“Dynamic player valuation system
βœ“Live market price updates via WebSockets
βœ“Comprehensive player statistics dashboard
βœ“Multiple tactical formations (4-4-2, 4-3-3, etc.)
βœ“Club budget and financial management
βœ“Persistent data storage for game progress
βœ“Modern JavaFX UI with custom CSS styling
βœ“Multi-threaded server for concurrent users
βœ“Real-time notifications for market activities

"From tactical formations to real-time transfers β€” FUTBOL brings the complete football management experience to your desktop."

A Level 1, Term 2 project combining JavaFX, WebSockets, and game development to create an immersive football club management simulator.