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.