Welcome to Unity-TurnBasedTactic, a group project made in the academic field based on the classic : Final Fantasy Tactics.
Useful scripts are located in Assets/Scripts/..
This repository has for objective of showcasing what could be achieve with a group of four individuals under a short period of time. Some of the features presented here are obviously not mine and I won't take credit for them. A detail list of the features I worked on will follow.
NOTE : This project is currently a broken version of itself as we used purchased assets that cannot be redistibuted.
👉 A* Pathfinding
👉 Odin Inspector
TurnBased Tactic is working with an Event Based System. Our objective was to prioritize scalability of the system relying on implementing the Observer Pattern and avoiding referencing static values which would have involved major coupling over the project.
NOTE : Scripts created by myself can be found here.
- Assets/Scripts/Dialogue : Dialogue System
- Assets/Scripts/UI : Action System 👉 can be found under the name ActionMenu
NOTE : UI interactions are broken down into several scipts. PlayerHUD is at the core of the UI System and is managed thru the UI Manager.
- Assets/Scripts/Managers : All Managers 👉 Event Based Script can be found under the name Battle Turn Manager and works in conjunction with the Input Manager who invoke his delegates during unit selection phase
- Assets/Scripts/Utilitis : Custom Tweening lib
- Grid System
- Tile Rules (for map generation)
- A*
- Input System
- Action System
- Battle Turn Management System 👉 Event Based driven
- AI
- Inventory System (*made with Odin inspector)
- Buffing System
- UI Management 👉 Custom Tweening lib
- Audio Management
- Animation Management
- Dialogue System 👉 Using Dialogue behaviour
- Level Management / Scene Loading
- Observer Pattern
- Texture Loading
- Action System
- Battle Turn Management (Event Based driven)
- UI Management
- Tweening lib
- Audio Management
- Dialogue System (using Dialogue behaviour)
💬 References for patterns are given from : Design Patterns: Elements of Reusable Object‑Oriented Software