本帖最后由 cg小白兔 于 2023-10-11 11:53 编辑
GAS Companion aims to be a general base for GAS powered projects without making any game design choices. The various parts of the system are intended to be subclassed and customized per project needs.
It includes the necessary initial C++ setup, helpers and additional features to get started on a new project that aims to use Epic's GAS plugin (used namely in Fortnite and Paragon, and showcased in Action RPG project)
It enables non C++ developers to work with GAS using only Blueprints. Even non BP friendly, c++ required parts of GAS like Gameplay Attributes can be handled with a custom C++ generation Wizard for Attribute Sets.
Similarly, GAS Companion can help existing projects that are considering the use of GAS and accelerate the implementation, or provide guidance.
Support for Modular Gameplay and Game Features (5.0 / 4.27 only)
Enhanced Input Integration (5.0 / 4.27 only)
Provided as a Plugin to easily share code between projects
Blueprint Friendly, no need to dive into the cpp side, you can implement Abilities right away
C++ Friendly too! You can easily extend from the provided C++ class and / or modify the plugin source.
Not Game Specific The plugin doesn't make any assumptions about your game design and decisions, and was built to be generic enough to be used in any kind of game.
Flexible AttributeSet / Attributes framework Generate custom Attributes from the Editor with a hand-crafted AttributeSet Wizard.
Ability Queue System (with a Debug Widget! more information below)
Ignore Ability Cost feature (Possibility to "loosely" check cost for Abilities, more information here)
Melee Combo System Easy way to define melee abilities with combo capabilities
Gameplay Ability / Effects Definitions Data Driven way to specify common parent GA / GE classes that are accessible through File Menu
Straightforward UI framework with HUD UserWidget able to react to GAS related events (Support for custom attributes and events to listen for GameplayTags, GameplayEffects and CooldownStart / End)
AttributeSet default setup with most commonly used Attributes (Health, Stamina, Mana)
ASC on PlayerState (for Player characters) or on Pawns (for AI / NPC Characters)
AI Tasks Activate Abilities by Tags or Class from Behavior Trees
Features
Ability Queue System
Store failed abilities and re-trigger when the previous running ability ends
Custom AbilitySystemComponent and GameplayAbility
Support for startup Attributes, Effects and Abilities
Activate abilities by Class / Tags (and return the activated ability)
Abilities with onAbilityEnded delegate (useful for Behavior Tree Tasks)
Abilities with Gameplay Effect Containers (inspired by Action RPG project)
Modular Gameplay Actors
Supports extension by Game Features and implements IAbilitySystemInterface
Component based Most of the API is provided by Actor Components (Core / Combo / Ability Queue)
Ability System helpers (Ability activation, Checking for GameplayTags, ...)
Ability, Attributes and Character lifecycle Events (OnAbilityActivated / Commit / Ended / Failed, OnAttributeChange, OnDamage, OnDeath, OnGameplayTagChange, OnGameplayEffectStackChange, OnCooldownStart / End, ...)
技术细节
Code Modules:
GASCompanion (Runtime)
GASCompanionEditor (Editor)
GASCompanionDeveloper (UncookedOnly)
Number of Blueprints: 19
Number of C++ Classes: 103
Network Replicated: Yes
Version: 6.0.1 (5.3) - 6.0.0 (5.0 / 5.1 / 5.2)
Supported Development Platforms: Windows, Mac, Linux
Supported Target Build Platforms: Windows, Mac, Linux
Version: 3.4.0 (4.27) / 2.1.1 (4.26) / 1.1.2 (4.24-4.25)
Supported Development Platforms: Windows / Mac
Supported Target Build Platforms: Windows, Mac
Important/Additional Notes: Although it should support all the mentioned platforms above, this plugin has been tested exclusively on Windows.
GAS Companion 的目标是为 GAS 驱动的项目提供一个通用基础,而无需做出任何游戏设计选择。该系统的各个部分可根据项目需要进行子类化和定制。
它包括必要的初始 C++ 设置、辅助工具和附加功能,以便开始使用 Epic GAS 插件的新项目(在《堡垒之夜》和《Paragon》中使用,并在《动作 RPG》项目中展示)。
它能让非 C++ 开发人员仅使用蓝图就能使用 GAS。即使是 GAS 中对 BP 不友好、需要 C++ 的部分,如游戏属性,也可以通过自定义属性集 C++ 生成向导来处理。
同样,GAS Companion 可以帮助正在考虑使用 GAS 的现有项目加快实施进度,或提供指导。
支持模块化游戏玩法和游戏功能(仅限 5.0 / 4.27)
增强型输入集成(仅限 5.0 / 4.27 版)
以插件形式提供,便于项目之间共享代码
蓝图友好,无需深入研究 cpp,即可立即实施能力
对 C++ 也很友好!您可以从提供的 C++ 类中轻松扩展,或修改插件源代码。
非游戏专用 插件不会对您的游戏设计和决策做任何假设,其通用性足以用于任何类型的游戏。
灵活的属性集/属性框架 通过手工制作的属性集向导从编辑器中生成自定义属性。
能力队列系统(带有调试小工具!更多信息见下文)
忽略能力成本功能(可 "宽松地 "检查能力成本,更多信息请点击此处)
近战连击系统 定义具有连击能力的近战能力的简便方法
游戏能力/效果定义 以数据驱动的方式指定可通过文件菜单访问的常用父 GA / GE 类
带有 HUD UserWidget 的直接用户界面框架,可对 GAS 相关事件做出反应(支持自定义属性和事件,以监听 GameplayTags、GameplayEffects 和 CooldownStart / End)。
属性集(AttributeSet)默认设置包含最常用的属性(健康值、体力值、法力值
玩家状态 ASC(玩家角色)或棋子 ASC(AI/NPC 角色)
人工智能任务 通过行为树中的标签或类别激活能力
功能
能力队列系统
存储失败的能力,并在前一个运行的能力结束时重新触发
自定义能力系统组件和游戏能力
支持启动属性、效果和能力
按类/标签激活能力(并返回激活的能力)
具有 onAbilityEnded 委托的能力(对行为树任务很有用)
具有游戏效果容器的能力(受 Action RPG 项目启发)
模块化游戏角色
支持游戏功能扩展并实现 IAbilitySystemInterface
基于组件的 API 大部分由演员组件(核心/组合/能力队列)提供
能力系统助手(能力激活、游戏标签检查...)
能力、属性和角色生命周期事件(OnAbilityActivated / Commit / Ended / Failed、OnAttributeChange、OnDamage、OnDeath、OnGameplayTagChange、OnGameplayEffectStackChange、OnCooldownStart / End...)
技术细节
代码模块:
GASCompanion (Runtime)
GASCompanionEditor (编辑器)
GASCompanionDeveloper (UncookedOnly)
蓝图数量 19
C++ 类的数量: 103 103
网络复制: 是
版本: 6.0.1 (5.3) - 6.0.0 (5.0 / 5.1 / 5.2)
支持的开发平台:Windows、Mac、Linux Windows、Mac、Linux
支持的目标构建平台:Windows、Mac、Linux Windows、Mac、Linux
版本: 3.4.0 (4.27) / 2.1.1 (4.26) / 1.1.2 (4.24-4.25)
支持的开发平台:Windows / Mac Windows / Mac
支持的目标构建平台:Windows、Mac Windows 和 Mac
重要/附加说明: 虽然该插件应支持上述所有平台,但已专门在 Windows 上进行了测试。
|