Understanding why things work

This is for anyone that understand alot about this software

there many different types of objects and you need to know what they do

  1. People have different questions of things that are very confusing about this software and code and don’t understand how to do different things
    Would understanding this help or no?

Seems like understanding all the different types of objects and what they do does help them

There are objects you cannot see, guide on this site is wrong
Site says that “object” is anything you see.
There seems to be is lots of conflicting info on this site

Dont know about this one
5 Do you need to know what a “variable” does in this?
6 Do you need to know what an “variable” is?

A “variable” has information in it
But an “object” also has info in it so… ?

variables isnt object

8 Does knowing or understanding any of this help or it wont?
People on here have lots of different questions and don’t understand how to do different things. Would understanding any of that help them?

How does understanding any of that help them, or would it not?
This is for anyone that understand alot about this software

You need to be familiar with what different type of objects represents and used for.
For example a sprite object is used to display an image or sequence of images
TiledSprite is used to display an image in a tile
TextObject is used to display a text on the screen.

Objects do share common properties like position, scale, color but each object type also has custom properties like font for text for example that apply only to text objects.

You obviously need to understand how the software works in general. You need to be familiar with the different editors, basic workflow.

Yes there could potentially be objects that are abstract objects meaning they provide certain functionality but not necessarily visible like the shape drawing object and text input object for example. Although I think the old text input object is deprecated, but you may encounter it in old projects and since GDevelop maintain backward compatibility you may be confused how is it works, why can’t you see it.

Inside the instances panel you can see all the objects present in the scene.

A variable is not object. A variable is a container to store a single information or a list of informations (array) or child variables.

There are different type of variables and Object variable is one of them.
Object variables allow you to store values within an object and its instances. It is useful mostly when you wish to store inside each instance of an object a different value for example life. Each object and each instance has its own life value so when life 0, the object die.

I am not so sure what do you mean. Of course understanding the fundamentals helps and you can find all this information in the documentations but for complete beginners it may be confusing still. If you are uncertain about anything, feel free to ask on the forum or Discord for clarification.

1 Like

Here’s what I did when I started using GDevelop last April, to help me learn:

  1. I watched official GDevelop videos. This helped me get an overview of how GDevelop works and what terms like ‘object’ mean in GDevelop. (link below)
  2. I followed YouTube tutorials, even if they were for game genres that I wasn’t interested in. It all helped me to understand how GDevelop works.
  3. I referred to the Wiki for specific things I wanted clarification on. (link below)
  4. I looked at example projects to try to understand how they worked (within GDevelop > Home tab, there are various resources for learning there)
  5. I read this forum every day to see how people solved problems, even if they were not problems I was having. The forum made more sense to me as I became more experienced. I would also search on the forum for specific topics and get lots of older posts that helped me.
  6. I made some simple prototypes of my own. I set myself challenges like “make an inventory” or “set up a dialogue system”. I accepted that I would not be able to make my dream game right away. GDevelop makes game development quicker and more approachable than other engines, but there is still a lot of learning and work to be done to make something good. I still get stuck sometimes and I learn new things all the time. As you become more experienced you can solve more problems on your own.
  7. I asked for help on this forum after the first 6, for specific things I was stuck on only when I had tried everything I could to solve it on my own. Figuring stuff out on my own has been incredibly important in my learning and breakthroughs.
  8. When I solve a problem I make notes on how I fixed it so that I don’t ever have to solve that same problem again. I also sometimes write a guide on how my stuff works, written as if I’m explaining it to someone else. If I can’t explain how something works then I know I need to brush up on certain things.

But that’s just me. Everyone learns differently. Good luck in your GDevelop journey.

https://wiki.gdevelop.io/gdevelop5/

2 Likes

Ok need to know what things do
objects do different things
so objects are actually very different from each other

Are there anywhere that shows fully what each object does?

There are objects that cant be seen
so guide on this site is wrong

you can see all objects in the “scene” from some kinda “copies panel”
I don’t think the guide on site ever uses the word “scene”

variable is not an object

Objects can also have single information or a list of informations and baby objects, cant they?

variables and Object variable is one of them.

Object variables
keep information within an object and its copies

Doesn’t variables already keep information in objects?
And there are variables in the copies of objects also arent there?

useful useful mostly when you wish
to store inside each instance
of an object a different value
for example life.

do not understand this part, what do you mean

What did you think object meant before when you started
What do you think object means or does now after you learned all that
like what do you think objects means now before these questions were asked on this post

How do you keep your notes organized after you fixed probelms or learned things, what app or software do you use also so others can use it if they dont know what to use

In the documentation you can find a list of all objects and what they do. You can also just try them and see it for your self. I know it can be overwhelming if you are a complete beginner, but there is no easy way around this. You need to take the time to actually have a look and try all of the objects:

https://wiki.gdevelop.io/gdevelop5/objects/

GDevelop has one of the most user friendly documentation. I think you should also take the time to read it.
The documentation literally says under “Instances panel”:

The instances panel displays the list of all of an object’s instances living in the scene.

https://wiki.gdevelop.io/gdevelop5/interface/scene-editor/#instances-panel

I’m sorry but I don’t know how to explain it in a more simple way.

Variables store information only

Objects store information and logic.

Objects do something according to their properties (information they store).
Variables do nothing but store information.

Maybe the documentation can do a better job at explaining this:
https://wiki.gdevelop.io/gdevelop5/all-features/variables/

Yes internally objects use variables to store all their informations and methods, behaviours to store their logic. But it doesn’t make a variable an object. I am uncertain why are you confused about this. Maybe variable and object is the same thing in your native language?

First of all I think you need to understand what an instance is and how an instance relate to a parent object:

https://wiki.gdevelop.io/gdevelop5/objects/#adding-an-instance-of-an-object-to-a-scene

Lets say you have an enemy object and you wish to use multiple instances of this object and you want each instance to have its own life value, so then you can use an object variable to store life and each instance going to have its own life variable independent from each other.

So then you can just say

If life of enemy <= 0 then Delete enemy

This statement is going to apply only to the instance with the life value 0

But again it does not make the variable an object. the object has variables, the variable itself is not an object. Again I am uncertain why are you confused about this and why are you hanged up on this. By the end of the day you need objects to do things and need variables to store information. This is all you need to know to use them.

Fyi, there is also a short introduction to the objects in video form:

this video also says that objects are what you see
but people said there are objects that you cant see
so videos is wrong also

The video is certainly not wrong.

I don’ t know who these people are and what you mean by you cannot see those objects. (Edit: obviously ddabrahim mentioned two examples - the shape painter object and the now deprecated (?) text input object for none visible objects. That’s of course right, they won’t be visible if the game runs but they can be dragged in the scene editor and are visible there while making the game - but again: whether an object is visible or not does not really matter, as each object has its own properties and functions - that’s what is important to understand for using those objects effectively in the game).

In the editor of Gdevelop is a window that says: Objects. Everything that it listed there is an object for Gdevelop. You can put those in your scene and some of them may be not visible if you run the game as long as you don’t do anything through events with them (e.g. the shape painter-object). But honestly, that’s not really important for understanding objects.

I can only recommend not to overthink things. Just make a few tutorials: GDevelop 5 tutorials - GDevelop documentation and most of the engine will make sense to you.

I’m saying the obvious, but Drona is right.

Some objects can be changed to an invisible state or not added on screen, but they actually exist.

Drona is right when he saying not to overthinking, because that’s a state of mind that can limit a lot your learning.

This is one of the persons who said there can be “objects” things you cannot see

And yep, currently so far I do not think that I need to

  • understand
  • or know
  • or care about

What “objects” mean, or what the word “objects” does
I currently think “object” is a really bad and confusing word to use, and I won’t use it anymore right now

The important thing so far it seems for this part is to know what certain features do can can do

To understand what the different things do, pictures and videos helps, I made a helpful summary that helps me above in link.
That helps me understand (one basic part of) this software and what it does. I do not know right now how many basic parts there are to this software
Other things are confusing, and they make things more confusing instead of helpful.

I think this solves the whole problem with ‘objects’ so that part is completely done now yay :smiley:

Exactly!

The word “object” is neither bad nor good, it is just a term used for the components you can put in your scene. It would be good if you keep using the word especially here in the forum because it makes it easier to understand what you are talking about.

That’s absolutely okay. Depending on the game you want to make there are many parts that may be not relevant to you and it would be a waste of your time to learn or try to deeply understand them.

Yes, that’s normal. Just try to make something in the engine and you will become more comfortable with everything.

I was talking about objects in the scene. But Drona was talking about objects in the objects panel.
Just to clarify, all objects are visible in the objects panel but not all object instances visible in the scene editor but you can find all instances inside the Instances panel.

I know terms can be confusing depends on how things translate in to your native language but you should really have no reason to hang up on it. Every game engine use different terms to describe the same or very similar thing for example “Actor” “Entity” “Node” “Template”. GDevelop call them “Objects” because under the hood they are objects which is a programming term. If at any point in the future you learn object oriented programming, the term “object” immediately going to make sense to you.

Sometimes, understanding is a matter of experience: practice and not theory only.

Trying all the possible events and look at what happens on screen can give you a better memory of how the things work.

I’ve solved some of my problems referring of some previous errors and solutions. A solution made in a project for a game helped me in another project (or test).

I was so dumb with the variables, but now I can use some of them effectively.

Tutorials are good for learning, and you can follow them step by step at the start. When you know how a tutorial work, you can change some of its parameters and watch the effect of changes you made.

1 Like