We need testers for new variable types


#1

Hello GDevelop community :wave: !
We have been working on adding Arrays (list) and boolean (yes or no) data types to GDevelop, and we would really appreciate if you could help us test out the changes. It is really easy:

  1. Download the build here, Windows only (it won’t override your main GDevelop install).

  2. Open a copy (be careful to not open your non-backed up projects) of your projects that uses variables with that build, and run a preview to see if everything still behaves as intended.

  3. If possible, also try out the new variable types and actions.

  4. Finally, make a post on this topic with all the issues you found, and please still make one if there is no issues to let us know.

This will help us much, thank you very much if you take some of your time for it :slight_smile:


pinned globally #2

#3

in my project Görtan (all variable Types in massive use), everything seems to work perfectly. :+1:

for the use of the arrays, is there a benefit over variable structures?


#4

Arrays are more “managed”. For example if you have an array with {1:"hi", 2: "how", 3: "are", 4: "you"} and you remove the 2, then the array becomes {1:"hi", 2: "are", 3: "you"}, where a structure would become {1:"hi", 3: "are", 4: "you"}

You can also push a value, which adds a new value at the end of the array, something that would have been more annoying with a structure, and generally the indexes cannot get messed up, so for example if there is a hole in a structure list or an element in it is not keyed using an integer, then the CountChildren expression will give a value that isn’t the one we want (too big or too low) and may lead to writing out of bounds of the array making the data unreachable, overwriting existing data, or writing in a hole in the middle of the list instead of the end of the list. Arrays help to not have any such kind of issues.


#5

thanks for the answer.
Are there any expressions for it yet?
if i want to use a dynamic key and get its content, how do i access them? for create objects from its name for example.

or conditions?
like assuming, i want keep track of the last 10 objects the player collected, how do i check the key count?

still trying to figure out how to effectively use it.


#6

Arrays have those actions:
image
Getting a children is the same as with a structure, Variable(myArray.0)/Variable(myArray.["0"]). VariableChildCount() also work with arrays. Additional sweet actions will be added to the extended variable support community extension once this is released.


#7

arrays work like structures, got it.
I wonder if/how it could be more obvious?
The idea to have them both under collection is a good start. But i didn’t realize it on the first look.

tomorrow i´ll try to replace some of my structure events with arrays, where the autosorting would come in handy, and reportback.

E:
i made a little pilot test project for arrays, and so far, looks like its forking fine.
a little question, when/is it necessary to convert structure variables to arrays or vice versa? In this test project i tried both, and it worked fine, no matter the structure type.
Arraytest

I will do some more testing, before i integrate it into my actual project.