# godot4_turn_based_combat_system **Repository Path**: Giab/godot4_turn_based_combat_system ## Basic Information - **Project Name**: godot4_turn_based_combat_system - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-08-22 - **Last Updated**: 2025-09-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Godot 4 回合制战斗系统 - 教学项目 by 老李 ## 项目简介 本项目是一个使用 Godot Engine 4 构建的回合制战斗系统(Turn-Based Combat System)的实践与教学项目。我们致力于从零开始,逐步迭代,构建一个功能相对完整、结构清晰、易于扩展的战斗系统框架。 该系统将涵盖角色属性、技能设计、状态效果(Buff/Debuff)、战斗流程管理、AI逻辑以及相关的UI交互等核心模块。通过本项目的学习和实践,开发者可以深入理解在Godot中设计和实现复杂游戏系统的思路与方法。 我们采用了组件化的设计思想,将不同的功能模块(如属性管理、技能处理、战斗行为逻辑)拆分到各个独立的组件中,以提高代码的可维护性、可读性和可复用性。 ## 教学项目说明 本项目首先是一个**教学性质的开源项目**,主要服务于“老李游戏学院”知识星球的学员以及对Godot游戏开发感兴趣的开发者们。项目的开发过程、架构演进、设计决策以及相关的游戏设计思考,都会通过图文和视频教程的形式进行详细阐述。 **核心目标:** * 提供一个可运行、可学习、可二次开发的回合制战斗系统范例。 * 分享在Godot中进行游戏中大型系统架构设计的经验与取舍。 * 探讨回合制战斗相关的游戏设计理念和实现技巧。 * 构建一个开放的学习和交流社区。 ## 如何获取教程? * **图文教程(深度优先,持续更新):** 详细的开发日志、设计文档、代码解析以及更深入的游戏设计思考,会优先发布在 **[老李的知识星球“老李游戏学院”](https://wx.zsxq.com/group/28885154818841)**。加入星球即可获取所有已发布和未来更新的图文内容,并参与学员社群的交流与问答。 * **视频教程(逐步推出):** 相关的视频教程系列也正在紧张制作中,旨在通过更直观的方式演示开发过程和讲解核心概念。视频教程将主要发布在B站。 **B站频道:[玩物不丧志的老李](https://space.bilibili.com/8618918)** ## 近期及未来架构方向(节选) 本项目采用迭代开发的方式,架构会持续演进。根据我们近期的探讨和设计,后续的一些重构和优化方向可能包括(仅为方向性透露,具体实现会在教程中详述): * **组件进一步细化:** 例如,当前的 `CombatComponent` 可能会根据职责进一步拆分为更专注的组件,如管理角色属性、技能和状态的 `SkillComponent`,以及专注于战斗行为流程的 `TurnActionComponent` (或精简后的 `CombatComponent`)。 * **`SkillEffectData` 的演进:** 目前 `SkillEffectData` 包含了多种效果类型的参数定义。未来可能会考虑将其作为基类,为不同的效果类型(如伤害、治疗、状态施加)派生出更具体的 `EffectData` 资源,以增强类型安全和编辑器体验。 * **事件驱动的交互:** 更多地利用信号和事件总线来解耦各个系统之间的直接依赖。 * **AI逻辑的模块化:** 设计更灵活的AI行为树或状态机来驱动敌人行动。 这些调整旨在使系统更加模块化、可扩展,并提升代码的清晰度和可维护性。 ## 如何贡献与参与 我们非常欢迎对本项目感兴趣的开发者参与进来!无论是代码贡献、问题反馈、功能建议,还是文档翻译和校对,都是对这个开源教学项目的宝贵支持。 * **代码仓库:** [GitHub - Godot4 Turn-Based Combat System](https://github.com/LiGameAcademy/godot4_turn_based_combat_system) (请替换为你的实际仓库链接) * **问题反馈:** 请通过 GitHub Issues 提交 Bug 报告或功能建议。 * **参与讨论:** 加入我们的 [知识星球](https://wx.zsxq.com/group/28885154818841) 或 [Discord社群](https://discord.gg/V5nuzC2BcJ) (请替换为你的实际Discord链接) 进行交流。 ## 开源协议 本项目采用 **MIT License** 开源。 这意味着你可以自由地使用、复制、修改、合并、出版发行、散布、再授权及贩售本软件的副本,只需在所有副本或重要部分中包含原始的版权声明和许可声明即可。我们希望这种宽松的协议能最大限度地促进知识的传播和社区的参与。 ## 致谢 感谢每一位关注、学习和支持本项目的开发者!特别感谢“老李游戏学院”的学员们,你们的反馈和热情是我持续创作和分享的最大动力。 希望这个项目能为大家在Godot游戏开发的道路上提供一些有价值的参考和启发。 让我们一起享受用Godot创造游戏的乐趣! ---老李