What do you think are the good practices with a game engine like GDEVELOP?

Hi all!

I open a new subject here.
Expose your suggestions which could be advices for beginners but also advanced GDevelop’s users.

I begin saying that:

  • always analyze problems before writing events, writing is good
  • always think simply and simplify the problems to solve
  • test your game after putting important actions

It is to you.

Xierra

2 Likes

Number one thing people need to start practicing, in my opinion, I see it time and again: Take yourself and your work seriously!

GDevelop is easy to use. Easy to learn. And makes game dev so darn easy that…

…people don’t give any respect to their projects!

So for me good practices are

  1. Use version control, such as Git.
  2. Name your assets logically and responsibly - from day 1.
  3. Make regular, redundant backups of your project.
1 Like

Hi Lucky!

I had not thought to backups. However it’s very important, ideally as the rule of the three: 3 places to save your files and datas in time.

I’ll add not to forget to put comments in your project, using not great sentences but some words describing well what your source do.

Xierra

Comments are good. I don’t often comment in-project anymore but I will add a comment to something that looks “wrong”, and will make me wonder why it’s there later and possibly make me want to take it out. Then I will add a comment “This is here because of that, it works because of thus”, so I will leave it alone in the future.

Also, for version control I think it’s good to get in the habit of making small, frequent commits. I like to make a commit after I’ve added new assets, after I’ve worked out a small event group, after I’ve fixed a bug.

Not only for Gdevelop, but for making a good game, you need to be CONSISTENT.

Working on your game just because you are in the mood isn’t enough to finish a game. (at least big games.)

Thus, you must force yourself to work on the game X days a week, even if you don’t want to. Even if you don’t make much progress, it’s still progress.

2 Likes

Hello!

No other propositions?

As @v9um adresses the subject, MOTIVATION is important in duration.
But this is not specific to GDevelop but very important.
On the other hand, v9um are right when he says to work regularly on the game via the engine.

I’ll also see well prepared your assets, particularly graphism because it is a pain with GDevelop to modify them.

A+
Xierra

Use FSM (Finite State Machine) to run the game. It’s a pretty simple concept that sounds complex. Group events based on the FSM state to which they belong.

It’s effectively using a string variable to keep track of what the game or an object is doing - “Main Menu”, “Pausing”, “Playing” etc for the game FSM, and something like “Idling”, “Walking”, “Running”, “Jumping”, “Attacking” etc for a player (or even an enemy) character.

2 Likes

For what I can add to everything rightly pointed out above, I can only say: --simplify—.

There are many days when you’re in the mood to write code—you write and rewrite, only to realize later that the same event (which worked fine, by the way) could have been written with far fewer lines, or even just a single formula.

One last thing, and I believe it’s the most important: learn to debug.

It’s very difficult—for everyone.

Don’t rush to ask for a solution on a forum or seek immediate help without truly having tried everything first…or it becomes impossible to learn

I learned it from many people here… the hard way.

1 Like

100% ok with you RMDB.

Xierra

Hello all!

You might think at first glance that MrMen’s response is not specific to a games engine but in fact, it is perhaps even more essential with this tool than in classic programming.

A+
Xierra

1 Like

To add to this. If you’re stuck on something that’s just not working and you can’t figure it out… Have a nap.

9 times out of 10 I’ll take a look at it with fresh eyes (usually after a good night sleep) and the issue I spent trying to fix for two hours gets solved in five minutes.

1 Like

Hi

And yes! It’s not just the stomach that should digest. The brain too! :slightly_smiling_face:

A+
Xierra

I was really struggling to think of things that I do that I’m 100 percent sure it would be good advice for others to do the same.
I don’t use many behaviours, and i don’t really utilize the full features on the engine - I just do things until they stop not working.
One thing I’m almost 67 percent sure is a good thing to do is…
When adapting or debugging I duplicate a block of events or event group, label them old and new and toggle off the old one and change the new one and then if i get in a pickle it’s easy enough to go back to the old one. I delete the old one once I’m satisfied things are going in the right direction. This prevents too much control z as the undo feature in GD is horrible.

Hi Dave!

I think a lot of persons do like you says, including me.
When you say that the cancellation function is ugly, i am not totally agree with you: of course, it is far to be perfect but it works even if sometimes, we not well understand the grouping of restored or canceled actions.

Xierra

The undo works but there’s a long long pause while it refeshes - it would be nice to have a history tab and be able to go forward and back easily

Yes, effectively.

A+
Xierra

1 Like

If you use a chatbot ask for the Javascript version. It’s much easier to read even if you have only a minor understanding of Javascript. Chatbots are excellent at creating formulas and general concepts. They still need more training on GD. They tend to suggest things that GD doesn’t have. I haven’t tried GDs built-in AI.

Use short but descriptive object and variable names. It’s a balancing act.

Use variable structures. They can make the events easier to understand. It’s also easier to save/load 1 structure variable instead of multiple individual variables.

If you have multiple similar events especially if the only difference is an object name then maybe it’s time to use an object group or create a function or behavior.

Take breaks. Especially if stuck. Get more sleep.

Use extension but also learn the fundamentals. You need to know how things work.

1 Like