GDevelop-extensions
GDevelop-extensions copied to clipboard
[Auto PR] Draw shock wave effect
Description
Draw shock wave effect
How to use the extension
This behavior must be assigned to a shape painter object. The user will have state parameters (Start and End) like the particle emitter object, which are:
- The color transition (Start / End).
- The opacity transition (Start / End).
- The angle transition (Start / End).
- The transition of the radius of the explosion (Start / End).
- The transition of the size of the contour (Start / End).
- The duration of propagation.
The user can modify the values according to his needs.
PS: the shape-painter will be automatically deleted after the animation is complete.
Checklist
- [X] I've followed all of the best practices.
- [X] I confirm that this extension can be integrated to this GitHub repository, distributed and MIT licensed.
Example
DarwShockWaveEffectExemple.zip
Extension file
Hello Alios, That's an awesome extension ! well done ! 🥳 i really love how it gives the smooth exposition effect in absolutely no time ❤️. i noticed few things need to be fixed in the extension 👍
1- Extension Tags should refer to what this extension is, I recommend changing it to something like: explosion, effect,
2- Extension Description should tell how to use the extension in details not just the extension properties names, such as:
How to use:
Insert the extension behavior on the painter object
Extension properties:
Size of the explosion.
Speed of propagation.
Opacity of beginning and end.
Start and end color.
3- You can delete the unused events in the example such as: Group events named (d) and the text object and event.
4- Please comment the events inside the extension, so if someone want to see how this work can take a look at the events comments in the extension.
5- you can change the parameter description from
"Speed .Do not set too high a value (a value below 100 is recommended)"
to "Speed, Do not set a value above 100"
6- Parameters descriptions should use Camel case, for example: (Interior Outline) > (Interior outline).
7- a space between Dynamic and exposition would make it look better in the editor(Dynamic exposition).
8- add a description to your behavior such as: Explosion effect.
9- Reorder the Behavior properties: (End > Speed > Start) to (Start > End > Speed), behavior properties is order by alphabet, so you can use such as (Radius) to (ARadius).
10- The behavior properties in the example, should be the default values in the extension, because it gives the best look out of this extension (including the color default to white).
11- I have played with different shapes and they made a really cool effect with this extension, if you can add the ability to the user to pick the shape in this extension and to be able to mix multi shapes, it would be awesome.
Star shape:
Star + Ellipse:
and many more shapes 😃
Thank you for this Epic extension, cant wait to see its new updates 😉
@Alios5 This is so great, the community is going to love this extension!
Here are some quick thoughts:
- Why do you use object variables (such as the OnCreated function)? It would be cleaner to use hidden behavior properties (so that all variables are contained inside the behavior)
- Change description: "Will allow you to draw shockwave effects" => "Draw shockwave effect"
- We should tell the user that the shape-painter will be automatically deleted after the animation is complete. This can go in the extension description. I don't think it should be a parameter like the tweens have.
- Opacity changing isn't implemented
Again, this is wonderful and I am so glad you are working on it!
@VegeTato done
Vegetato:
1- done 2- done 3- done 4- done 5- done 6- done 7- done 8- done 9- done 10- done
Thanks everyone, looking forward to seeing this extension in GDevelop! :)
Do not take care of the mentions above, I cleaned previous PR and related Issues. You can continue to use this PR for your extension.
I have to say GIFs from VegeTato with different shapes are awesome, I hope this will be supported in a new version of your extension.
A speed property is not intuitive. Using a tween expression instead of a lerp will allow to give a duration property instead. Take a look at these ease functions: https://easings.net
I should redo the extension with a new approach.
Hello @Alios5 👋 !
A review has started for this extension, but a new option has presented itself in the meantime. We now have a list of unreviewed "Community extensions", and your extension can be added to it, bypassing the review phase.
If you chose to not take a review, you need to keep the following in mind:
- As of now, community extensions are not yet shown to users, but they should be until next update
- Community extensions will never be shown to GDevelop users directly, they will have to check a checkbox for them to be shown
- All community extension have a warning about them being unstable and unreviewed displayed on their store page
- Your extension will be added immediately, no question asked, and without you needing to do any changes to your extension
- You will still need to make an extension that passes the bot's tests (meaning you still should respect the extension best practices)
tl;dr You will not need to do any more (or only minimal) work on your extension, but it might not meet the standards of all users, and reach less users.
If you chose to continue on with the review:
- The reviewing process might require of you to make some changes to your extension until it meets our reviewer's standards
- Your extension will reach more users
- You will be delivering a better extension to the community
- It will take a bit more time for your extension to be added to the store
tl;dr You will need to do a bit more work but deliver a high quality contribution that will reach more people
The choice is yours, please tell us how you would like to continue.
📌If the owner of this extension @Alios5 didn't respond on the latest reviews within 10 days, we are going to close this topic because the owner has been inactive for too long.
Note: the owner or any contributor can revive this topic/extension by pushing updates.