Learning 2D from scratch, where do i start?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By KND2501

Hello peeps, thank you for reading this.

Like many i am wanting to make some games but lacking any programming skills, though i have some experience spriting for another engine. Now i got a couple of hours of YouTube on my name searching for all things Godot related, and i checked out some of the documentation, but i’m kinda having trouble learning.

Many videos feature scripts that simply don’t work and crash. I’m going to assume it’s because the videos are dated and the engine has progressed.

Personally i am only interested in making 2D games and i have a very specific idea of what i want make, a rough idea of how it is supposed to work, and no idea how to implement it.

I want to make something basic, no refining tweaks, just run left or right, jump = a, attack = b, along the lines of an NES game. Now i have a test stage setup and working, i got my character sprites ready to go. I have a simple script setup, but after that i’m at a loss.

I guess my main objective is character motion, sprite animation, no enemies no nothing else, just basic controls. Please point me out to some up to date sources that could help me out, because for me it’s all new and i don’t see the difference

:bust_in_silhouette: Reply From: volzhs

Godot 3.0 is just released.
if you are going to use 3.0, there are not many tutorials based on 3.0
so, I’d like to suggest to read docs.

but, 2.x based tutorial would help also.

Ok, so here’s what i’m running into…

Kinematic Character (2D) — Godot Engine (3.0) documentation in English

“The result is that the character will move, but stop right when hitting the floor. Pretty cool, huh?”

It shows a short code of 3 lines, can’t go wrong right… i copy paste, run game, it doesn’t work. When it comes down to code, 90% simply doesn’t work, i don’t get it.

KND2501 | 2018-01-30 11:42

" […] When it comes down to code, 90% simply doesn’t work, i don’t get it."

This is a problem every engine/framework/whatever out there encounters several times a day. Most of the time it is not because the docs are bad or have issues but it is because:

  • The reader pasted the code at the wrong position
  • The reader misspelled something when copying the code
  • The reader misunderstood an instruction
  • The reader is unfamiliar with the engine and its tools which want to help in the problematic situation with error messages and warnings

This can only be overcome by dedication and patience. At this point you can:

  • Read again. And again. And it would be good if you would read again after that.
  • Reread sentences which seem to contain the important information you somehow missed.
  • Read further tutorials, docs pages, explanations on this q&a site or on reddit to get a feeling for the right way to do something.
  • Watch videos on youtube and look how code is composed piece by piece.
  • Look out for warnings and error messages (mostly written in red or yellow font color).

And if you can’t get any further you can always provide your project as zip or the not-working code here on this q&a site and we will try to help you. But saying things like “90% simply doesn’t work” is not helpful at all and will discourage new users and they will avoid taking a look into the docs because they think these are badly written. And I can only say that the truth is the opposite: 90% of the stuff written in the docs works as expected and if it does not it is because I made a mistake or misunderstood something.

So please provide your project files and we will try to show you where the problem lies.

rolfpancake | 2018-01-30 12:17

I am a new user, and i am being discouraged by the amount of failures presented by the engine. And i am not exaggerating when i say 90% simply doesn’t work, because i got less then that to work. I don’t write the code myself, the scripts aren’t mine, i don’t have to take credit for bad coding.

You can assume the problem is in my application of these scripts, but that’s even worse then me implying the documentation is badly written. Basicaly you are saying to a new user he is impatient, not dedicated, has trouble copying and pasting, spelling, and doesn’t know what they are talking about.

My project file is a sprite against the background with a collision below, and a Kinematicbody2D with a collision floating midscreen waiting for a script that works…

I don’t got some integral network of scripts interacting, i’m trying to make a single character move, the script is empty because every tutorial provides a script that doesn’t work. So people can name GDquest, HeartBeast, KidsCanCode or whatever, they all failed me. The Godot 3.0 docs failed me.

I got one piece of scripting to work, i used it to test collisions, those work as expected.

I’ve been looking at the most simple scripts to start with, they don’t work, i cannot even concieve to be bothered with the more complex stuff because i can’t even implement gravity or a jump to compliment it.

So unless i get some tutorials that actually provide a working script, i might as well call it quits because patience and dedication do not serve the seemingly impossible, and i need results if i want to maintain interest in using Godot.

KND2501 | 2018-01-31 07:06

Have you uploaded your project files somewhere here that we can take a look into it?
If not: Please do so because I am sure someone can and would really like to help you.

“[…] i need results if i want to maintain interest in using Godot.”
I hope that no one forces you to use Godot. So if you really have such tremendous problems with everything of the Godots ecosystem: You should consider quit using it - at least for a while…

Let me explain:
I quit using LibGDX because I failed at using gradle and eclipse. Then I left Love2D because there was no possibility to export to android (now there seems to be one). Somewhere then I stumbled upon Godot and was confused about its node-based-system and at that time the API was not documented at all (I wanted to start by trying a richtextedit and non of the functions was documented back then) - so I quit. I did that with Gideros because there was no dedicated GUI system (but the forum is one of the best out there). I tried pythons kivy and the export workflow for android killed me (but the kv-file stuff is really awesome). And after messing a bit with MonoGame, Unity and Duality I came back to LibGDX and with the help of AndroidStudio I was able to build my first cross-platform “Zelda-Prototype-Thing”. After a while of doing other things (life and such!?) I came back to this project and I needed three hours to get it running again because the LibGDX, Android, AndroidStudio and my special friend gradle changed nearly everything in their ecosystem in the meantime. And so I came back to Godot and with the experience gained with the other engines (and their messy docs, outdated forumposts and incomprehensible youtube tutorials) combined with the patience I learned while working on a waterfall of errors in nearly every IDE available, I was able understand how things work in Godot and I don’t want to lie: I love it!

I learned most by only clicking every button, changing every settings entry and reading every word in the API documentation. This is cumbersome and tedious and it needs time (years!) and dedication. But it is the only way of getting you from a complete newbie to someone who is familiar with the ecosystem and can clearly say: “I can make everything with this engine I can think of.”

So yeah: Best thing that happened to me was quit using Godot. Because it facilitated that I learned so much about everything game-making-related and I gained invaluable experiences which keep me calm in every situation where my debugger is crying because of a horrible amount of bugs. And it is the foundation why I learned to love Godot - because you only know what you had when you miss it somewhere else.

I can only appeal urgently to you that you don’t give up. And if you do it may be the best decision you’ve ever taken :slight_smile:

rolfpancake | 2018-01-31 23:17

I deleted everything out of frustration, including the folder with the engine. I re-unzipped and re-built whatever i had setup before.

The only script i could use now crashes the player, but the 3 line code that would previously crash now actually works. I don’t know if this fixes my problems, but something definitely changed.

The interface doesn’t intimidate me, looks strangely familiar, i got some experience changing variables in documents, but scripting is new for me. Now i’m gonna run through previous tutorials to see if they work out differently.

Excuse me for appearing arrogant and agitated, i’m a confident guy but this hit me like a solid invisble wall from the get go.

KND2501 | 2018-02-01 20:43

Allright it seems i got some lines to work, they don’t make sense gamewise but they work. It looks like i got something to fiddle with, seems my problem is solved by starting from scratch.

Well thanx, on my way the docs and tuts again.

KND2501 | 2018-02-01 21:35

Nice to hear that it is working for you now. If you come across other problems don’t hesitate to ask here again. There are enough parts of the docs which can be improved and feedback of newcomers is always welcome.

“Excuse me for appearing arrogant and agitated, i’m a confident guy but this hit me like a solid invisble wall from the get go.”
No problem. I also felt this way a couple of times. (And also today when programming in php :smiley: )
But my way to handle these situations is simple: going to sleep or doing some sports. This always gives me some new ideas and I can calm down at the same time.

Keep going the path through the docs/demos and things will fall into place. At least someday :slight_smile:

rolfpancake | 2018-02-03 16:56