FishMiner is a game development project conducted as part of the TDT4240 Software Architecture course at NTNU. The goal of this project is to develop a functional multiplayer game for Android, designed using software architecture principles covered in the course. The game includes multiplayer support, online components, and server-based functionality. The architecture prioritizes modifiability as the primary quality attribute and usability and performance as the secondary.
FishMiner is a 2D arcade-style fishing game where players control a hook to catch fish, earn points, and progress through increasingly difficult levels. As players advance, they can unlock and purchase upgrades to improve their gear, such as stronger reels, faster sinkers, and more precise hooks. The game features a level-based structure, smooth real-time gameplay, and an online leaderboard where players can compete for high scores.
1. Download apk
- Download the apk here
2. Running the game
- On android: Open the downloaded file
- On desktop: Open android studio. Click Profile or Debug apk and select the apk. (Requires android studio, latest android sdk and selecting a device to run on)
1. Download and setup:
- Clone the repository from GitHub or download the source files.
- Ensure that you have Java (version 8 or above) and Android Studio installed.
- Open Android Studio and select Open Project, then navigate to the Fish Miner folder to load the project.
2. Dependencies:
- The project uses the LibGDX framework and other external libraries such as Ashley ECS and Scene2D. These dependencies are managed automatically by Gradle.
- Missing dependencies can be installed by syncing Gradle in Android Studio.
3. Running the game:
- Open Android Studio and click on the Run button to build and deploy the game on an emulator or connected Android device.
- Choose the target device (emulator or connected Android device) and click Run.
- The game can also be ran on desktop by selecting
Lwjgl3Launcher.javafile as the main class and running it.
- Your goal when playing Fish Miner is to catch enough fish to reach a target score and advance to the next level.
- As you progress, you unlock additional levels with increasing difficulty.
- Fish that are further down are worth more, but require more time and longer reels to catch.
Figure: Fish Miner levels
Figure: Fish Miner levels
- The hook automatically swings back and forth. Tap the screen anywhere to release the hook in the direction it is pointing. Aim for the fish!
Figure: Catching a fish
After each win, the Upgrade Store will appear. Here you can buy upgrades which last until you lose. You can upgrade your hook, reel, or sinker once between each level. When you buy upgrades, the cost is deducted from your score, so use your points wisely!
Figure: Upgrades screen







