You see that Object become param2 where text param1
Imagine we have many params and we need to re arrange them and then again write whole sentence for events sheet
How about allow us to use _ParamNameHere_
So for example in case of this screenshot
Instead of Pick clones of _PARAM1_ with identifier _PARAM2_
We could go with Pick clones of _Object_ with identifier _ID_
And you looked trough gdevelop source code and you checked how params are being picked that you know it will be hard?
Or am i reading assumption?
And that was rhetorical question
Think how animations are being picked by name
Or actually in what order they are being displayed even if you don’t give them names (you still can select them somehow i bet its black magic)
My understanding is this wouldn’t be feasible without a complete rework.
From what I remember, parameter names aren’t instantiated until they’re used in the project. The Param sentences are needed for functionality/dynamic data at all.
Not saying it’s impossible, but it would be very difficult for very little return, since after you set up your extension you never have to mess with the paramater names again.
Is like saying “once you finish your game you will never need to work on it again
So why make your life easier”
Many of us gonna make many extensions and not gonna stop on one
While messing up order of params on the way
So problem will not end on finishing extension cause there will be another and problem will return
And keep in mind some of us make complex extensions with A LOT to configure
This is old screenshot and now i bet it would be longer
But this is action from my friends extension
I cannot speak for him but i bet that this feature would NOT be for him
Nothing you have in your screenshot makes sense to me for a single event sentence.
Half of what’s here seems like it belongs in a behavior or extension backend function rather than an event sheet action, and many of them seem like they should be separate event actions beyond that.
I don’t know that the devs would ever make changes to match this use case. Again, I’m not saying it’s impossible, but your use case seems very unusual.
take the Noise extension for example…if it were all one action, it would look like this:
Create a noise generator with the name [name] and seed of [seed], limited to 15 digits maximum, in dimension of [dimension], with base frequency of [frequency], octave depth of [octaves], lacunarity of [lacunarity] and persistence of [persistence]. The looping period of the noise generator on the X axis is [loopingx], and [loopingy] on the Y axis.
Does it make sense to do that? no…
and so it doesnt, it uses actions to set each one, and if theyre not set, it has a reasonable default value.
and i feel like youre using the event sentence as a description, when its not. You should make each of those an action, and explain indepth what it is in the action description.
Actually should be totally possible given the fact that GDevelop is built off of GDJS. How you call parameters in GDJS is calling the actual name of the parameter, not _PARAMX_.
Have you ever started building an extension just to realize you need another parameter added, but if you want it to flow neatly in the event sentence without having to rename everything? It’s honestly a coding fundamental, and it’s really easy to forget that in a visual engine that encourages you not to use these fundamentals. Extensions are considered advanced work for a reason, but honestly they shouldn’t be. If they were just slightly more user friendly, with little bits of polish like this, I could guarantee more users would be open to learning it.
There’s a lot you realize that GDevelop is missing when you get further and further into development. It’s a great engine, don’t get me wrong. I’ll use it till I die. All engines have their issues and quirks though. This is definitely one of those quirks.
And most of it don’t make any sense to me at all
But isn’t idea of this forum section to make users life easier?
So either we wanna help ppl or we do not care that we can and we should?
I do not know why Jak did it this way even after his reply
But for some reason he did which seems it was easier/right way for him
So maybe if this feature would help ppl like Jak
It would not be “very little return” after all
Take my words as genuine request
Not as attack or diminishing your point but as actual honest request
I would wish you to stop replying to my messages in any topic until you learn to
A - do your research
B - start putting logical sense into what you came up with
I genuinely feel offended by the fact to what low level you try to drag down any logical sense
Would you say the same about Silver-Streak? because i merely expanded on their point.
also it doesnt matter that another extension does it if its still a poor way of doing it
Oh I just did it that way so it can be a single call. Realistically it’s broken down into several different commands in the extension, and could (and realistically should be) broken into separate commands. It hasn’t even hit polish stage yet with the other stuff I’ve been working on. Only one tool from that whole project has seen love recently sadly enough
also, i think this might literally be off topic. Your original feature request also makes sense… i didnt say it didnt make sense, i was trying to make a point that it doesnt make sense to pack everything into one action.
in most extensions, theres already actions to do the exact same thing for each one of those parameters you put in. So why make a giant action with all of them when you can just use the ones you probably already need there?
How you would split/trim/optimize it
Considering you gonna need to use each param for each set of hearts
And keep in mind some ppl will make multiplayer games
Some will use it for other stuff since you can make health bar out of it
Or even spectrum analyzer and more
Scroll mouse wheel down and hover cursor over player
If you will fail to give me response that makes logical sense
Then i will just block you cause its not worth my time to read such messages
Last I looked extension parameters were an ordered array of objects in the extension json, with the parameter name being an attribute of the object index. If that’s changed or my memory is wrong, great!
But otherwise I don’t know how you’d make the sentence attributed/parameters work without the number first as the attribute name doesn’t exist until the index is called.
The number of parameters in a function is a common software metric because past a certain number, it makes a code hard to read.
There is no exact maximum, but I think that, for GDevelop, when you read the sentence to someone, they should be able to understand it right away and not take a pen and ask you to repeat.
I guess there is a matter of taste involved when choosing between 1 action with everything versus the smallest action + properties, but that said there is a balance to be found and in my opinion if you need several sentences or 10+ parameters, there is probably a better solution.
In the case of the animated shadow clones, a behavior would allow to only keep the 2 objects parameters and move all the other parameters to behavior properties.
Some extension were merged without any peer review because some users wrote a lot of good extensions and it was hard to keep up.
I should probably rework some of them if it avoids some confusion about good practices.
Which still does not change the fact this feature could help ppl
And on top of that i suggest to any1 go and use one shape painter to draw different things with different outline color fill color line and outline thickness fill and outline opacity
And see how cool it is to do something where its the same thing for different things and you need to copy/paste same amount of actions each time
And then we can wonder if that is better and looks more fun or it would be better to have it all in one single action
How about solving this issue with numbering parameters by creation order instead of numbering by order in the list? That way even if you change the order parameter number will stay the same. It’s a quick thought maybe it will cause other problems.
Ideally it would be better to have tag system like Zero suggested instead of getting the parameter by their order in the list.
The best would be instead of just text, we should have unique button like things for each parameter in that event sentence area.
Even under the hood gdevelop needs to read it like _PARAM1_ , what is preventing the build something that will transfer the parameter number automatically when we just write _PARAMNAME_