The ultimate introduction to Godot 4

Поділитися
Вставка
  • Опубліковано 28 вер 2024

КОМЕНТАРІ • 2,4 тис.

  • @ClearCode
    @ClearCode  Рік тому +390

    Huge thanks again to NordPass Business for sponsoring this video. If you want a powerful password manager to conveniently and securely access your data from anywhere make sure to check them out.
    At nordpass.com/clearcode you can get a 3 month trial to check it out. Doing that will also support my channel and help me make more videos!

    • @manwhas
      @manwhas Рік тому

      wbt your pygame ce one thats on your github is it a course?if so pls send link so I can buy it or is it an unreleased vid?

    • @amanterobot
      @amanterobot Рік тому +1

      Hi.... sorry for going off topic but as this video is the most recent there are more chances you may read it. Just wanted to ask about pygame tutorial vodeo. Can we still refer to it but using pygame community edition? And are there changes we should be aware about?

    • @firnyx
      @firnyx Рік тому

      @@amanterobot As far as I know pygame ce is mostly the same as pygame for now so his tutorials should still work with it I think

    • @PunCala
      @PunCala Рік тому +4

      Fantastic guide, probably the best guide there is, and what a perfect timing! Keep making these, you are doing *Godot's work*

    • @1neminutebonk3rs3
      @1neminutebonk3rs3 10 місяців тому

      you are a brilliant teacher. I have never watched any tutorial for more than 10 mins at a time and was planning to do the same with your video but I am at 53 min mark and I don't know If i want to stop or not.
      I really really like your work. Kudos man. Great work

  • @westingtyler1
    @westingtyler1 Рік тому +2303

    As a long-time unity dev, this recent per-install unity fiasco finally made me start familiarizing myself with Godot, which has apparently gotten a lot beefier in the past year. after seeing how Blender, being free and open source, went from garbage to galaxy tier animation and modeling software, I believe in open source and think it's smart to bet on a FOSS game engine like Godot, which can only improve over time, as opposed to some corporate products, which can slowly degrade (like Unity.)

    • @Hilipinapixili
      @Hilipinapixili Рік тому +44

      I'm on the same boat as you. More than 5 years developing in Unity, currently looking around for alternatives after recent events. I mainly work on 2D so so far Godot looks promising, though I also plan on doing some crash courses in Unreal to leave the door open just in case my situation changes in the future.

    • @westingtyler1
      @westingtyler1 Рік тому

      yeah, it seems Godot is pretty legit now for 3D, and is super refined for 2D. but yeah it's a good idea to have a wide skillset. one thing i've noticed is that getting up and running in Godot is super fast, covering a decade of Unity time. i think it's because now my brain thinks like a programmer and knows what features to crash course on faster. the true value of all that time with unity was that skill "programming" and not just in a single language, but the brain shape to think about it fast. and that transfers for sure. @@Hilipinapixili

    • @NervousNoodles
      @NervousNoodles Рік тому +63

      The added attention from devs to Godot can only result in more people using the engine and more people wanting to contribute to it, and in turn resulting into a better product.

    • @ArmoredGameDev
      @ArmoredGameDev Рік тому +3

      same@@Hilipinapixili

    • @rizwanzaman1793
      @rizwanzaman1793 Рік тому +4

      ​@@Hilipinapixili I primarily do animation stuff in Unreal; Unreal being real time in 3D has helped me a lot - its very intensive though
      Where should I start if I want to learn 2D development?

  • @Gazza_N
    @Gazza_N Рік тому +463

    I'm a professional Unity dev of ten years who's hopping engines for Obvious Reasons. I couldn't have asked for a clearer, more comprehensive beginner's guide to Godot than this. Bravo, and thank you.

    • @MTLGSE
      @MTLGSE 9 місяців тому +17

      How has the switch been ? It's cool to see the pros watch the same videos as us peasants lol.

  • @CopperAirplane
    @CopperAirplane 9 місяців тому +639

    4:53:30 They've changed where some of the particle customization options are in the menu.
    Emission shape is under the spawn
    Gravity is under the accelerations menu
    Scale is under display

    • @taiseicee3656
      @taiseicee3656 9 місяців тому +57

      5:03:00 Direction, Spread, Initial Velocity Min, Initial Velocity Max have all been relocated to Spawn/Velocity/

    • @sebastiancontreras1559
      @sebastiancontreras1559 9 місяців тому +12

      Thank you! I just got to this section yesterday and was very confused, or atleast more confused then I usually am. I just realized I have to go back and double down on learning the basics of python instead of trying to brute force my brain to know it.

    • @nota10Xdev
      @nota10Xdev 9 місяців тому +3

      Thank you so much. I don't get why they had to move everything around that much..

    • @dragoniscoming
      @dragoniscoming 9 місяців тому

      Thanks 🙂

    • @WingKeiEmmanuel
      @WingKeiEmmanuel 8 місяців тому +2

      Thank you very much, you have saved my life!

  • @OmarLeKing
    @OmarLeKing 6 місяців тому +305

    A lot of videos I’ve watched so far have always said “be wary of tutorial hell” but this? This right here? Tutorial Heaven, bro. I’m learning so much, thank you for uploading this.

    • @cweasegaming2692
      @cweasegaming2692 5 місяців тому +36

      It's a valid thing to think about. I used this tutorial to learn godot and then stopped using "step by step" tutorials. This video in full is exactly the kind of thing you'd want to use to learn the engine. After that, figure things out as you go :)

    • @mkaks22gamerserise16
      @mkaks22gamerserise16 4 місяці тому +5

      bro this video is really different from tutorial hell

  • @ouijinn
    @ouijinn Рік тому +189

    I could cry, and I might cry by the end of this series; I've only finished the first video and I feel like I've finally found the teacher and tutorial that will slingshot me out of this excruciating hell of years and years of trying to understand how any of this works. I'm so sick and tired of bouncing from game engine to game engine, tutorial to tutorial, bashing my head against a wall trying to learn a language that I can understand, and above all else, trying to follow "crash course" videos that go a thousand miles an hour without actually teaching me anything; just mindlessly copying what they are doing and hoping it sticks, even though they didn't tell me what any of it actually does, or how they even got the information in the first place. I don't know what kind of inhuman monster can learn from something like that, but it isn't me. You are an excellent and wonderful teacher. I went from having one of, if not the most shittiest defeating weeks of my entire life, to feeling like there's hope again to do something I've wanted to for 30 years now. My sincerest thank you for this incredible work! I will follow it till the end; I've already learned so much from this past hour or so than I have ever with any other tutorial.

    • @trashstar4704
      @trashstar4704 11 місяців тому +11

      dude i felt exactly the same i haven't watched this yet but a glowing review like this from somebody in a similar situation makes me hopeful

    • @gfsg5440
      @gfsg5440 10 місяців тому +3

      this gotta be the realest thing ive ever seen

    • @themushroomherders
      @themushroomherders 9 місяців тому +7

      While this may be very true - the bit about learning how to problem solve. I feel like the biggest issue not talked about in development is the historical reasons for the functionalities of these engines. Why ‘this function’ is called here for ‘this reason’ or ‘that reason’. I jumped into Godot thinking I would have to learn how to hard code everything from scratch and learned that there are built in native functions and methods to all this stuff that were developed for the purpose of not needing to hard code everything. This is my first game engine/real programming environment to really ever work with, and I think for a beginner it can become very daunting to think how do I get ‘this’ to do ‘that’ when there is a seemingly infinite number of feasible ways to accomplish that problem. While, yes, there are an endless amount of ways to accomplish a task, there are a lot of native tools that allow for these problems to be accomplished a lot more efficiently and seamlessly that we’re created for the purpose of nullifying a lot of these inefficient ways, that we’re developed over many years within the game development industry. I feel like I’m not learning a coding language, but I’m learning the slang variant of the logic involved. I think this is the most difficult part about learning programming in Godot, again, my first gaming engine. But, somehow, honestly, I feel so safe working in Godot. I don’t know if it’s the programming environment, or GDscripts evolution from Python, but it feels still so intuitive. That being said I would love a better resource to understand the syntax behind all these “magic” methods and in-built functions, something that I could apply to all coding languages, and I am so thankful for this tutorial/teacher’s guidance. I feel like I’m really learning the fundamentals of the logic behind coordinating communication of different nodes within the engine’s environemnt. I am approximately 2/3rd of the way through this video and I feel like I can begin to solve my own problems and guide myself to solve them. Happy programming to everyone! 🫠☕️🕉️

    • @kjbaran
      @kjbaran 7 місяців тому

      @@themushroomherders someone who understands the difference between cause and effect, remarkable.

    • @gabbeeto
      @gabbeeto 7 місяців тому +1

      @@themushroomherders sometimes I wonder why he's done few things in such ways. So I tried to do it in another way that it is shown in here and I learned why he's done in that way because of that. that happened with me in the signal part for example when he used signals to let the level know when the player should shoot.. I thought that was dumb because now we rely on code on the level and if I want to change to another scene I'm going to have to do the same again and that's not good so I haven't used the signal and try to do everything inside the player(the lazer is separated from the player in another scene but didn't signal the level). and if you are rebellious and you try to do it in more than one way, you learn so much more I think

  • @emperor8716
    @emperor8716 Рік тому +676

    bro really came back after 3 months with an 11 hour long video 👏🏼 just wanna say thanks because i’ve been following along all your pygame vids and they’ve taught me a lot.

    • @ClearCode
      @ClearCode  Рік тому +191

      It's actually 14 hours, UA-cam stopped me at 12 hours so there's a link to a part 2 at the end :P

    • @jayroi1814
      @jayroi1814 Рік тому +24

      @@ClearCode lmao nice

    • @donaragorn
      @donaragorn Рік тому +12

      ​@@ClearCodemaybe should've split the video equally, cause the 11:3 length ratio of the two parts is a bit weird.
      Also why is the second part unlisted?

    • @Criticalthinking_
      @Criticalthinking_ Рік тому +67

      @@donaragorn this is like complaining about the plate being the wrong color when u get a free meal.

    • @donaragorn
      @donaragorn Рік тому +25

      @@Criticalthinking_ I'm not complaining, I'm simply asking. Sorry if my tone came off as complaining.

  • @SporkSlayer
    @SporkSlayer Рік тому +509

    I was in the middle of learning Unity when they made their announcement.
    I'm glad there's already a Godot community to help me make the switch.

    • @pouyanrezvani3314
      @pouyanrezvani3314 Рік тому +9

      Yeah. Same here

    • @1wntv
      @1wntv Рік тому +8

      lol same here

    • @AndyRosaDesign
      @AndyRosaDesign Рік тому +21

      I worked with Unity for 4 years before the announcement.. from now on only Open Source software.. and I bet after this all mess the Godot Community will grow exponentially and the engine will improve to Unity level and beyond

    • @rohitchaoji
      @rohitchaoji Рік тому +5

      I first started learning Godot over a year ago. Or well, I tried. Now I'm actually low-key glad this happened because this means we'll have much better tutorials, documentation and help from more experienced game developers and designers, whereas I was relying on somewhat incomplete tutorials which would have some aspects of it broken due to different versions of the engine being used.

    • @谢朋刚
      @谢朋刚 Рік тому

      Welcome

  • @vincernio
    @vincernio Рік тому +118

    A bit of a shortcut that removes some of the complexity for beginners for selecting a random marker for the lasers at ~ 3:06:00
    instead of using randi() and the size of the array you can use the built in godot function for handling this:
    var selected_laser = laser_markers.pick_random()
    that being said I think if you are learning, understanding using modulo, randi(), and how you can use them with arrays is super important so it is still really good to show/practice it as shown in the video.

    • @Dipj01
      @Dipj01 6 місяців тому +1

      Thanks for this!

    • @rijden-nu
      @rijden-nu 5 місяців тому +3

      I wanted to post this as well. Note that generating a 32 bit random number and then dividing that over a number that we know is 2 bits (in this case) just to get the 2 bit modulo may also be slightly excessive and slow. Not that you would notice, but still.

  • @MSMPokeGamer
    @MSMPokeGamer 6 місяців тому +70

    What a phenomenal comprehensive tutorial. You've made learning Godot so easy! 🙌

  • @byucknahthered3914
    @byucknahthered3914 Рік тому +214

    @3:00:08 for anyone doing the Laser testing with the remote view, just a note of a change in Godot 4.1. After the initial shot the names will appear by the node type name so "@Area2D@x" instead of "@Laser@x", this was a change to how "add_child()" functions. To have it display the node's name instead of the node type's name use this instead "add_child(laser,true)" and instead of showing as "@Area2D@x" it will show as "Laserx"

    • @kelvinm560
      @kelvinm560 11 місяців тому +23

      However, you get a performance hit. From the docs "This operation is very slow. As such, it is recommended leaving this to false, which assigns a dummy name featuring @ in both situations."

    • @byucknahthered3914
      @byucknahthered3914 11 місяців тому +16

      @@kelvinm560 right, you wouldn't leave it enabled when releasing a game but for troubleshooting/bugfixing it's handy.

    • @ayushsidam289
      @ayushsidam289 10 місяців тому +3

      Thank you very much bro. 🙂🙏🏻

    • @guy3480
      @guy3480 5 місяців тому +4

      you just saved me from so many google searches THANK YOU

    • @byucknahthered3914
      @byucknahthered3914 5 місяців тому +2

      @@guy3480 ah, you are most welcome :)

  • @snakery18
    @snakery18 Рік тому +996

    It's rare for someone to be able to ride the line between detailed info and beginner-friendly info so well. You certainly have a talent for teaching. Thank you!

    • @ClearCode
      @ClearCode  Рік тому +148

      glad it's helping and thank you so much for the support :)

    • @nyscersul42
      @nyscersul42 Рік тому +20

      Agreed, he did very well.

    • @vaibhavkrkm
      @vaibhavkrkm 11 місяців тому +8

      yes exactly!

    • @3aresnik
      @3aresnik 8 місяців тому +5

      Exactly!

  • @davidwhitten179
    @davidwhitten179 Рік тому +55

    I'm a complete and total noob here. I'm just starting to learn everything. My goal is completely solo game development from the ground up. This video, while a daunting task in itself, has made leaps of bounds of progress happen almost overnight. This is such a great basic foundation of knowledge in godot. You introduced new topics at the perfect times, and you explained everything beautiful. Thank you so much for the time and dedication I know this tutorial took!

    • @thej3683
      @thej3683 3 місяці тому

      Now that you’re way more experienced than I am, how solo developing going?

  • @khaledalshammari857
    @khaledalshammari857 Рік тому +151

    Amazing work! You actually made me get back to Godot, i tried to understand it many times! watched bad/outdated tutorials and kept feeling lost, the Godot Docs is massive and great but i felt overwhelmed, this video is just perfect for me!

    • @ClearCode
      @ClearCode  Рік тому +44

      Thank you so much!

    • @joeylantis22
      @joeylantis22 10 місяців тому +1

      did you really just waste $50 dude

    • @Maxitanker
      @Maxitanker 10 місяців тому +68

      ​@@joeylantis22 Wasted? Dude, this is a best tutorial for Godot that I found, and it's FREE. If someone is able to donate some money for a good tutorial then why not?

    • @steve12622
      @steve12622 9 місяців тому +13

      The Money is Well spent and deserved. This Video would be Well Wörth 50 bucks If He marketed it.

    • @pandabärlounge
      @pandabärlounge 8 місяців тому

      ​@@joeylantis22 just choose a good place and sleep buddy , nobody likes you.

  • @luciusrex
    @luciusrex 2 місяці тому +22

    It's a long video but worth it! Learning lots! For anyone wanting a breakdown of contents into "bite-sized" chunks/chapters
    Day 1: Introduction and Basics
    00:00:00 - Intro, Sponsor NordPass Business, What is Godot
    00:02:41 - Scenes and Nodes
    00:36:33 - Working with code
    00:57:56 - More on code
    01:11:09 - Delta
    Total Time: ~1 hour 22 minutes
    Day 2: Nodes and Input
    01:21:34 - Getting input
    01:38:38 - More on nodes
    01:48:55 - Physics!
    02:15:23 - Signals (+Area)
    Total Time: ~1 hour 17 minutes
    Day 3: Signals and Customization
    02:38:01 - Creating custom signals
    02:51:11 - Creating custom scenes
    03:21:07 - RigidBody2D
    03:45:54 - Using a camera
    Total Time: ~1 hour 14 minutes
    Day 4: Tilemaps and Particles
    03:51:37 - Tilemaps
    04:28:11 - Tilemaps and physics
    04:49:41 - Emitting particles
    Total Time: ~1 hour 17 minutes
    Day 5: Lights and Animations
    05:09:08 - Lights
    05:35:54 - Animations
    06:07:42 - Tweens
    Total Time: ~1 hour 20 minutes
    Day 6: Inheritance
    06:29:21 - has_method()
    06:39:52 - Inheritance
    07:04:25 - Creating the inside level
    07:27:09 - Adding a level transition
    Total Time: ~1 hour 4 minutes
    Day 7: User Interfaces
    07:33:26 - Getting started with user interfaces
    08:02:31 - Adding the health bar to the UI
    08:08:46 - Making the UI interactive
    08:25:52 - Adding color to the UI
    08:36:45 - Prettier transitions
    Total Time: ~1 hour 13 minutes
    Day 8: Items and SetGet
    08:46:16 - Creating items
    09:06:15 - SetGet
    09:23:52 - Creating crates
    Total Time: ~1 hour 9 minutes
    Day 9: Expanding Levels
    09:55:54 - Expanding the inside level
    10:17:31 - Creating the scout
    10:37:55 - Creating the grenade
    Total Time: ~1 hour
    Day 10: Health and Shaders
    10:49:22 - Scout & Health
    10:57:43 - Player & Health
    11:06:25 - Shaders
    Total Time: ~1 hour

    • @Reymax164
      @Reymax164 2 місяці тому +4

      *_Huge help thanks 〜_*

    • @intriguingfacts5434
      @intriguingfacts5434 2 місяці тому +1

      It takes much longer than that...because I need to navigate the UI and I also add my own changes, such as muzzle flash, which is a pointlight2D node that blinks for 0.2s when the rifle is fired. Plus another particleemitter node that generate faint smoke for the rifle. Along with the sparks, the rifle fire looks quite realistic.

    • @luciusrex
      @luciusrex 2 місяці тому

      @@intriguingfacts5434 that sounds great! I'm very new to python/game dev/godot so I want to learn as much as I can before i frustrate myself not knowing how to solve problems with godot/gdscript when I do stuff on my own.
      I'm down to day 10 hopefully finishing tonight! And on to a few more tutorials next week to see how others solve different problems before I try making something myself from scratch.

    • @Reymax164
      @Reymax164 2 місяці тому

      ​​​​​@@luciusrex Haven't started, just watching a bit/a topic every day or two and remembering stuffs 😅
      Just done with signals… 2:51:11
      and I feel that that one really needs practice so maybe I gotta start now.
      I plan to use different assets.
      So I'd need to do stuffs pretty differently, I think that'll work better for me.

    • @luciusrex
      @luciusrex 23 дні тому

      Update: Godot is good but I went with unity. C# is just a joy to code with and unity makes it so much easier. Maybe someday godot

  • @denisc555
    @denisc555 6 місяців тому +9

    What an incredible tutorial! Rarely do I feel the video can justify having the word 'ultimate' in the title, but this tutorial was just that! I still have so much to learn but it's been really nice to have so much guidance during my first few steps in Godot. Thank you for all the time and effort into making this tutorial, and I'm looking forward to your future Godot uploads!

  • @anarqee
    @anarqee Рік тому +340

    I'm 2 hours in and honestly Godot feels way more intuitive and beginner friendly compared to Unity. I'm a complete beginner and started learning Unity, got frustrated quite early on. Then the Unity fiasco started and I found this amazing thing, and I love it!

    • @azumashinobi1559
      @azumashinobi1559 Рік тому +44

      Similar story for me. Everyone said unity was THE super easy to learn program and now I feel gaslit lmao.
      Like it's not impossible to learn obviously but it's not exactly intuitive all the time

    • @moldman5694
      @moldman5694 Рік тому +41

      @@azumashinobi1559 It's definitely harder than many make it out to be, especially since most tutorials don't actually explain the inner mechanics of unity but rather go "do this, then do this". And the fact there's often like 5 different systems in Unity that can be used to achieve the same thing, half of which are planned to be deprecated, certainly doesn't help a lot of the time

    • @azumashinobi1559
      @azumashinobi1559 Рік тому +37

      @@moldman5694 right I hated the "do this, then do this" style tutorials so much. I like to have a fundamental understanding of what's actually happening and what my options are as opposed to memorizing instructions

    • @katakuri774
      @katakuri774 Рік тому +3

      ​@@azumashinobi1559 did you find this tutorial to be better in that regard?

    • @1stflower834
      @1stflower834 Рік тому +2

      this happened to me with godot, sadly

  • @mianokamuru6333
    @mianokamuru6333 Рік тому +406

    welcome unity refugees

    • @alexmcd378
      @alexmcd378 5 місяців тому +10

      Actually, I'm here because GMS doesn't have a Linux client. But yeah, unity removed itself as an option

    • @hafizhasan3668
      @hafizhasan3668 5 місяців тому +7

      You had to call me out ?

    • @FlamingMelon
      @FlamingMelon 5 місяців тому +3

      Come on man

    • @BAD_GAME_DEV
      @BAD_GAME_DEV 5 місяців тому +3

      Hell yeah brother

    • @mkaks22gamerserise16
      @mkaks22gamerserise16 4 місяці тому +3

      i want to be unity dev in starting but after some time i not even start unity introduce new polices which make be to unreal but it was not able to run at 30 fps in my laptop so in jion godot

  • @zemeio1184
    @zemeio1184 Рік тому +130

    Some more advices I think could be useful here (disclaimer: I'm only 2 hours into the video and downloaded the final version to check it out)
    1. In your game, if you have a bigger screen you can see more, which can be unfair. It's easy to fix this by doing these steps (which will make your game scale if you increase the window size)
    1. Project -> Project Settings
    2. Turn on Advanced Settings (button on the top right)
    3. Go to Display -> Window
    4. Set the Stretch Mode to "canvas_items"
    2. The things that mess with physics (moving, colliding etc) should be done inside the _physics_process, not _process. For this game it won't change that much, but it can generate some inconsistent physics for some more complex games. Things like timers, which depend on real time instead of physics frames, are usually better at _process.
    I will keep updating here with advice I can find, or if someone wants to reply with their own =).

    • @Sean-x4u
      @Sean-x4u Рік тому +1

      Legend!
      Thanks for that.

  • @Skovos
    @Skovos Рік тому +16

    I don't comment very often but the sheer willpower and time to organize this information and compile it into a video must have taken ages. Well done and thank you! Let the well deserved views and subscribers continue to flow in.

  • @gallow_
    @gallow_ 4 місяці тому +4

    For anyone around 4:46:10 on the physics layers tilemap section, there's a little eye dropper tool beside paint that allows you to click on tiles without overwriting any collision data you've already drawn

  • @Koden
    @Koden Рік тому +31

    6:15:00 Little tip: You can drag and drop the name of a property instead of manually typing it. So in this case, if you click and drag 'zoom' onto the script, it will give you "zoom" this is useful for properties with long/complicated names.

  • @CharlExMachina
    @CharlExMachina Рік тому +62

    Please make more Godot tutorials like this! Your way of explaining shaders just blew my mind at how easy you made it to comprehend
    You just earned a new subscriber

  • @Gatitasecsii
    @Gatitasecsii 9 місяців тому +8

    I'm barely 50 minutes in but I can tell you I love how in depth you explain everything. I'm so thankful for people like you in this world.

  • @williamspies6711
    @williamspies6711 29 днів тому +1

    TileSet/TileMap Light Occlusion: He shows that you can't make two unconnected light occlusion shapes on a tile in the tileset, but there is a workaround. If you go into the inspector and add a second occlusion layer and then select that second layer in the "paint" section, you can create a second shape.

  • @Unskilledcrab
    @Unskilledcrab Рік тому +63

    One of the most thorough and well structured tutorials that I've ever watched ❤

  • @AnupShanbhag-y3y
    @AnupShanbhag-y3y Рік тому +14

    Thank you so much for this amazing 14 hours tutorial! Just wanted to mention that in your resources/graphics folder, the projectile images are missing. I just moved the projectiles folder from the full game to the resources/graphics folder. Thanks a lot again!

  • @widearchshark3981
    @widearchshark3981 Рік тому +17

    I am following this through (4 hours in now). This has to be one of the best Godot tutorials on UA-cam. It does need you to have a basic coding understanding. Provided you have that, this is a no-nonsense well-paced guide where I'm picking up so much information.
    Absolutely brilliant. Thank you so much.

    • @hybs9473
      @hybs9473 Рік тому +5

      What if you have a background in web development? Does that work as basic coding understanding to be able to understand this tutorial?

    • @beepboop6199
      @beepboop6199 Рік тому

      @@hybs9473 yes

    • @depressito
      @depressito 6 місяців тому

      @@hybs9473 this is probably too late, but it definitely helps a lot if you have a background in web dev. I didn't get a web dev job but I learnt web dev for 5 or 6 months and it helped me a lot

    • @depressito
      @depressito 6 місяців тому

      @@hybs9473 I was mainly focusing on html, css and javascript(when I stopped learning front-end web dev I was learning about react, typescript and tailwind) and even there are new things like signals, the video helps you understand pretty well. I think that you don't to learn much before starting this video. you can either do the first 3 weeks in cs50(week 2 should be the last week) or the foundations of the odin project, you can already follow the entire video.. you just need to know about Object/dictionaries, arrays, while/for loops, functions, variables. Most people recomend you to learn python because the syntax is similar before following this video but you can still follow if you know javascript..

  • @felix_xb
    @felix_xb 7 місяців тому +10

    7:27:00 just leaving this for anyone who accidentally does it: you can NOT do the @export var scene thing for both outside and inside. If you try godot (4.2.1 atm) will break and you'll even get a dependency error if you try to restart it (and wont be able to open your scene at all). You can fix this by either in the "Fix Dependency" choose another scene (like level) or in your gd script remove the @export and switch it back to explicit. Note: it's not a problem it cant find the file, it's more of a conflict.
    Even before that error you'll see your transition from scenes break. In the video you'll notice that the @export is only done for the inside scene, hence why the problem doesnt appear.
    I'm assuming this is because dragging the scene over somehow creates some loop between the two scenes and just breaks. This will break if you preload manually too.
    ----
    This wont break the game but you might notice there's a bunch of "errors" in the debugger when running (errors, not warnings). These are caused by the transition happening during signal processing rather then "right after" which godot doesn't like (since it may or may not interrupt other things its trying to do). To fix this simply move the change_scene_to_packed code to it's own function (eg. change_level) and then call that function in the signal handler via call_deferred("change_level")

    • @shxdww8542
      @shxdww8542 3 місяці тому

      Referencing the last part of this comment:
      The only way I could fix it was by removing the preload stuff all together, putting the change scene to file in its own function, and using call_deferred in the signal

  • @tomarik
    @tomarik Рік тому +21

    I think I started this tutorial 3 weeks ago. Spent a little time each day working through it.
    First I'd like to thank @ClearCode for making this. It is well done and goes into just the right amount of depth for each topic.
    And to everyone who comes across this video. Take your time. There is no rush to try and finish this video (and the second part) in one or two sittings. There was plenty of sessions where I made almost no progress in the tutorial. Rather I found a bug and spent all my time trying to find what I did wrong. That's part of the process!
    Good luck everyone and keep on coding!

    • @saulmaldonado4607
      @saulmaldonado4607 Рік тому +3

      where can i find the second part?

    • @SunnyCress
      @SunnyCress Рік тому

      @@saulmaldonado4607in the description

    • @SunnyCress
      @SunnyCress Рік тому +1

      Did you encounter any issues with the signal player has entered gate? Mine seems to be an operand whereas his isnt

  • @qooldeluxx
    @qooldeluxx Рік тому +7

    this is by far the best intro to godot 4 tutorial on youtube. You did a fantastic job. I've been a bit overwhelmed getting into godot but your learning style, speech, and excercises have greatly helped me. Thank you so much!

  • @quantum_hg3299
    @quantum_hg3299 Рік тому +7

    The way you express information is very 'clear' and the value you're adding by these videos is invaluable

  • @zongopbongo
    @zongopbongo 11 місяців тому +33

    For anyone at 2:39:00 you can simply right click the gate node and select "save branch as scene". This will import it all into a new scene so you don't have to rebuild it

    • @rrropet
      @rrropet 8 місяців тому +6

      Also you can copy and paste the nodes into the new scene, but I chose to rebuild it because it reinforces the steps in my memory 😊

  • @legowyn24
    @legowyn24 9 місяців тому +9

    For anyone struggling with the crate section, here's 2 possible solutions on why it may be breaking
    1. For many people including myself, when they update the collision masks of the item container it doesn't actually apply the changes to the inherited scenes. It registers, but it doesn't apply. It applies visually in the editor, but it doesn't apply technically. To fix this, simply delete the old scenes and relink them to the outside scene, and you should be fine.
    2. If you do that but then the objects stop being added to the tree, make sure to check the group for the item container. I don't know what went wrong, but Godot at some point removed the group for my item container, causing it to break with no errors.
    I hope somebody finds this helpful, and if you do, I wish you good luck on your journey

    • @azrielsatan8693
      @azrielsatan8693 9 місяців тому +1

      Thank you, solution 1 worked for me.

    • @MegaByteKaos
      @MegaByteKaos 9 місяців тому +1

      Solution 1 worked for me as well.

    • @thepresidentgaming404
      @thepresidentgaming404 9 місяців тому +1

      Thank you very much ,1st worked fine

    • @christopherkerr6187
      @christopherkerr6187 8 місяців тому +1

      THANK YOU! Option 1 fixed my issue. I went through each item related section 3x before stumbling upon this advice. Cheers!

    • @Aditya_Kumar_12_pass
      @Aditya_Kumar_12_pass 8 місяців тому +1

      Thanks!! 1 worked perfectly fine

  • @arvin390
    @arvin390 7 місяців тому +7

    Really helpful video. Currently almost 4 hours in at the part where we have to make the laser travel in the player's direction, and while doing the exercise I actually implemented it in a way I find a bit simpler, using some basic trigonometry. For the calculations, instead of finding the vector between the player position and the mouse position like you did, I just used the player rotation, like this:
    var dir = Vector2(cos($Player.rotation), sin($Player.rotation))
    laser.rotation = (PI/2)+$Player.rotation
    laser.direction = dir

  • @YuutoGaming
    @YuutoGaming Рік тому +43

    It's time to learn Godot because of Unity's new Fee policy. 🔥🔥🔥

  • @flyntwick
    @flyntwick 8 місяців тому +3

    Of all of the “ultimate” introductions to most things on UA-cam, this meets & exceeds expectations. What an incredible tutorial by an excellent instructor.

  • @zeerocool
    @zeerocool Рік тому +13

    Great intro, thank you for making such detailed content. Wish you the best.

  • @jakes-dev1337
    @jakes-dev1337 7 місяців тому +5

    I havent even seen 5 minutes yet, but thank you so much for making this. 11 hours is nutty dude.

  • @FlamingleGamesINC
    @FlamingleGamesINC Рік тому +69

    Man… I fell out of programming years ago. I really enjoyed both game development and your content back in the day. Just stumbled across this video on my page, and I’m wondering if this is a sign I should get back into it? Either way, thank you all that you’ve done for the community! Your impact has meant a lot.

  • @blengen1
    @blengen1 Рік тому +6

    Man I can barely make my own video last 2 minutes my god.
    I'm 6 minutes in and this already looks like an amazing tutorial.
    The fact that this is free is amazing!
    (I'll update this comment based on how far I've gotten)
    23 Minutes in, everything feels really clear, and I never feel like I have to catch up. Gonna take a break here. I also have an issue where I can't drag files into the FileSystem. (Problem solved, I can just open the folder in file explorer)
    1h in and everything is at such a nice pace. I don't ever feel pressured, yet I feel so much more in control over the software now. I feel like this tutorial has a lot of potential! Also finally a good explanation of Nodes. Crazy how such a weird concept is finally so easy to comprehend.
    1h 22m in, not much more. Was already familiar with DeltaTime, but this just reassured all my thoughts. Nice to see basically every concept being went through, and I'm not even a 10th of the way through. It's now 23 : 00 (11PM) so I'm gonna return to this tomorrow.
    2h 10m in. Coming from a Scratch user (yes ... you can actually make proper games in that, you can check out Griffpatch if you want) I'm much more used to writing my own functions for physics and stuff, but these explanations make me feel more confident in these inbuilt one. Especially about "move_and_slide" with the "velocity" variable.
    2h 38m: Timer and signals, this is something I think I was looking for. Absolutely crucial concepts and very nice to know. I will say the "$Timer.start()" function wasn't really made clear before the exercise, but after I viewed the solution, everything makes sense :)
    3h 20m: Clones huh. This is not at all like Scratch's clones work ... so I'm just slightly confu-.
    Whatever so long as I can copy paste rewatch and chatgpt whatever I'm fine I think (I am definetly a professional)

  • @buckamoona
    @buckamoona 5 місяців тому +2

    I'm an hour and half into this, can say I've never been more excited to finish a tutorial let alone an 11 hour one!

  • @itsasecrettoeverybody
    @itsasecrettoeverybody Рік тому +3

    I'm watching this video for 5 days now, and it is probably the most comprehensive godot guide I saw on youtube. It covers every fundamental of the engine. Great video, thanks for sharing knowledge with us. I will definitely keep checking for more videos from you.

  • @griff2162
    @griff2162 Рік тому +13

    *7:33:26** a tip for the beginners:* try moving anchors by your mouse rather than setting values for them, the system will instantly make so much more sense!
    And yeah, thanks for the tutorial!

  • @IsometricPolygon
    @IsometricPolygon Рік тому +5

    Couldn't have come out with this at a better time. Gonna be going through this course over the weekend. Thanks!

  • @gabrijel9129
    @gabrijel9129 5 місяців тому +1

    Hands down, the best introduction to Godot, perhaps even gamedev, ever. Not just making something moving on the screen (which is important), but rather the whole process, including transitions from scene to scene. Incredible stuff!

  • @noctemcat_
    @noctemcat_ Рік тому +20

    At 7:33:22 a note of caution. If you also change outside level scene to use exported PackedScene for loading, then Godot wouldn't be able to open these .tscn files due to circular imports, the transitions in game would also be broken. I fixed it for myself by opening tscn file with text editor, and removing PackedScene from ext_resource and from Area2D node. The workaround that I used is to create a custom Resource that holds PacketScene exports and a level manager singleton to handle transitions

    • @BigManBand22
      @BigManBand22 11 місяців тому +2

      I just had this same problem. Thanks for posting this!

    • @BigManBand22
      @BigManBand22 11 місяців тому +5

      Another solution is just using get_tree().change_scene_to_file("res://scenes/levels/inside.tscn") instead of change_scene_to_packed(scene_name).
      That seems to be working for me to get through the tutorial.

    • @DrFlorent
      @DrFlorent 11 місяців тому +3

      Thanks a lot for your comment, I was stuck on this issue and didn't understand what caused it!
      For now I'll probably continue the tutorial with change_scene_to_file, just to make sure I don't break anything by trying to implement a workaround ^^'.

    • @FelisArmis
      @FelisArmis 11 місяців тому +1

      Can you please provide an example of your solution?

    • @noctemcat_
      @noctemcat_ 11 місяців тому +2

      @@FelisArmis Haha, don't worry I really jumped a gun with it. Just don't use exported Packed scenes and continue tutorial. Later in the tutorial we created something similar, so I needed to scrap and change my solution anyway

  • @cr0wmatic
    @cr0wmatic Рік тому +4

    One of the best explanations of delta time I've seen yet. Only an hour in so far, but I wanted to also thank you for putting this together. It is very detailed and perfect regardless if you are a beginner or just new to Godot.

    • @Afreshio
      @Afreshio 11 місяців тому

      Yes, he is a true teacher, a true pedagogical fellow, a follower of the Feymann method, a gentleman of high stature.
      Understanding delta until know was impossible I got the gist of it from other teachers or youtubers but this guy explains so well, like he doesn't assume previous knowledge about tech. He explains the way you should a true neophite.
      He titled this video appropiately: "ultimate introduction" as aimed for true beginners.

  • @richardlongshaw8079
    @richardlongshaw8079 Рік тому +5

    Amazing work!
    Just finished this whole tutorial.
    Re-awakened my love for Godot after trying Unity for a while.
    Godots Tilemap system is far better than Unity`s IMO - it just works .. without the gap bugs you get in the Unity tilemap system.
    All concise and clear - even shaders was explained in an easy to understand way. Well done 'CLEAR CODE'
    Cannot wait to see what tutorial you will do next.
    My intention now is to try and convert 'Pretty Fly Games - Top Down Car Controller' from Unity to Godot using some of what I have learn`t here.
    If I do a good job of it maybe I shall put it up on UA-cam.
    😃😃

  • @madmulk9
    @madmulk9 11 місяців тому +2

    I'm only three hours into the video so far but I am BLOWN AWAY by how good of an explanation this is. I'm new to Godot but I do have some minor math and programming background and I love love LOVE how you handle each new topic! I tend to prefer getting a deep understanding of everything and you lay the guide out in such a way that just makes sense for someone who's just diving in - starting with simple basics that you'd think of first before slowly introducing ways of doing things that are "better" for reasons that you lay out in simple, well defined ways! And the progression of it all makes sense for someone making a game too - right before I'd gotten to the "code to instantiate lasers" part I was thinking that that would need to happen, and now I'm on that section! It's so good and I'm looking forward to finishing the whole video as well as actually getting in and making something myself.

  • @Zhinarkos
    @Zhinarkos 4 місяці тому +1

    One of the best tutorials out there, not just in this topic but in general as far as teaching anything goes. Clear, to the point, simple sequences, enough but not too much repetition and most importantly some exercises embedded in the material. This kind of stuff will literally empower people to be employed, be artistic and just generally have fun. Thank you.

  • @captainmink1320
    @captainmink1320 11 місяців тому +4

    Amazing tutorial ... beginner friendly and perfectly paced. I am only 2 hours in and enjoying it tremendously.

    • @ClearCode
      @ClearCode  11 місяців тому +1

      Thank you so much!

  • @JustSuds
    @JustSuds Рік тому +5

    Excellent video. Super clear, not rushed, but not drawn out. Thank you 🙏

  • @Phoeboi
    @Phoeboi Рік тому +4

    You know an 11-hour video's gonna be good when the first seconds have a montage and banger music

  • @Pashaportino
    @Pashaportino 4 місяці тому +1

    after about 7 months of procrastinating i finally finished this part and i gotta say youre the goat fr this guide is really good and every minute feels like youre learning more and more, concepts are explained well and in good amount of detail, cant wait to finish the second part

  • @HxTrEmEcHaOs
    @HxTrEmEcHaOs 9 місяців тому +1

    One of the things I really appreciate in this tutorial is that you demonstrate mistakes and how to fix them, and even explain why they don't work. This is top notch.

  • @cat_meow2
    @cat_meow2 Рік тому +29

    Unity's refugees coming through~

  • @manybuckets969
    @manybuckets969 Рік тому +38

    AYYYYY Wassup my fellow Unity devs

  • @newster7353
    @newster7353 7 місяців тому +2

    After about a week I'm 5 hours in and I think it's great. One of the best tutorials I've seen on youtube so far. not just in godot but in general. I'm a total newbie to programming/IT whatever, but I needed a new hobby that didn't cost anything and I've always wanted to try making a video game. So like I said, I'm 5 hours in and of course I have trouble understanding everything here and there, but most of the time it's explained again later or I can just jump back in and try to understand it again since I can't ask questions. But considering I have no idea about anything programming wise, I think I understand quite a lot and that's all down to your teaching skills.
    That is a damn impressive work you've done here

    • @ABoxInABox
      @ABoxInABox 7 місяців тому

      Yo, I’m a bit confused where I find the graphics file. Is that downloaded with Godot or do you have to go download it separately. I’m so confused how he got the laser and character

  • @SpiderQueenCodes
    @SpiderQueenCodes 5 місяців тому +1

    Just got to the shader part and omg familiar territory, semicolons and explicit data types. I've had a blast so far learning GDScript and the engine, and because parts of the tutorial are exercise-based and you actually explain what things do instead of "write this, don't worry about what it means it just works", I feel pretty confident that I'm learning, rather than having the feeling like I'm copying someone's homework heh.
    Looking forward to starting part 2 after this :)
    Thank you for the lessons ^_^

  • @cweasegaming2692
    @cweasegaming2692 Рік тому +5

    This is not JUST great for godot. It's fundamental game dev knowledge. Thank you so much for this!

  • @woahmamaawoogahonkahonka
    @woahmamaawoogahonkahonka Рік тому +14

    Edit: Issue resolved. I’m leaving the comment up in case someone else has it. Good luck everyone.
    At 6:02:30 - I’ve got the explosion and blinking animations working, but whenever I spawn a grenade the first frame of the animation appears immediately. This is before any call for the explosion to occur. It just sits there on top of the grenade for 2 seconds before the rest of the explosion animation plays when it’s actually supposed to. How can I fix this?
    Edit: after remaking the entire animation node from the ground up, the issue was unfixed. However, I deleted the offending frame from the animation and wrote a script which triggers the animations instead of the animations doing it themselves and it just started to work. I’m not sure which of those fixed it, I don’t understand why it wasnt fixed when I reorganised everything, I don’t understand why it does that when it’s identical to what was done in the video… but it’s fixed.
    I hope anyone reading this doesn’t have that problem because it took 6 hours of thinking on it and screwing around to reach. I hope if you do have that problem, this solves it.

    • @fredy413
      @fredy413 Рік тому +14

      I got the same problem as you.
      To fix it I kept the explosion sprite2D hidden by default, and made it visible with an instruction in the explode function : $Explosion.visible = true.

    • @woahmamaawoogahonkahonka
      @woahmamaawoogahonkahonka Рік тому +2

      @@fredy413 that’s genius. So much more efficient than my solution. Thank you!

    • @fredy413
      @fredy413 Рік тому +3

      @@woahmamaawoogahonkahonka I'm glad my solution helped you

    • @Pigg_master
      @Pigg_master 11 місяців тому +3

      @@fredy413 Thank you so much, i had the same issue and i could not fix it. thank you

    • @duckofdestruction
      @duckofdestruction 11 місяців тому +3

      @@fredy413 Thank you!

  • @ugib8377
    @ugib8377 Місяць тому

    This is the third tutorial of yours I have worked through. The Python/Intro to Pygame a year or so ago now. (After which I was able to create a Space Invaders clone, and even a level editor!) And now embarking on this 14 hour monstrosity.
    You are by far the best teacher I have seen on UA-cam. No contest. I went through 10 python tutorials before I stumbled onto yours, and your teaching style is so Concise.
    Cracked a huge smile when you started the first exercise on this video. I forgot you even work in interactive learning. You are a beast man. Thank you for all the hard work you clearly put into these videos.

  • @windmiester8796
    @windmiester8796 5 місяців тому +1

    Hello. I'm a learner and a relative noob to coding in general. I know the basics of variable types and loops but method calls and functions have always confused me. I LOVE this tutorial. Specifically as someone who wants to make their own games the specificity and grounding it in an active project are so very helpful for me to learn. The encouragement and emphasizing of experimenting on your own are extremely a good idea and i just wanted to thank you. I'm 7 hours into this thing and i don't see myself stopping anytime soon. Thank you very much for this wonderful tutorial. You are awesome.

  • @benfree_man
    @benfree_man 10 місяців тому +3

    This is an incredibly well made course. Thanks so much for all the effort that went into it!

  • @TMD
    @TMD 3 місяці тому +3

    Thanks for recommending this Luke :)

  • @Cody-kt2wo
    @Cody-kt2wo 6 місяців тому +1

    This is a fantastic guide. This is extremely professional and well executed. I don't normally comment but I'm compelled to give you accolades. Thanks again!

  • @ramonpablito9154
    @ramonpablito9154 5 місяців тому +2

    at around 4h15 mins, if you have a problem with the tile maps hierarchy ( the player is going under the tiles for example) and switching the priority in the tree does nothing, it's probably because the tilemap's parent type is a node and not a node2D. the hierarchy only works with other same dimension nodes, so non- specified or 3D nodes don't do anything

  • @MemeMand1996
    @MemeMand1996 7 місяців тому +7

    Just a small update in case somebody got confused as I did, if you are looking for the Emission Shape in the 'Emitting Particles' section, you can now find it under Spawn > Position > Emission Shape now :)

  • @cryptowms5760
    @cryptowms5760 Рік тому +10

    This felt like an Udemy course. I feel like I have to pay something for this.

  • @Flahtort
    @Flahtort Рік тому +5

    I recently decided to learn Gamedev for fun (i know, strange hobby) and started yesterdey. Thanks god I decided yesterday and not like week ago when your video was not uploaded.
    I searched "Godot" on youtube and saw your 11-hour video. I instantly realize that's what i'm neeaded. 1:15:00 into video already and seems good man! Thank you for your hard work, appreciate it so much!

    • @Flahtort
      @Flahtort Рік тому

      6:55:00 in already. Cannot imagine how miserable would my experience be without your video, because it's always super hard and frustrating to start a new craft and try figure it out while gathering information piece by piece.

    • @Flahtort
      @Flahtort Рік тому

      UPD Watched the full video. Again, thanks for amazing tutorial.

  • @rohitchaoji
    @rohitchaoji 11 місяців тому +1

    One of the most useful and comprehensive Godot tutorials I've followed through. It definitely helped me understand the engine and a good workflow more than most other tutorials that leave out some important details about WHY something is being done.

  • @kozmizm
    @kozmizm Рік тому +1

    From the very beginning, I could see what a great teacher you are. I'm only just over an hour into the video now(it has taken me days, lol) but I wanted you to know how much I appreciate you!

  • @Twelveoglock1
    @Twelveoglock1 Рік тому +4

    This is the best godot tutorial on the internet, hands down!

  • @iamGarbagecollector
    @iamGarbagecollector 5 місяців тому +3

    6:00:00 If you have troubles with an animation which is always on display go to "reset" and set the frame of the explosion animation to the frame 0. Thank you so much for the video !

    • @blakejr8547
      @blakejr8547 2 місяці тому

      Thank you! I've literally spent days trying to figure this exact issue out.
      Now I can continue with the next step in the tutorial.

    • @iamGarbagecollector
      @iamGarbagecollector 2 місяці тому

      @@blakejr8547you’re welcome

  • @Mondreht
    @Mondreht 11 місяців тому +1

    I've never seen someone who can explain everything so detailed and reasonable at the same time in any Tutorial. +Rep

  • @luishugooo
    @luishugooo 3 місяці тому +2

    I am *desperately* waiting for the 3d tutorial. this one was insanely good!!

  • @zakatalmosen5984
    @zakatalmosen5984 8 місяців тому +1

    I love the fact you brought up Elden Ring when discussing delta because Dark Souls notoriously had its physics tied to framerate, which led to lot of issues especially when running the game at 60fps, such as shorter jumps and deadly clipping bugs. To think had they been using Godot they could have fixed it by just putting * delta at the end lol

  • @brunoverde2769
    @brunoverde2769 7 днів тому

    I wrote a huge comment earlier it got deleted. I don't know why..
    So this time I'm writing this short and all I have to say is a BIG thank you for all of this. Please keep the Godot tutorials coming.
    Your teaching skills are incredible and your knowledge and videos are invaluable.
    Thank you so much!

  • @Schyz
    @Schyz Рік тому +5

    Top-quality content, I cannot just watch it for free. Will you make more Godot content in the future?

    • @ClearCode
      @ClearCode  Рік тому +6

      Thank you so much! Also, yes, I will make more Godot tutorials: There will be a 3D sequel to this one next month and then a ultimate guide to 2D shaders later in the year :)
      (and lots more next year)

  • @dingdongspaghetti
    @dingdongspaghetti 3 місяці тому +4

    im gonna put this on while i sleep and hopefully wake up finally knowing wtf im doing

  • @origenydestino13
    @origenydestino13 6 місяців тому

    Thousands of videos around for which very little information is provided about the many things being done...and pam, here I come to this amazing video that I will be practicing with in my first steps into Godot 4, where every step is slowly being typed and explained. Amazing job! I'm really recommending this video to anybody interested in working with this platform. Keep it up!

  • @pmacdev
    @pmacdev Рік тому +2

    I'll continue to update this as I get through the content but so far this is a very good tutorial, thanks for the overview. I really like how you have sections to pause and try to implement the teachings, it's pretty well done. I have done some development with Godot 3 but I was hopefully looking to see what has changed since it has been a few years since I first tried out the engine.
    Hopefully these notes/tips help others as well.
    When renaming nodes, the referenced node paths and the unique names will break in the scripts (section starts at 1:39:00), they are not automatically updated. The best way I have found so far is to use a reference to the node:
    @export var target:Node
    There was another example of this in the area + signals section where you mentioned renaming the timer node(2:36:39), if you renamed it, you would have to change the code as well.
    When you re-create the gate(2:38:41), there is an option to do this automatically. If you right click the Gate node, you can just click on the "Save Branch as Scene" option.
    For generating random numbers, if you only need an int (in the case of the index you use at 3:06:13) then the code is a bit more straight forward if you use randi_range(0, size - 1), but that is mostly just a matter of preference.
    3:40:53 you are moving the declaration for the player direction into the process function (which happens each frame). This reduces duplication, which is good, but now you are calculating the position every frame instead of only if one of the if conditions was met. Personally I would be alright with having one line of code duplicated, but really I think this code belongs in the respective grenade and laser scripts.
    4:19:01 setting up terrains can help you paint things a lot more quickly. For the walls you can add a terrain for match sides, and for the dirt you can add a terrain with match corners. Ideally the textures would include everything for match corners and sides so you did not have to cover up the missing pieces.
    6:39:52 I think inheritance is a decent approach for levels, I typically favor composition when possible but there are definitely some arguments to use inheritance in this instance. The thing I don't really agree with is keeping code for grenades, lasers, houses, etc. in the level scene. I think that should be kept in their respective scripts, and then maybe have a game manager (or projectile manager, etc. ) to keep track of the current scene and call the game manager from each script.
    7:29:53 There's a pretty good example of a scene manager / switcher in the godot docs if you search for Singletons (Autoload). I don't want to post a link because youtube might think I am a spam bot or something, but it should be the first result if you google "godot autoload singletons". I prefer this method in case the scene names change, and it's pretty easy to keep track of everything if it is all in one place.
    8:56:23 exporting the color to the editor could speed this process up a bit, I like seeing the colors all of the time and having them all in the same place in the editor can help to make sure the colors are looking contrasting enough, etc. without having to guess if the numbers in code will look decent. Helps to have them all together for fine tuning later as well during finishing touches. It would also be a good idea to keep the types in an enum to keep the options together and eliminate potential spelling mistakes with the strings.

  • @Twelveoglock1
    @Twelveoglock1 Рік тому +9

    Ive spent more money on worse tutorials. Hope you make somemore for godot this was extremely helpful!

    • @ClearCode
      @ClearCode  Рік тому +14

      Thank you so much! I definitely will: There will be a 3D sequel and a shader guide this year at least; and lots more in 2024 :)

    • @MrDjaremko1982
      @MrDjaremko1982 11 місяців тому +1

      ​@@ClearCodeplease do and ill chuck some money your way

  • @xRickAstleyx
    @xRickAstleyx Рік тому +6

    absolute chad move to make an 11 hour video instead of a playlist

  • @HannielJose
    @HannielJose 7 місяців тому +5

    Day 1 : 36:46
    Day 2 : 57:57

  • @bander1023
    @bander1023 6 місяців тому +1

    This is absolutely fantastic. Thank you for taking the time to step through this in the detail that you did. This has helped me build a simple game for my autistic nephew. You guys are amazing!

    • @ClearCode
      @ClearCode  6 місяців тому

      Thank you so much :) Also, I am just a single guy, I wish I had a team 😅

  • @thekiubec7108
    @thekiubec7108 9 місяців тому +1

    Probably the most comprehensive tutorial aimed at beginners that I've ever seen for Godot.

    • @ClearCode
      @ClearCode  9 місяців тому

      Thank you so much :)

  • @DavelTheAwesomenes
    @DavelTheAwesomenes Рік тому +5

    bro i subscribed. earned my respect

  • @Zarial_
    @Zarial_ 9 місяців тому +1

    I've just finished this video, and I'm going to finish the whole introduction with the last part.
    So far, the comments I can make are as follows:
    - First of all, it's a very good tutorial, the voice is pleasant to hear and the sound is really good, which is important because you have to live with this guy for more than 10 hours.
    - The introduction is beginner-oriented, you can follow it even if you don't know anything about code, nevertheless, it can help you with the basic concepts you don't know, I'm a software developer, not a game developer, so I'm missing some basic understandings, even if they are simple to understand with experience.
    - For more experienced developers, it's not really frustrating to follow the whole video, I have over 8 years experience, however, I was surprised to see some "bad" patterns or weird things at first, but if you watch the whole introduction, things are corrected with better logic. It's a great way to learn things, I feel like "Oh, remember what we did 3 hours ago? That was pretty good for our use cases, but now we can see some limitations, let's see the right way to do it :)". Ideal for beginners.
    - This introduction may give you some advice on project architecture, but that's not the point of this video. When you've finished the introduction, you should go and have a look at the best architecture practices for Godot/game development projects, depending on the scale of your project, you'll learn a lot.
    - Also, this isn't a video to learn all the Godot concepts, but you'll have a good start after watching this video.
    Finally, I would like to thank you for your excellent work.

  • @themushroomherders
    @themushroomherders 10 місяців тому

    Just started out on my game developer journey. Decided to start with Godot, as I've always been more aligned with the open-source community. Have been creating in Blender, Krita, Gimp, Inkscape, LMMS, etc. for years, but had never thought about game development until recently. Messed around with some drag & drop "game creator" programs in the early 2000s, and had looked over the UI for Unity once or twice. The idea always seemed overwhelming to me. Your videos really engaged me. Thanks to you I've started brushing up on coding languages again and have started jumping back into computer science. I appreciate this so much. It's really hard to find solid guidance in these fields, without being utterly slapped by a paywall. This is valuable information, education, but what you and your team are doing by providing it to the community for free is huge, altruistic, maybe. Either way, I am super duper grateful. Stay blessed, everyone.

  • @PeterStrings
    @PeterStrings Рік тому +4

    Friendship with Unity ended. Now Godot is my new bestfriend.

  • @akhilvoora3921
    @akhilvoora3921 10 місяців тому +1

    Amazing video! This is the only godot video I found slow paced and easy to understand for people that just started game dev.

  • @pyaesone5268
    @pyaesone5268 9 місяців тому +2

    For those who are having the issue with the laser appearing at some offset from player instead of from the laser marker nodes, go to the laser scene and in the inspector > Visibility and turn on the Top Level.

    • @PhilRennie
      @PhilRennie 4 місяці тому +1

      Thank you! Was driving me barmy looking for some weird offset or something :D
      I had to do the grenade too.
      This seemed to suddenly start happening. Can anyone with more knowledge explain what might have changed in the project to need this to be enabled?

  • @thenoxnox
    @thenoxnox Рік тому +10

    hello to every other Unity dev coming here after the latest shitshow. lets all ride the open-source wave to better and more ethical game development ✊

  • @DBMicah
    @DBMicah 9 місяців тому

    I have absolutely no experience in video game development or coding and the latter has always intimidated me to no end. This video is so well put together and not only information dense but so succinctly spoken that you've taken all of my apprehension and turned it to excitement. I have a funny feeling that you've just sent me down a long path. Or at least helped me to take the first steps. Thank you!

  • @fyshman152
    @fyshman152 9 місяців тому

    I was sleeping on this tut for a few months because of the length, but DAMN do I regret not biting the bullet sooner! Speaking as a complete beginner, this has been the most informative video on Godot 4 that I've been able to find!

  • @otenV8
    @otenV8 5 місяців тому +4

    3:09:21 even if I change position to global_position the laser still doesn't appear/come out of the same place on the screen. Heelp ;-;
    After 2 hours of trying to solve it and giving up, I continued the tutorial >>>>>> now the grenades also doesn't appear/come out of the same place.
    The only thing I've discovered is that it doesn't appear because the markers are at the end of the Player node's weapon and even though it "says" that the position has to be global and doesn't take into account the distance to the Parent Node, nothing changes. position and global_position are in the same place. That's what I understood. The grenade and the laser always come from the same place, even if I'm moving. Google translator was used
    I finally found the error, I was using Node instead of Node2D in LaserStartPositions, what a mistake🌚

    • @buckamoona
      @buckamoona 5 місяців тому +1

      is your laser node as well as its' sprite & collisionnode all centered? I think those all need to 0,0 otherwise the coordinates will be off

    • @otenV8
      @otenV8 5 місяців тому +1

      @@buckamoona Thanks for trying to help, I finally found the error, I was using Node instead of Node2D in LaserStartPositions, what a mistake🌚

    • @scauldfire3498
      @scauldfire3498 5 місяців тому

      thank you, this helped me solve my own issue.

  • @DanielMorozov-q4p
    @DanielMorozov-q4p Рік тому +1

    This is the best tutorial on Godot 4 I've seen so far. Thank you so much!

  • @TheDuzx
    @TheDuzx 2 місяці тому

    Great guide. Had some bugs during it because I did some things my own way, but managed to squash all of them by the end. Also thanks to the comments for pointing out differences between this version of Godot and the latest version