https://github.com/ycarowr/turnbasedgametemplate
A Unity3d MVC implementation of a turn based game.
https://github.com/ycarowr/turnbasedgametemplate
boilerplate component csharp csharp-components framework game-development games gaming mvc mvc-architecture mvc-pattern template turn turn-based turns unity unity-component unity-framework unity2d unity3d
Last synced: 6 months ago
JSON representation
A Unity3d MVC implementation of a turn based game.
- Host: GitHub
- URL: https://github.com/ycarowr/turnbasedgametemplate
- Owner: ycarowr
- License: mit
- Created: 2019-10-06T15:36:44.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2019-10-20T16:12:59.000Z (over 5 years ago)
- Last Synced: 2024-10-23T22:17:14.465Z (7 months ago)
- Topics: boilerplate, component, csharp, csharp-components, framework, game-development, games, gaming, mvc, mvc-architecture, mvc-pattern, template, turn, turn-based, turns, unity, unity-component, unity-framework, unity2d, unity3d
- Language: C#
- Homepage:
- Size: 2.22 MB
- Stars: 41
- Watchers: 2
- Forks: 6
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# TurnBasedGameTemplate
The idea here is to have the core implementation and the basic funcionalities of a turn-based game working in a clean repository, so every time a new project/prototype comes along I may use this implementation and skip rebuilding the basic mechanics.[Download Unitypackage](https://github.com/ycarowr/TurnBasedGameTemplate/tree/master/ReleasePackages)
## Structures and funcionalities:
1. Two players, Top and Bottom; (can be extended to more players)
2. Events such as Start and End match integrated with an UI;
3. Events like Player Started and Finished Turn also integrated with a simple UI;
4. Restart point.I am not going to go further with details about the implementation because you can check the repo. But the idea is to have a MVC with a separation between Model and UI.
All the comunication UI and Model is done using the Singleton Pattern and the Observer Pattern.
1. [State Machine that controls the game flow](https://github.com/ycarowr/TurnBasedGameTemplate/tree/master/Assets/Scripts/TurnBasedGameTemplate/Model/TurnBasedFSM)
2. [Game Model](https://github.com/ycarowr/TurnBasedGameTemplate/tree/master/Assets/Scripts/TurnBasedGameTemplate/Model)
3. [Game Controller](https://github.com/ycarowr/TurnBasedGameTemplate/tree/master/Assets/Scripts/TurnBasedGameTemplate/GameController)
4. [Mechanics](https://github.com/ycarowr/TurnBasedGameTemplate/tree/master/Assets/Scripts/TurnBasedGameTemplate/Model/Game)
5. [Game Events](https://github.com/ycarowr/TurnBasedGameTemplate/blob/master/Assets/Scripts/TurnBasedGameTemplate/GameEvents/GameEvents.cs)
6. [UI](https://github.com/ycarowr/TurnBasedGameTemplate/tree/master/Assets/Scripts/TurnBasedGameTemplate/UI)
7. [Patterns and Tools](https://github.com/ycarowr/TurnBasedGameTemplate/tree/master/Assets/Scripts/TurnBasedGameTemplate/Tools)Gif for a better visualization of the game flow:
Default Configurations:

I made as example the project in this [link](https://github.com/ycarowr/SimpleTurnBasedGame) using this idea.