-
Notifications
You must be signed in to change notification settings - Fork 78
Home
Welcome to the godot-tactical-rpg
wiki!
This guide will help you understand the structure and key components of the codebase.
This project is a tactical RPG framework built for Godot using GDScript.
-
Turn-based combat system
-
Grid-based map
-
Character classes
-
Advanced camera handling
-
Mouse & Keyboard support
-
Gamepad/Controller support
-
Single-player gameplay
-
Toggleable debugger features
This project tries its best to adhere to the below rules:
-
Follow the GDScript Style Guide
-
Use static typing for better performance and code clarity
-
Implement thorough in-editor documentation using GDScript comment standards
We use a shared-assets architecture, which is meant to facilitate scalability & maintenance. Though it's a great system for the above goals, it can be a bit... Daunting, at first!
But do not fret -- here is a guide to navigating the codebase.
- Familiarize yourself with the
main.gd
script to understand how the game initializes. - Explore the
TacticsLevel
class to see how combat flows are managed. a. TacticsArena is in charge of loading and initialising the map and its tiles. Takle a look here to understand grid and pathfinding mechanics. b. TacticsParticipant is where the bulk of the combat turn logic lives. c. CheckTacticsPawn
to see how individual units are implemented.
To add new character classes, create new resource files in the data/models/world/stats/expertise/
directory.
For new gameplay mechanics, consider adding new service classes to handle the logic. Service classes are nested under their resource folder in /data/modules
UI extensions should be added to the data/modules/ui/
directory.
- The codebase is designed to be lightweight and scalable
- Use the provided utility classes (e.g.,
CalcVector
) for optimized calculations - Leverage the modular structure to keep individual components focused and efficient
For more detailed information on specific components, please refer to the individual pages in this wiki.