CS108 Programming Project, University of Basel
PhantomHunt
An asymmetric 3 vs 1 multiplayer chase game in a haunted castle: one human survives, three phantoms coordinate the hunt.
Project overview
From playable mockup to multiplayer Java game
Early prototype
Browser mockup
The first prototype was a small HTML5 Canvas game used to test the chase loop, wall collision, restart flow, and pathfinding ideas before the Java version existed.
Click inside the frame, then use the arrow keys.
Interactive final-game showcase
Real game assets, browser-ready demo
This playable preview uses the final tile map, custom floor tiles, human sprites, phantom sprites, and ability image. The movement and chase logic is adapted for a static GitHub Pages page.
Media
Trailer and gameplay
Implementation focus
My work on the project
This personal repository highlights the parts I worked on most: networking, backend game state, lobby behavior, scoring, protocol handling, and the browser mockup.
Run the real game
Build locally with the Gradle wrapper
Build
./gradlew jar
Start server
java -jar build/libs/phantom-hunt.jar server 2222
Join as client
java -jar build/libs/phantom-hunt.jar client 127.0.0.1:2222