This repository has been archived on 2026-05-29. You can view files and clone it. You cannot open issues or pull requests or push a commit.
2026-02-20 09:20:34 +01:00
2026-02-20 09:20:34 +01:00
2026-02-20 09:20:34 +01:00
2026-03-04 11:24:49 +01:00

Important

Programming Project (CS108)

  • Course: Programmierprojekt (CS108)
  • Semester: FS26
  • Institution: University of Basel
  • Duration: 18 February 2026 29 June 2026
  • Project Type: Group Project
  • Project members: Mathis Ginkel, Julian Kropff, Jona Walpert and me (Lars Winzer)

Topic

As part of the Programming Project course (CS108) for the semester FS26 at the University of Basel, we developed a computer game implementation of the popular card game Poker.

The project's focus was networking and distributed systems design. A key aspect of the implementation was the development and integration of a custom protocol specifically designed for client-server communication. This protocol handled game state synchronization, player actions, lobby and global chat functionality, and real-time updates across the network.

Contribution Context

This repository contains work created during the official duration of the course in collaboration with three other students.

Further information regarding individual contributions, repository state, synchronization status, and project ownership may be documented separately within this repository.

Game Logo

Syntax Syndicate

Jona • Mathis • Julian • Lars

Table of Contents

About the Project

As part of the Programming Project course (CS108) for the semester FS26 at the University of Basel, we are developing a computer game implementation of the popular card game Poker.

The project's focus lies in networking and distributed systems design. Key aspect of our implementation being the development and integration of a custom protocol specifically designed for client-server communication. This protocol handles game state synchronization, player actions, lobby and global chat, and real-time updates across the network.

Repository Structure

├── src/                     # Source code directory
│   ├── main/                # Application code
│   └── test/                # Unit tests
├── documents/               # Project resources and documentation
│   ├── images/              # Images for README and documentation
│   ├── diary                # Diary files for each organizational meetup
│   ├── docs                 # Documentation
│   ├── milestones/          # Milestone deliverables (6 milestones)
│   └── (Other resources)    # Additional project materials
└── outreach/                # Public-facing content and marketing materials

Prerequisites

  • Java Development Kit (JDK) 25
  • Gradle (included via Gradle Wrapper)

Development Timeline

This project spans six milestones throughout the FS26 semester, with each milestone representing a major phase in development:

MS-1: Foundation & Design

  • Game concept and rules presentation
  • Networking architecture overview
  • Project mockups and requirements analysis
  • Detailed project plan and team organization

MS-2: Networking & Server Implementation

  • Human-readable custom protocol definition and implementation
  • Server implementation with multi-client support
  • Client-server chat functionality
  • Protocol documentation and validation
  • JavaDoc code documentation and QA concepts

MS-3: Knowledge Checkpoints

  • Assessment of individual technical understanding through evaluation

MS-4: Game Logic & Working Prototype

  • Core game logic implementation
  • Playable game demo (terminal or GUI)
  • Command-line argument parsing
  • Multiple lobby support with internal chats
  • Whisper/private messaging functionality
  • Build automation and executable JAR

MS-5: Polish & Complete User Interface

  • Full GUI implementation with JavaFX
  • Complete game playability through UI
  • Persistent high score list
  • Comprehensive unit tests
  • Game rule enforcement

MS-6: Final Delivery & Public Presentation

  • Bug-free final demo
  • Complete GUI with all functionality
  • Outreach materials and project documentation
  • Game manual and usage instructions
  • Team logo and promotional materials
  • QA reports and lessons learned
S
Description
A distributed multiplayer Poker game developed as part of the CS108 Programming Project course at the University of Basel, with a focus on networking, client-server architecture, and custom protocol design.
Readme 513 MiB
Languages
Java 82.2%
CSS 12.1%
HTML 3%
TeX 1.9%
Shell 0.5%
Other 0.3%