Better Variable System (Best out of old and new variable system)

Honestly, after sometime, You would be fine without 1 click online exports an being forced to export manually
Not because its better but because you was forced to use manual export
And they seem to also work
Which does not make them better than what you were using before
This change
image
Where instead of Z-order Width Height we gont Z W H
I can also say i am fine with it
But was it better?
If i am new user what does these letter mean?
I will ask you you will tell me since you use engine longer than me so you know
Now i know also
Should i be forced to ask? Should they be 1 letter instead of full word?
I have plenty of space there which could hold full word

This change work and we are fine with it and no one is fighting against it
BUT it does not mean it is better than what we had before

I propose system that satisfy both sides
It will now be ultra easy to declare your var using same exact window to declare it
Or you can keep not declaring your vars being forced to set up vars each time
So in fact my proposal is promoting declaring one way or another
But you have a choice how you want to handle it
So no one is harmed in the process

We are going a little OT hereā€¦
I too think that both methods should coexists in some way.,.but at this point i donā€™t think it is doable.
They probably merged vars to simplify things from the coding part viewā€¦and thatā€™s totally fineā€¦as i said necomers will find the new method simple as the old one.

Iā€™m no coder or professional studio (talking for myself), i donā€™t know much about C#, (just cos iā€™m lazy :slightly_smiling_face:), i chose Gdevelop for its simplicity.
Gdev is too verbose?..thaz totally fine ,(thaz the difference between other engines)ā€¦ iā€™m not on Unity or Unreal where i first need to understand even what iā€™m clickingā€¦i never seen a single A (AA?) game made in Gdevelop.
(even if i think that it is totally doable with ā€¦efforts).If it talks to meā€¦better.

OT:about what you said on z orderā€¦i would add that i find it as an abominationā€¦
for things i explained in other tiles threads and i found it pretty strange as usual that noone noticed or asked for a reworkā€¦but as long as a game worksā€¦i guess i canā€™t complainā€¦

first thing when i put my object on grid gd should not increase automatically my z order by oneā€¦ (even if i know that this choice is to let you see your object on screen)ā€¦a method for a fixed z order per object before object placement should had been taken into consideration
second: z order should be editable automatically in instances list (better with auto sort list)ā€¦same for deleting objectsā€¦but thaz another storyā€¦

We should go OT to find better solution
If someone have some good idea can explain it using whatever means or examples

In the end i wish just for better system
Or easier to manage
I am biased for having option for not declaring vars not because it is best system possible
But because we do not have better one
Long term new system is better one but that does not mean it is better one for everything it have its downside
Declaring is not so streamlined YET
I bet opinion of a lot users will change IF process will get streamlined
Cause issue right now is not about that you need to declare anything
Issue is that declaring takes longer than not declaring
By offering better system where declaring is ultra easy/fast most if not all arguments for having option to not declare vars goes away instantly

This is my suggestion. Feel free to comment on it and/or suggest better alternatives.

1. Separate Object / Scene / Global conditions & actions

This eliminates the overlapping between the scene and global variables and makes it easier to differentiate between the 2. This also allows having a scene & a global variables with the same names.

2. Create variables and choose their type through events without declaring them

3. Ability to use undeclared variables

I can think of 2 solutions:

  • (A) Keep the previous system where we can use the longer expressions Variable(var) etcā€¦

  • (B) Let GDevelop automatically declare variables whenever a new one is created via actions or conditions.
    They can appear in a list similar to the one that currently exists and not added directly to the variables page (reference):


    This way the undeclared variables can be used by the new system (as if they were declared).
    And if all events are deleted and itā€™s not used anymore, then it will be removed automatically from the list.
    Also, maybe show a little icon or a warning sign in the events instead of the current red error with the squiggly line.

1 Like

I actually think its good change to have one action/condition for variables
BUT difference between your idea and mine is only where we select it
Your is from action/condition list mine is inside variable action/condition ā€œwindowā€

Your idea for selecting type of variable is pretty much same as mine where mine is with radio buttons yours is with dropdown list
That should be voted in my eyes like make a pool asking what ppl feel better with

I would opt out for automatically declaring
With my dyslexia i would write PlaierHP instead of PlayerHP
Now i need to go and delete PlaierHP from actual variable window and that would be unpleasant

And warning with NOT red text would be cool
That red warning is just tragic in my eyes
It indicates to me i did something wrong and not trying to put my attention to i could something in different way and get some benefits from it

Yeah itā€™s pretty much the same thing just a different representation.

I agree with you. What I meant by this is that GDevelop auto declares the variables in the background and not actually add them to the variables page, and once all events are removed and itā€™s not used anymore, the variable would be removed from the list. Look at the reference I attached. Currently GDevelop shows undeclared variables in a list. So it would be similar to it.

1 Like

If that kind of system would be possible i would be all in

1 Like