Star Battle NTNU
Intergalactic space warfare - Game project in TDT4240 Software Architecture
View Demo
Table of Contents
About the Project
Tech Stack
Client
Server / Database
Project Structure
.
├── README.md
├── android
│ ├── AndroidManifest.xml
│ ├── build.gradle
│ ├── res/
│ └── src
│ └── group16
│ └── project
│ └── game
│ ├── AndroidFirebaseConnection.kt
│ └── AndroidLauncher.kt
├── assets/
├── build.gradle
├── core
│ ├── build.gradle
│ └── src
│ └── group16
│ └── project
│ └── game
│ ├── Configuration.kt
│ ├── StarBattle.kt
│ ├── ecs
│ │ ├── Engine.kt
│ │ ├── Utils.kt
│ │ ├── component
│ │ │ ├── BodyComponent.kt
│ │ │ ├── HealthComponent.kt
│ │ │ ├── HealthListener.kt
│ │ │ ├── HeartDisplayComponent.kt
│ │ │ ├── PlayerComponent.kt
│ │ │ ├── PositionComponent.kt
│ │ │ ├── ShieldComponent.kt
│ │ │ ├── TextureComponent.kt
│ │ │ ├── TrajectoryComponent.kt
│ │ │ ├── TransformComponent.kt
│ │ │ └── TypeComponent.kt
│ │ ├── system
│ │ │ ├── HeartSystem.kt
│ │ │ ├── PositioningSystem.kt
│ │ │ ├── RenderingSystem.kt
│ │ │ ├── ShieldSystem.kt
│ │ │ └── ShootingSystem.kt
│ │ └── utils
│ │ ├── ComponentMapper.kt
│ │ ├── EntityFactory.kt
│ │ └── InputHandler.kt
│ ├── models
│ │ ├── FirebaseInterface.kt
│ │ ├── Game.kt
│ │ ├── GameInfo.kt
│ │ └── GameState.kt
│ └── views
│ ├── CreateLobbyScreen.kt
│ ├── GameScreen.kt
│ ├── JoinLobbyScreen.kt
│ ├── LeaderboardScreen.kt
│ ├── MainMenuScreen.kt
│ ├── SkinScreen.kt
│ ├── TextureHandler.kt
│ ├── View.kt
│ └── components
│ ├── EndGameComponent.kt
│ ├── ImageSlideshowComponent.kt
│ ├── PopupComponent.kt
│ ├── SkinComponent.kt
│ └── SlideshowComponent.kt
├── gradle/
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
Getting Started
Prerequisites
- Android device with API version 32 or later or use Android emulator
- The device has to support Google Play Service
- JDK 15 when running on an IDE
Installation, compilling and running
Installing on Android Studio or IntelliJ
- Clone project from GitHub repository: https://github.com/WilliamHLe/star-battle-ntnu.git
- Setup a virtual device by opening AVD manager in the IDE
- Follow the instructions to setup the device
- Build project
- Run the app
Installing on an Android device
- Download the APK file from https://github.com/WilliamHLe/star-battle-ntnu/releases/latest
- Install it on your Android device
- Run the app