Making a Raycaster using Godot 4 Compute Shaders!

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

КОМЕНТАРІ • 61

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

    Find the key hidden somewhere in the video then answer the cypher question: cipher.binarysoup.dev/?v=7-nOK0UrAzk

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

      Adventure on the Atari 2600.

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

      Duck Hunt on some NES knock off. Also, when you're encrypting in the Vigènere cipher, you're not supposed to skip the spaces in the input text. So for example, HELLO THERE encrypted with the key "AB" would be "HFLMO UHFRF" and not "HFLMO TIESE".

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

      @@emre5614 Thanks for the tip! I'll have to update my cypher script!

  • @emre5614
    @emre5614 Рік тому +27

    The Godot Engine uses OpenGL style normal maps, but there is another format of normal maps (usually called DirectX style) that has the Y axis reversed. This may be the cause of the problem you mentioned around 23:58.
    Also, I loved the video! The overall production and effort that went into this video really paid off! This is a production quality I would expect from a way bigger channel! I feel like I stumbled on a hidden gem! Not just that but the vibes it gives off is awesome!

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

      There's an option you can use in the Import dock to invert a normal map's direction (Normal Map Invert Y), so you don't need to edit the source normal map manually in an image editor.

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

    adding parallax mapping to a raycaster is such a good idea! I really really like the cutaway gags/skits too, good stuff, really glad youtube dropped this in my suggestion feed

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

    Fun fact: older consoles called the processor that did graphics a Picture Processing Unit, so indeed, a PPU

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

      A famous example would be the NES

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

      @@RadikAlice SNES not the NES

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

      @@efeloteishe4675 The NES did too, don't be ridiculous

  • @dortuff
    @dortuff Рік тому +8

    A video on compute shaders would be really helpfull. This video is also very cool I like the comedy mixed in with the main educational points.

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

    Your sophisticated raycasting algorithm is called DDA (Digital Differential Analysis) raycasting.

  • @SilverstringsMusings
    @SilverstringsMusings Рік тому +11

    This channel has a lot of potential, here's a comment for the algorithm.

    • @D.S69
      @D.S69 Рік тому

      same here

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

    I just started using Godot, but I'm not new to gamedev. I've been wanting to make a raycasting game with python/pygame, but I'm finding it hard to understand the math. I thought I'd give Godot a try, not just for raycasting, but for gamedev in general. I thought I'd look up how easy it would be to implement raycasting in Godot, and to be honest it doesn't seem any easier. And since I'm new to Godot, and suck at any math past pre-algebra, I didn't understand a lot of this video, but it was still enjoyable to watch, and the end result looks really good.

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

    I am sorry, but how do you only have 500 subs?! This channel deserves a lot more!!

  • @bobfalfa-vg3jx
    @bobfalfa-vg3jx 7 місяців тому

    Thank you for this video! I love raycasting engines but have struggled to find a high performance way to do it on modern systems. This is just what I needed to see. Thanks again and good luck on your future projects or part 2!

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

    I've also been working on a raycaster in Godot. Very cool to see someone else using different methods to achieve similar results!

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

    This is how I found out about the tan distortion effect. Thank you

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

    If I had a nickel for every youtuber I'm subscribed to that's a dude with long brown hair with a slapstick sense of humor who uses jazz as background music I would have 2 nickels

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

    This was a really cool video! Loved learning about this coolness especially after just recently migrating to Godot and loving it to pieces. Awesome stuff!

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

    Incredibly cool!! Look infinitely better than my attempt a while back

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

    I would love to see a tutorial. I haven't been able to quite wrap my head around compute shaders.

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

    This is awesome, would be great to build out a little arena shooter or RPG.
    I find it such a pain that there's no easy way to keep the memory structure of stuff you'll send to the GPU in a good state in GDScript beforehand. Like you could imagine having a struct with manual memory layout so you can send a Vector of that struct directly to the GPU without having to copy fields into PackedArrays, etc. - it still feels like compute shaders are an afterthought with GDScript atm.

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

    made a raycaster and the first texture i tested was the classic source engine missing texture and it was in fact a trippy optical illusion

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

    this is an awesome video. great job.

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

    Great video, congrats!

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

    awesome video ! Thank you

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

    Great video! Loved the explanation and the jokes ❤

  • @MrSkeleton14
    @MrSkeleton14 8 місяців тому

    Too much math for my tiny brain

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

    Incredible video!!!

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

    Compute shaders!

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

    Great video! I want more of these lol

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

    is this more faster than the acutal 3d godot?

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

    Really cool.

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

    can you post about doom style rendering

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

    very cool video 👍

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

    Ure the goat

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

    Gray cats are cool but why didn't you just make a real 3D world and a shader and unfiltered texture sampling to make it look like old raycasting? That would allow you to have actual 3D shadows and lighting in your world too, and you could use models or sprites for enrmies. Very fun to watch your progress though. Very good editing. Fun stuff. Subscribing!

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

      I do have plans for a second part where I'll implement some cool stuff that would be very difficult in a traditional rendering engine, but fairly effortless in a raycaster.
      So yes there is a reason why I choose to use raycasting, but in retrospect I guess didn't really explain why in the video 😅.

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

      @@binary_soup Oh, I look forward to seeing that! :) Good luck with the continuation of the engine!

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

    good vid, thx!

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

    If we can use cpu for ray casting why we should not use cpu

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

      You can use the cpu, but it's just generally too slow to achieve good frame rates. The GPU by comparison is magnitudes faster since it runs graphics calculations in parallel.

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

      @@binary_soup Thats seems right But we cane maybe give liltle bit calculation job to cpu and send results to gpu there is new tech Smart Acses Memory maybe it can do job

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

    you should try sdfs next

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

    I'm gonna come

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

    hello i love you

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

    i like how he uses ai, also what ai?

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

    Godot isn't called GoDot.

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

    just use Unity :P

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

      Why?

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

      @@mr_sauce_cooks It would make it easier and better looking

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

      Why would it be?

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

      because its a 3D game engine made for this stuff...@@nigeladams8321

    • @user-og6hl6lv7p
      @user-og6hl6lv7p 5 місяців тому

      Just let corporation steal your content bro.