Welcome to Emblem Forge, a Unity framework designed to build highly customizable turn-based tactical strategy games reminiscent of titles like Fire Emblem and Advance Wars.
Emblem Forge provides a robust set of Unity C# scripts that form the foundation for developing turn-based tactical games within the Unity game engine. The framework revolves around strategic unit movement on a grid-based map, turn-based combat, and diverse game elements inspired by classic tactical RPGs.
- Manages game flow, including turns, player actions, and win/lose conditions.
- Handles game initialization, player switches, and game state determinations.
- Governs individual unit behavior such as movement, attacking, and health management.
- Manages actions like movement range, attack range, and interactions with the game environment.
- Defines properties of grid-based tiles.
- Manages terrain, occupancy, and specific effects or buffs associated with different tile types.
- Responsible for creating and managing the grid system.
- Provides methods for generating the game map, populating it with tiles, and placing units.
- Setup:
- Create four empty game objects in your Unity project.
- Attachment:
- Attach scripts accordingly:
GameManagerscript to one game object.Unitscript to another game object.Tilescript to a prefab representing a tile game object.GridManagerscript to a game object.
- Attach scripts accordingly:
- GameManager:
- Ensure the game manager is initialized at the start to control turns and game state transitions.
- Unit:
- Define individual unit behavior, movement, attack range, and special abilities.
- Tile:
- Customize tile properties such as terrain effects or other attributes.
- GridManager:
- Utilize this script to generate the game map by setting up the grid system, placing tiles, and arranging units.
We encourage contributions! Fork this repository, make changes, and submit pull requests. Suggestions, bug fixes, or new features enhancing gameplay are highly welcome.
This project is licensed under the MIT License. Refer to the LICENSE file for details.
