- Notifications
You must be signed in to change notification settings - Fork10
mohsansaleem/Idle-Miner
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This is a simulation game with the raw UI. Primary purpose of this project was to implement an expandable code architecture.All the data is persisted so we can continue from the point where we left and we can also tweak MetaData and add new levels in there.
Video
- Unity 2019.4.0f1
- MVC
- Dependency Injection
- Reactive Programing
- Promises
- State Machine
- Generic Popup System
- Spine2D (Pending)
Plugins | Description |
---|---|
Unity3D | 3D Game Engine. |
Zenject | Dependency Injection. |
UniRx | Reactive Programming. |
C# Promises | Asynchronous coding. |
Spine | 2D Animation. |
- Pull the code.
- Use Unity 2019.4.0f1 to open it.
- Check /MainMenu/Potato-Games/Always Start from Startup Scene.
- Press Play.
- All the Context code is in\Assets\Scripts\IdleMiner\Contexts. Each scene has the respective folders including some extra scenes like Popup and Hud etc.
- GamePlay scene has all themagic.
- Bootstrap is the starting scene.
- *Data files\classes are forMetadata objects.
- *RemoteData files/classes are forGameState objects and I am linking the *Data on loading of GameState.
- *RemoteDataModel are the Models that containRemoteData and other reactive properties and collections.
- \Assets\Scripts\Core issubmodule that contains just the abstract of some generics that can be shared across the project so I have added it to minimise my work.
- All theScenes are inScenes folder andrespective resources are in\Assets\Resources\Scenes
- MainGame code is in\Assets\Scripts\IdleMiner.
- (Models,RemoteData andData)s are in\Assets\Scripts\IdleMiner\Models.
- All theCommands are in\Assets\Scripts\IdleMiner\Commands.
Delete the /Assets/StreamingAssets/GameState.json if you want to run the default gamestate again.Meta is not balanced. So you will have to manage.
Want to contribute? Great!Create PR if you want to change something.
- Add spine animations.
- Add Managers and Upgrade functionality.
- Balance and refactor the Meta.
- Make it reactive to the member wise. Currently it is refreshing the whole Model on update.
- Write Tests.
Free Software, Hell Yeah!