Let's Create Flappy Bird (Complete Godot Tutorial)

แชร์
ฝัง
  • เผยแพร่เมื่อ 27 ม.ค. 2025

ความคิดเห็น •

  • @Saiphe_
    @Saiphe_ ปีที่แล้ว +19

    Just finished my flappy bird godot game , amazing tutorial ! If anyone follows this and is using GODOT 4 don't just type blindly code, take your time, try to understand what it all means. But if you struggle here are fixes I had to do to make it run in GODOT 4:
    setget is not working you need to have separate get and set method
    signal connect doesn't take 3 statements anymore you need to get rid of self
    exmaple code:
    extends Node2D
    @onready var hud = $HUD
    @onready var obstacle_spawner = $ObstacleSpawner
    var score = 0
    func _ready():
    obstacle_spawner.connect("obstacle_created", _on_obstacle_created)
    new_game()
    func new_game():
    self.score = 0
    obstacle_spawner.start()
    func player_score():
    self.score += 1
    set_score(score)
    print(score)
    func get_score():
    return score
    func set_score(new_score):
    score = new_score
    hud.update_score(score)
    func _on_obstacle_created(obs):
    obs.connect("score", player_score)
    tween is not as node but is created via code:
    func _input(event):
    if event.is_action_pressed("flap") && !game_started:
    emit_signal("start_game")
    var tween = create_tween()
    tween.tween_property($StartMenu/StartMessage, "modulate:a", 0,1)
    game_started = true
    Check the official documentation for more info
    SAVE and LOAD is different, file is no longer used but fileAccess
    docs.godotengine.org/en/latest/classes/class_fileaccess.html
    save path is: : C:\Users\YOUR_USERNAME\AppData\Roaming\Godot\app_userdata\ PROJECT NAME
    func save_highscore():
    var file = FileAccess.open("user://save_game.dat", FileAccess.WRITE)
    file.store_var(high_score)
    func load_highscore():
    var file = FileAccess.open("user://save_game.dat", FileAccess.READ)
    high_score = file.get_var()
    Note: i used high_score for naming var instead of highscore so you might need to change it
    Hope it helps and good luck everyone :)

    • @qmerk2661
      @qmerk2661 7 หลายเดือนก่อน

      thanks @Saiphe_ . but for anyone thats following @Saiphe_ comment, heres the extras (in case anyone thinks you ONLY need to follow these steps instead of the tutorial) hope this helps
      in the ready function you need to load the highscore:
      func _ready():
      obstacle_spawner.connect("obstacle_created", _on_obstacle_created)
      load_highscore()
      ---------------------------------------------------------------------------------------------------------------------------------
      in the game_over function you need to save the highscore
      func game_over():
      obstacle_spawner.stop()
      ground.get_node("AnimationPlayer").stop()
      get_tree().call_group("obstacles", "set_physics_process", false)

      if score > highscore:
      highscore = score
      save_highscore()
      -------------------------------------------------------------------------------------------------------------------------------------

  • @kyol4781
    @kyol4781 3 ปีที่แล้ว +7

    I REALLY APPRECIATE WHAT YOU DO FOR THE COMMUNITY, WISH YOU THE BEST!

  • @kesorangutan6170
    @kesorangutan6170 ปีที่แล้ว +2

    One thing to note though, the shadow in the upper pipe looks the other way. We can flip the upper pipe's sprite by changing its scale to -1 on X axis. I figured this out myself and I am very proud of it :D

  • @qmerk2661
    @qmerk2661 7 หลายเดือนก่อน

    you know? i tried Unity a long time ago, and i couldnt get out of the tutorial hell. i always felt like i understood enough, after a tutorial, but when trying to make something on my own, i never could remember enough. that all changed and i was able to understand better and remember everything, once i followed the Unity courses that unity made. they would have very small sections explaining very well, one topic at a time,reviewing what was done in the section and sometimes even putting a section into smaller sections. it made it way easier to understand and remember, because of it.
    This tutorial felt just like that. its sooo perfect. even tho its 2hours long, each section is broken down into its own topics, and you explain it all very well.(so i can pause at the end of each section and review what i just did). it always sucks when someone shows how to create something in godot, saying its simple because its just 15 minutes, and its just 15 minutes of 20 million things. For an example of what i love about this one, is the pipe scene section(yes i know its simple, but this is just an example)its only like 3-4 minutes, and all we did was add a new scene and add the pipes in. i already knew how to do this but i can guarantee that for anyone that doesnt know how to do that, they will never forget how to after that section. and if they ever need to add another scene with objects, they will know how to , because it was quick and simple enough to just "sink in".
    i really appreciate the effort it must of takin to create a tutorial like this, and i want you to know how much it means, and how much it shows. this is the first tutorial ive watched from your channel, and if the rest of your tutorials are like this one, then i cant wait to watch and follow them all.
    you have earned a loyal subscriber from me today. thank you!

  • @bennysh
    @bennysh 2 ปีที่แล้ว +1

    Great tutorial, thanks.
    There is something missing though: 1:50:18 after loading from file, you should check if the value is null (if highscore == null) and if it is, set it to 0.
    Otherwise there will be a bug when first creating the file.

  • @PeliPelaaja
    @PeliPelaaja 3 ปีที่แล้ว +2

    Amazing tutorial, perfect for beginning to use Godot.

  • @colleenromeo4402
    @colleenromeo4402 9 หลายเดือนก่อน

    Adding in case anyone gets stuck at the end like I did. Below is what to use in Godot 4.2.1
    func save_highscore():
    var save_data = FileAccess.open(SAVE_FILE_PATH, FileAccess.WRITE)
    save_data.store_var(highscore)

    func load_highscore():
    var save_data = FileAccess.open(SAVE_FILE_PATH, FileAccess.READ)
    highscore = save_data.get_var()
    if highscore == null:
    highscore = 0

  • @robodev3401
    @robodev3401 2 ปีที่แล้ว +1

    I actually got stuck for several hours but now it's clear and u are the reason for that. So thank u for everything!!!

  • @OsiRixxx
    @OsiRixxx 7 หลายเดือนก่อน

    The best one i've seen so far. Ty for sharing your knowledge man!

  • @tNag556
    @tNag556 2 ปีที่แล้ว

    1:40:16 freaked me out, nice tutorial btw, i did it all. I have a different Godot version and some menus where a bit different but all could be done!

  • @justinbenjamins3828
    @justinbenjamins3828 3 ปีที่แล้ว +1

    Kaan, thanks for this step by step tutorial. You have explained all topics so clearly. I'm going to watch this a few times before I jump into it and do it on my own : )

  • @MOmundo
    @MOmundo 2 ปีที่แล้ว +1

    Incredible thank you very much. Very clear and I learned many curious things

  • @mel8969
    @mel8969 2 ปีที่แล้ว

    Thank you Kaan! This was an amazing tutorial! I loved the really detailed and step by step instructions to this course! Thank you again!!🥰

  • @moinkskie
    @moinkskie 4 ปีที่แล้ว +1

    Thank you for making this tutorial! Great Work!

  • @JanOchoa
    @JanOchoa 4 ปีที่แล้ว +2

    I loved this compilation, I have already learned a lot about this engine from just this video.
    Thanks a lot bro!👍

    • @KaanAlparGameDev
      @KaanAlparGameDev  4 ปีที่แล้ว +1

      Np glad you liked it friend

    • @dhamka8506
      @dhamka8506 3 ปีที่แล้ว

      @@KaanAlparGameDev can you please help me

    • @dhamka8506
      @dhamka8506 3 ปีที่แล้ว

      @@KaanAlparGameDev null error obstacles spawner

  • @ErikBod
    @ErikBod ปีที่แล้ว

    this is of the most valuable contributions to Godot please dont leave us like brackes

  • @boodcar3973
    @boodcar3973 4 ปีที่แล้ว +13

    Best tutorial for begginer ever. Great job bro !!!

    • @KaanAlparGameDev
      @KaanAlparGameDev  4 ปีที่แล้ว +2

      Thanks man glad you liked it

    • @dhamka8506
      @dhamka8506 3 ปีที่แล้ว +1

      In score increasing section
      Error : attempt call function "connect" in base "null instance" on a null instance
      Please help hero 😢😢😢

    • @gofastutos
      @gofastutos 2 ปีที่แล้ว +1

      @@dhamka8506
      Late but for others: Attempt to call "connect" on a null instance.
      In other it say: Hey you tried to use the method something.connect() but "something" is null
      So the question you should ask is: why "something" is null ?

  • @widekeepo9416
    @widekeepo9416 2 ปีที่แล้ว

    This is top-tier stuff. Thank you.

  • @lionlight9514
    @lionlight9514 2 ปีที่แล้ว +2

    Amazing Tutorial, Probably one of the best tutorials out there for Godot. The attention to detail and steady pace make this tutorial, a tutorial and not some fast-paced video showing you how to make something. This is a great tutorial but I have a couple of questions?
    [1] How do I export this for an android or ios device?
    [2] How do I change the icon for the game
    [3] How would I make the save data file for an android or ios device, since you save it in a windows folder, how would that work for a phone such as an android or ios?
    Thanks for the tutorial btw!

    • @KaanAlparGameDev
      @KaanAlparGameDev  2 ปีที่แล้ว +2

      Glad you liked it
      Answers to all your questions are on the documentation. You should get into the habit of using the documentation, it will save you a lot of time!
      1-Exporting: docs.godotengine.org/en/stable/tutorials/export/index.html
      2-Changing the icon on Windows(there is also a page for Android/iOS): docs.godotengine.org/en/stable/tutorials/export/changing_application_icon_for_windows.html?highlight=icon
      3- Godot's save system works on all platforms. On mobile it would simply save it to the appropriate location on the device

    • @KaanAlparGameDev
      @KaanAlparGameDev  2 ปีที่แล้ว +1

      More on saving files:
      The user directory will be different on different platforms. Godot takes care of this for you. You just need to save your stuff there and it will just work.
      Read more here: docs.godotengine.org/en/stable/tutorials/io/data_paths.html

    • @lionlight9514
      @lionlight9514 2 ปีที่แล้ว

      @@KaanAlparGameDev Thanks so Much!!

    • @lionlight9514
      @lionlight9514 2 ปีที่แล้ว

      @@KaanAlparGameDev You deserve way more subscribers man I will sub

  • @XtGaming009
    @XtGaming009 3 ปีที่แล้ว +1

    Thank you very much for your knowledge , great tutorial.

  • @cesarmoltoni
    @cesarmoltoni 3 ปีที่แล้ว +3

    It is better to scale the pipe -1 in y. So that the light and the shadow keep aligned.
    Thanks for your work!

    • @EleanorDahlia
      @EleanorDahlia 3 ปีที่แล้ว

      thanks for this tip, this is really good to know to easily mirror it rather than rotate it as i was thinking i needed to make different sprites for the top and bottom obstacles

  • @craigcashman2275
    @craigcashman2275 2 ปีที่แล้ว

    Excellent tutorial. Thanks.

  • @Edel99
    @Edel99 4 ปีที่แล้ว +1

    Thank you for this great tutorial.

  • @shirotonbo6315
    @shirotonbo6315 2 ปีที่แล้ว +1

    change pipe texture to tower, like.. 2 towers.. that you crash into...what...
    Kann Alpar:...what?...

  • @anakenosiss
    @anakenosiss 2 ปีที่แล้ว

    thanks for sharing your knowledge, thats help me a lot bro

  • @AngelicHawk7
    @AngelicHawk7 2 ปีที่แล้ว +1

    Followed this series and it helped me a lot. Found some errors at the first and then later fixed it. Also can you make some tutorial for other games or maybe 3d games? I am a beginner and ofund a lot of intrest after this video and after 3 days of following this tutorial. I managed to make it ( it took me long as i just started ). I reccomend this series 100% . Thank you!

  • @Anonyross
    @Anonyross 2 ปีที่แล้ว

    This was great, thank you!

  • @JayeshSarvaiya
    @JayeshSarvaiya ปีที่แล้ว

    Wow, all your gaming tutorial videos are gems... Thank you so much for all your efforts ... 👍

  • @nyanyerz
    @nyanyerz 3 ปีที่แล้ว

    Thanks a lot Kaan Alpar

  • @BBrinckmann1992
    @BBrinckmann1992 2 ปีที่แล้ว

    I finished your entire tutorial and build a working flappy bird game! I did a similar tutorial in Unity to compare the two engines, but I must say that I find Godot easier to work in. I've learned tons of your tutorial and really felt that I understood the basics afterwards. However the part about HUD where you create several signals to connect the World script to the Obstacle script in order to build the score function was very confusing. It took me a long time and a lot of diving into to the documentation to figure out the logic. I still don't fully understand it unfortunately, though I've got a vague idea. So that part could definitely use some better explanation, otherwise a very good tutorial. Thanks for doing all the hard work making this video!

  • @mrhreggisneggi1443
    @mrhreggisneggi1443 2 ปีที่แล้ว +1

    my bird keeps falling through the ground even when I added a collisionshape2D anyone have a solution?

  • @jasdef
    @jasdef 3 ปีที่แล้ว

    thank you for your work!

  • @junwoosong5957
    @junwoosong5957 4 ปีที่แล้ว

    Thank you! This is very helpful for me!

  • @amirvelasquez7874
    @amirvelasquez7874 4 ปีที่แล้ว

    nice bro, thanks for this awesome video!!! you helped me a lot

  • @tonyteh
    @tonyteh 3 ปีที่แล้ว +1

    Great, detailed series of tutorial. Would you add in videos to cover how to make random and moving pipes, and the different colour of medals based on score like in the original game? And the social sharing button?

  • @Marvin-vb8ek
    @Marvin-vb8ek 3 ปีที่แล้ว

    so great tutorial

  • @decisive2242
    @decisive2242 2 ปีที่แล้ว

    thank you, sir

  • @iwanematsui7853
    @iwanematsui7853 3 ปีที่แล้ว

    Thank you very much for sharing 👍

  • @aneerudh1712
    @aneerudh1712 2 ปีที่แล้ว

    Legend of Zelda recreation needed😤
    Nah but seriously this was very informative and easy to follow along. Could you make more recreating other games in Godot.

  • @jahangirakbar4524
    @jahangirakbar4524 3 ปีที่แล้ว

    Subscribed 👍

  • @cybenime
    @cybenime 4 ปีที่แล้ว +3

    But when we export the project to android, the bird won't flap when I touch on the screen. May I know what coding I should change to allow the bird to flap when touching the screen on a phone? Thanks.

    • @KaanAlparGameDev
      @KaanAlparGameDev  4 ปีที่แล้ว +1

      First, you should have "Emulate Mouse From Touch" enabled in your project settings. (Project Settings/General/Input Devices/Pointing)
      If it's still not working go into your Input Map and locate the "flap" input action. You should have the left mouse key associated with this input action. Edit it and set the "Device" property to "All Devices" instead of "Device 0".
      This should solve it.

    • @cybenime
      @cybenime 4 ปีที่แล้ว

      @@KaanAlparGameDev Thanks man! You are the best! I'm looking forward to your next tutorial videos.

  • @BhimaJati
    @BhimaJati 2 ปีที่แล้ว +1

    Hello, thanks for the tutorial. But I get stuck when I want to stop the game when I died. In the player signal I can't find died(). Please help me, thanks pal

  • @lancelot0317
    @lancelot0317 3 ปีที่แล้ว

    Help. My pipe on scrolling ground doesn't move forward but it moves and just go back to its same position but the bird did not pass through

  • @tuftymanana7196
    @tuftymanana7196 ปีที่แล้ว

    Thank you very much you explain very well

  • @MazenAlhazmi
    @MazenAlhazmi 2 ปีที่แล้ว

    I had a problem. I have a similar project. I use pipes. When I run the game on the Goodot engine, everything works fine. But when I run it on the web, the game runs. I don't see the pipes moving!!
    Can I find the solution please!

  • @ohwrenley
    @ohwrenley 2 ปีที่แล้ว +1

    👍

  • @godotuser1622
    @godotuser1622 4 ปีที่แล้ว +1

    very beginner friendly tutorial ! Great Work . Can u suggest me what should i study next to learn godot?

    • @KaanAlparGameDev
      @KaanAlparGameDev  4 ปีที่แล้ว +1

      Thanks a lot! I have a course on Udemy for beginners: www.udemy.com/course/godot-beginner-course/
      On this course I delve into detail about the basics of Godot and teach how to create 2 games(Pong and Space Shooter)

    • @KaanAlparGameDev
      @KaanAlparGameDev  4 ปีที่แล้ว +1

      You can also check out other videos on this channel. I have shorter tutorials like "How to make a platformer game in Godot"
      th-cam.com/video/rn3wkD_RetE/w-d-xo.html&ab_channel=KaanAlpar

  • @sujeewasomathilke7606
    @sujeewasomathilke7606 3 ปีที่แล้ว

    1:09:15 var score = 0 setget set_score in my case error(6,1): The setter function isn't defined. I don't understand why it is? i think this is my fault. how can I fix this? please help.

  • @sayanhalder6470
    @sayanhalder6470 4 หลายเดือนก่อน

    How are u having the idle animation without a scirpt??

  • @gargoyled_drake
    @gargoyled_drake 3 ปีที่แล้ว

    audio could be explained way better, what if i want my point sound to only play every 5th point ? where and how do i now implement things that is connected to the score but not every time there is a point scored but only at every 3rd or 5th ?
    also not adding the background music for the game leaves out how to loop a sound and the features that is connected to doing that

    • @gargoyled_drake
      @gargoyled_drake 3 ปีที่แล้ว

      other than that, really good tutorial, and maybe i'm just a nerd for sound design for games and that's why i find knowing how to operate sounds in a game engine is really important.

    • @KaanAlparGameDev
      @KaanAlparGameDev  3 ปีที่แล้ว +1

      Well, you cant just expect a tutorial to cover everything you want. Big part of game dev and programming is to figure things out on your own. You cant just rely on tutorials to teach you everything

  • @Moj206Pejo
    @Moj206Pejo ปีที่แล้ว

    Thank you for your excellent teaching. I wish you to be more successful every day than yesterday❤

  • @siervodamian
    @siervodamian 3 ปีที่แล้ว

    Is there any big difference between the Angular Velocity and the Rotation_degree property of a node?
    Re doing the ping pong game but adding a key to hit the ball, when the key is pressed the paddle 🏓 rotates a little bit and then returns to its original position.

    • @siervodamian
      @siervodamian 3 ปีที่แล้ว

      My paddles are of course Area2D instead of Rigidbody.

  • @TheKingOfE
    @TheKingOfE 2 หลายเดือนก่อน

    thank you!

  • @manishjogi4502
    @manishjogi4502 2 ปีที่แล้ว

    store var file open error occurs, please help me for store high score

  • @coolcoding885
    @coolcoding885 4 ปีที่แล้ว +1

    hi i got to 1hr 28mins and i everything is perfect apart from i can only click once and the bird falls and i cant click any more to make the bird flap.

    • @coolcoding885
      @coolcoding885 4 ปีที่แล้ว

      my player script
      extends RigidBody2D
      class_name Player
      signal died
      export var FLAP_FORCE = -200
      const MAX_ROTATION_DEGREES = -30.0
      onready var animator = $AnimationPlayer
      var started = false
      var alive = true
      func _physics_process(_delta):
      if Input.is_action_just_pressed("flap") && alive:
      if !started:
      start()
      flap()

      if rotation_degrees 0:
      if rotation_degrees

    • @coolcoding885
      @coolcoding885 4 ปีที่แล้ว

      my world script
      extends Node2D
      onready var hud = $HUD
      onready var obstacle_spawner = $ObstacleSpawner
      onready var ground = $Ground
      var score = 0 setget set_score
      func _ready():
      obstacle_spawner.connect("obstacle_created", self, "_on_obstacle_created")
      new_game()
      func new_game():
      self.score = 0
      obstacle_spawner.start()
      func player_score():
      self.score += 1
      func set_score(new_score):
      score = new_score
      hud.update_score(score)

      func _on_obstacle_created(obs):
      obs.connect("score", self, "player_score")
      func _on_DeathZone_body_entered(body):
      if body is Player:
      if body.has_method("die"):
      body.die()

      func _on_Player_died():
      game_over()
      func game_over():
      obstacle_spawner.stop()
      ground.get_node("AnimationPlayer").stop()
      get_tree().call_group("obstacles", "set_physics_process", false)

    • @dhamka8506
      @dhamka8506 3 ปีที่แล้ว

      .my bird is not flapping
      It showing animation flap not found
      Anybody can help me

  • @davchting
    @davchting ปีที่แล้ว

    Your tutorial is great, but the game still has some issues, for example my game still generates pipe before the game even start. I put the new_game( ) too, but it still generate pipe while the starting menu still in display.

  • @ezx1x052
    @ezx1x052 2 ปีที่แล้ว

    Idle animation not working

  • @moinyesin
    @moinyesin ปีที่แล้ว +1

    How to add online leaderboard in this game?

  • @marcjohnson3487
    @marcjohnson3487 3 ปีที่แล้ว

    really good tutorial I followed till the end, but why the pipes movement look jittery sometimes?

  • @sirannprenseskanal2934
    @sirannprenseskanal2934 2 ปีที่แล้ว +1

    👍🏻👍🏻👍🏻

  • @osa5451
    @osa5451 2 ปีที่แล้ว

    I did everything right but the score does not change

  • @davew723
    @davew723 9 หลายเดือนก่อน

    What is the licensing on the assets?

  • @GIANMANSUPER
    @GIANMANSUPER 3 ปีที่แล้ว

    thank you a lot this is amazing, could i upload my game to app store if i wanted or is it copyrighted or sm?

    • @KaanAlparGameDev
      @KaanAlparGameDev  3 ปีที่แล้ว

      I would recommend you to change the graphics and not use the name Flappy Bird but other than that you should be fine

    • @GIANMANSUPER
      @GIANMANSUPER 3 ปีที่แล้ว

      @@KaanAlparGameDev thank you. Is the flappy font from the assets in description copyright free?

  • @nurqistinabatrisyia4927
    @nurqistinabatrisyia4927 2 ปีที่แล้ว

    Why didn't i have the font styles?

  • @PankajSharma-oi2lr
    @PankajSharma-oi2lr 3 ปีที่แล้ว

    Self.score += 1 is not working

  • @gosi8447
    @gosi8447 4 ปีที่แล้ว

    how to fix how to fix the argument delta is never used in the function _physics_process.if this is intended,prefix it with an underscore 'delta'

    • @KaanAlparGameDev
      @KaanAlparGameDev  4 ปีที่แล้ว

      Put an underscore before the delta variable: _delta

  • @vuduc7563
    @vuduc7563 2 ปีที่แล้ว

    Hello. Thank you for awesome tutorial. Can you tell me how I can move camera rect or viewport rect (blur rect) center point to origin of coordinate system. That mean all sprites I create with position (0,0) are going to place at center of screen

    • @KaanAlparGameDev
      @KaanAlparGameDev  2 ปีที่แล้ว +1

      From the editor? Just create a Camera2D node and move it with your mouse

    • @vuduc7563
      @vuduc7563 2 ปีที่แล้ว

      @@KaanAlparGameDev thank you! I will try

    • @KaanAlparGameDev
      @KaanAlparGameDev  2 ปีที่แล้ว +1

      @@vuduc7563 make sure to set the Current property of the camera on, otherwise it wont work

  • @rendcycle
    @rendcycle ปีที่แล้ว

    Thanks for the tutorial! But why doesn't the touch control work when this game is exported to an Android device?

    • @KaanAlparGameDev
      @KaanAlparGameDev  ปีที่แล้ว

      Make sute you have emulate touch from mouse input turned on in the project settings

    • @rendcycle
      @rendcycle ปีที่แล้ว

      @@KaanAlparGameDev I did try that and it didn't seem to work. But this workaround did: I added a TouchScreenButton under MenuLayer w/ Shape value of "New RectangleShape 2D" and Scale value of X:24 and Y:43 with Action = flap. :-)

  • @valkyrax3100
    @valkyrax3100 3 ปีที่แล้ว

    Is it possible to rotate the player in the same way if you were to use a kinematic body2d instead if rigidBody2d?

    • @KaanAlparGameDev
      @KaanAlparGameDev  3 ปีที่แล้ว

      Sure but you would have to code the logic your self

  • @DJ-MKpL
    @DJ-MKpL ปีที่แล้ว

    hey i have a question can i use your code and use it in my own game?

  • @kindredmathematician4290
    @kindredmathematician4290 2 ปีที่แล้ว

    how would i add a pause feature?

    • @KaanAlparGameDev
      @KaanAlparGameDev  2 ปีที่แล้ว +2

      take a look at this: docs.godotengine.org/en/stable/tutorials/scripting/pausing_games.html

    • @kindredmathematician4290
      @kindredmathematician4290 2 ปีที่แล้ว

      @@KaanAlparGameDev thank you so much!

  • @сергейсемёнов-о7ю
    @сергейсемёнов-о7ю ปีที่แล้ว

    Братишки! У кого-то еще дергаются рывками изображения труб и земли при скролинге? Не пойму в чем причина, иногда эта проблема есть, иногда нет.

    • @dip9796
      @dip9796 3 หลายเดือนก่อน +1

      Дергается не то слово, уже весь мозг сломал так и не понял в чем причина.. раз в 10-15сек продергивает и дальше плавно идет

  • @lelouchV0
    @lelouchV0 3 ปีที่แล้ว

    hocam türkçe olarak godot eğitimi vermeyi düşünüyor musunuz ?

    • @KaanAlparGameDev
      @KaanAlparGameDev  3 ปีที่แล้ว

      Şu an düşünmüyorum ama ilerde olabilir

    • @lelouchV0
      @lelouchV0 3 ปีที่แล้ว

      @@KaanAlparGameDev ben godot öğrenmeye çalışıyorum da açıkçası bir game engine öğrenmek biraz zor başlarda bence bir discord sunucun falan var mı ?

    • @KaanAlparGameDev
      @KaanAlparGameDev  3 ปีที่แล้ว

      @@lelouchV0 yeni mi basladin? web sayfamda yeni baslayanlar icin yazdigim makaleler var, burdan bakabilirsin: www.alparkaan.com/godot-baslangic-rehberi-01-giris/

    • @lelouchV0
      @lelouchV0 3 ปีที่แล้ว

      @@KaanAlparGameDev aslında sitene daha öncede bakmıştım ama bana daha detaylı bir şey lazım biliyorum godotun text tutorialları güzel ama hani aklıma bir şey takılınca çat diye sorabiliceğim biri olsun istiyorum aslında böyle bir community varsa yada senin communityin varsa yönlendirebilir misin ?

    • @KaanAlparGameDev
      @KaanAlparGameDev  3 ปีที่แล้ว

      @@lelouchV0 godotun discord serverı olması lazım ona bakabilirsin, godotun kendi forumu ve soru cevap platformuda var. Godotun web sayfasında community bölümünde bulabilirsin

  • @dhamka8506
    @dhamka8506 3 ปีที่แล้ว

    Error :Animation flap not found
    Please help
    Please!
    Please !
    Please !

  • @cq7743
    @cq7743 ปีที่แล้ว

    hello,your video is great!in my country,turtorials for godot is less. can l share your video on chinese web bilibili?

    • @KaanAlparGameDev
      @KaanAlparGameDev  ปีที่แล้ว

      Sure but only if you put a link to my TH-cam channel😄

    • @cq7743
      @cq7743 ปีที่แล้ว

      @@KaanAlparGameDev Thank you, that's for sure! Your original author

  • @polyseptic
    @polyseptic ปีที่แล้ว +1

    1:28:48

    • @joejames1414
      @joejames1414 ปีที่แล้ว

      hello

    • @joejames1414
      @joejames1414 ปีที่แล้ว

      this is great right?

    • @polyseptic
      @polyseptic ปีที่แล้ว

      @@joejames1414 WUUWUUWUUWUW

    • @joejames1414
      @joejames1414 ปีที่แล้ว

      @@polyseptic bro literally typed UWU

  • @sayanhalder6470
    @sayanhalder6470 4 หลายเดือนก่อน

    9:02

  • @topg6792
    @topg6792 3 ปีที่แล้ว

    26:59

  • @rayangamedev1912
    @rayangamedev1912 3 ปีที่แล้ว

    how to learn to code games anyone tell me please

  • @abielsdefinitelynotacat533
    @abielsdefinitelynotacat533 2 ปีที่แล้ว

    have some free comment engagement

  • @SanjayKumar-xn2xm
    @SanjayKumar-xn2xm 3 ปีที่แล้ว

    cuz I had no money to purchase it plz bruh plz

  • @SanjayKumar-xn2xm
    @SanjayKumar-xn2xm 3 ปีที่แล้ว

    plz bruh

  • @SanjayKumar-xn2xm
    @SanjayKumar-xn2xm 3 ปีที่แล้ว

    plz zzzz

  • @SanjayKumar-xn2xm
    @SanjayKumar-xn2xm 3 ปีที่แล้ว

    can you plz give your udemy course free plzzz 🤗🤗🤗

  • @sayeFX
    @sayeFX 8 หลายเดือนก่อน

    I Stopped at 18:51 and going to watch another tutorial, My bird was moving down when I hit started, Here is my code:
    extends RigidBody2D
    @export var Flap_Force = -200
    @onready var animator = $AnimationPlayer
    var started = false
    func _physics_process(delta):
    if Input.is_action_just_pressed("flap"):
    if !started:
    start()
    flap()

    func start():
    if started: return
    started = true
    gravity_scale = 05.0
    animator.play("flap")

    func flap():
    linear_velocity.y = Flap_Force

  • @BadtripMedia
    @BadtripMedia 2 ปีที่แล้ว

    Thanks bro, great tutorial

  • @osa5451
    @osa5451 2 ปีที่แล้ว +1

    I did everything right but the score does not change