Space Themed Turn-Based Strategy Game developed in Flutter

  Games

Space Empires flying_saucer

Introduction rocket

Space Empires A 4X Space themed Strategy Game made with Flutter

Complete Rules and Instruction can be accessed from the game or here

Before we start, you can take a look at the app:

Attributions pray

All the assets used in this product belong to their rightful owners and were available for Non-Commercial Use

Usage art

To clone and run this application, you’ll need git and flutter installed on your computer. From your command line:

# Clone this repository
$ git clone https://github.com/SatyamX64/space_empires

# Go into the repository
$ cd space_empires

# Install dependencies
$ flutter packages get

# Run the app
$ flutter run

Features zap

  • Cross Platform
    • Web (Tested)
    • Android (Tested)
    • Ios (Not Tested)
  • Responsive (Works in both Orientations)
  • Adaptive (Works Beautifully in almost all screen sizes)
  • A basic custom Computer AI

Current Progress heavy_check_mark

  • All the Essential Screens/Views are done
  • All the required actions for Player and Computer are defined and working
  • All the Buildings/Stats/Upgrades/Ships have the desired effect
  • The game follows all the defined rules
  • Computer AI can take all the actions, just like a regular player
  • Null-Safe and follows Lint Guidlines

Things that need attention wrench

  • A better budget allocation strategy for computer AI
  • The AI can be too aggressive sometimes
  • A better chat and relations strategy for Computer AI
  • A more balanced Stats allocation and reward system
  • Audio Effects
  • Refactoring and Optimization
  • Your health and happiness 🙂

Most of these can be fixed by just tweaking the constant values and numbers. (services>game.dart) Associated TODO tags can be found over the Project, so feel free to play around with the values. The Project will remain open-source and any contribution or feedback will be highly appreciated

Packages package

These are the packages used in this Project

PackageDescription
after_layoutHelps execute code after the first layout of a widget has been performed
animated_text_kitProvides Cool and Beautiful Text Animations
carousel_sliderFor Slidable Cards
flutter_animated_dialogFor Animated Dialogs
flutter_staggered_grid_viewFor Planets Alignment
flutter_svgTo render SVG
providerProvider State Management
lottieFor Lottie Animations
sizerHelps with Responsiveness
riveFor Rive Animations
shared_preferencesFor Data Persistance
lintRules handler for Dart

Directory Structure office

The project directory structure is as follows:

├── android
├── asset
├── build
├── ios
├── lib
├── analysis_options.yaml
├── pubspec.lock
├── pubspec.yaml

image
DirectoryDescription
modelsContains Model Class for Ships, Planets, Rulers
screensContains the UI class for all the Screens
servicesContains the Game Service, Player Service and all Core Logic
utilityContains app-wide constants, common functions
widgetsContains UI Blocks and Other Functional Elements

Some shots from the Game (old)

welcome_screen_landscape

Game Screen

Control Panels

Planet Info

planet_stats_landscape
planet_upgrades_landscape
planet_defense_landscape

Download Turn-Based Strategy Game app source code on GitHub