A turn-based strategy game inspired by Sid Meier’s Civilization VI, built entirely in Java and rendered using JavaFX. The project features a client-server architecture with multithreading, enabling multiple players to interact in the same world simultaneously.
This project is a recreation and simplification of core mechanics found in Civilization VI. Players can:
- Expand their territory
- Manage resources
- Build units and structures
- Compete or cooperate with other players on the same server
The goal was to develop a fully functioning strategy game system while practicing object-oriented game design, GUI development, and network programming.
- Inspired by Sid Meier’s Civilization VI
- Turn-based gameplay with a tile-based world
- Units, cities, buildings, technologies, and resource management
- Clear separation between game logic, UI, and networking layers
- Fully implemented GUI using JavaFX
- Interactive map and game UI
- Smooth animations and event handling
- Client–Server architecture with sockets
- Multiple players can join the same world
- Real-time communication between client and server
- The server handles multiple clients concurrently using Java threads
- Thread-safe data structures and synchronization
- Ensures responsive gameplay and stable multiplayer sessions
This project was originally built to gain experience in:
- Java and JavaFX
- Real-time multiplayer networking
- Designing GUI-based applications
- Architecting a game system from scratch
- Multithreaded server design