THIS is what gamedev is actually like.

Sdílet
Vložit
  • čas přidán 25. 04. 2024
  • hey we're two brothers trying to make it as indie game devs.
    welcome to the family.
  • Hry

Komentáře • 207

  • @rapushkaa
    @rapushkaa Před měsícem +650

    i really love this quote, "the code does what you tell it to do, not what you want it to do."

    • @BrosMakeGames
      @BrosMakeGames  Před měsícem +55

      painfully true

    • @bupza
      @bupza Před měsícem +6

      I am writing this down.

    • @kaiiboraka
      @kaiiboraka Před měsícem +8

      "Do as I think, not as I say!" 😂

    • @charg1nmalaz0r51
      @charg1nmalaz0r51 Před 29 dny +2

      I always joke with my wife that the codes doing what i'm telling it to do and not what i think i'm telling it to do.

    • @DJL3G3ND
      @DJL3G3ND Před 24 dny +7

      except those few occasions where it ACTUALLY happens to be an engine bug which leaves you doubting every problem you ever run into from that point

  • @grass324
    @grass324 Před měsícem +265

    >Looks at debugger
    >11717 errors

    • @null6482
      @null6482 Před měsícem +5

      Too little, i have half a million

    • @chefaku
      @chefaku Před 27 dny +22

      better than having a bug and not getting any errors 💀

    • @null6482
      @null6482 Před 26 dny +2

      @@chefaku good pfp btw

    • @chefaku
      @chefaku Před 26 dny +8

      @@null6482 my picture reflects the nature of the human being. how some can be white, normal and good and others are bl...

    • @rungeon83
      @rungeon83 Před 23 dny +7

      I make sure I have 0 errors/warnings, even making if I'm not using delta to rename it _delta, silly I know, but when your game does break it's very easy to resolve it.

  • @lemonlimebitta8903
    @lemonlimebitta8903 Před 21 dnem +51

    I feel like as a game dev I’m just jumping from ‘I’m a genius!’ To ‘I’m an idiot’ on repeat

  • @GuyMakeGame
    @GuyMakeGame Před měsícem +63

    Game dev in a nutshell
    “If I do (xyz) that should fix it”
    **multiply problem by ten**

  • @pydude13
    @pydude13 Před měsícem +182

    idk why but this is the gamedev content I enjoy the most

    • @BrosMakeGames
      @BrosMakeGames  Před měsícem +18

      that's great to hear, thanks!

    • @gphr5987
      @gphr5987 Před měsícem +5

      Maybe bcuz it's actually realistic 😂

    • @vaiterius
      @vaiterius Před měsícem +1

      me too! super relateable

    • @damsen978
      @damsen978 Před 24 dny +2

      Because he perfectly puts it into perspective the experience of an average game developer.

  • @FloatingOer
    @FloatingOer Před 18 dny +8

    "Do what I want, not what I tell you!"

  • @McRaptorRex
    @McRaptorRex Před měsícem +85

    Next step: add enemy ricochet off of walls on death.

    • @BrosMakeGames
      @BrosMakeGames  Před měsícem +30

      YES, on my to-do list.

    • @naalex9058
      @naalex9058 Před měsícem +7

      ​@@BrosMakeGames I'd be pretty easy, just keep collision with walls on, then on contact reflect velocity along normal of the wall. The formula for reflection is something like
      r=d−2(d⋅n)n
      where r is the resultant vector, n is the reflection vector (in this case the walls normal), and d is the input vector (velocity)
      Oh and d⋅n means dotproduct or dot(d,n)

    • @rungeon83
      @rungeon83 Před 23 dny

      @@naalex9058 A much easier way would to use the bounce method of the vector2 class, so the example I wrote a while back so will be flawed but still works. I have a room with 4 staticbody2d walls as bounds, then a characterbody2d ball that I set off at vector2(0.5,0.5) and the code in the characterbody2d is as follows:
      extends CharacterBody2D
      var dir : Vector2 = Vector2(0.5,0.5)
      func _process(delta):
      velocity = dir * 10
      var Collision_Data = move_and_collide(velocity)
      if(Collision_Data):
      dir = dir.bounce(Collision_Data.get_normal())
      figured this might be interesting for anyone others reading.

    • @nubunto
      @nubunto Před 23 dny

      @@naalex9058 nice! godot has a method called "bounce" on Vector2 that does exactly this! so basically get the collision normal with move_and_collide (if using Kinematic/CharacterBody2D), check if collided, and bounce along the collision normal

  • @thegameguy208
    @thegameguy208 Před měsícem +11

    “Ok I just had an idea”
    *starts murdering*

  • @question_mark
    @question_mark Před měsícem +86

    of course its the random_in_circle

    • @sjoerdev
      @sjoerdev Před měsícem +8

      its such a simple function, how can anyone possibly have bugs related to it?

    • @ultimaxkom8728
      @ultimaxkom8728 Před měsícem +22

      @@sjoerdev The _random_in_circle_ is perfectly fine. It's just not the _random_walkable_in_circle_ the human _actually_ wanted.

    • @FifthOfNovember_Original
      @FifthOfNovember_Original Před měsícem +1

      There’s always one random in the circle

  • @NachitenRemix
    @NachitenRemix Před měsícem +20

    Little advice for you all folks. Sometimes you just need to take a REAL break (away from you phone AND computer), and then ideas will flow more easily. Creativity needs energy, and energy needs rest.

    • @fk3239
      @fk3239 Před 23 hodinami

      Fucking REAL. I was recently trying to solve a problem with jumping while on a slope. It would essentially bank and I think also multiply the vertical acceleration, spent a few days on it, couldn't figure it out and was getting really frustrated. Took a few days off of it because life stuff, came back, solved that shit immediately with barely any thought.

  • @bluemonkey189
    @bluemonkey189 Před měsícem +18

    obviously the enemy is just really stupid

  • @user-ek2jc1xf3y
    @user-ek2jc1xf3y Před měsícem +13

    help me step player i'm stuck

  • @rowleskids
    @rowleskids Před měsícem +8

    The video is 2 minutes but this process usually takes about 2 hours 💀

  • @ince55ant
    @ince55ant Před 25 dny +2

    "its my fault, but i dont know why"
    sometimes i think i took up game dev for similar reasons i see a therapist

  • @henrystickmin8812
    @henrystickmin8812 Před měsícem +6

    Alternative title: "I didn't know birds couldn't pass through walls"

  • @robertwallace5498
    @robertwallace5498 Před 21 dnem +3

    I feel your pain brother, this is like therapy. And the excitement/relief once it works is unparalleled

  • @IamNewbo
    @IamNewbo Před měsícem +29

    Bro this is so true! Sometimes tho the entire system is just broken and then you have to remake it over and over again or add stuff until it's just right realizing its only a smol thing u missed lol. Bro epic vid

    • @1BucketOfChicken
      @1BucketOfChicken Před měsícem +2

      you mentally hurt my by reminding me that ive rewritten stuff so many times just to realize i, for example, divided by delta instead of multiplying it, plus instead of minus, wrong values and other stuff like that

    • @poleve5409
      @poleve5409 Před 28 dny +1

      rewriting parts of your game mutliple times is natural and a good thing.

  • @franciscobernardo95
    @franciscobernardo95 Před měsícem +5

    of course its the state machine

  • @Zethneralith
    @Zethneralith Před 2 dny +1

    This is probably the most relatable video on anything software dev I've ever seen. Bravo!

  • @ghostradiogames
    @ghostradiogames Před měsícem +12

    I'm trying to pay attention but I can't get past your insane amount of rising debugger errors.... you gonna uh...you gonna check those? D=

    • @BrosMakeGames
      @BrosMakeGames  Před měsícem +15

      if you don't look down there they don't exist.

    • @ultimaxkom8728
      @ultimaxkom8728 Před měsícem +6

      @@BrosMakeGames 100% working strat. I used this exploit to escape the IRS and the kids. It's also extremely milk-compatible.

  • @patek2385
    @patek2385 Před měsícem +4

    They are just dancing.

  • @3PlayerGaming
    @3PlayerGaming Před měsícem +11

    Having worked in the games industry for over 5 years now, can confirm, it happens to even the most experienced of us.
    Having said that... I actually think the game engine should warn you when you trying to do something that doesn't make any sense... like telling the nav agent to navigate to a point outside the nav mesh. Because then the problem would have been obvious way earlier, and you wouldn't have spent hours blindly debugging.

    • @iantrolington6594
      @iantrolington6594 Před 4 dny

      The problem was obvious just looking at it without even reading the code. And there are plenty of examples where you could make use of navigating between collision layers. The fact that you say these things and say you have been doing this for 5 years is just baffling.

    • @NihongoWakannai
      @NihongoWakannai Před 2 dny

      The code is producing thousands of errors which he never looks at...

  • @nickhurst7493
    @nickhurst7493 Před 21 dnem +1

    I love these short little tid bits of devlogs. Super fun to watch!

  • @RKIOrbMage
    @RKIOrbMage Před měsícem +4

    Really nice bitw sized vid, please make more :D

  • @umar7812
    @umar7812 Před měsícem +6

    where's the part when you say
    IT TOOK ME HOURS TO FIX THIS!!!

    • @charg1nmalaz0r51
      @charg1nmalaz0r51 Před 29 dny

      probably in a later video when he finally fixes it. Based on his debugger tab at the end his codes still broken lol

  • @LookjaklooK
    @LookjaklooK Před měsícem +2

    That's why it's important to be aware of our assumptions we made on how we think things supposed to work. And then test those assumptions by tweaking values and debugging, until we reach to the fault in one of our assumptions that we need to fix. In this case, the assumption that the destination is within the reach of the duckies.

  • @simplexeon
    @simplexeon Před měsícem +1

    missing: 12 other attempts that were SURE to work

  • @Math_Mage_9869
    @Math_Mage_9869 Před měsícem +2

    accidentally became woodpeckers

  • @_MrMen_
    @_MrMen_ Před měsícem +2

    This is so relatable, and describes a lot of the issues I encounter.
    I'm subscribing.

  • @paulimriss
    @paulimriss Před měsícem +2

    I'm really scared of people that don't solve the debugger errors

  • @DivideBy0YT
    @DivideBy0YT Před měsícem +5

    as a new, learning gamedev, i can 100% confirm

  • @aztecagames
    @aztecagames Před měsícem +3

    Yup! The hard part is figuring out where it went wrong. 99 percent of the time it's an easy fix. This is looking great btw

  • @THExRISER
    @THExRISER Před 10 dny +1

    Feels good when it does work.

  • @d34drat
    @d34drat Před 26 dny +2

    you need a rubber duck...

  • @foreducation408
    @foreducation408 Před měsícem +3

    Yup that's game dev in it's purest form.

  • @nobenx
    @nobenx Před měsícem

    Your code is so clean! I could never

  • @Ryuko15
    @Ryuko15 Před měsícem +2

    i want to applause for your problem solving skills, not the fact that is impressive, but you got through it. Congratulations man!

  • @3ustin
    @3ustin Před měsícem

    This is such a great example of everyday life in game development. Thanks so much for the commiseration.

  • @thekingscrown8931
    @thekingscrown8931 Před měsícem +1

    Something similar happened to me not too long ago. I'm currently making a zombie game where the player is stuck in a grocery store and has to use whatever they can survive incoming waves of zombies. Now I put together a multiplayer system, difficult at first but ultimately didn't give me many issues, shelves so that the players can store items ended up being insanely easy, zombie movement and spawning I was able to do with my eyes closed. But, the wave mechanic, the one thing I thought was gonna be so simple I could probably get a monkey to do it, ended up taking me a week to figure out. Turns out throwing rpc calls everywhere is NOT a good idea and I was basically calling an rpc call with an rpc call, so the system that handles zombie tracking wasn't accurately tracking zombies because of it.

  • @DanPos
    @DanPos Před 17 dny

    Excellent video that really captures the frustration of programming haha. Another is when something doesn't work you change some stuff out of desperation, and it works, but you don't know exactly what you did to fix it or what the problem was, and then you just move on with your life

  • @CrispyDaFrog
    @CrispyDaFrog Před měsícem +1

    now just repeat this process multiple times per every time you want to change anything whatsoever

  • @scroopynoopers9824
    @scroopynoopers9824 Před 18 dny

    "as usual the problem was me and my stupid brain"
    I felt that

  • @Robomobius_Art
    @Robomobius_Art Před 11 dny

    Absolutely. What's worse is when there's multiple different single points of failure.

  • @cmorellato
    @cmorellato Před 21 dnem

    This is an awesome way of teaching!

  • @NagoTheCat
    @NagoTheCat Před 11 dny

    Really love your use a Kirby sound effects.

  • @donkeykong315
    @donkeykong315 Před 19 dny

    Literally me every time I add a feature with any slight complexity.

  • @savagekid94
    @savagekid94 Před měsícem +1

    its what I love most about development. it stresses me out but i love it

  • @slipperynickels
    @slipperynickels Před 18 dny

    would love a video about your state machine implementation, specifically how it decides which action to take

  • @TomInbound
    @TomInbound Před 19 dny

    This is incredibly accurate! Great video! The struggles are real 😭

  • @AtelicDev
    @AtelicDev Před 23 dny

    The solution sounds so simple, but one has to first come up with the idea! Also, awesome editing!

  • @UltraViolentYT
    @UltraViolentYT Před měsícem

    Very informative videos, really tell us how to solve problems instead of quitting the project and starting a new one.

  • @mylordbibbles8498
    @mylordbibbles8498 Před 5 dny

    That debugger is going CRAZY LMAO

  • @bromodo2773
    @bromodo2773 Před 21 dnem

    I have that "if I'm right" statement soo many times lol

  • @Wesley1996J
    @Wesley1996J Před měsícem +3

    Just do what I do everytime give up!

  • @KlausbergerYT
    @KlausbergerYT Před měsícem

    Take this subscription, Sir. Many know those moments! 💙
    (even though they are often much longer, till one tries to evade the situation... going to the bathroom.... doing laundry...)

  • @vladulay8762
    @vladulay8762 Před 6 dny

    Recently I tried to implement something new and the hitbox collisions from a test print didn't show up. But I already had set up something similar before, so I got really confused. I didn't find anything on Google about my issue, so I spent hours on recreating a minimal setup to try ro find out what was different in those cases. It got worse there, since I didn't seem to be able to recreate the old setup. After a while I got frustrated and just played around for a bit, when I realized that no print messages at all show up. Which is the point where I found out that I accidently disabled the debugger messages in the engine. I didn't even know I could do that, but whelp. I was so relieved, but it didn't even feel that satisfiying :D

  • @bungercolumbus
    @bungercolumbus Před 21 dnem

    You can notice this in more than just game dev. I am in my final year in school and sometimes I get really stuck at some pretty easy math problems. And I just can't wrap my head around them to find the solution for some reason. It feels the same I swear to god.

  • @aaronmarsden120
    @aaronmarsden120 Před 12 dny

    I was terrified there would be a glitching NPC at the end of the video

  • @Gerardheime
    @Gerardheime Před 20 dny

    If you had some sort of debug visualization of the wanted destination, you would've solved that in a jiffy. That's why debugging tools are so important.

  • @kadenfrfx
    @kadenfrfx Před měsícem +2

    do you think you can do a tutorial on how you make the lighting pixelated instead of being smooth?

  • @badhasher
    @badhasher Před měsícem

    Haha I love this, the enemy navigation can be such a nightmare!

  • @snagfeather
    @snagfeather Před měsícem +1

    Great video! I feel this so much. Yesterday was 30 minutes figuring out that my code should've been in `_physics_process` and not `_process`.

  • @taylorfisdboss5200
    @taylorfisdboss5200 Před 7 dny

    This really is a great look into the gamedev experience.
    1. You encounter a problem - and you really aren't 100% sure why it's happening.
    2. You take a guess at what the problem is.
    3. You implement a "fix" to try to correct it.
    4. You correct the issues created by step two and scrap the "fix"
    5. Repeat steps 3 and 4 until you want to rip your hair out or you accidentally enter step 6.
    6. You spot the actual problem, realize you're an idiot, and solve it in two or three easy attempts.
    7. You regain *almost* all of the sanity you had before the problem occurred.

  • @lebobshark
    @lebobshark Před 21 dnem

    The conclusion is always “I’m the biggest idiot of all time.”

  • @thomlaurent
    @thomlaurent Před 19 dny

    In Unity you can sample a position on the navmesh from a point you give, so you can random in circle then ensure it's inside the navmesh.
    The only problem with this approach is you can still ask for an impossible move if the navmesh of the target is not connected to the one your character is on, but that's a tricky case that's unlikely to happen I guess 😅

  • @Kolbiathan
    @Kolbiathan Před měsícem +1

    how do you get you collision shapes to look pixelated? kinda fun that they match the sprites! Fire vid man, I know these feels

  • @erniebeasley8521
    @erniebeasley8521 Před 14 dny

    This video brings great pain and suffering

  • @Nezarus0
    @Nezarus0 Před 18 dny

    Accurate. I was playing with creating islands with proc gen, and reasoned I needed to make elevation fall off sharply along the edges of my map, leaving an island. My first try somehow smasheed all 800 pixels of 'terrain; into the top line of the window and made the rest ocean...Turns out I'm stupid, like everyone else. Felt really great to finally figure out what stupid thing I had done, which was totally forget to iterate over one axis for most of the process, resulting in my strange 1 row of x data.

  • @smoresgobbo
    @smoresgobbo Před 6 dny

    As a new godot user (just shifted from Unity after 6 years) it’s amazing to see there is a state machine system for me to explore. Those tend to make programming a lot simpler and now I don’t have to create it myself LOL

  • @Korn1holio
    @Korn1holio Před 24 dny

    Just wanted to comment on your 'game' looking charming, the toad protagonist and these little guys just crack me up for some reason

  • @DJL3G3ND
    @DJL3G3ND Před 24 dny +1

    true, although I only wish I could stay as calm as this
    also is there some pixel filter going on or is the spinning crosshair actually animated? seeing pixels rotate always slightly bugs me so its nice to see here it looks as it should

  • @the_procrastinator8606
    @the_procrastinator8606 Před měsícem +1

    Just wait until you get to the Context Based Steering Behaviors part... Now thats actually the true game dev experience

    • @Korn1holio
      @Korn1holio Před 24 dny +1

      Just been there... I overcame it but oh my brain...

    • @the_procrastinator8606
      @the_procrastinator8606 Před 21 dnem

      @@Korn1holio dw, you'll spend a few more months tweaking it for the 100th or so time until it kinda feels right and performant 💀

  • @IlSharmouta
    @IlSharmouta Před 15 dny

    "I'm the biggest idiot"
    Ah the sound of progress

  • @MichaelDub
    @MichaelDub Před 7 dny

    ayyy u use the same state machine architecture that I learned!
    shaggy dev for the win

  • @JayFolipurba
    @JayFolipurba Před měsícem

    What I like is, when you follow a tutorial and the code is as 1:1 as it can be, but for them it works and the same code on your computer just says nope

  • @AlessandroMencarini
    @AlessandroMencarini Před měsícem

    As an experienced software developer dipping my toes in gamedev, this constantly happens in “classic” software engineering too

  • @FindTheFun
    @FindTheFun Před 14 dny

    Ahh yes, the tried and true method of "make it smaller then bigger and see if that gets you anywhere".

  • @KarasawaL30
    @KarasawaL30 Před měsícem

    Would love to know how you actually checked the bounds of the navigation mesh, though. This exact problem is happening with me but I never did find the correct function to use to check.
    I also use hot pink debug lines, like you.

    • @BrosMakeGames
      @BrosMakeGames  Před měsícem +1

      for each polygon in the mesh im just checking if the point is inside with
      Geometry2D.is_point_in_polygon(point, poly)

  • @roadtripwarrior
    @roadtripwarrior Před 16 dny

    dude your brilliant dont call yourself stupid my man i am impressed by your skills. I've been doing coding for 2 years and 90% of that time seems to be fixing errors haha. at least thats what my teacher said it usually is and he said thats normal.

  • @635574
    @635574 Před měsícem

    For a development version of the game cosider also visualising their actual trget and not just the navmesh they are sticking to.

  • @noiseworks
    @noiseworks Před 15 dny

    Superstition is a huge part of development for me

  • @yazeedgamer5296
    @yazeedgamer5296 Před 21 dnem

    Dude, can you do a tutorial on how you aim with the mouse?
    I have been trying for hours to mimic that behavior but with a joystick for my game.

  • @linux5min
    @linux5min Před 11 dny

    My dudes... this is software development in general... it just be more visual and fun in games... or frustrating instead of fun...
    writing code is the single thing that humbles me every day...

  • @DenysShust
    @DenysShust Před 25 dny

    Instantly subscribed ❤

  • @atomiz2002
    @atomiz2002 Před 24 dny

    this would never have been a time consuming issue if your gizmos were correctly displaying that the targets are inside the walls...

  • @mrreemann8313
    @mrreemann8313 Před 10 dny

    Still stuck in the stage of "I don't know what I just copy pasted but it is/isn't working."

  • @jipcoumou4935
    @jipcoumou4935 Před 26 dny

    true, also loveit when you think your code is broken but then after 30 min you see that you disabled a script for testing :)

  • @Rikaisan
    @Rikaisan Před měsícem +1

    That game looks really cool! :3
    Birb exterminator

  • @benc8738
    @benc8738 Před 28 dny

    Oh man this is totally like half of game dev for me! 😆

  • @NurolMusa
    @NurolMusa Před měsícem

    you've got a subscriber for life here!

  • @onceisdrawing
    @onceisdrawing Před 8 dny

    Programming is me telling my lovely wife, "i'm fine, thanks", her becoming upset for 2 days, me trying to understand wtf i just said, finally realizing it was our birthday and i forgot about it.
    But every day.

  • @AIAdev
    @AIAdev Před měsícem

    Every. Day.

  • @soumyadebnath3614
    @soumyadebnath3614 Před 16 dny

    Yeah this is what happens with me all the time... Recently I was working on my game and the enemy was getting stuck in the scene's global position and not the camera... Then I saw the problem I was setting the position to global myself... That had to be only position not global... Good to know I am not alone.... 😅

  • @arturertel
    @arturertel Před 18 dny

    Where can I find sound effects like in your video here?

  • @JF-um3wz
    @JF-um3wz Před měsícem

    Yep, I could tell that’s likely what was happening upon seeing the issue.
    It really is sometimes that you’ll forget something crucial, and it leads to bugs like this. That’s why we have the rubber duck technique, after all.

  • @ftcv
    @ftcv Před 13 dny

    This is 100% accurate

  • @athier5898
    @athier5898 Před 24 dny

    yes, but also why is the navmesh not getting the closest point on the edge when giving a point thats not vaid? but yes this should have been checked first but can also be caught by the engine itself.

  • @NightCabbage
    @NightCabbage Před měsícem

    This is so true. Things like this cost you so much time, haha! Nice :)

  • @NachitenRemix
    @NachitenRemix Před měsícem

    This is what most people dont see nor understand, the real struggle you get sometimes with bugs. And, its not always your fault. The worst feeling is finding an engine or language limitation that simply cannot acomplish what you want, and then you have to code a workaround youself, thats painful. But worse still is thinking you found an engine limitation, when it was just a PEBCAK issue lmfao.

  • @BenAstridge
    @BenAstridge Před 21 dnem

    I wanted to like this video twice