logo

Star Battle NTNU

Intergalactic space warfare – Game project in TDT4240 Software Architecture

contributors forks stars open issues

View Demo

About the Project

screenshot

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

Installing on an Android device

GitHub

View Github