EGamePlay

This is the 2.0 version, and the previous version was on the 1.0 branch
The changes to version 2.0 are mainly as follows
1. Unify SkillAbility and StatusAbility into Ability, and the entity class and configuration table are unified. Skill and Buff are distinguished by the Type field in the configuration table.
2. No more excel process and ScriptableObject process are divided. The effect structure of 2.0 is more complicated and Excel is difficult to express. You can configure skills information for Excel, and SO effect configuration AbilityConfigObject
3. The effect configuration of AbilityConfigObject is divided into separate configurations of触发点and效果列表. The effects are triggered through the trigger points. The trigger points are divided into active trigger and passive trigger. Active triggering is triggered through the skill execution body. The rest are passive triggers, such as most buff triggering mechanisms.
4. Change the collision body configuration in the execution body to a more convenient expansion effect list configuration
Stargazers over time
document:
- EGamePlay Documentation (wiki)
Commercial Projects
- Dark Land https://www.taptap.cn/app/227372 Developed by one person, rewrite the entire battle with EGP and then re-entered it.
Zhihu article:
- 0. How to implement a flexible and universal combat (skill) system——Prologue
- 1. How to implement a flexible and universal combat (skill) system - numerical system
- 2. How to implement a flexible and universal combat (skill) system - numerical system (upgraded version)
- 3. How to implement a flexible and universal combat (skill) system-Combat Action Mechanism
- 4. How to implement a flexible and universal combat (skill) system - combat entity
- 5. How to implement a flexible and universal combat (skill) system - Ability
- 6. How to implement a flexible and universal combat (skill) system—Status status effect
- 7. How to implement a flexible and universal combat (skill) system - Skill Skill
- 8. How to implement a flexible and universal combat (skill) system-skill effect
- 9. How to implement a flexible and universal combat (skill) system—Entity-Component mode
demo run
- rpg demo, run RpgExample Scene
- Turn-based demo, run TurnBaseExample Scene scenario
- Skill debugging and editing, run ExecutionLinkScene scenario
How to make a simple skill
- First add a skill in the AbilityConfig.xlsx table, give the skill id, and configure the parameters
- Then right-click to select
能力/能力配置to create the skill configuration corresponding to id, and configure the effect - Then right-click to select
能力/Execution to create the skill execution body with the corresponding id and configure the clip performance - Finally, the skill is mounted on the CombatEntity during runtime, and then the skill is released through the casting component SpellComponent.
The project uses the following paid plugins:
- DOTween Pro (simple and easy to use powerful animation plug-in)
- Odin Inspector (Editor extension, workflow improvement)
- Animancer Pro (Simple and powerful Animation solution based on Playable)
How to port EGamePlay to another Unity project
If you want to port EGamePlay to your Unity project, you must first make sure that the Odin Inspector plug-in is already in the project, and compile it with UNITY conditions, and finally copy the following directory:
- EGamePlay/Assets/Editor
- EGamePlay/Assets/EGamePlay
- EGamePlay/Assets/EGamePlay.Unity
- EGamePlay/Assets/Plugins/Editor/npoi
- EGamePlay/Excel
How to port EGamePlay to ET framework
- Move EGamePlay/Assets/Editor to the ET.Editor assembly
- Move EGamePlay/Assets/EGamePlay to Model Assembly
- Move EGamePlay/Assets/EGamePlay.Unity to ModelView assembly
- Finally, add conditional compilation EGAMEPLAY_ET
You can refer to this network synchronization demo https://github.com/m969/AOGame
EGamePlay demo diagram



Flexible skills and buff configuration tools based on Odin and ScriptableObject


Skill Excel configuration

EGamePlay combat framework technology discussion and exchange qq group: 763696367
Students who are interested in fighting can join the group to discuss a more suitable and efficient combat framework to achieve any questions or suggestions about EGamePlay, you can join the group to feedback, or mention Discussions
Other similar projects
- https://github.com/KrazyL/SkillSystem-3 (Dota2 alike Skill System Implementation for KnightPhone)
- https://github.com/weichx/AbilitySystem
- https://github.com/dongweiPeng/SkillSystem (rich interfaces can facilitate the use of extended complete skill effect flow [such as flow chart] The supporting skill manager customized skill data table)
- https://github.com/sjai013/UnityGameplayAbilitySystem (The approach for this is taken from that used by Unreal's Gameplay Ability System, but implemented in Unity using the Data-Oriented Technology Stack (DOTS) where possible.)
- https://github.com/dx50075/SkillSystem (skill system for unity, idea http://blog.csdn.net/qq18052887/article/details/50358463 The skill description file is as follows skill(1000) //Skill 1 { FaceToTarget(0) PlayAnimation(1,Skill_1) Bullet(1.3,Bullet,7) PlayEffect(0,Explode8,3) })
refer to
- https://github.com/egametang/ET