Check out Learn GDScript From Zero, our Free and Open Source app to learn GDScript or simply to learn to code in general for absolute beginners. school.gdquest.com/courses/learn_2d_gamedev_godot_4/learn_gdscript/learn_gdscript_app#the-learn-gdscript-app
As someone who understands that coding is just really advanced instruction making but lacks the ability to mentally break it down (and who probably has an actual learning disability when it comes to mathematics), I can appreciate the fact that you recognize the flaws in teaching code and can even self-criticize your own methods in order to compensate for people like me. I hope your plans go well and that the prototype is a success, and if they are you'll most likely see me joining your curriculum in the future :)
IMO- Do small chunks like Nathan emphasizes. Let your brain have time to digest the new concepts. Some folks can retain a new language and environment like a sponge - others of us need to take smaller bites. With Nathan's 2D Dodge tutorial I probably spent 10 days on it - doing it in 30 minutes chunks before bedtime (probably 5-10 minutes of video and 25-30 minutes coding/tinkering) and then reviewing each chunk the next day before I moved on. Test, Test, Test - test each chunk and then change things to gain more understanding of what the code and structure is doing - and just tinker to feel more comfortable with the Godot IDE. I have found that programming languages I previously found daunting years back are much clearer when I learn for a bit, take a break, reflect and return days, even months later. Chunk the learning into small blocks - achieve small successes (this is key!) - understand context, big picture and details - take a break - reflect on what you learned - repeat. Now I must follow my own advice if I want to get through the 3D tutorial! Good luck! and BTW - you don't have to remember all things coding verbatim - you have to remember where you saw/developed a solution to a similar problem that you can adapt or use as a start point/reference - or at least have the solid context to search for a solution when you need something new to allow you to evaluate approaches. Sorry for the ramble - but following a GDQUEST quality tutorial that shares best practices and key insights is miles better than a self-promoting book or hacker video/code post that says "look what I did". Keep it simple!
> lacks the ability to mentally break it down I've had discussions with people about this being a core part of programming and the resulting agreement that we always arrive at is that it's not just an essential skill for programming, but *any complex task*. You want to write or analyze music? That's just breaking down a piece into individual parts which are broken down into collections of measures and phrases which are broken down into collections of notes and inflections. Want to be a 2D character artist? You'll have to break down characters into their different physical components, then break those components into their basic shapes. Want to be an architect? "Design a building" isn't exactly a straightforward or simple task. What about playing a game of chess? You can't just win by knowing you have to "put the opponent in checkmate," you have to think about how each of the pieces can be used, how the opponent can move them, what strategies can be employed by combining them... In the end "any complex task" is really *most* tasks considering most tasks are easy to recognize as more than a single step or factor.
This is exactly what I need. I've been struggling with godot for a while and these tutorials are just not clicking for me. I can't wait to see what happens
@@kidmosey Not really, the problem with that approach is that you can learn to do things in a terrible way. Ing game dev this means losing tons of time, you will basically need to rewrite over and over again. Even worse, you may actually never realize what you have been doing wrong for years. That why it ia extremely important to read tutorials ir books that cover good and bad practices. So why not read only books? Because a tutorial is more oractically oriented text, that focus on one language/library/engine. A good practice may be terrible in certain language or tool because ot the way it is created. So nope, juat doing things is wgat absolute beginners should do. Once you have few years behind your back it is extremely useful to read well writteb tutorials.
As a teacher of middle school computer science, I agree so much with what you say! The academic, theory-first approach to teaching coding works for a few. But most students, as you correctly say, just want to make something happen in their game. Harnessing that desire and giving support along the way is the road to success. I am hoping that this new venture is a smashing success! I only wish it was available right now for my classes, but I will be following with great interest. Thanks so much!
Part of the problem though, is when you don't teach that fundamental theory, you end up with programmers that have massive gaps in their knowledge. They may know how to piece together code, but they are bad programmers because they aren't thinking like programmers, they're thinking like bad mechanics who just want to patch holes and get the car running without considering tbe long term.
@@BobIrving2 I think it comes down to teaching those fundamentals, but changing the way we teach them. There has to be fun and interesting ways to teach algorithms and data structures and problem solving skills without it feeling like you're learning calculus
I've been a struggling programmer since 2001, and before that I was just as bad if not worse. I started learning BASIC on a VIC-20 back in 84 at the age of 7 and programming has always been a dream of mine. It wasn't until the last few years where I really started to grasp it. To those who get it the first time, you are truly gifted. Some people can't get it so easily, but I grew up to bad books, no tutorials and no teaching classes on the subject. The internet has been my learning center.
I wholeheartedly agree with this. I attempted Godot after I failed learning Unreal, and I eventually stopped consuming Godot tutorials because I thought that they did nothing to improve my skills as a programmer. Now, I use Unity, as it isn’t too difficult and has great tutorials online. Not only that, but I found tutorials that not only improved my game development skills, but programming in general. Of course, everyone has preferences and people learn in different ways. My advice to beginners is to see what works for you. I found Unity to be helpful, but others may prefer Godot, Unreal, or any other engine. In the end, it’s going to come down to the individual who creates the game, not the game engine.
Basically, I think this is a great idea, but you should be mindful of some things. I first learned coding using similar online teaching tools to get my feet wet before diving into more free form projects. That these teaching tools work is no surprise, and in my case, they lead to me studying computer science at a university which I otherwise would never have done. But some of these tutorials/courses had huge flaws, that severely hampered information retention: 1.) Assignments were too easy: Sometimes in order to complete an assignment you simply had to rename a variable or copy mindlessly the syntax that was given as an example. This is not good teaching. To learn something as a student I need to be forced to understand the properties of the question and at best rearrange these to fit the given problem. Often this problem seemed to stem from not wanting to leave anyone behind. But making everything modular and "jump in at any point"-feasible hamstrings the construction of a good and engaging difficulty/learning curve. 2.) Code created was hard to reference back to: What I mean by that: After completing a course I would sometimes face a problem in "the real world" that was very similar to an assignment I had done. But In order to get the information out I needed to restart the course, click through all the steps before to look at the solution of the assignment. This could have been solved in a variety of ways. Either writing good cheat sheets that the student gets at the end of the course or have a method in place to download your finished code for future reference. Or have a good indexing system for completed task that makes it easy to navigate back to finished parts. 3.) Code test were to obscure or wrong: By wrong I mean the test sometimes marked a task as not completed when all that was missing was a blank space in front of or after e.g., a variable name. That is a killer for any enthusiasm if one is not very self-driven or curious - and new to coding. Searching an hour for an error that is no error, but simply different formatting is very frustrating and could turn away some students. One of the online courses I use has a tool in place now that enables "diffing" what you coded with the solution of the instructor, similar to git. This helps a lot to see if you are only missing a white space or if something else is wrong with your code, but this also makes it easier to "cheat" by looking at the solution. But let’s be honest, cheating cannot be completely avoided. And I feel having good hints or tools in place to self-check is more important than making cheating impossible - especially if you do not plan to give out certificates, like some websites do. I am sure you have thought of all these things I mentioned - but in case you haven't, I wanted to share my experience ;) There are some more things I experienced while using online learning tools, but I do not want to write an essay more than I already did :D If you want and it helps I can try bundling my thoughts and maybe send you a message or an email - I would love nothing more than for this idea you guys had to succeed. Thank for all the cool videos and everything you do!
The detailed feedback is much appreciated, and if you'd like to share more, that'd be most welcome. We've thought of some of that, some features other companies don't provide and we'd like to, but we'll be limited by time and resources, much more so than large companies like Codecademy. Especially when it comes to making the experience really fluid. I think the testing part takes many iterations and user testing and feedback because of those edge cases. Those situations may happen to 0.1% of users, say, so it easily slips through testing before release.
Do you have to be "forced" to learn how to speak? Code is just another communication tool to be "spoken" in order for something to be enacted or done - to have an understandable outcome and that is why it is called a system of language. This is why most academically based language courses fail - we force beginners into mechanical abstracts like grammar: conjugating verbs/diagramming sentences, before exposing them to see and hear the language first. Your approach to learning obviously doesn't work for the majority of people wishing to learn a new language of any kind. I am glad that it works for you and others like you.
@@JayVBear45 Sorry, computer code isn't language, despite us calling it that. I teach both languages and computer programming and the two things are completely different. The "language" part of programming is a secondary challenge to learning to reason about code logic and structure.
I'm a person who used to try to learn code, and YES, you summarize it very well, all tutorials seems to be lazy or skipping the begining of the begin, I'm trying to learn from 1 to 10 let's say, but they all seem to be skipping half of it and it's already on 6 if you know what I mean.
Yeah this is what I feel like the vast majority of people trying to assist others with code do, and while I don't think it's intentional, it definitely makes learning feel harder than it seems like it was for people who already know lots. It'd be like looking up a tutorial on how to walk and the video opens with "so first what you're gonna wanna do is sprint to the gym-"
@@SnoFitzroyI second this. I have a bit of experience with programming but trying to learn stuff like game engines and other complex software can be really hard. Like I just wanna know what i’m looking at first. They are already yapping about classes and inheritance?
Oh my god I could cry. Time and time again I wanna learn Godot because I like a lot of things about it over Unity/Unreal, but I get so distracted from tryna learn from the step by steps, document/books, etc. This feels so much like a game changer and im all for it 🥺 this is so appreciated. I suck at learning unless I'm one on one with somebody, or something.
Commenting so the YT Algo recommends your content more often. Also writing a load of text to further encourage the YT algo that I want to see this content etc. Dear YT algo, I'm a Unity dev swapping to godot and attempting to exploit our AI overlords to do my bidding. Thank you for your consideration of devs like me who are experienced with an old engine, and seeking to pick up a new engine. Here's the part where I've run out of things to say, so please accept my gratitude for processing my input in less than a fraction of a second so I can see content like this more often. By the way, I use ChatGPT, which is probably the closest thing we have to sapient AI, and I still have to be hyper-specific, and understand how to optimize my prompts to have any hope of it being the slightest bit helpful. Still, it's easier than pair-programming with my good friend who's usually unavailable (or unwilling) to participate in projects that I need support on. So thanks for always being there for me (unlike my dad; well that's not true, he's a helicopter parent and I had to cut him off.. now this is getting personal so I'll change the subject again). I really like game dev, and I appreciate the people who put so much time and attention into making videos like this for easier onboarding to a new engine, as well as insight into the design space. Looking forward to having the algo throw tons of this content my way. Thanks and goodnight. Love, SpellMender.
This looks fantastic. I tried learning with your tutorials and indeed found myself baffled once I tried to do this things myself. However, I'd like to add a note - I am not a complete beginner, I have experience in python web development. Understanding how to code with gdscript was actually the easy part for me. What I've always found to be true when learning new things and teaching, is that a lot of people focus on the technical stuff and answers. "How to make character jump", "how to create a tile map" and that's all fine and good, but honestly, the first time I felt like I understood how to do web development was when I had a question, and *I knew how to word it to find the answer myself*. I learned python from an academic book. It was drag, boring and annoying. However, once I started applying it, after about a year, some of the things I learned there came back and helped me a lot. I think the problem isn't that it's "theoretical" but rather that it's presented badly. I, for one, mostly feel like what I need *is* theory. Learning python took about a month. Learning how to apply it within the context of web development took a year before I was anything near decent at it. I feel stumped because, I can easily find how to make x thing happen, but what I don't understand is how the system is working. How nodes interact, how do you plan and organize, how scoping works in Godot, how do you pass information and data, etc.. Django is an MVC model-view-controller. These three parts each has its role and relationship to others, and there's a clear distinction and organization to it. Web development itself has clear concepts of "back end" and "front end" that reflects a schematic structure with clear roles and interactions. Godot feels like it doesn't have that level of organization, anything is a node and a bunch of nodes can be a scene which can also be added to a node multiple times. I'm not criticizing Godot's design here, but it makes it harder to understand. How do scenes communicate? How can I access information in a nested scene? When you have some experience you know how to take a task and break it into bits, then work them one at a time. But I don't understand the theoretical concepts well enough to be able to cut it into these digastable bits that I can figure out myself. We can mock the tardiness of old books, but I think there's real value to be had in explaining the conceptual parts alongside basic concepts. And for me personally, perhaps I'm a minority among viewers, it would be immensely helpful to have some sort of general guide and theoretical explanations of how the system works. I don't need to be taught coding. I need to understand the system I'm working in. Just my 2 cents. This isn't to take away from this project, again it looks incredible and very helpful (I am dreaming of a testing area like that so I can mess around). Just know some of your audience is actually looking for a more broad theoretical understanding too :)
Note from the video, the idea is absolutely to explain conceptual parts alongside basic concepts. The idea is just to start concrete and then introduce something that's more like theory rather than dump a lot of theory you don't need or you can't understand yet. Note game engines and games do have a clear separation between back and front end: the engine's the back end, your game's the front end. And there's already a great series on how things work in a more general sense in the official docs: docs.godotengine.org/en/latest/tutorials/best_practices/index.html
@@Gdquest thanks! I'm sure it'll be great. I'll probably try it too I've watched some of your content there. Still struggling, but we'll get there. Thanks for that link!
More than learning the basics of movements we also need to better understand how to properly use some of the nodes, to cover some of "pause/restart" UI menu for other uses like when hit a certain spot in the game, it automatically pauses and a text appears on screen with buttons and text inputs interacting with the game scenes, learning how to apply variables to the game is the best yet uncovered tutorial on godot. i've so far recommended this engine to most my friends and family which some of them only uses godot engine now for developing their indie beginner games, i love this engine a lot and it's hardworking wonderful dev team, so thank you for always being beginner friendly, and keep up the good work.
This is fantastic. I've always wanted to get into game design and have tried a few times with various engines but didn't get very far for the exact reasons you've mentioned. This will be a gamechanger for me
That is absolutely genius idea to make the tool like stackblitz, codepan and e.t.c. And the overall analysis behind that decision is also impressive. I'm trying to make tutorials but your insights advanced me a lot in understanding of how we can approach teaching. I totally agree that academic approach is outdated and doesn't fit contemporary pace of life and we need something fresh. Will it be available as free tool for making tutorials?
We're considering open-sourcing the app, although we haven't settled on that yet. It'll depend on funding and potential contributors. We have limited resources so we have to really focus on what's most sustainable for us now. Moving forward if we could get subsidies and sponsors that would help a lot; right now all our revenue is in selling products.
Это потому, что в инди геймдев идут люди креативные, с кучей идей в голове. Но такому типу людей тяжело воспринимать сухую теорию, я к сожалению такой же 😞
@@AwesomeFactorio не всегда видосик проще чем документация. Все зависит от сложности и способа подачи. На начальном этапе без видосиков никак, не всем же повезло входить в айти с богатым техническим бэкграундом из продвинутых столичных школ и ВУЗов. Бывают ведь и однодневнве ААА игры с супер графикой и идеальным кодом на плюсах. А игры типа flappy/angry birds с минималистичной графой и кодом в 20 строк рвут все рейтинги скачивания. Потому что они цепляют, в этом может быть и часть везения, а может быть и понимание разработчиком того, на чем народ может залипнуть. И такое понимание у "подстригателя ногтей" может быть гораздо глубже, чем у супер-технаря, который даже думает на Ассемблере))
Oh my god. I just watched a very long GDQuest ad. 😂😂😂 I hope the Kickstarter goes through! I do hope the content can eventually become part of your Ultimate Bundle: It is a very attractive bundle because it seemed to include all your content, but if it becomes segmented, it becomes a less desirable purchase.
No, it's a paid course. It's the app and some content that would become accessible for free, if the backers accept those terms. If you try to fund a free course, very few persons will back it, that would be really unsustainable. We'd need subsidies or something like that to do that.
Wow this sounds awsome. I am struggling in just about every way you described. Spent hours and hours following along many tutorials to then just get stuck right away when im not using them. Keep it up!
This is amazing. The musical analogue to this is called the "Suzuki method", it has become a standard in teaching how to learn instruments and its only better that that becomes a standard for Godot too.
I love Coding Academy sites like this! I'm so glad you're doing this! I remember my first intro to Node-based engines was me and three friends in a room with a Unity "example project" and hammering our heads against it and long-winded "comprehensive" tutorials to try to change a simple thing in the project. I wish something like this existed back then. I look forward to supporting the Kickstarter!
It is absolutely amazing to me, having worked in the tech space for a little while, how absolutely self-absorbed a lot of coders are in terms of the standard knowledge of the common user. I don't think most consider at all what the absolute basics mean, and just how much memorization and context clues they have gotten over the years. 0:43 is something I've seen again and again and again and it fills me with rage for anyone absolutely new to things like working on games: 1. "Start with another language" makes no sense considering almost every techy I know got into coding because they started working on something they had a passion for. Not giant projects, either, usually small scripts or mini-projects to do something goofy for themselves. Typically you work on the thing you want and then dip sideways into other concepts or languages as you learn what you want to work on. And 2. "Just use Godot" absolutely deserves a punch in the face, because if you don't have the foundations for how to make something you want to work on, the result is an overwhelming sense of helplessness and instant dejection trying to enter the community. Just use Godot means hours of aimless digging into a program with confusion and frustration. And it is 100% fair for a new person to not want to waste their own time as much as possible. I'm not saying an exploration in the program you're using isn't warranted, but there's a difference between learning for 5 hours to find the one direction you want to take, and beating your head against a wall for 5 hours only to be absolutely frustrated and angry by the time you find the avenue you wanted to take. Sorry for the rant, I've just been surrounded by people who have no awareness of others, and feel that coding makes them superior to others, instead of making them an apt teacher to save others time and energy for the things they really want to work on.
see, this is exactly my problem. it's so hard finding the resources I need to learn how to code and it feels as if coding itself is gatekept. I've wanted for so long to be able to develop a game, a fighting game specifically, but in order to do that I need to learn a coding language. but the question that I always ask is: where do I go to find it? how do I find it, how do I learn it, how can I make it do what I want because I am ignorant to the thing I'm trying to do. but the only answer I ever get is "just learn it." amazing advice! why, I'm sure many have learned how to speak Mandarin Chinese by simply reading through complex Chinese texts! why haven't I thought of that? I absolutely would love to explore a program, but the problem is that I don't know the basics, so if I don't know the basics on what I'm doing then how can I explore? you need tools to explore and without those tools, you'll never make it out alive (in this case, coming out completely unmotivated and unable to do what you sought out to do.) all I'm looking for is just a straight forward "this is how it works so you know what you're doing" and *then* you can send me out to explore the program.
_"there's a difference between learning for 5 hours to find the one direction you want to take, and beating your head against a wall for 5 hours only to be absolutely frustrated and angry by the time you find the avenue you wanted to take."_ HOLY FUCK IT'S IN WORDS NOW
Trying out your app now, love that you can click on certain words for more info. Also a big fan of the fact that you're breaking down the syntax too, no other tutorial I've watched has done that, so far.
I guess we need to teach Godot from scratch. Not how to make a game. But how the parts of code work. We always make tutorial on how to make specific mechanics but never consider the absolute beginner that will only consume that one video then get stuck again trying to implement something else.🤔
Well, what's the point of Godot? It's not to make profit obviously. The point, I would imagine, is to create game developers and then possibly programmers in general as a secondary goal. To do that, the language GDScript should be taught from the ground up. I started one of HeartBeasts tutorials about a week ago. The only reason I kind of understand what is going on (rather than blindly following/copying what he is doing) is because over the years I've taken an intro to programming college course, messed around on Code Academy and watched a video or two here and there. So I am at least familiar with Objects, Classes, Arrays, Variables, Strings and all that. I haven't been consistent but am familiar. Anything I don't remember just takes a quick search and then I have renewed or improved understanding. But if you're completely new..... yea like I said I've been off and on again. But I stay longer and longer each attempt and learn more and more. The whole reason I wanted to start learning years ago is because all I do is play video games, but unless I'm making them, playing games most likely isn't going to buy me a house. All of these engines, especially the paid ones, don't really care if you actually know how to code, the one thing you absolutely need to know how to do. Being a game artist and making a game are very different things. You can make art all day, but you still need to know how to code if YOU want to MAKE the GAME. If Godot isn't trying to turn a profit (giving it away for free isn't going to accomplish that) then it should focus on creating developers which requires addressing the low man on the totem pole. Accomplishing that, I'm sure with enough success will bring all the funding it needs. I know that if I make a game with Godot and it is successful, the developers will receive a nice donation. Plus, Godot its self will then have a massive pool of talent to organically create teams and companies developing games with the software. The software is a community where as with Unity and Unreal the software is a company.
That's right, making a game out of a tutorial is just copy and paste, there's little to no thinking at all, not a single exercise. These kind of tutorials will be useful for those who already learned quite a bit of godot. However, they give the false impression the student is learning since "oh it's working for me, I'm a gamedev now".
Making games without using code is still mostly the same. Instead of typing x += 10, you drag a movement action over and type 10 and tap the checkbox relative. The benefit is not having to remember what code exists. The downside is not being able to copy and paste code either from a website to your game or from your game to a website. You have to make a screenshot to show people your code and drag all the actions manually to use code.
Awesome presentation. You can see where this is going from the first half. That format was exactly how I actually started coding properly a few years ago (when codecademy was still free). Interactive learning ftw. I honestly believe this is an innovation that will exponentially increase the amount of godot devs that will actually stay and keep on learning instead of giving up halfway (me when I just started learning lol).
Being a teacher is just as much a skill as being a programmer. It's easy to lose sight of fundamentals and explanations your audience is craving because after years it's become such second nature. Assumptions get made and pretty soon the lessons have snowballed into incoherent ramblings none of us can learn from. Terminology and context are often big hurdles when I'm learning something new. Good illustrations or comparisons of real world things can go a long way for someone who doesn't think like a computer yet.
This, so much this, yes. That's such a bit failing with so many 'Beginner' tutorials on TH-cam for things like this. The video presenter is just like "so do THIS thing, then do THAT thing, and here's how we do that THING". And you pause the video...then scan it frame by frame frantically...and you're like "wait...don't tell me about THAT thing yet...what was THIS thing, and why did we have to do THIS thing in the first place?". You continue with the tutorial anyway, try to copy THIS thing from the few frames of the video you saw it, although you don't understand it, then take in the explanation from THAT thing and accurately recreate and understand that part at least, but your project then won't work. You don't understand why, because as far as you could see your project was identical to the one on the video - but in actual fact you missed a step on THIS thing, because the video presenter totally glossed over it and acted like it was nothing because it had become second nature to them. But to a newbie, nothing is second nature. More creators need to understand that.
this.... so much of this... if you're making something and expecting people to **actually** use it, you gotta teach yourself to rid of any context that you've built up through your years of experience fun example, where systems level programmers explain an API. Sure the documentation is nice to have for experienced devs, but my god is it awful if you have no idea what you're doing.
I'm about a month in learning Godot starting with very little coding knowledge. It's thanks to Heartbeast's step by step videos that I got an idea of how everything is supposed to look, and it's thanks to taking and finishing the beginner course on your app that I had an idea of how to write things myself. I'm just learning about as many tools as I can and trying to recreate things I see in tutorials my own way, and now I'm making my own turn based system from scratch, working my way up to some cool ideas. It's thanks to you and many other people online that actually teach why you do what you do that I'm getting the hang of this and having fun, so thank you so much!
Thank you, I have ADHD and have had a very hard time learning C# because of the video and reading tutorials, as well as the textbooks. It was always so uninteresting so even after 2 years of studying, I still have trouble grasping the basics. What you guys said in this video made me realize what I was doing wrong, and maybe this is the method I need to follow to learn code. I am very much looking forward to the final outcome of this project! :)
Dude, I'm so glad that you guys have taken this initiative. That's awesome, man. And you're right, that this is really tough for beginners, when they get so overwhelmed with things to learn. I had the exact same experience, except with JavaScript, and eventually that was taught to me. Thank you GDJeremy, and GD-Guys!
I'm a 40 something IT working guy with some basics coding knowledge and i struggle like crazy with usual tutorials, so yes, i fully agree with your pov on that topic. So thanks a lot for thinking about newcomers/beginners.
what my problem is that, people that make the tutorials already presume that we have knowledge about the programs and the language. but there are some who don't, but then they start teaching stuff that are completely irrevelant to the topic and make you do "hello world" and then yea that's it, this is your starting point, you know everything now. it's so annoying because i know SOME, i can read the code and modify it if i see it, but if i was held at gun point and my only way of surviving was to write a code from scratch, i'd bid farewell to the world, not greet it with a hello world line. it's grating because we only need just one push down this slope to gain momentum, yet it's next to impossible to find the correct push.
This look really awesome - ambitious, thoughtful and very cool! I wish you guys all the best with it I've spent time teaching in classrooms as well as online, and there are still a lot of challenges to teaching online. The testing program is very cool, though I can 't even imagine the amount of work involved. The challenge, I suspect, is going to be finding the sweet spot between something solvable and still meaningfully challenging for each student. I also see a lot of tutorials (though admittedly not yours) that are closer to recipes - far more focused on "press x, then Y, add node z" than the why it works, which means students don't actually have a chance to develop mastery. hopefully projects and videos like this will help plug that gap. Yann
Not a teenager. A bit of Basic, Pascal, C# and even a smattering of Python and SQL, and more. Godot still intimidates me (and I sort of kinda made a little progress with but also failed with Unity). I also have a bad habit of forgetting stuff that I learnt to do things, and this knowledge of forgetfulness discourages tutorial following, and as such feel like a "raid boss" of "uncoachability". At this point I've almost given up on learning and have become more inclined to seek out 'exported knowledge' - knowledge at one's fingertips that is easily accessible - when required. Basically the "toys/" you refer to - but more like a catalog of functionality. Good luck with your kickstarter. Also the new experimental app looks like it would be interesting.
That happens to many and that's why our latest product was a cookbook: a collection of concrete examples you can come back to. That's also why we're doing the app. You can help people repeat things until they memorize them. Although there's a long way to go until we can have a large catalog of practices to cycle through and possibly repeat.
Thanks so much for doing the work to make this app. I always appreciate what GDQuest is doing for the Godot community, and this is going to be a huge win for total beginners to learn to code not just for Godot but actually in Godot. You also have a ton of wisdom in this video. Your conclusion is something I've been thinking through a lot recently with my own videos, too - in general, tutorial series tend to have less overall experiential gain than smaller, individual projects do. Since most of my videos are part of long series, it's been making me rethink where my time as a tutor is best invested. That said, I do think it is important for long tutorial series to exist - they not only show that certain types of games can be made in an engine, but they also show one possible way of doing. I think for newer engines like Godot you almost need a healthy catalog of long tutorial series (maybe even game genre-specific ones) to really build interest in the engine. In the long haul, though, it's the smaller projects and one-off exercises that really help improve not only memory of what you learn but also help expose you to the fullness of an engine or language. Anyway, some random musings. Thanks again for the work you all do!
Nice analysis of the educating problem. I've been pondering and exploring this myself as my wife struggled to teach herself. I like your take, turning education into "small victories" that don't overwhelm, similar to how create reward loops in games, but the game this time is educating. 😋
One of the hardest aspects of learning code is being able to apply techniques used in other approaches. It requires a lot more of an understanding in how code is setup, but I think this is key to furthering an understanding of how code works. Once you learn how to pull something off, it becomes a lot more easy to replicate. My biggest help is having a mentor/teacher or two in the game engine you are using. You want to primarily learn on your own, but having multiple people you can reach out to when you reach a limit in knowledge can be life changing Music theory is rather similar, which is why I'm glad there have been more efforts to make it more contemporary. You are able to get a lot of musicians more interested the farther you step away from classical counterpoint and theory, because eventually, they'll be able to handle any theory concept.
used to teach by small projects, when I did extra curricular teaching of python, it works really well, but yeah it's a lot of upfront work for the teachers. getting results helps with small wins and feeling accomplished to get students to continue. there is nothing in the world, to me, more rewarding than teaching and seeing their happiness with completing tasks.
Yeah as someone who has been programming most of my life, teaching someone else sort of a mystery to me. I've tried many times, don't get me wrong, but there are people that I just cannot get to, that some other people managed to teach. The small projects approach does work, but it has to be with people that can learn by themselves to some degree and many require much more hand guiding. Truth is like me, most teacher just do the standard thing, that doesn't work for many people and truly deep down have no idea what actually makes people learn, some do it really fast, it's amazing, some take years but still manage, and some apparently never get the basic concepts according to some research done in that field. Teaching can be fun and humbling, like some kids learn in a month what took me 2 years growing up or so, maybe I didn't have enough guidance maybe I was slower but loved it, not sure, don't care that much. But sometimes teaching is really frustrating as some things are just hard to teach and cannot be reduced without being-self referential, one of that things is pointers, you can change the language and how to explain them but once you get to some level there no going simpler than that. One thing that is a constant between people that learn it is perseverance, I think even the slowest guy can hit his head against the wall enough until he achieves the moment that things click, but that's hard when you seemingly aren't progressing, but it's something that has happened to me in some contexts. And the same goes for finishing a big project. Perseverance (and planning!) is key.
I tell you what, almost one year ago I startet learning Godot with your Tutorials (Make your first 2D Game with Godot). And just after that Tutorial it was Uphill for me :D Made a first simple Game to enjoy with my Family, learned Networking (Dedicated Server), participated in a GameJam and now working on a Multiplayer-Game. Love you Guys!
as a teacher who worked in vocational education, i recognize so many of the points. and yes, the effort needed to make good educational materials is so often unrecognized by our principals. :(
oh thank goodness someone said it. i am not a complete code newbie, i dabbled in lua and is fairly profecent with a visiual scripter in 001 game creator. but in trying to learn godot, its anoying that all the tuts are "copy me as i make this game" and not really being taught how to use the engine. kindof like wanting to learn woodworking so they show you a ikea kit.
Marvelous stuff! As an amateur game-dev WAY past my teenage years, I still struggle to deal with programming of any sort. Back in "my days", the given instructions were along the lines of: "Go to your local library. Borrow the THICKEST coding book you can find. Read it, and replicate all its examples manually. Boom! You're now a programmer! :^)". Yeah, I know folks who did just that and got far with it, but it definitely doesn't work for all. Now in the 2020s, I'm glad to see the rise of visual scripting and all that jazz, but on the flip side these "old school coders" seem to populate most forums and comment sections, belittling any sort of "no code" approach. Which is just sad, seeing how I was able to cook up simple Tetris and Breakout style arcade games already in the early 00s, using no-programming game makers.
I can learn the code terms easily but I have a very hard time to know when and how to apply them. This is especially when is comes to functions and classes, when each is appropriate to use, how they enhance and organize code, etc. I learn by doing and solving small simple problems but most code tutorials just walk you through writing out each line of code of something they have already figured out well in advance for the video. You can literally mindlessly just copy the code they type out on screen without really connecting what is going on. It would help to have some small pause in videos where the instructor requests a line of code that you must come up with, allows you time to think and come up with the solution, and then able to check your answer the next step of the video.
3:20 this right here. I am familiar with many languages, but the official tutorial from Godot docs just throws you in and says to do x, y, and z without a reason behind it. I did all of the 2d tutorial in an hour or 2. Then I immediately jumped into fiddling with my own project and reference the tutorial I just did. This is much slower, but now I'm understanding the why because it's not doing what I want.
I will be honestly, i actually really disliked some of it. Because for me i wanted to learn how to actually code things from scratch, and i kept getting tasks where some of the code was done for me or "hidden" and so I would think i needed to code it myself. Only to find out that work had been done behind the scenes and i was just supposed to fill in some basic code that was missing. I felt like i wasnt actually learning, i was juat filling in blanks with no understanding of why it worked, because why it worked was code hidden from me i had no part in making. So sure it "worked" when I hit play, but I had no idea why. Now ive been having to watch other tutorials to learn those fundementals from the start. I really dont like when people teach by doing half the work for you, it doesnt teach me anything, it teaches me how to fill in the blank to get the correct answer without the context of WHY it was correct. This was while i was taking the free GDScript learning course on your website, not this longer course in particular. But now i dont want your $200 course because for all i know its going to do the same thing and i will have spent money and still learned nothing. :(
It's great to find whatever tutorials and method of teaching work best for the way you learn. And it's even better to use as many and all the sources you find. Minds are all different and for us as teachers, it's always good to get feedback. Thanks for taking the time and bothering to write. For this specific tool, we didn't make the choice that annoyed you arbitrarily. The objective is not to create a "fill in the blanks" kind of illusion of learning and then continue with that method forever. The objective is to focus on one little piece of learning at a time to get just enough literacy and foundations through to allow people to start recognizing and deciphering tutorials. For those who proceed with courses, it also means they begin to recognize the terms and concepts we expose them to again and again throughout the projects. In the course, since the projects are just files in Godot, all the code is there and nothing is hidden but that doesn't mean you can realistically always understand all of it straight away or that we teach you all parts of it every time straight away. One step at a time. (By the way, it has a 60 day refund policy precisely so people can try the teaching method without being afraid of the investment if it doesn't work for them). A bit about what we learned ourselves over time, in case it's helpful to you: In programming there is always one more layer of abstraction if you want to dive into it. As a result, where you draw the line to define "understanding from scratch" can make the difference between progressing and getting lost too early. The more knowledge you build the less chaos/unknown you have to make peace with but to be honest, it never really ends. We found that the people who progress fastest and pursue their projects early are naturally comfortable with a level of "I don't get everything yet but I get enough to do this one little thing I need". You can think of it as a state of prolonged but confident discomfort. Bit by bit, exposure after exposure, there are less and less holes and the dots connect. Nevertheless and regardless, kudos to you on identifying what works for you on your learning journey and acting on it. Thanks again for writing and good luck!
Thank you so much for this. The Learn to Code From Zero App helps a ton. Ive been struggling for weeks with multiple tutorials and feel like ive retained nothing.
This is so accurate. I looked for a solution to an issue I'm having for an entire year, only to finally give up and decide to download Game Maker Studio (which I'm doing right now) It will be very annoying, but oh boy, I just wanted an animation to start where the last one ends and nobody will tell me how to make that happen Luckily, making Megaman X point his arm cannon while walking without resetting his animation is super simple in other engines. Funny, isn't it?
Amazing! I've always thought teaching in a non interactive way was absolutely not useful. When I was a student, I did a lot of personal projects to actually understand how things work and I believe I learned much more that way. I think this is a huge step forward!
"Beginners want to know how every function works and why" Those are going to be good programmers in the future, if the ever escape from Tutorial Hell because NO ONE explains a thing, it's always "Do it like this"
I used to think I was naturally bad at coding and would probably never be able to code. After a few years trying to make games on and off and having these problems, I bit the bullet and put a month of my time into learning the basics of Python. I watched all the beginner tutorials I could find and followed along, making my own scripts for practice. I did this with many "complete beginner" tutorials in order to get the basics really solid (this was key). I used those skills to do a couple small personal projects purely in Python which was really rewarding and I was surprised how much I was able to do. I watched videos on programming itself to understand the deeper concepts. In Python I got as far as using Classes and learning a little bit about how Object Oriented Programming works. Coming back to Godot, it's made a world of difference. The most impactful part of it was just that I learned to understand how to think like a programmer. Now everything in Godot makes WAY more sense. If I could say something to other beginners I would say this: There isn't going to be 1 tutorial or class or video series that you can just run through once and suddenly understand everything. You have to practice a lot, make your own projects, repeat content you've been over (sounds boring but it really helps), and learn the same information from many sources to fill in the gaps and make your understanding of the basics really solid. There is no perfect class - but there doesn't have to be, because they're all helpful. If you want to learn badly enough, you can do it. Time is going to pass anyway, you might as well make any small steps you can... something I've noticed is that, if you have the patience to only make small steps, those small steps suddenly catch up with you and after a little while, you've actually learned a lot. That being said, this resource looks like it's going to be super valuable for beginners like me. It's resources like this that have made it possible for me to learn as much as I have from the comfort of my own home. Thank you GDQuest for all the amazing content so far, I'm looking forward to what you'll do in the future!
Suggestion for the editor: Show the values of all variables as the script runs, maybe old -> new value. That would reduce the amount of information users have to keep in their heads, freeing complexity budget for learning important stuff.
Yeah this is part of why I started making my videos. there were tons of tutorials that showed you how to make this or that kind of game but rarely did they described the underlying context of how what you're making actually worked.
Shortcuts, quite relatable, I suppose- Around 15 years ago, I was an avid user of RPGMaker XP. And eventually some newer alterations of it. It was super easy to get into, because it was the first time I was introduced to a game maker that didn't need understanding of codes. It did allow custom codes to make your own systems. Without custom codes, it had some limits, but some people took up challenges to make the best games they could without a single line of custom codes. Results were impressive for its time. I did learn how to edit a few lines to get the results I wanted, so there was that. I didn't really touch game making for a long while, so when I got interested again, I heard of Unreal Engine 4, and its node based system. Now I didn't really make anything useful of it, but I got more results from that, than attempting with writing myself. I suppose as long as we know that a shortcut exists, and it's proven to work, we will always seek and make use of it until it's no longer considered a shortcut, but the standard route. Alternatively, some people just learn and use things visually rather than with just theories.
The observation and comments are spot on. Few years a go I read a book on performance psychology. I don't remember the name of the book, but I do remember one part of it where the author talked about a study that found that people learn better and more meaningful not when they learn the problem from start to end, but instead break it into smaller basic pieces. Like if you want to learn to draw then break all the components of drawing in to all it's smaller parts and practice those, rather than a full on drawing. I did found the same with code. If I can identify the areas I'm lacking knowledge I spend some time to isolate and create a specific practice to try and understand the topic.
I get that apps take forever to develop, just like games, but can we get a progress report? Even finding out it's only 10% done would still be a weight off of my shoulders.
It's more than 10% done. Right now, I only post updates on Kickstarter. You can find them here: www.kickstarter.com/projects/gdquest/learn-to-code-from-zero-with-godot-the-free-game-engine/posts Basically we're almost ready for a beta release with about 15 lessons, we'll first share it on Kickstarter to test without too many persons (to avoid server breakage etc.). It should be live in a couple of days.
You've got no clue how happy I am to have seen this. I have ADHD, and starting and stopping tutorials and game development even though it's my chosen career path is frustrating because I don't have very much help as a beginner using a (somewhat) niche game engine. I've resorted to just attempting to build my game even though I have zero clue what I'm doing, and none of the concepts I try to learn stick with me. As a result, I'm stumbling on the most basic things (getting input and etc). And it doesn't help that nearly every tutorial I find has a different way of writing the same code. I'm not sure how or why any of it works, so when I get frustrated, leave, and then return to the engine later, most to all of the code that I had learned disappeared from my mind. It's disheartening. So I'm glad to see that the folks at GDQuest have noticed some of the same things I have, and are taking steps to fix that. Seriously, thank you.
Thanks. I can't promise we'll make things work for people with ADHD (there are many factors that we don't control, like distractions on the user's side), but I'd definitely like to give you tools that can help you a bit better.
@@Gdquest I wouldn't expect that from you guys as it's a whole load of extra research and development that would have to go into building the app, and it's so much extra to account for that it's probably better suited to updates in the far future. This video alone makes me confident you'll hit the mark anyway. Thanks again for the video and keep up the good work.
It's good to have a "for people who can't code" version but for people who can already code the single large example would be more convenient so please keep both
It is actually surprising how little the ability of maths applies to learning the basics of programming. The most crucial higher math to understand in videogames is the concept of vectors, but those aren't really the most complex thing to learn along basic calculations. Of course when we go to more deeper ends, understanding higher math might be required or at least make things easier. I heard about the study which said that people with the knack for learning actual languges were more apt at learning code. It makes sense since languages tend to have their own sense of logic how they form their grammar and information. Learning programming language is almost alike process, just more rigid and lacking some contextual nuances as in the human language. The more crucial aspect in learning code is the ability of concreting abstraction (which I think mathematicians have as basic skillset) and some sort of understanding of linear logic. Mathematics is just one part of coding, not its full essence (though in the end all that written code will be compiled to binaries)
Man I feel you, one thing is quick "tutorial-like" TH-cam videos, that aren't actually tutorials, and while they can help people that already have a good grasp on how to program and are stuck with some detail, they don't actually teach newbies. So those videos are in sort of a limbo, between non-technical people that watch them for entertainment only, and people that are technically able already desperately hunting for what they are doing wrong, and sometimes feel those videos are too superficial. I've been in the industry for almost 20 years, and learned to program as a kid as I grew up, so it was a very gradual process, and I have no idea how some people learn programming so fast, and at the same time I see people that have college degrees that cannot program even if their lives depended on it. Teaching is another thing entirely.
I've tried it out and I think the approach is very good - you guys are refining to an optimal approach for teaching beginners. Kudos and keep up the great work.
I totally agree with this sentiment. I tried to learn to code for years and kept failing. I didn't find Godot until I had a moderate grasp on coding already but it's really what pushed me over the edge to be able to code confidently. So I love seeing projects like this. As someone who is trying to make online tutorials I have actively avoided beginner level because I can really only teach people what I've figured out on my own. And telling people to ram their head against online tutorials for 5 years isn't going to be a very good video. I will be backing your project for sure.
Great initiative! This would be incredibly useful, not only for beginners but also for people who are experienced in other programming paradigms and just get lost when facing Godot nodes and scripts.
I appreciate you thinking outside the box when it comes to this. I've gone through multiple courses as well as taken a 3 month coding boot camp at a local school. I know a lot but none of it really seems to help me progress.
I enjoy the coding part of things, makes me feel more like an artist and creator rather than an "editor". I value alot basic principles and I'm starting just now to learn Godot. So far i'm loving it. It seems to have a tool to calm down every fear I had.
I'm a senior level software developer, been coding for about 25 years. I get to delve into Godot about once every 3-4 months... in that timeframe I lose knowledge and come back and have to relearn it. Normally this works okay for frameworks and tools I'm used to, it's a pattern I'm all to accustomed to. For some reason godot has a hard time sticking for me. I get hung up in silly things like "how do I rotate a sprite programmatically" or "how do I get the global position of a sprite" "how do I set the global position of a sprite" it's very surprising to me that these seemingly basic ideas can get a bit confusing.
I think the emphasis is on the wrong situation when discussing the problem of gamedev illiteracy and new-user adoption. We think it's because there's not any good-enough learning material, which is incorrect, there's plenty of great stuff out there, as stated in the video. The problem is, we're not preparing people for gamedev in the right way. A lot of newer Godot users, particularly kids, are approaching Godot as a toy or a hobby, because that's what they see all these TH-cam gamedevs doing. The "I made Mario Odyssey in a week" guys, the "I made a Doom clone in three days" guys. What these newcomers are failing to understand is that, in the beginning, it's work. You've got to sit down and learn this skill before you can have fun with it. And the same is true of any recreational skill-based medium, music comes to mind. The difference is, most of those mediums make it a point to have folks understand that, yes, it may be fun later, but it's gonna be work first. And over the last decade or so, indie gamedev as a culture has been trying to convince people that "it's not as hard as it looks", so emphasis is taken off of the amount of work it's going to take. So you ultimately get folks who are more unprepared for the stupid stuff they're going to face, because we tried to draw them in with promises that it's easier than they think it's going to be.
Sounds like a great idea. Can't wait to try the course. I love to tinker after getting an idea of how something works from a tutorial. Stretch goals for students to complete independently of the course might be a way to encourage curiosity; without adding a large amount of additional work to the course.
there's absolutely no need to learn python before gdscript. personally i only knew javascript before learning gdscript and i had absolutely no issues adapting. using : instead of braces is a bit annoying and the indentation makes formatting in vscode a nightmare but knowing python doesn't change anything imo.
Good video that points out a lot of right things. I wanted to add something though as this video focuses a lot on the "beginner without any coding experience" aspect. I have almost ten years experience in software development (web apps and server scripting for various stuff). Regardless of that I'm basically on my third try to "learn game development" now. No matter which engine there is a lot of resources for learning missing. Not only the coding as pointed out in the case of Godot. Seriously. At this point I feel like I'm too stupid for game development despite my background in software development. What always made me drop the idea was my absolute cluelessness how to approach a game. Do I start creating the player character? The environment? The enemies? What's are the best practices for project structure, code structure, inheritance, testing? Stuff that I know in the area I have experience in. I know how to start writing a tool for someone wanting to do their job. And sure I can break down my game idea into all the various little blocks of functionality (not exactly difficult if you have software development experience) but I still don't know how to do any of them with the engine. And I don't know where to start working on this mountain of issues either. Obviously this is something you'll figure out with experience but it shouldn't be difficult to get recommendations for that. And the responses online are always "it doesn't matter", "just start with anything", "you'll know with more experience", or similar stuff if you find any topics on this at all. If there are any guides they always focus on these same things of "just make a simple prototype", "don't go into details too early", "focus on the gameplay", that totally misses the point. There is almost nothing on the actual process of game development from the perspective of the developer. Also a little rant from my side... Video tutorials are an absolute pain. If you do everything right you'll just forget about it on the next day. If you don't do everything right you now have to skip through a video and replay various bits over and over again to figure out what you did different than the person (or maybe there was a change in the framework and you have to do something else entirely). I really wish there were more text tutorials for Godot in particular. The API documentation is great but reaching that level of development is tedious even for someone with "regular development" experience. Anyway. Rant over :D This time I'm intent on fighting through and at least reach a prototype. As I already did the Unreal tutorials as well as Godot tutorials multiple times by now I'll skip the tool mentioned in the video. Going over the basics of software development again isn't helping me anymore. But it sounds like a great idea to have something more interactive than video tutorials for Godot. And this probably is giving people a better idea how to do an actual game and don't focus on mechanics like most videos.
Would you like to work with me on a writeup to help people like you get started? You could ask me all the questions you'd like, and I'd use that to write articles or prepare video Q&A. If you're interested, you can email me using the channel's about page: www.youtube.com/@Gdquest/about You're not too dumb to learn gamedev, it's true that there aren't too many structured resources out there to learn what you're looking for at your skill level.
You touched on so many great points in this video and it's definitely not an easy problem to solve. One of the reasons I was able to fall in love with programming so much was because I had an amazing set of computer science courses in my high school with a truly amazing teacher. Instead of how most courses tend to go, which I learned from my friends from other schools to be very theory-based, my teacher took us immediately into practical examples that used core concepts. The first year was all codeless as we only used scratch. While I thought this was annoying at first, I later realised that it got us thinking like programmers so moving to actual code would be less jarring. Next we used Java to build basic sorting algorithms and stuff like that that were practical, as well as teaching us how to use basics like if and while statements. We then built up to more complicated games and other programs that utilized concepts like data structures. All of this kept us engaged as we could see the product of our efforts and it also let the concepts sink in. In the end we were making games like Solitare that utilized semi-complex logic and data structures like stacks and ques. After high school, I was able to take my knowledge to better learn things from normal video tutorials. I wish everyone could get the same foundation that I did, and I'm really glad you are working towards these tools that can help people to get a similar experience.
That's a great idea. I got into game programming some years ago after taking the Khan Academy course, that teaches in a very similar way to what you are developing, and it was way more effective in teaching me how to code than an IRL course I was taking around the same time, exposing just the necessary amount of code and teaching interactively with practical examples REALLY makes the difference when you are starting to learn something (although the more theoretical part is still very useful after you already learned the basics).
This is both challenging and inspiring my practice as a programming teacher. Thank you, very much. Been stuck in a rut for a while and this has been the motivation I needed.
Good luck with your Godot project. I think you're on the right track. You're right about the programming language issue and I think using mini lessons is a good idea. That's what I did. I wrote "A Book About Hype", which does include some JavaScript programming topics. Since Hype is promoted as a web animation app without needing to code, a large part of the community doesn't like coding. But to unlock the truly advanced features of Hype, coding is required. To help them learn to code, I created mini templates. These building blocks can then be use to build more advanced web projects. So, as I watched this video, I was almost cheering as the problem was properly identified and a good solution was presented.
I have some programming knowledge but starting an IDE (no matter which one) throws so many tabs, views, edit fields, treeviews, other objects and stuff into your eyes that you have no idea where to click, which components are relevant and which belong together. The second BIG question is: What functions are included? What function do i need to move my char, how to jump, do i need to code it myself? What are variables that i can play around with, what constants exist? Personally i love those kinds of minimized IDEs like the arduino one or maybe powershell ise. A run button and a function reference. obvious how to use and where to click... Try imagine vlc opening with the advanced settings window and you have to set ALL the settings before you are able to watch a movieclip.
I mostly agree. Back in the day we started with the print command, then moved on to input and print, then next it was for-next loops with input and print, building little programs but building on the concepts already learned and understood in the previous program. That way we would build a good base with each simple concept learned on top of the last, understanding what and why, and also what. One thing that also helped was the briefness of variable names and commands, which godot doesn't really do. BASIC back then was closer to English so it was understood better than most other programming languages too as most people who used it understood at least some English. Even introducing == as a part of a command instead of using simply = introduces a little confusion at first as it isn't standard English. The further you move conceptually from written/spoken languages like English, the more difficult things become for anyone who wants to learn programming. There are many more things that have changed with stepping in to Godot too, like vector2 or vector3, previously they'd just be declared as variable(value, value) or variable(value, value, value), which in practice would simply look like dirx(ax,bx), diry(ay,by) which is a lot simpler and easier to remember than what you have displayed here in the video, especially as vector is a math concept which is still not a part of English that most people use every day unless they are into math, so it's removed from common use and has to be learned or re-learned, but then it also has to be learned within the narrow confines of Godot programming.
Thank you for explaining why gamemaker is still relevant despite being superseded by Godot. GM may have failed at many things, but the Drag-and-drop coding of objects is still what brings people into game development
i always appreciated these kinds of learning environmenta where you can focus on one task in an interactive way. other examples of this often fall short on the number of available tutorials and they often stil cram too much in there so you‘ll get frustrated at some point. if the learner can just choose her path and every step is small, this will be a big success!
If you're going to teach people how to use a tool that requires them knowing how to code, it's *not* unreasonable expecting/requiring them to learn how to code *before* they learn to use the tool. If they don't/won't do that, that's on them. "Go learn to code somewhere else" is a perfectly valid response. As a professional developer, one of the most frustrating things about learning a new tool for a language with which I'm familiar is if the tutorial also tries to teach the language I already know (particularly if it does so at the same time as teaching the tool). Most of the tutorials I find are "for complete beginners", while the "for developers" options are few and far between (and often outdated; C# for Java Developers, for example, is at least a decade old).
Wow. That sounds really promising! I would say that i am over that hill already, but i think this project could lower the entry barrier to godot significantly
Omfg an adequate coder?! Too bad adequacy is only 50% of what I need. But I'm really glad to see at least one person who realizes that TH-cam tutorials don't teach thinking, they teach copying. I myself am a musician, I hate coding and I don't want to do anything with it. I, however, don't like music without the idea and gaming provides great space for ideas. Since coders don't have passion for anything that's not theirs and I don't want to waste years in frustration trying to code a calculator I got stuck. And man, I'm glad to see someone who understands this pain.... ...wait, aren't you that inadequate guy from before? Are there two people with the same voices who run this channel? Is that some personality disorder? Or am I thinking about someone entirely different? Guess I'll never know, but thank you
Coming from a full time programmer to my first shot at game programming, I’m still finding it really damn hard. You reach a point where you realize you can “get it done” about 10 different ways, with absolutely no idea which is the best one.
Check out Learn GDScript From Zero, our Free and Open Source app to learn GDScript or simply to learn to code in general for absolute beginners. school.gdquest.com/courses/learn_2d_gamedev_godot_4/learn_gdscript/learn_gdscript_app#the-learn-gdscript-app
maybe some people were not meant to program and that's ok
"Start slow and learn good" is what I learned from this
Start slow, and learn Gadot
@@XwarslayerXmemechannel Start slow, and watch movies with Gal Gadot.
@@XwarslayerXmemechannel LOL
@@Theraot :)
@@Theraot Start slow, and just watch the no man's land clip from Wonder Woman.
As someone who understands that coding is just really advanced instruction making but lacks the ability to mentally break it down (and who probably has an actual learning disability when it comes to mathematics), I can appreciate the fact that you recognize the flaws in teaching code and can even self-criticize your own methods in order to compensate for people like me. I hope your plans go well and that the prototype is a success, and if they are you'll most likely see me joining your curriculum in the future :)
IMO- Do small chunks like Nathan emphasizes. Let your brain have time to digest the new concepts. Some folks can retain a new language and environment like a sponge - others of us need to take smaller bites. With Nathan's 2D Dodge tutorial I probably spent 10 days on it - doing it in 30 minutes chunks before bedtime (probably 5-10 minutes of video and 25-30 minutes coding/tinkering) and then reviewing each chunk the next day before I moved on. Test, Test, Test - test each chunk and then change things to gain more understanding of what the code and structure is doing - and just tinker to feel more comfortable with the Godot IDE. I have found that programming languages I previously found daunting years back are much clearer when I learn for a bit, take a break, reflect and return days, even months later. Chunk the learning into small blocks - achieve small successes (this is key!) - understand context, big picture and details - take a break - reflect on what you learned - repeat. Now I must follow my own advice if I want to get through the 3D tutorial! Good luck! and BTW - you don't have to remember all things coding verbatim - you have to remember where you saw/developed a solution to a similar problem that you can adapt or use as a start point/reference - or at least have the solid context to search for a solution when you need something new to allow you to evaluate approaches. Sorry for the ramble - but following a GDQUEST quality tutorial that shares best practices and key insights is miles better than a self-promoting book or hacker video/code post that says "look what I did". Keep it simple!
Reminder to check it out if you haven't already.
> lacks the ability to mentally break it down
I've had discussions with people about this being a core part of programming and the resulting agreement that we always arrive at is that it's not just an essential skill for programming, but *any complex task*.
You want to write or analyze music? That's just breaking down a piece into individual parts which are broken down into collections of measures and phrases which are broken down into collections of notes and inflections.
Want to be a 2D character artist? You'll have to break down characters into their different physical components, then break those components into their basic shapes.
Want to be an architect? "Design a building" isn't exactly a straightforward or simple task.
What about playing a game of chess? You can't just win by knowing you have to "put the opponent in checkmate," you have to think about how each of the pieces can be used, how the opponent can move them, what strategies can be employed by combining them...
In the end "any complex task" is really *most* tasks considering most tasks are easy to recognize as more than a single step or factor.
I lucked out and i write like a 3 year old but i crush math.
@@nomadgrappler9410 i have literally the opposite problem
This is exactly what I need. I've been struggling with godot for a while and these tutorials are just not clicking for me. I can't wait to see what happens
Just code lul, people who need tutorials get trapped
@@kidmosey yeah, like any other programming language. The problem is when people doesn't understand coding at all for a general lack of experience
@@kidmosey Not really, the problem with that approach is that you can learn to do things in a terrible way. Ing game dev this means losing tons of time, you will basically need to rewrite over and over again. Even worse, you may actually never realize what you have been doing wrong for years. That why it ia extremely important to read tutorials ir books that cover good and bad practices. So why not read only books? Because a tutorial is more oractically oriented text, that focus on one language/library/engine. A good practice may be terrible in certain language or tool because ot the way it is created. So nope, juat doing things is wgat absolute beginners should do. Once you have few years behind your back it is extremely useful to read well writteb tutorials.
@@kidmosey tutorials are primers AND documentation, gives you shortcuts and then you add on it
As a teacher of middle school computer science, I agree so much with what you say! The academic, theory-first approach to teaching coding works for a few. But most students, as you correctly say, just want to make something happen in their game. Harnessing that desire and giving support along the way is the road to success. I am hoping that this new venture is a smashing success! I only wish it was available right now for my classes, but I will be following with great interest. Thanks so much!
Part of the problem though, is when you don't teach that fundamental theory, you end up with programmers that have massive gaps in their knowledge. They may know how to piece together code, but they are bad programmers because they aren't thinking like programmers, they're thinking like bad mechanics who just want to patch holes and get the car running without considering tbe long term.
@@DodgaOfficialI agree with your point, though I might differ on the way to teach the fundamentals.
@@BobIrving2 I think it comes down to teaching those fundamentals, but changing the way we teach them. There has to be fun and interesting ways to teach algorithms and data structures and problem solving skills without it feeling like you're learning calculus
As a complete idiot who is desperately trying to make a Tower Defense game, I would absolutely LOVE to see that.
xDDDD
@@karlwest437 It is, and okie dokie, I thought it'd be one of the simpler genres. I appreciate the good advice!
Try here, also very good channel: th-cam.com/video/wFdpCGbrVXI/w-d-xo.html
@@karlwest437 Good thinking, I'll start there. Thanks!
@@wiktorwektor123 Awesome recommendation, thanks a bunch!
I've been a struggling programmer since 2001, and before that I was just as bad if not worse. I started learning BASIC on a VIC-20 back in 84 at the age of 7 and programming has always been a dream of mine. It wasn't until the last few years where I really started to grasp it. To those who get it the first time, you are truly gifted. Some people can't get it so easily, but I grew up to bad books, no tutorials and no teaching classes on the subject. The internet has been my learning center.
Your comment made me smile. Don’t worry about how good you are, just enjoy it. Follow your dream. Celebrate the little victories.
I stopped trying again since those 2 years but once more I think It's time to try again.@@Jacob-ol3zb
I wholeheartedly agree with this. I attempted Godot after I failed learning Unreal, and I eventually stopped consuming Godot tutorials because I thought that they did nothing to improve my skills as a programmer. Now, I use Unity, as it isn’t too difficult and has great tutorials online. Not only that, but I found tutorials that not only improved my game development skills, but programming in general.
Of course, everyone has preferences and people learn in different ways. My advice to beginners is to see what works for you. I found Unity to be helpful, but others may prefer Godot, Unreal, or any other engine. In the end, it’s going to come down to the individual who creates the game, not the game engine.
Yeh this comment didn’t age well 😂😂😂😂😂
@@Gorartsy wym?
@@PandaBoyMakeStuff unity and like the prices
This is brilliant and I love how you truly care for people who are struggling with the engine
Basically, I think this is a great idea, but you should be mindful of some things. I first learned coding using similar online teaching tools to get my feet wet before diving into more free form projects. That these teaching tools work is no surprise, and in my case, they lead to me studying computer science at a university which I otherwise would never have done.
But some of these tutorials/courses had huge flaws, that severely hampered information retention:
1.) Assignments were too easy:
Sometimes in order to complete an assignment you simply had to rename a variable or copy mindlessly the syntax that was given as an example. This is not good teaching. To learn something as a student I need to be forced to understand the properties of the question and at best rearrange these to fit the given problem. Often this problem seemed to stem from not wanting to leave anyone behind. But making everything modular and "jump in at any point"-feasible hamstrings the construction of a good and engaging difficulty/learning curve.
2.) Code created was hard to reference back to:
What I mean by that: After completing a course I would sometimes face a problem in "the real world" that was very similar to an assignment I had done. But In order to get the information out I needed to restart the course, click through all the steps before to look at the solution of the assignment. This could have been solved in a variety of ways. Either writing good cheat sheets that the student gets at the end of the course or have a method in place to download your finished code for future reference. Or have a good indexing system for completed task that makes it easy to navigate back to finished parts.
3.) Code test were to obscure or wrong:
By wrong I mean the test sometimes marked a task as not completed when all that was missing was a blank space in front of or after e.g., a variable name. That is a killer for any enthusiasm if one is not very self-driven or curious - and new to coding. Searching an hour for an error that is no error, but simply different formatting is very frustrating and could turn away some students. One of the online courses I use has a tool in place now that enables "diffing" what you coded with the solution of the instructor, similar to git. This helps a lot to see if you are only missing a white space or if something else is wrong with your code, but this also makes it easier to "cheat" by looking at the solution. But let’s be honest, cheating cannot be completely avoided. And I feel having good hints or tools in place to self-check is more important than making cheating impossible - especially if you do not plan to give out certificates, like some websites do.
I am sure you have thought of all these things I mentioned - but in case you haven't, I wanted to share my experience ;)
There are some more things I experienced while using online learning tools, but I do not want to write an essay more than I already did :D If you want and it helps I can try bundling my thoughts and maybe send you a message or an email - I would love nothing more than for this idea you guys had to succeed.
Thank for all the cool videos and everything you do!
The detailed feedback is much appreciated, and if you'd like to share more, that'd be most welcome. We've thought of some of that, some features other companies don't provide and we'd like to, but we'll be limited by time and resources, much more so than large companies like Codecademy.
Especially when it comes to making the experience really fluid. I think the testing part takes many iterations and user testing and feedback because of those edge cases. Those situations may happen to 0.1% of users, say, so it easily slips through testing before release.
Whichever works best for you. You can contact me on Discord or email me at nathan [at] gdquest.com
Do you have to be "forced" to learn how to speak? Code is just another communication tool to be "spoken" in order for something to be enacted or done - to have an understandable outcome and that is why it is called a system of language. This is why most academically based language courses fail - we force beginners into mechanical abstracts like grammar: conjugating verbs/diagramming sentences, before exposing them to see and hear the language first. Your approach to learning obviously doesn't work for the majority of people wishing to learn a new language of any kind. I am glad that it works for you and others like you.
@@JayVBear45 Sorry, computer code isn't language, despite us calling it that. I teach both languages and computer programming and the two things are completely different. The "language" part of programming is a secondary challenge to learning to reason about code logic and structure.
I learned coding because I was tired of constantly shitty, buggy lego game scripts
I'm a person who used to try to learn code, and YES, you summarize it very well, all tutorials seems to be lazy or skipping the begining of the begin, I'm trying to learn from 1 to 10 let's say, but they all seem to be skipping half of it and it's already on 6 if you know what I mean.
Yeah this is what I feel like the vast majority of people trying to assist others with code do, and while I don't think it's intentional, it definitely makes learning feel harder than it seems like it was for people who already know lots. It'd be like looking up a tutorial on how to walk and the video opens with "so first what you're gonna wanna do is sprint to the gym-"
@@SnoFitzroyI second this. I have a bit of experience with programming but trying to learn stuff like game engines and other complex software can be really hard. Like I just wanna know what i’m looking at first. They are already yapping about classes and inheritance?
Oh my god I could cry. Time and time again I wanna learn Godot because I like a lot of things about it over Unity/Unreal, but I get so distracted from tryna learn from the step by steps, document/books, etc. This feels so much like a game changer and im all for it 🥺 this is so appreciated. I suck at learning unless I'm one on one with somebody, or something.
Commenting so the YT Algo recommends your content more often. Also writing a load of text to further encourage the YT algo that I want to see this content etc. Dear YT algo, I'm a Unity dev swapping to godot and attempting to exploit our AI overlords to do my bidding. Thank you for your consideration of devs like me who are experienced with an old engine, and seeking to pick up a new engine. Here's the part where I've run out of things to say, so please accept my gratitude for processing my input in less than a fraction of a second so I can see content like this more often. By the way, I use ChatGPT, which is probably the closest thing we have to sapient AI, and I still have to be hyper-specific, and understand how to optimize my prompts to have any hope of it being the slightest bit helpful. Still, it's easier than pair-programming with my good friend who's usually unavailable (or unwilling) to participate in projects that I need support on. So thanks for always being there for me (unlike my dad; well that's not true, he's a helicopter parent and I had to cut him off.. now this is getting personal so I'll change the subject again). I really like game dev, and I appreciate the people who put so much time and attention into making videos like this for easier onboarding to a new engine, as well as insight into the design space. Looking forward to having the algo throw tons of this content my way. Thanks and goodnight. Love, SpellMender.
This looks fantastic. I tried learning with your tutorials and indeed found myself baffled once I tried to do this things myself.
However, I'd like to add a note - I am not a complete beginner, I have experience in python web development. Understanding how to code with gdscript was actually the easy part for me.
What I've always found to be true when learning new things and teaching, is that a lot of people focus on the technical stuff and answers. "How to make character jump", "how to create a tile map" and that's all fine and good, but honestly, the first time I felt like I understood how to do web development was when I had a question, and *I knew how to word it to find the answer myself*.
I learned python from an academic book. It was drag, boring and annoying. However, once I started applying it, after about a year, some of the things I learned there came back and helped me a lot. I think the problem isn't that it's "theoretical" but rather that it's presented badly.
I, for one, mostly feel like what I need *is* theory. Learning python took about a month. Learning how to apply it within the context of web development took a year before I was anything near decent at it.
I feel stumped because, I can easily find how to make x thing happen, but what I don't understand is how the system is working. How nodes interact, how do you plan and organize, how scoping works in Godot, how do you pass information and data, etc.. Django is an MVC model-view-controller. These three parts each has its role and relationship to others, and there's a clear distinction and organization to it. Web development itself has clear concepts of "back end" and "front end" that reflects a schematic structure with clear roles and interactions. Godot feels like it doesn't have that level of organization, anything is a node and a bunch of nodes can be a scene which can also be added to a node multiple times. I'm not criticizing Godot's design here, but it makes it harder to understand. How do scenes communicate? How can I access information in a nested scene?
When you have some experience you know how to take a task and break it into bits, then work them one at a time. But I don't understand the theoretical concepts well enough to be able to cut it into these digastable bits that I can figure out myself.
We can mock the tardiness of old books, but I think there's real value to be had in explaining the conceptual parts alongside basic concepts. And for me personally, perhaps I'm a minority among viewers, it would be immensely helpful to have some sort of general guide and theoretical explanations of how the system works. I don't need to be taught coding. I need to understand the system I'm working in.
Just my 2 cents. This isn't to take away from this project, again it looks incredible and very helpful (I am dreaming of a testing area like that so I can mess around). Just know some of your audience is actually looking for a more broad theoretical understanding too :)
Note from the video, the idea is absolutely to explain conceptual parts alongside basic concepts. The idea is just to start concrete and then introduce something that's more like theory rather than dump a lot of theory you don't need or you can't understand yet.
Note game engines and games do have a clear separation between back and front end: the engine's the back end, your game's the front end.
And there's already a great series on how things work in a more general sense in the official docs: docs.godotengine.org/en/latest/tutorials/best_practices/index.html
@@Gdquest thanks! I'm sure it'll be great. I'll probably try it too I've watched some of your content there. Still struggling, but we'll get there. Thanks for that link!
I have that same struggle, coming from web development, I already know how to code, but I can assemble a plan of action on my mind using the engine
More than learning the basics of movements we also need to better understand how to properly use some of the nodes, to cover some of "pause/restart" UI menu for other uses like when hit a certain spot in the game, it automatically pauses and a text appears on screen with buttons and text inputs interacting with the game scenes, learning how to apply variables to the game is the best yet uncovered tutorial on godot.
i've so far recommended this engine to most my friends and family which some of them only uses godot engine now for developing their indie beginner games, i love this engine a lot and it's hardworking wonderful dev team, so thank you for always being beginner friendly, and keep up the good work.
This is fantastic. I've always wanted to get into game design and have tried a few times with various engines but didn't get very far for the exact reasons you've mentioned. This will be a gamechanger for me
That is absolutely genius idea to make the tool like stackblitz, codepan and e.t.c. And the overall analysis behind that decision is also impressive. I'm trying to make tutorials but your insights advanced me a lot in understanding of how we can approach teaching. I totally agree that academic approach is outdated and doesn't fit contemporary pace of life and we need something fresh.
Will it be available as free tool for making tutorials?
We're considering open-sourcing the app, although we haven't settled on that yet. It'll depend on funding and potential contributors. We have limited resources so we have to really focus on what's most sustainable for us now.
Moving forward if we could get subsidies and sponsors that would help a lot; right now all our revenue is in selling products.
Это потому, что в инди геймдев идут люди креативные, с кучей идей в голове. Но такому типу людей тяжело воспринимать сухую теорию, я к сожалению такой же 😞
@@AwesomeFactorio не всегда видосик проще чем документация. Все зависит от сложности и способа подачи. На начальном этапе без видосиков никак, не всем же повезло входить в айти с богатым техническим бэкграундом из продвинутых столичных школ и ВУЗов. Бывают ведь и однодневнве ААА игры с супер графикой и идеальным кодом на плюсах. А игры типа flappy/angry birds с минималистичной графой и кодом в 20 строк рвут все рейтинги скачивания. Потому что они цепляют, в этом может быть и часть везения, а может быть и понимание разработчиком того, на чем народ может залипнуть. И такое понимание у "подстригателя ногтей" может быть гораздо глубже, чем у супер-технаря, который даже думает на Ассемблере))
Oh my god. I just watched a very long GDQuest ad. 😂😂😂 I hope the Kickstarter goes through! I do hope the content can eventually become part of your Ultimate Bundle: It is a very attractive bundle because it seemed to include all your content, but if it becomes segmented, it becomes a less desirable purchase.
No, it's a paid course. It's the app and some content that would become accessible for free, if the backers accept those terms. If you try to fund a free course, very few persons will back it, that would be really unsustainable. We'd need subsidies or something like that to do that.
This course, like all our existing and future on-demand Godot courses, will be part of the bundle, yes.
Wow this sounds awsome. I am struggling in just about every way you described. Spent hours and hours following along many tutorials to then just get stuck right away when im not using them.
Keep it up!
This is amazing. The musical analogue to this is called the "Suzuki method", it has become a standard in teaching how to learn instruments and its only better that that becomes a standard for Godot too.
I love Coding Academy sites like this! I'm so glad you're doing this! I remember my first intro to Node-based engines was me and three friends in a room with a Unity "example project" and hammering our heads against it and long-winded "comprehensive" tutorials to try to change a simple thing in the project. I wish something like this existed back then. I look forward to supporting the Kickstarter!
It is absolutely amazing to me, having worked in the tech space for a little while, how absolutely self-absorbed a lot of coders are in terms of the standard knowledge of the common user. I don't think most consider at all what the absolute basics mean, and just how much memorization and context clues they have gotten over the years. 0:43 is something I've seen again and again and again and it fills me with rage for anyone absolutely new to things like working on games: 1. "Start with another language" makes no sense considering almost every techy I know got into coding because they started working on something they had a passion for. Not giant projects, either, usually small scripts or mini-projects to do something goofy for themselves. Typically you work on the thing you want and then dip sideways into other concepts or languages as you learn what you want to work on. And 2. "Just use Godot" absolutely deserves a punch in the face, because if you don't have the foundations for how to make something you want to work on, the result is an overwhelming sense of helplessness and instant dejection trying to enter the community. Just use Godot means hours of aimless digging into a program with confusion and frustration. And it is 100% fair for a new person to not want to waste their own time as much as possible. I'm not saying an exploration in the program you're using isn't warranted, but there's a difference between learning for 5 hours to find the one direction you want to take, and beating your head against a wall for 5 hours only to be absolutely frustrated and angry by the time you find the avenue you wanted to take.
Sorry for the rant, I've just been surrounded by people who have no awareness of others, and feel that coding makes them superior to others, instead of making them an apt teacher to save others time and energy for the things they really want to work on.
see, this is exactly my problem. it's so hard finding the resources I need to learn how to code and it feels as if coding itself is gatekept.
I've wanted for so long to be able to develop a game, a fighting game specifically, but in order to do that I need to learn a coding language. but the question that I always ask is: where do I go to find it? how do I find it, how do I learn it, how can I make it do what I want because I am ignorant to the thing I'm trying to do. but the only answer I ever get is "just learn it."
amazing advice! why, I'm sure many have learned how to speak Mandarin Chinese by simply reading through complex Chinese texts! why haven't I thought of that?
I absolutely would love to explore a program, but the problem is that I don't know the basics, so if I don't know the basics on what I'm doing then how can I explore? you need tools to explore and without those tools, you'll never make it out alive (in this case, coming out completely unmotivated and unable to do what you sought out to do.)
all I'm looking for is just a straight forward "this is how it works so you know what you're doing" and *then* you can send me out to explore the program.
_"there's a difference between learning for 5 hours to find the one direction you want to take, and beating your head against a wall for 5 hours only to be absolutely frustrated and angry by the time you find the avenue you wanted to take."_
HOLY FUCK IT'S IN WORDS NOW
@@biohazardbin No joke, you gotta hit the books or take some classes if you want learning with structure
Trying out your app now, love that you can click on certain words for more info.
Also a big fan of the fact that you're breaking down the syntax too, no other tutorial I've watched has done that, so far.
I guess we need to teach Godot from scratch. Not how to make a game. But how the parts of code work. We always make tutorial on how to make specific mechanics but never consider the absolute beginner that will only consume that one video then get stuck again trying to implement something else.🤔
Well, what's the point of Godot? It's not to make profit obviously. The point, I would imagine, is to create game developers and then possibly programmers in general as a secondary goal. To do that, the language GDScript should be taught from the ground up. I started one of HeartBeasts tutorials about a week ago. The only reason I kind of understand what is going on (rather than blindly following/copying what he is doing) is because over the years I've taken an intro to programming college course, messed around on Code Academy and watched a video or two here and there. So I am at least familiar with Objects, Classes, Arrays, Variables, Strings and all that. I haven't been consistent but am familiar. Anything I don't remember just takes a quick search and then I have renewed or improved understanding. But if you're completely new..... yea like I said I've been off and on again. But I stay longer and longer each attempt and learn more and more. The whole reason I wanted to start learning years ago is because all I do is play video games, but unless I'm making them, playing games most likely isn't going to buy me a house. All of these engines, especially the paid ones, don't really care if you actually know how to code, the one thing you absolutely need to know how to do. Being a game artist and making a game are very different things. You can make art all day, but you still need to know how to code if YOU want to MAKE the GAME. If Godot isn't trying to turn a profit (giving it away for free isn't going to accomplish that) then it should focus on creating developers which requires addressing the low man on the totem pole. Accomplishing that, I'm sure with enough success will bring all the funding it needs. I know that if I make a game with Godot and it is successful, the developers will receive a nice donation. Plus, Godot its self will then have a massive pool of talent to organically create teams and companies developing games with the software. The software is a community where as with Unity and Unreal the software is a company.
@@socius3865 my brother in christ no one is reading that.
That's right, making a game out of a tutorial is just copy and paste, there's little to no thinking at all, not a single exercise. These kind of tutorials will be useful for those who already learned quite a bit of godot. However, they give the false impression the student is learning since "oh it's working for me, I'm a gamedev now".
Making games without using code is still mostly the same. Instead of typing x += 10, you drag a movement action over and type 10 and tap the checkbox relative. The benefit is not having to remember what code exists. The downside is not being able to copy and paste code either from a website to your game or from your game to a website. You have to make a screenshot to show people your code and drag all the actions manually to use code.
Awesome presentation. You can see where this is going from the first half.
That format was exactly how I actually started coding properly a few years ago (when codecademy was still free). Interactive learning ftw.
I honestly believe this is an innovation that will exponentially increase the amount of godot devs that will actually stay and keep on learning instead of giving up halfway (me when I just started learning lol).
So true! Seeing small sections work and learning how to put them together is how EVERYTHING, not just programming, should be taught.
Being a teacher is just as much a skill as being a programmer. It's easy to lose sight of fundamentals and explanations your audience is craving because after years it's become such second nature. Assumptions get made and pretty soon the lessons have snowballed into incoherent ramblings none of us can learn from.
Terminology and context are often big hurdles when I'm learning something new. Good illustrations or comparisons of real world things can go a long way for someone who doesn't think like a computer yet.
This, so much this, yes.
That's such a bit failing with so many 'Beginner' tutorials on TH-cam for things like this. The video presenter is just like "so do THIS thing, then do THAT thing, and here's how we do that THING". And you pause the video...then scan it frame by frame frantically...and you're like "wait...don't tell me about THAT thing yet...what was THIS thing, and why did we have to do THIS thing in the first place?". You continue with the tutorial anyway, try to copy THIS thing from the few frames of the video you saw it, although you don't understand it, then take in the explanation from THAT thing and accurately recreate and understand that part at least, but your project then won't work. You don't understand why, because as far as you could see your project was identical to the one on the video - but in actual fact you missed a step on THIS thing, because the video presenter totally glossed over it and acted like it was nothing because it had become second nature to them. But to a newbie, nothing is second nature. More creators need to understand that.
this.... so much of this... if you're making something and expecting people to **actually** use it, you gotta teach yourself to rid of any context that you've built up through your years of experience
fun example, where systems level programmers explain an API. Sure the documentation is nice to have for experienced devs, but my god is it awful if you have no idea what you're doing.
I'm about a month in learning Godot starting with very little coding knowledge. It's thanks to Heartbeast's step by step videos that I got an idea of how everything is supposed to look, and it's thanks to taking and finishing the beginner course on your app that I had an idea of how to write things myself.
I'm just learning about as many tools as I can and trying to recreate things I see in tutorials my own way, and now I'm making my own turn based system from scratch, working my way up to some cool ideas.
It's thanks to you and many other people online that actually teach why you do what you do that I'm getting the hang of this and having fun, so thank you so much!
Thank you so much for writing about your learning experience. I'm really glad we could help.
Thank you, I have ADHD and have had a very hard time learning C# because of the video and reading tutorials, as well as the textbooks.
It was always so uninteresting so even after 2 years of studying, I still have trouble grasping the basics.
What you guys said in this video made me realize what I was doing wrong, and maybe this is the method I need to follow to learn code.
I am very much looking forward to the final outcome of this project! :)
Learn by doing. I personally do bot prefer learning by vidoes. I only use them as a last resort if I do not understand the documentation.
Dude, I'm so glad that you guys have taken this initiative. That's awesome, man. And you're right, that this is really tough for beginners, when they get so overwhelmed with things to learn. I had the exact same experience, except with JavaScript, and eventually that was taught to me.
Thank you GDJeremy, and GD-Guys!
I'm a 40 something IT working guy with some basics coding knowledge and i struggle like crazy with usual tutorials, so yes, i fully agree with your pov on that topic. So thanks a lot for thinking about newcomers/beginners.
what my problem is that, people that make the tutorials already presume that we have knowledge about the programs and the language. but there are some who don't, but then they start teaching stuff that are completely irrevelant to the topic and make you do "hello world" and then yea that's it, this is your starting point, you know everything now.
it's so annoying because i know SOME, i can read the code and modify it if i see it, but if i was held at gun point and my only way of surviving was to write a code from scratch, i'd bid farewell to the world, not greet it with a hello world line. it's grating because we only need just one push down this slope to gain momentum, yet it's next to impossible to find the correct push.
This look really awesome - ambitious, thoughtful and very cool! I wish you guys all the best with it
I've spent time teaching in classrooms as well as online, and there are still a lot of challenges to teaching online. The testing program is very cool, though I can 't even imagine the amount of work involved. The challenge, I suspect, is going to be finding the sweet spot between something solvable and still meaningfully challenging for each student.
I also see a lot of tutorials (though admittedly not yours) that are closer to recipes - far more focused on "press x, then Y, add node z" than the why it works, which means students don't actually have a chance to develop mastery. hopefully projects and videos like this will help plug that gap.
Yann
Amazing work as always. We're lucky to have you!
Not a teenager. A bit of Basic, Pascal, C# and even a smattering of Python and SQL, and more. Godot still intimidates me (and I sort of kinda made a little progress with but also failed with Unity).
I also have a bad habit of forgetting stuff that I learnt to do things, and this knowledge of forgetfulness discourages tutorial following, and as such feel like a "raid boss" of "uncoachability". At this point I've almost given up on learning and have become more inclined to seek out 'exported knowledge' - knowledge at one's fingertips that is easily accessible - when required. Basically the "toys/" you refer to - but more like a catalog of functionality.
Good luck with your kickstarter. Also the new experimental app looks like it would be interesting.
That happens to many and that's why our latest product was a cookbook: a collection of concrete examples you can come back to. That's also why we're doing the app. You can help people repeat things until they memorize them. Although there's a long way to go until we can have a large catalog of practices to cycle through and possibly repeat.
Thanks so much for doing the work to make this app. I always appreciate what GDQuest is doing for the Godot community, and this is going to be a huge win for total beginners to learn to code not just for Godot but actually in Godot.
You also have a ton of wisdom in this video. Your conclusion is something I've been thinking through a lot recently with my own videos, too - in general, tutorial series tend to have less overall experiential gain than smaller, individual projects do. Since most of my videos are part of long series, it's been making me rethink where my time as a tutor is best invested.
That said, I do think it is important for long tutorial series to exist - they not only show that certain types of games can be made in an engine, but they also show one possible way of doing. I think for newer engines like Godot you almost need a healthy catalog of long tutorial series (maybe even game genre-specific ones) to really build interest in the engine. In the long haul, though, it's the smaller projects and one-off exercises that really help improve not only memory of what you learn but also help expose you to the fullness of an engine or language.
Anyway, some random musings. Thanks again for the work you all do!
Nice analysis of the educating problem. I've been pondering and exploring this myself as my wife struggled to teach herself. I like your take, turning education into "small victories" that don't overwhelm, similar to how create reward loops in games, but the game this time is educating. 😋
One of the hardest aspects of learning code is being able to apply techniques used in other approaches. It requires a lot more of an understanding in how code is setup, but I think this is key to furthering an understanding of how code works. Once you learn how to pull something off, it becomes a lot more easy to replicate.
My biggest help is having a mentor/teacher or two in the game engine you are using. You want to primarily learn on your own, but having multiple people you can reach out to when you reach a limit in knowledge can be life changing
Music theory is rather similar, which is why I'm glad there have been more efforts to make it more contemporary. You are able to get a lot of musicians more interested the farther you step away from classical counterpoint and theory, because eventually, they'll be able to handle any theory concept.
used to teach by small projects, when I did extra curricular teaching of python, it works really well, but yeah it's a lot of upfront work for the teachers.
getting results helps with small wins and feeling accomplished to get students to continue.
there is nothing in the world, to me, more rewarding than teaching and seeing their happiness with completing tasks.
Where did you get the ideas for the projects? Trying to teach python but I don't have projects that work on specifics points.
Yeah as someone who has been programming most of my life, teaching someone else sort of a mystery to me. I've tried many times, don't get me wrong, but there are people that I just cannot get to, that some other people managed to teach.
The small projects approach does work, but it has to be with people that can learn by themselves to some degree and many require much more hand guiding.
Truth is like me, most teacher just do the standard thing, that doesn't work for many people and truly deep down have no idea what actually makes people learn, some do it really fast, it's amazing, some take years but still manage, and some apparently never get the basic concepts according to some research done in that field.
Teaching can be fun and humbling, like some kids learn in a month what took me 2 years growing up or so, maybe I didn't have enough guidance maybe I was slower but loved it, not sure, don't care that much. But sometimes teaching is really frustrating as some things are just hard to teach and cannot be reduced without being-self referential, one of that things is pointers, you can change the language and how to explain them but once you get to some level there no going simpler than that.
One thing that is a constant between people that learn it is perseverance, I think even the slowest guy can hit his head against the wall enough until he achieves the moment that things click, but that's hard when you seemingly aren't progressing, but it's something that has happened to me in some contexts. And the same goes for finishing a big project. Perseverance (and planning!) is key.
I tell you what, almost one year ago I startet learning Godot with your Tutorials (Make your first 2D Game with Godot). And just after that Tutorial it was Uphill for me :D Made a first simple Game to enjoy with my Family, learned Networking (Dedicated Server), participated in a GameJam and now working on a Multiplayer-Game.
Love you Guys!
As someone who's had some coding experience years ago but look at Godot and see only a brick wall of obfuscation. I'll see what this results in.
Wow, you are truly amazing Nathan! This blew my mind
as a teacher who worked in vocational education, i recognize so many of the points.
and yes, the effort needed to make good educational materials is so often unrecognized by our principals. :(
I like the new Fireship style for the videos. It is such a good format for focusing on the text without distracting with visual noise!
oh thank goodness someone said it. i am not a complete code newbie, i dabbled in lua and is fairly profecent with a visiual scripter in 001 game creator. but in trying to learn godot, its anoying that all the tuts are "copy me as i make this game" and not really being taught how to use the engine. kindof like wanting to learn woodworking so they show you a ikea kit.
Marvelous stuff!
As an amateur game-dev WAY past my teenage years, I still struggle to deal with programming of any sort.
Back in "my days", the given instructions were along the lines of: "Go to your local library. Borrow the THICKEST coding book you can find. Read it, and replicate all its examples manually. Boom! You're now a programmer! :^)". Yeah, I know folks who did just that and got far with it, but it definitely doesn't work for all.
Now in the 2020s, I'm glad to see the rise of visual scripting and all that jazz, but on the flip side these "old school coders" seem to populate most forums and comment sections, belittling any sort of "no code" approach. Which is just sad, seeing how I was able to cook up simple Tetris and Breakout style arcade games already in the early 00s, using no-programming game makers.
All I want is to understand the layout and functions of the user interface. For god's sake.
Excellent approach! Our team really needs your tutorials.
I can learn the code terms easily but I have a very hard time to know when and how to apply them. This is especially when is comes to functions and classes, when each is appropriate to use, how they enhance and organize code, etc. I learn by doing and solving small simple problems but most code tutorials just walk you through writing out each line of code of something they have already figured out well in advance for the video. You can literally mindlessly just copy the code they type out on screen without really connecting what is going on.
It would help to have some small pause in videos where the instructor requests a line of code that you must come up with, allows you time to think and come up with the solution, and then able to check your answer the next step of the video.
3:20 this right here. I am familiar with many languages, but the official tutorial from Godot docs just throws you in and says to do x, y, and z without a reason behind it. I did all of the 2d tutorial in an hour or 2.
Then I immediately jumped into fiddling with my own project and reference the tutorial I just did. This is much slower, but now I'm understanding the why because it's not doing what I want.
I will be honestly, i actually really disliked some of it. Because for me i wanted to learn how to actually code things from scratch, and i kept getting tasks where some of the code was done for me or "hidden" and so I would think i needed to code it myself. Only to find out that work had been done behind the scenes and i was just supposed to fill in some basic code that was missing. I felt like i wasnt actually learning, i was juat filling in blanks with no understanding of why it worked, because why it worked was code hidden from me i had no part in making. So sure it "worked" when I hit play, but I had no idea why. Now ive been having to watch other tutorials to learn those fundementals from the start. I really dont like when people teach by doing half the work for you, it doesnt teach me anything, it teaches me how to fill in the blank to get the correct answer without the context of WHY it was correct.
This was while i was taking the free GDScript learning course on your website, not this longer course in particular. But now i dont want your $200 course because for all i know its going to do the same thing and i will have spent money and still learned nothing. :(
It's great to find whatever tutorials and method of teaching work best for the way you learn. And it's even better to use as many and all the sources you find.
Minds are all different and for us as teachers, it's always good to get feedback. Thanks for taking the time and bothering to write.
For this specific tool, we didn't make the choice that annoyed you arbitrarily. The objective is not to create a "fill in the blanks" kind of illusion of learning and then continue with that method forever.
The objective is to focus on one little piece of learning at a time to get just enough literacy and foundations through to allow people to start recognizing and deciphering tutorials.
For those who proceed with courses, it also means they begin to recognize the terms and concepts we expose them to again and again throughout the projects.
In the course, since the projects are just files in Godot, all the code is there and nothing is hidden but that doesn't mean you can realistically always understand all of it straight away or that we teach you all parts of it every time straight away.
One step at a time.
(By the way, it has a 60 day refund policy precisely so people can try the teaching method without being afraid of the investment if it doesn't work for them).
A bit about what we learned ourselves over time, in case it's helpful to you: In programming there is always one more layer of abstraction if you want to dive into it. As a result, where you draw the line to define "understanding from scratch" can make the difference between progressing and getting lost too early. The more knowledge you build the less chaos/unknown you have to make peace with but to be honest, it never really ends.
We found that the people who progress fastest and pursue their projects early are naturally comfortable with a level of "I don't get everything yet but I get enough to do this one little thing I need".
You can think of it as a state of prolonged but confident discomfort.
Bit by bit, exposure after exposure, there are less and less holes and the dots connect.
Nevertheless and regardless, kudos to you on identifying what works for you on your learning journey and acting on it.
Thanks again for writing and good luck!
Thank you so much for this. The Learn to Code From Zero App helps a ton. Ive been struggling for weeks with multiple tutorials and feel like ive retained nothing.
This is so accurate. I looked for a solution to an issue I'm having for an entire year, only to finally give up and decide to download Game Maker Studio (which I'm doing right now)
It will be very annoying, but oh boy, I just wanted an animation to start where the last one ends and nobody will tell me how to make that happen
Luckily, making Megaman X point his arm cannon while walking without resetting his animation is super simple in other engines. Funny, isn't it?
Amazing! I've always thought teaching in a non interactive way was absolutely not useful. When I was a student, I did a lot of personal projects to actually understand how things work and I believe I learned much more that way.
I think this is a huge step forward!
"Beginners want to know how every function works and why" Those are going to be good programmers in the future, if the ever escape from Tutorial Hell because NO ONE explains a thing, it's always "Do it like this"
Imagine wanting to learn a skill.
I used to think I was naturally bad at coding and would probably never be able to code. After a few years trying to make games on and off and having these problems, I bit the bullet and put a month of my time into learning the basics of Python. I watched all the beginner tutorials I could find and followed along, making my own scripts for practice. I did this with many "complete beginner" tutorials in order to get the basics really solid (this was key). I used those skills to do a couple small personal projects purely in Python which was really rewarding and I was surprised how much I was able to do. I watched videos on programming itself to understand the deeper concepts. In Python I got as far as using Classes and learning a little bit about how Object Oriented Programming works.
Coming back to Godot, it's made a world of difference. The most impactful part of it was just that I learned to understand how to think like a programmer. Now everything in Godot makes WAY more sense.
If I could say something to other beginners I would say this: There isn't going to be 1 tutorial or class or video series that you can just run through once and suddenly understand everything. You have to practice a lot, make your own projects, repeat content you've been over (sounds boring but it really helps), and learn the same information from many sources to fill in the gaps and make your understanding of the basics really solid. There is no perfect class - but there doesn't have to be, because they're all helpful. If you want to learn badly enough, you can do it. Time is going to pass anyway, you might as well make any small steps you can... something I've noticed is that, if you have the patience to only make small steps, those small steps suddenly catch up with you and after a little while, you've actually learned a lot.
That being said, this resource looks like it's going to be super valuable for beginners like me. It's resources like this that have made it possible for me to learn as much as I have from the comfort of my own home. Thank you GDQuest for all the amazing content so far, I'm looking forward to what you'll do in the future!
Suggestion for the editor: Show the values of all variables as the script runs, maybe old -> new value. That would reduce the amount of information users have to keep in their heads, freeing complexity budget for learning important stuff.
Yeah this is part of why I started making my videos. there were tons of tutorials that showed you how to make this or that kind of game but rarely did they described the underlying context of how what you're making actually worked.
Shortcuts, quite relatable, I suppose-
Around 15 years ago, I was an avid user of RPGMaker XP. And eventually some newer alterations of it.
It was super easy to get into, because it was the first time I was introduced to a game maker that didn't need understanding of codes. It did allow custom codes to make your own systems. Without custom codes, it had some limits, but some people took up challenges to make the best games they could without a single line of custom codes. Results were impressive for its time.
I did learn how to edit a few lines to get the results I wanted, so there was that.
I didn't really touch game making for a long while, so when I got interested again, I heard of Unreal Engine 4, and its node based system. Now I didn't really make anything useful of it, but I got more results from that, than attempting with writing myself.
I suppose as long as we know that a shortcut exists, and it's proven to work, we will always seek and make use of it until it's no longer considered a shortcut, but the standard route.
Alternatively, some people just learn and use things visually rather than with just theories.
The observation and comments are spot on. Few years a go I read a book on performance psychology. I don't remember the name of the book, but I do remember one part of it where the author talked about a study that found that people learn better and more meaningful not when they learn the problem from start to end, but instead break it into smaller basic pieces. Like if you want to learn to draw then break all the components of drawing in to all it's smaller parts and practice those, rather than a full on drawing.
I did found the same with code. If I can identify the areas I'm lacking knowledge I spend some time to isolate and create a specific practice to try and understand the topic.
I get that apps take forever to develop, just like games, but can we get a progress report? Even finding out it's only 10% done would still be a weight off of my shoulders.
It's more than 10% done. Right now, I only post updates on Kickstarter. You can find them here: www.kickstarter.com/projects/gdquest/learn-to-code-from-zero-with-godot-the-free-game-engine/posts
Basically we're almost ready for a beta release with about 15 lessons, we'll first share it on Kickstarter to test without too many persons (to avoid server breakage etc.).
It should be live in a couple of days.
You've got no clue how happy I am to have seen this. I have ADHD, and starting and stopping tutorials and game development even though it's my chosen career path is frustrating because I don't have very much help as a beginner using a (somewhat) niche game engine. I've resorted to just attempting to build my game even though I have zero clue what I'm doing, and none of the concepts I try to learn stick with me. As a result, I'm stumbling on the most basic things (getting input and etc). And it doesn't help that nearly every tutorial I find has a different way of writing the same code. I'm not sure how or why any of it works, so when I get frustrated, leave, and then return to the engine later, most to all of the code that I had learned disappeared from my mind. It's disheartening. So I'm glad to see that the folks at GDQuest have noticed some of the same things I have, and are taking steps to fix that. Seriously, thank you.
Thanks. I can't promise we'll make things work for people with ADHD (there are many factors that we don't control, like distractions on the user's side), but I'd definitely like to give you tools that can help you a bit better.
@@Gdquest I wouldn't expect that from you guys as it's a whole load of extra research and development that would have to go into building the app, and it's so much extra to account for that it's probably better suited to updates in the far future. This video alone makes me confident you'll hit the mark anyway. Thanks again for the video and keep up the good work.
This is brilliant! Great, great work, guys!!
It's good to have a "for people who can't code" version but for people who can already code the single large example would be more convenient so please keep both
I really can feel your soul into all of this, guys. U rock. I love ur approach
It is actually surprising how little the ability of maths applies to learning the basics of programming. The most crucial higher math to understand in videogames is the concept of vectors, but those aren't really the most complex thing to learn along basic calculations. Of course when we go to more deeper ends, understanding higher math might be required or at least make things easier.
I heard about the study which said that people with the knack for learning actual languges were more apt at learning code. It makes sense since languages tend to have their own sense of logic how they form their grammar and information. Learning programming language is almost alike process, just more rigid and lacking some contextual nuances as in the human language. The more crucial aspect in learning code is the ability of concreting abstraction (which I think mathematicians have as basic skillset) and some sort of understanding of linear logic. Mathematics is just one part of coding, not its full essence (though in the end all that written code will be compiled to binaries)
Totally agree with your observations about how learning works for most people. I bought your course and I'm enjoying it a lot. Thank you.
2:33 - What game is that? Looks like Star Fox 3!!!!
Ex Zodiac! It's the reason I wanted to learn Godot too
this is a really thoughtful and exciting approach. i can see it benefiting people whatever their level, but of course especially beginners. :)
Man I feel you, one thing is quick "tutorial-like" TH-cam videos, that aren't actually tutorials, and while they can help people that already have a good grasp on how to program and are stuck with some detail, they don't actually teach newbies. So those videos are in sort of a limbo, between non-technical people that watch them for entertainment only, and people that are technically able already desperately hunting for what they are doing wrong, and sometimes feel those videos are too superficial.
I've been in the industry for almost 20 years, and learned to program as a kid as I grew up, so it was a very gradual process, and I have no idea how some people learn programming so fast, and at the same time I see people that have college degrees that cannot program even if their lives depended on it. Teaching is another thing entirely.
I've tried it out and I think the approach is very good - you guys are refining to an optimal approach for teaching beginners. Kudos and keep up the great work.
I totally agree with this sentiment. I tried to learn to code for years and kept failing. I didn't find Godot until I had a moderate grasp on coding already but it's really what pushed me over the edge to be able to code confidently. So I love seeing projects like this. As someone who is trying to make online tutorials I have actively avoided beginner level because I can really only teach people what I've figured out on my own. And telling people to ram their head against online tutorials for 5 years isn't going to be a very good video. I will be backing your project for sure.
Great initiative! This would be incredibly useful, not only for beginners but also for people who are experienced in other programming paradigms and just get lost when facing Godot nodes and scripts.
This sounds like such a cool initiative! Can't wait to see the results!
This is brilliant. Please keep us updated. Subbed.
I appreciate you thinking outside the box when it comes to this. I've gone through multiple courses as well as taken a 3 month coding boot camp at a local school. I know a lot but none of it really seems to help me progress.
I enjoy the coding part of things, makes me feel more like an artist and creator rather than an "editor".
I value alot basic principles and I'm starting just now to learn Godot.
So far i'm loving it. It seems to have a tool to calm down every fear I had.
I'm a senior level software developer, been coding for about 25 years. I get to delve into Godot about once every 3-4 months... in that timeframe I lose knowledge and come back and have to relearn it. Normally this works okay for frameworks and tools I'm used to, it's a pattern I'm all to accustomed to. For some reason godot has a hard time sticking for me. I get hung up in silly things like "how do I rotate a sprite programmatically" or "how do I get the global position of a sprite" "how do I set the global position of a sprite" it's very surprising to me that these seemingly basic ideas can get a bit confusing.
I think the emphasis is on the wrong situation when discussing the problem of gamedev illiteracy and new-user adoption. We think it's because there's not any good-enough learning material, which is incorrect, there's plenty of great stuff out there, as stated in the video. The problem is, we're not preparing people for gamedev in the right way.
A lot of newer Godot users, particularly kids, are approaching Godot as a toy or a hobby, because that's what they see all these TH-cam gamedevs doing. The "I made Mario Odyssey in a week" guys, the "I made a Doom clone in three days" guys. What these newcomers are failing to understand is that, in the beginning, it's work. You've got to sit down and learn this skill before you can have fun with it. And the same is true of any recreational skill-based medium, music comes to mind. The difference is, most of those mediums make it a point to have folks understand that, yes, it may be fun later, but it's gonna be work first. And over the last decade or so, indie gamedev as a culture has been trying to convince people that "it's not as hard as it looks", so emphasis is taken off of the amount of work it's going to take. So you ultimately get folks who are more unprepared for the stupid stuff they're going to face, because we tried to draw them in with promises that it's easier than they think it's going to be.
Finally a human that can think!! Yes!! That's all what we wanted. Liked and subscribed. Thank you.
Sounds like a great idea. Can't wait to try the course. I love to tinker after getting an idea of how something works from a tutorial. Stretch goals for students to complete independently of the course might be a way to encourage curiosity; without adding a large amount of additional work to the course.
Realy looking forward, you guys are doing awesome job and I hope this can help me to get over basic obstacles
there's absolutely no need to learn python before gdscript. personally i only knew javascript before learning gdscript and i had absolutely no issues adapting. using : instead of braces is a bit annoying and the indentation makes formatting in vscode a nightmare but knowing python doesn't change anything imo.
Wow, this is an awesome venture and an important lesson for others too!!! All the best!!! ♥♥♥
Good video that points out a lot of right things. I wanted to add something though as this video focuses a lot on the "beginner without any coding experience" aspect. I have almost ten years experience in software development (web apps and server scripting for various stuff). Regardless of that I'm basically on my third try to "learn game development" now. No matter which engine there is a lot of resources for learning missing. Not only the coding as pointed out in the case of Godot. Seriously. At this point I feel like I'm too stupid for game development despite my background in software development.
What always made me drop the idea was my absolute cluelessness how to approach a game. Do I start creating the player character? The environment? The enemies? What's are the best practices for project structure, code structure, inheritance, testing? Stuff that I know in the area I have experience in. I know how to start writing a tool for someone wanting to do their job. And sure I can break down my game idea into all the various little blocks of functionality (not exactly difficult if you have software development experience) but I still don't know how to do any of them with the engine. And I don't know where to start working on this mountain of issues either. Obviously this is something you'll figure out with experience but it shouldn't be difficult to get recommendations for that. And the responses online are always "it doesn't matter", "just start with anything", "you'll know with more experience", or similar stuff if you find any topics on this at all. If there are any guides they always focus on these same things of "just make a simple prototype", "don't go into details too early", "focus on the gameplay", that totally misses the point. There is almost nothing on the actual process of game development from the perspective of the developer.
Also a little rant from my side... Video tutorials are an absolute pain. If you do everything right you'll just forget about it on the next day. If you don't do everything right you now have to skip through a video and replay various bits over and over again to figure out what you did different than the person (or maybe there was a change in the framework and you have to do something else entirely). I really wish there were more text tutorials for Godot in particular. The API documentation is great but reaching that level of development is tedious even for someone with "regular development" experience.
Anyway. Rant over :D This time I'm intent on fighting through and at least reach a prototype.
As I already did the Unreal tutorials as well as Godot tutorials multiple times by now I'll skip the tool mentioned in the video. Going over the basics of software development again isn't helping me anymore. But it sounds like a great idea to have something more interactive than video tutorials for Godot. And this probably is giving people a better idea how to do an actual game and don't focus on mechanics like most videos.
Would you like to work with me on a writeup to help people like you get started? You could ask me all the questions you'd like, and I'd use that to write articles or prepare video Q&A.
If you're interested, you can email me using the channel's about page: www.youtube.com/@Gdquest/about
You're not too dumb to learn gamedev, it's true that there aren't too many structured resources out there to learn what you're looking for at your skill level.
04:57 I've been preaching this for years. I love this.
You touched on so many great points in this video and it's definitely not an easy problem to solve. One of the reasons I was able to fall in love with programming so much was because I had an amazing set of computer science courses in my high school with a truly amazing teacher. Instead of how most courses tend to go, which I learned from my friends from other schools to be very theory-based, my teacher took us immediately into practical examples that used core concepts. The first year was all codeless as we only used scratch. While I thought this was annoying at first, I later realised that it got us thinking like programmers so moving to actual code would be less jarring. Next we used Java to build basic sorting algorithms and stuff like that that were practical, as well as teaching us how to use basics like if and while statements. We then built up to more complicated games and other programs that utilized concepts like data structures. All of this kept us engaged as we could see the product of our efforts and it also let the concepts sink in. In the end we were making games like Solitare that utilized semi-complex logic and data structures like stacks and ques. After high school, I was able to take my knowledge to better learn things from normal video tutorials. I wish everyone could get the same foundation that I did, and I'm really glad you are working towards these tools that can help people to get a similar experience.
That's a great idea. I got into game programming some years ago after taking the Khan Academy course, that teaches in a very similar way to what you are developing, and it was way more effective in teaching me how to code than an IRL course I was taking around the same time, exposing just the necessary amount of code and teaching interactively with practical examples REALLY makes the difference when you are starting to learn something (although the more theoretical part is still very useful after you already learned the basics).
This is both challenging and inspiring my practice as a programming teacher. Thank you, very much. Been stuck in a rut for a while and this has been the motivation I needed.
Just got to the kickstarter plug, definitely backing! Thanks for your service!!
Good luck with your Godot project. I think you're on the right track. You're right about the programming language issue and I think using mini lessons is a good idea. That's what I did.
I wrote "A Book About Hype", which does include some JavaScript programming topics. Since Hype is promoted as a web animation app without needing to code, a large part of the community doesn't like coding. But to unlock the truly advanced features of Hype, coding is required. To help them learn to code, I created mini templates. These building blocks can then be use to build more advanced web projects.
So, as I watched this video, I was almost cheering as the problem was properly identified and a good solution was presented.
I have some programming knowledge but starting an IDE (no matter which one) throws so many tabs, views, edit fields, treeviews, other objects and stuff into your eyes that you have no idea where to click, which components are relevant and which belong together. The second BIG question is: What functions are included? What function do i need to move my char, how to jump, do i need to code it myself? What are variables that i can play around with, what constants exist? Personally i love those kinds of minimized IDEs like the arduino one or maybe powershell ise. A run button and a function reference. obvious how to use and where to click...
Try imagine vlc opening with the advanced settings window and you have to set ALL the settings before you are able to watch a movieclip.
Dude exactly
Thank you, all. I'm relatively late and new to the party. But I'm happy to crowdsource any efforts towards this cause
I mostly agree. Back in the day we started with the print command, then moved on to input and print, then next it was for-next loops with input and print, building little programs but building on the concepts already learned and understood in the previous program. That way we would build a good base with each simple concept learned on top of the last, understanding what and why, and also what. One thing that also helped was the briefness of variable names and commands, which godot doesn't really do. BASIC back then was closer to English so it was understood better than most other programming languages too as most people who used it understood at least some English. Even introducing == as a part of a command instead of using simply = introduces a little confusion at first as it isn't standard English.
The further you move conceptually from written/spoken languages like English, the more difficult things become for anyone who wants to learn programming. There are many more things that have changed with stepping in to Godot too, like vector2 or vector3, previously they'd just be declared as variable(value, value) or variable(value, value, value), which in practice would simply look like dirx(ax,bx), diry(ay,by) which is a lot simpler and easier to remember than what you have displayed here in the video, especially as vector is a math concept which is still not a part of English that most people use every day unless they are into math, so it's removed from common use and has to be learned or re-learned, but then it also has to be learned within the narrow confines of Godot programming.
Thank you for explaining why gamemaker is still relevant despite being superseded by Godot.
GM may have failed at many things, but the Drag-and-drop coding of objects is still what brings people into game development
i always appreciated these kinds of learning environmenta where you can focus on one task in an interactive way. other examples of this often fall short on the number of available tutorials and they often stil cram too much in there so you‘ll get frustrated at some point. if the learner can just choose her path and every step is small, this will be a big success!
If you're going to teach people how to use a tool that requires them knowing how to code, it's *not* unreasonable expecting/requiring them to learn how to code *before* they learn to use the tool. If they don't/won't do that, that's on them. "Go learn to code somewhere else" is a perfectly valid response.
As a professional developer, one of the most frustrating things about learning a new tool for a language with which I'm familiar is if the tutorial also tries to teach the language I already know (particularly if it does so at the same time as teaching the tool). Most of the tutorials I find are "for complete beginners", while the "for developers" options are few and far between (and often outdated; C# for Java Developers, for example, is at least a decade old).
saying "go learn to code somewhere else" is the equivalent of telling someone who's starving to just go find food.
Wow. That sounds really promising! I would say that i am over that hill already, but i think this project could lower the entry barrier to godot significantly
Omfg an adequate coder?! Too bad adequacy is only 50% of what I need. But I'm really glad to see at least one person who realizes that TH-cam tutorials don't teach thinking, they teach copying. I myself am a musician, I hate coding and I don't want to do anything with it. I, however, don't like music without the idea and gaming provides great space for ideas. Since coders don't have passion for anything that's not theirs and I don't want to waste years in frustration trying to code a calculator I got stuck. And man, I'm glad to see someone who understands this pain....
...wait, aren't you that inadequate guy from before? Are there two people with the same voices who run this channel? Is that some personality disorder? Or am I thinking about someone entirely different? Guess I'll never know, but thank you
Coming from a full time programmer to my first shot at game programming, I’m still finding it really damn hard. You reach a point where you realize you can “get it done” about 10 different ways, with absolutely no idea which is the best one.