Semester Project (1.0) Java Swing

PhishingDefender

A Serious Game for Cyber Security.
No Engine. 100% Pure Java.

Explore Case

Become a
Cyber Detective

"Phishing Defender" is more than just a game. It is a mission. In a world full of digital dangers, children and teenagers (6–14 years) learn to see through hackers' tricks.

Developed as a semester project at the University of Applied Sciences Hannover.
The goal: Turn dry theory into adrenaline-pumping gameplay.

3 Levels
100% Java Swing
12 Weeks Dev
Main Menu

Strategic Planning

A game is not created by chance. It is created by planning.

01

Analysis

Target audience (6-14y) & learning goals defined.

02

Design

UML, Use-Cases & Paper Prototypes.

03

Core Impl.

Game Loop, Swing UI & Logic.

04

Features

Highscores, Save-System & Audio.

05

Polish

Animations, Testing & Release.

Use-Case Driven Development

Every feature was based on clearly defined use-cases. From "Start Game" to "Activate Firewall Bonus". This guaranteed a clear focus and prevented feature creep.

UC 04

Core Loop

Play levels & analyze emails

UC 08

Gamification

Activate Firewall Bonus System

UC 09

Persistence

Highscore & Data Storage

System_Architecture_v1.0.png
Sequence Diagram

The Evolution

01

Paper Prototype

Sketch

First idea validation on paper. Focus on layout and user flow.

→
02

Final Release

Final UI

Implementation in Java Swing with custom rendering and animations.

Challenges & Solutions

Real projects never run perfectly. Here is how I managed risks.

⚠️

Risk: Time Overrun

12 weeks are short. There was a danger of getting lost in details ("Feature Creep") and missing the deadline.

🛡️
Countermeasure Applying the MVP Principle (Minimum Viable Product). Core features (Gameplay) had absolute priority over "Nice-to-Have" features.
⚡

Risk: Swing Limitations

Java Swing is old. HTML rendering and layout managers often behaved unpredictably (e.g., wrong scrollbars).

🛡️
Solution Implementation of own Custom Panels (Scrollable Interface) and use of "Buffering" for smooth animations.
💾

Risk: Data Loss

Danger of code loss or broken builds during the hot development phase.

🛡️
Strategy Strict Git Strategy with regular commits and backups on GitHub. OS-independent storage paths.

Under the Hood

Clean software architecture instead of spaghetti code.

MVC & Manager Pattern

The game is based on a strict separation of data (Model), logic (Controller), and display (View). Central Manager classes control the sub-systems.

  • PhishingDefender (Main): The central controller.
  • SettingsManager: Encapsulates settings & JSON storage.
  • AudioEngine: RAM buffering for latency-free sound.
  • IntegrityShield: Visual feedback system for lives.
UMLOOPJSONSwingWorker
Class Diagram Class Diagram (Excerpt of Architecture)

Get the Defender

Choose your version and start the mission.

Recommended

Java Edition

v2.1.0 • Universal .jar

  • Windows, Mac & Linux
  • Requires Java 17+
Download .jar
Size: 33.5 MB • Build: Stable

Windows Edition

Native .exe

  • No installation needed
  • Starts without Java setup
Download .exe
Size: 32.2 MB • Portable

Source Code

GitHub Repository

  • Full Access
  • Assets & Documentation
View Repository
License: MIT • Open Source
Terminal - How to run

# Option A: Double click on the .jar file

# Option B: Start via Terminal (for debugging)

yusef@home:~$ java -jar PhishingDefender.jar
[INFO] GameEngine initialized...
[INFO] Loading Assets...
[SUCCESS] Phishing Defender v1.0.2 started.