Space Empires

Space Empires A 4X Space themed Strategy Game made with Flutter.
Usage 🎨
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 ⚡
- 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 ✔️
- 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 🔧
- 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 📦
These are the packages used in this Project
| Package | Description | 
|---|---|
| after_layout | Helps execute code after the first layout of a widget has been performed | 
| animated_text_kit | Provides Cool and Beautiful Text Animations | 
| carousel_slider | For Slidable Cards | 
| flutter_animated_dialog | For Animated Dialogs | 
| flutter_staggered_grid_view | For Planets Alignment | 
| flutter_svg | To render SVG | 
| provider | Provider State Management | 
| lottie | For Lottie Animations | 
| sizer | Helps with Responsiveness | 
| rive | For Rive Animations | 
| shared_preferences | For Data Persistance | 
| lint | Rules handler for Dart | 
Directory Structure 🏢
The project directory structure is as follows:
├── android
├── asset
├── build
├── ios
├── lib
├── analysis_options.yaml
├── pubspec.lock
├── pubspec.yaml

| Directory | Description | 
|---|---|
| models | Contains Model Class for Ships, Planets, Rulers | 
| screens | Contains the UI class for all the Screens | 
| services | Contains the Game Service, Player Service and all Core Logic | 
| utility | Contains app-wide constants, common functions | 
| widgets | Contains UI Blocks and Other Functional Elements | 
Some shots from the Game (old)

Game Screen



Control Panels



Planet Info




 
                                         
                                        
Average Rating