How to Achieve PS1 and VHS-Style Graphics in Godot | Godot 4 Tutorial

Поделиться
HTML-код
  • Опубликовано: 8 янв 2025

Комментарии • 72

  • @VepsianGameDesigner
    @VepsianGameDesigner 6 месяцев назад +114

    Retro games were created with an emphasis on improving the quality of graphics. Now the creators deliberately worsen the graphics through additional shaders :)

    • @TheRaretunes
      @TheRaretunes 4 месяца назад +4

      I felt the same when the first "pixel art" games came out, thinking why should we go back to pixels when we were striving in 3d rendering. Now it's just a stupid question.

    • @Sakupenny
      @Sakupenny Месяц назад

      ​@@TheRaretunesI don't think games ever had pixel art as we know it now in the past

  • @wsmoney
    @wsmoney Месяц назад +6

    nailed it putting Murder House as an example in the thumbnail

  • @TomkhaDev
    @TomkhaDev 4 месяца назад +6

    Great video, straight to the point! Always thought implementing shaders would be a hassle, but with your tutorial I got it set up in a breeze and with some tinkering around, it look absolutely amazing.

  • @drioko
    @drioko Месяц назад +1

    this is SO EXCITING can't wait to improve my visuals !!!!

  • @begforsalvation
    @begforsalvation 3 месяца назад +1

    thanks, absolutely love psx aesthetics and godot is just wunderbar for this

  • @FurnaceFix
    @FurnaceFix 8 месяцев назад +7

    Thank you bro i love this Video. Keep up the Grind

  • @castmuse
    @castmuse 8 месяцев назад +7

    Ur vids keep getting better man, keep it up !! I’ll have to lyk when I decide to make my own ps1 style game 🙌🙌

  • @drioko
    @drioko Месяц назад

    just WOW throughout the video

  • @diazleonata
    @diazleonata 16 дней назад

    thanks! very unique graphics style xD

  • @Johnytiger
    @Johnytiger 7 месяцев назад +1

    fire tutorial thanks!

  • @blakegriplingph
    @blakegriplingph 7 месяцев назад +5

    The affine warping effect would look best if the models are tesselated/subdivided either manually or dynamically to reduce but not totally eliminate warping.

    • @ThePensiveWalrus
      @ThePensiveWalrus 6 месяцев назад +1

      PS1 developers would use extra polygons even when not needed for that exact reason. The large polygons of the building warp too much to match the PS1 aesthetic.

  • @Jeff4404
    @Jeff4404 Месяц назад

    THANKS U SIR PUNGA I MEANS MR.PUNGA
    I KNOW AND UNDERSTAND
    BEFORE I MISSUNDERSTAND
    NOW I KNOW AFTER WATHCHING THIS
    THANKS U 😊

  • @kuchen_im_glas
    @kuchen_im_glas 13 дней назад

    thanks for the tutorial. everything went really well. (Except that I can't move my mouse or look around when the TV shader or something is active. But the PS1 shader works normally

  • @Angel-Otk
    @Angel-Otk 4 месяца назад

    Thank you for this video, I just had my first son and I’m pretty sure I’m now capable of raising a great man

  • @GameRetroStudio
    @GameRetroStudio 7 месяцев назад +1

    faltaron varias cosas importantes a nivel técnico pero bastante bien, te ganas mi like! :)

  • @jharris2975
    @jharris2975 8 месяцев назад +1

    Best vid yet!

  • @xthejetx
    @xthejetx 8 месяцев назад +3

    What version godot you running? I had to change some things in the post processing shader to get it to work on 4.2.

    • @Punga046
      @Punga046  8 месяцев назад +7

      Oh, I forgot to mention this, you have to add an extra line in the CRT shader. I don't know about the post processing shader, I think that one worked for me without changing anything, as it war written for Godot 4, the CRT one was written for Godot 3. Thanks for pointing it out.

  • @juanxpeke
    @juanxpeke 3 месяца назад +1

    How do you make buildings? Do you import a model without doors and add the doors models as children so they can be opened? I would appreciate if you can share a tutorial

    • @Punga046
      @Punga046  3 месяца назад

      Hi, if you make your own models, you can leave space for the doors, then add them in-engine. For my game, I use a different system to navigate between doors, here's a tutorial: ruclips.net/video/mroRGL0Tr_E/видео.html

    • @juanxpeke
      @juanxpeke 3 месяца назад

      @@Punga046 I see, thanks a lot :D

  • @kahramanakdag8476
    @kahramanakdag8476 29 дней назад

    when I first put my crt shader background of shader turns white and its not transparent how can I solve that

  • @renatorossarola
    @renatorossarola 7 месяцев назад +1

    got mouse camera motion locked when moving scene into subviewport node, shader working well, but i can't move my camera

    • @Punga046
      @Punga046  7 месяцев назад +1

      Make sure that under subviewport->control->mouse, the filter is set to either pass or ignore.

    • @renatorossarola
      @renatorossarola 7 месяцев назад

      @@Punga046 already did it, but without success

    • @nano-ai
      @nano-ai 4 месяца назад

      i dont know if it's too late to solve this issue, but i had to do a pass through on the SubViewPortContainer:
      extends SubViewportContainer
      @onready var player = $SubViewport/CharacterBody3D
      func _ready():
      set_process_unhandled_input(true)
      func _input(event):
      if event is InputEventMouse:
      var mouseEvent = event.duplicate()
      mouseEvent.position = get_global_transform_with_canvas().affine_inverse() * event.position
      player.unhandled_input(mouseEvent)
      else:
      player.unhandled_input(event)
      make sure to rename the input on the player to unhandled_input from _unhandled_input

  • @ZayJayPlays
    @ZayJayPlays 5 месяцев назад

    Is there a quick method of applying the model shader to multiple objects of different materials?

    • @Punga046
      @Punga046  5 месяцев назад

      There’s a drag and drop PSX shader on GodotShaders.com. You can try it out if it’s easier

  • @2009Dleon
    @2009Dleon 2 месяца назад

    hi may i ask. Whenever i put the shader in, it always messes with my player movement and i cant rotate. thats when i put it as a child of a canvas layer as an overlay. When i put it under control, my movements fine but then the shader isnt there. Help!

    • @Punga046
      @Punga046  2 месяца назад +1

      Make sure that under subviewport->control->mouse, the filter is set to either pass or ignore.

  • @fruitdudetv
    @fruitdudetv Месяц назад

    thank you for explaining how to apply shaders. i have only 1 problem. my sound wont play anymore xD getting no error messages everything is just silent. i think it has to something to do with putting everything under the subviewport nodes
    ok I just enabled the two checkmarks under "Audio Listener" in the "Subviewport" node
    any ideas how to get rid of the black bars on the side ? xD

    • @Punga046
      @Punga046  Месяц назад

      In your subviewport -> audio listener try checking “enable 3D” and “enable 2D”

  • @JerryNason-lj8zc
    @JerryNason-lj8zc 6 месяцев назад +1

    how do you make the edges wobbly and crunchy

    • @Punga046
      @Punga046  6 месяцев назад

      If you're thinking of the jittering effect, it's the first shader, 2:08

  • @0xSuperMano
    @0xSuperMano 8 месяцев назад +2

    my mouse camera stop working after apply the crt shader, wtf

    • @0xSuperMano
      @0xSuperMano 8 месяцев назад +1

      i fixed 👍

    • @renatorossarola
      @renatorossarola 7 месяцев назад

      how did you fixed it?

    • @0xSuperMano
      @0xSuperMano 7 месяцев назад +2

      @@renatorossarola tu vai clicar no teu colorRect no inspector dele vai ter um mouse tu bota o filter como ignore

  • @Silveratom47
    @Silveratom47 Месяц назад

    quick question do these work on the compatibility/mobile renderers? or only on forward+?

    • @Punga046
      @Punga046  Месяц назад

      Never used the mobile renderer myself, but they should be working on compatibility. Except for web exports, Godot always messes up shaders for me when I export to web, so they might not look the same as in the editor.

    • @Silveratom47
      @Silveratom47 Месяц назад

      @Punga046 Alright thanks so much

  • @theendblack72
    @theendblack72 5 месяцев назад

    When I put the shader, the shader is visible but it is not transparent, how do I make it transparent?

    • @Punga046
      @Punga046  5 месяцев назад

      I don't think the shader supports transparent objects, same as the original PS1

  • @ChillySmalls2910
    @ChillySmalls2910 3 месяца назад

    the CRT shader is not working at all, it just shows a white screen, and there are a ton of errors, can you help???

    • @Punga046
      @Punga046  3 месяца назад

      @@ChillySmalls2910 Can you copy and paste the errors?

  • @SirXtC
    @SirXtC 8 месяцев назад +1

    what website did you use to do the AI voice over? I've been looking for some but they are all paid

    • @Punga046
      @Punga046  8 месяцев назад +5

      I use the text to speech option in Clipchamp

    • @SirXtC
      @SirXtC 8 месяцев назад

      @@Punga046 thank you

  • @st1llsane456
    @st1llsane456 7 месяцев назад

    Hi, nice video. But when i am adding Jittering shaders, the shadow that the model casts starts jumping back and forth when you move. Do you know how to fix it?

    • @Punga046
      @Punga046  7 месяцев назад +2

      I think its intentional, the PS1 had really bad shadow rendering

  • @irwandianto4857
    @irwandianto4857 5 месяцев назад

    so it doesn’t need voxel gi or lighmap for lighting?

    • @Punga046
      @Punga046  5 месяцев назад

      It's your choice, I always use dynamic lighting for my projects, never used voxel gi.

  • @emirhansardag13
    @emirhansardag13 5 месяцев назад

    hello punga i tried using this with the game im working on its works great but it messes up the ui it becomes too pixeleted because of the resolution. I checked your other stuff and you seem to solve this issue. can you please tell me how did you do it?

    • @Punga046
      @Punga046  5 месяцев назад

      Place the UI on top of the shaders and viewportcontainers (so the node is below them in the hierarchy). I recommend using a different canvaslayer for the UI

    • @emirhansardag13
      @emirhansardag13 5 месяцев назад

      @@Punga046 but resolution is set to 320x240 so doesnt that still make it very pixeleted.

    • @Punga046
      @Punga046  5 месяцев назад +1

      @@emirhansardag13 In my newest game I use 640x360 resolution. If you want a clear UI, you can make the game 1920x1080 (or any resolution) and leave the subviewport at 320x240, so you’ll have a sharp, high resolution UI, but the game will have the pixelated look.

    • @emirhansardag13
      @emirhansardag13 5 месяцев назад

      @@Punga046 okayy thank you so much!

  • @KenSimon_54
    @KenSimon_54 5 месяцев назад +3

    I'd really recommend you to use your real voice, you make great videos, but I think they would get a bit more life without the computer voice

    • @Punga046
      @Punga046  5 месяцев назад +1

      @@KenSimon_54 I use my real voice in my recent devlogs, I’ll use it for my next one, but they doesnt perform as great as my AI voice videos.

  • @Phosy-s7p
    @Phosy-s7p 7 месяцев назад

    i used the SAME texture for the floor in my project LOL

  • @nicklesnn
    @nicklesnn 5 месяцев назад

    godough 🗣

  • @fabianmunoz851
    @fabianmunoz851 8 месяцев назад

    impresionante, like and suscribe

  • @RafathBinZafarAuvee
    @RafathBinZafarAuvee 7 месяцев назад

    If I apply any shader it removes my footsteps sound

    • @Punga046
      @Punga046  7 месяцев назад

      In your subviewport -> audio listener try checking “enable 3D” and “enable 2D”

  • @GoblinArmyInYourWalls
    @GoblinArmyInYourWalls 6 месяцев назад

    AI voice?

  • @TheDigimonXYZ
    @TheDigimonXYZ 2 месяца назад +3

    Instant dislike for using ai narration.

    • @Punga046
      @Punga046  2 месяца назад

      @@TheDigimonXYZ Ok