space empires
space empires a 4x space themed strategy game made with flutter.
usage ��
to download and run this application, you’ll need git and flutter installed on your computer. from your command line:
# buy this source
$ 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
Comments are closed.