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

Rename AnimatedShape2D into something else #11

Open
Goutte opened this issue Jan 23, 2024 · 5 comments
Open

Rename AnimatedShape2D into something else #11

Goutte opened this issue Jan 23, 2024 · 5 comments
Assignees
Labels
good first issue Good for newcomers help wanted Extra attention is needed question Further information is requested
Milestone

Comments

@Goutte
Copy link
Owner

Goutte commented Jan 23, 2024

A object worthy of the name AnimatedShape2D should extend Shape2D.
Preferably in C++. Doing its own thing, by the way, probably.

Let's not collide with that.


This addon provides a simple Node that couples an AnimatedSprite2D and a CollisionShape2D, using a database.

Ideas

  • AnimatedCollisionShape2D
  • CollisionShape2DAnimator
  • CollisionShapeFrames
  • AnimatedSpriteToCollisionShape2D
  • AnimationToCollision2D
  • AnimatedSprite2DCoupler
  • AnimatedSprite2DCollisions

Of note:

  • The Node should probably not end in 2D, since it is not a Node2D.
  • Yet it should not collide with 3D either, in the best of cases.

I'll let this sit for a while. (until v2)

Then we'll vote on the fedi. Probably using Majority Judgment.

Do chime in ; let's hear your name candidates !

@Goutte Goutte added help wanted Extra attention is needed good first issue Good for newcomers question Further information is requested labels Jan 23, 2024
@Goutte Goutte self-assigned this Jan 23, 2024
@Goutte Goutte added this to the v2.0.0 milestone Jan 23, 2024
@AnushkaSharma04
Copy link

I want to work on this . Can you guide me ?

@HanzCEO
Copy link

HanzCEO commented Feb 9, 2024

AnimatedCollisionShape2D
self-explanatory and expressive

@HanzCEO
Copy link

HanzCEO commented Feb 9, 2024

Of note:

  • The Node should probably not end in 2D, since it is not a Node2D.
  • Yet it should not collide with 3D either, in the best of cases.

I think, it is better if we focus on 2D. Let other addon take over the 3D stuff.
This way, the addon can be specialized, making it the best in its space.

@HanzCEO
Copy link

HanzCEO commented Feb 9, 2024

image
I have these arguments


And this is your statement:

Preferably in C++.

May I ask the reason behind migrating GDScript to C++?

@Goutte
Copy link
Owner Author

Goutte commented Feb 10, 2024

Thanks for the input, @HanzCEO !

I agree we should focus on 2D.

I guess we can perhaps get away with using 2D as suffix for our simple Node. It bothers me a little, but you're right ; expressiveness is more important.

About C++

I mentioned it for AnimatedShape2D, which could be its own thing (a Resource, extending Shape2D, overriding things), not unlike AnimatedTexture. (I don't plan on making that, i just don't want to collide with it)

I don't plan either on writing this plugin in C++ in the near future, if only because of HTML5 support of GdExtensions.

Besides, we don't do a lot of arithmetic yet in this plugin.

That's because interpolation is not yet supported for convex and concave shapes. When we'll want to support interpolation for these shapes, we'll have to do a lot more computation.

I'm not especially happy about how we interpolate right now, code-wise. It works for simple shapes, but the code is super verbose, does not work cross-shapes and neither for convex and concave shapes.

That's why C++ was not far away from my mind.


I use this addon for hitboxes (convex shapes, replaced), solidboxes (rects, interpolated), hurtboxes (rects, interpolated), and metaboxes (rect, replaced, no default) of multiple characters and projectiles and I've noticed no performance issues.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants