Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

UE5-like advanced tag system. #47

Closed
ODtian opened this issue Dec 10, 2023 · 5 comments
Closed

UE5-like advanced tag system. #47

ODtian opened this issue Dec 10, 2023 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@ODtian
Copy link

ODtian commented Dec 10, 2023

Is your feature request related to a problem? Please describe.
Useful when filting items, players or effects, such you want to get all enemies that have buff, just query "buff", not "buff.a", "buff.b"...

Describe the solution you'd like
Define all tags as a tree, and each tag is a path in the tree, and tags always match their descendants tags.

Describe alternatives you've considered
Godot built-in group system, but it is more compatible with editor, and doesn't provide much useful features.

Additional context
UE5 gameplay system has a well-intergrated tag system, post here as a reference, https://docs.unrealengine.com/5.3/en-US/using-gameplay-tags-in-unreal-engine/.

@ODtian ODtian added the enhancement New feature or request label Dec 10, 2023
@ODtian ODtian changed the title UE5-like advanced Tag System. UE5-like advanced tag system. Dec 10, 2023
@OctoD
Copy link
Owner

OctoD commented Dec 11, 2023

Hi! This is in my personal roadmap for the v1.0.0, because with a tagging system it would be easier to setup also abilities, attributes and to handle attribute effects.

What is going to be included

  • A tag-manager editor tab, which adds, modify and remove
  • A tag-browser (treeview-like) control for edited properties, which enables you to select them
  • A tag-container resource (good to save node's tags on single player or to replicate them in multiplayer contexts)
  • A convenient way to query tags on a given node (if any) or to browse all nodes with specific tags
  • A radical change in GameplayAttributeMap, GameplayEffect, Ability and AbilityContainer, since AttributeTable resource is going to be dropped with this change (attributes will be defined as tags)

I could also add a convenient way to synchronize tags using reliable udp rpcs

I think I will have to switch to a C++ plugin to do it, so It will take a while.

@OctoD
Copy link
Owner

OctoD commented Dec 26, 2023

WIP, just to tell you that I did not run away with the money :D

immagine

@SuitedRioter
Copy link

Can this tag manager be turned into a standalone plugin? Because I may use this tag system to create some other gameplay.

@OctoD
Copy link
Owner

OctoD commented Jan 5, 2024

I could build a stand-alone version if you need it right now, but I cannot extract this one as a stand-alone plugin since in the version 1.0 (the gdextension one), abilities, attributes, inventory, items and interaction systems will rely on it.

@OctoD
Copy link
Owner

OctoD commented May 27, 2024

Sorry for the HUGE delay @ODtian.

You can try this one https://github.com/OctoD/godot-gameplay-tags, I hope it fits!

@OctoD OctoD closed this as completed Jun 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants