PIXELART EFFECT IN GODOT | ULTIMATE TUTORIAL

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

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

  • @CieMaKat
    @CieMaKat Год назад +296

    I love the "Godot is missing that so let's add it!" attitude of professionals. I can easily imagine Godot matching Unity feature set in a two or three years from now.

    • @Madalaski
      @Madalaski  Год назад +35

      Well hey, you don't need to be a professional! Your C++ journey could start today!

    • @pythonxz
      @pythonxz Год назад +12

      It might be shorter than that.

    • @FlooferLand
      @FlooferLand Год назад +7

      ​@@Madalaski It's surprisingly a lot simpler to learn than i expected it to be!
      I've been learning it recently for Unreal Engine, and (at least the way UE handles C++) it's been a breeze.
      Godot's C++ still sorta scares me, the idea of either having to compile the whole engine or use the messy unfinished GDExtension API

    • @maiteko_prime
      @maiteko_prime Год назад

      @@FlooferLand Core c++ is straightforward, and easy to understand. It's real problems are Project Management (especially when releasing for multiple platforms) and undefined behavior (due to backwards compatibility with C, it's hard to get rid of that)
      But when you are working with Existing tools (like Godot and Unreal) A lot of the hard decisions are already made for you, so it's a lot more manageable.

    • @mmheti
      @mmheti Год назад +2

      Not until they ditch GDScript and focus on C#. I mean - there is increadibly abundant source of libraries, 3rd party integrations and code snippets in C# - why wouldn't Godot utilize this? Even this tutorial does not showcase a C# code. Am I too old already?

  • @piousthepious
    @piousthepious Год назад +97

    Keep making Godot tutorials! It’ll definitely contribute to the community!

    • @Madalaski
      @Madalaski  Год назад +10

      Thanks for the support :)

  • @Dominator837
    @Dominator837 Год назад +29

    Great tutorial! I'm a Java developer myself going on 8 years professionally. I've recently had this urge to pick up game development and try to recreate the game my wife and I met on back in early 2000s. You've inspired me to work with Godot before going into Unity.

    • @Madalaski
      @Madalaski  11 месяцев назад +2

      Well hey if you're an expert in a language that's on over 8 million machines...
      Glad to have inspired you tho! What game did you and your wife meet in?

    • @Dominator837
      @Dominator837 11 месяцев назад +3

      @@Madalaskiwe met on a old game called Darkages in elementary school. It’s an isometric RPG from Nexon/Kru Interactive.

  • @asdgreersf
    @asdgreersf Год назад +50

    Alternative title: Creating the ultimate pixelart effect in Godot while bashing unity with criticism every 2 seconds (justifiably)

    • @Madalaski
      @Madalaski  Год назад +11

      My heart also goes out to the developers at Unity, who likely fought against this decision as hard as they could. I hope some resolution happens, but the only way I could see Unity recovering at all from this, is if they make their TOCs way more robust like Unreal.
      No retroactive changes, TOCs are explicitly tied to the version of Unity you're using.

    • @madjunir
      @madjunir Год назад +5

      ​@@MadalaskiSadly this is never going to happen unless they lose massive amounts of market share.
      There's a reason Blender is so popular these days. It keeps the corporations in check. Plus is made by the people for the people 🎉.
      Godot is now in a similar position to disrupt. Seeing how the sponsor and donations doubled in a week!
      I suspect development may double as well.
      Unity showing is true colors is probably the best thing that has happened to balance the power in the space 😊
      Thanks for the demonstrations and tutorials keep them coming!

  • @gamedevaki
    @gamedevaki Год назад +19

    That's so cool, I've been trying to do something similar for my Octopath Traveler inspired game in Godot. Ended up with a very expensive fragment shader.
    Going to try using the concepts and ideas covered in this video! I swear I have been learning a lot from all the unity dev's making Godot tutorials this past few days!

    • @Madalaski
      @Madalaski  Год назад +3

      Wahey glad I nailed it with the Octopath reference!

  • @jessekcooley530
    @jessekcooley530 Год назад +2

    Great content friend. Appreciated the old unity videos; appreciate the new ones. Especially appreciate Ruble. Keep it up

  • @benjaminbaer5485
    @benjaminbaer5485 Год назад +2

    Thanks for showing godot some love!

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

    You're awesome for this. Please keep making more videos

  • @ozymandass
    @ozymandass Год назад +1

    I didn't have the skills to create that but I wanted such shader for years and tirelessly scrolled the internet for an "easy" solution. Thank you so much!

    • @Madalaski
      @Madalaski  Год назад

      No worries, surprised you didn't find my other 3 tutorials!

    • @Madalaski
      @Madalaski  Год назад

      Not much skill involved though, just knowledge, experimentation and good ol' fashioned hard work!

  • @colinegge
    @colinegge Год назад +13

    I was so excited to port this technique from unity! And was up late last night banging my head against the same depth precision issue. Lo and behold, you've posted the explanation the very next morning.

    • @Madalaski
      @Madalaski  Год назад +3

      Haha, glad I could help!

  • @Davi_Dash
    @Davi_Dash Год назад +7

    I laughed so much when i saw that the video was from you.

    • @Madalaski
      @Madalaski  Год назад +9

      Me two years ago: "I'm not interested in Godot! Leave me alone!"
      Me now: "YEAH GODOT BABY! WOOOOOOO!"

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

    Thank you for this awesome tutorial!

  • @TheVideoGuardian
    @TheVideoGuardian 11 месяцев назад +2

    Godot honestly has a lot more going for it than I would have thought. I'm using the C# version, and it's got some of the best support for tooling I've ever seen. GDScript code completion is already good, but for C# you can literally set VSCode as an external editor and get complete support for all the features it has. (References, member list, auto-completion, etc)
    Being able to extend the engine itself with C++ is also a huge plus.

    • @Madalaski
      @Madalaski  11 месяцев назад +1

      No literally!
      I don't know if you've read some of the other comments, but there are people out there straight up claiming that Godot has no C# support? Or that extending/editing the engine in C++ isn't viable? Or there are no released games in the engine? The misinformation is crazy.

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

    Very cool! I did something very similar for WebGL, in fact I have a small showcase video on my channel (not a tutorial, tho). I ported the effect later to Unity. But I then ditched the effect since it didn't go well with the whole aesthetic of my game. I loved the tutorial. Very clear and funny!

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

    Liked and subscribed! I really like your style of editing and tutorials way.

  • @geisttraft7190
    @geisttraft7190 Год назад +5

    Return of the King!

    • @Madalaski
      @Madalaski  Год назад

      We must fight to project Godo(t) and the Ring!

  • @sbruchmann
    @sbruchmann Год назад +1

    Well, I never expected to see Godot and Lee Mack to be in the same video. What a lovely surprise!

    • @Madalaski
      @Madalaski  Год назад +1

      What can I say, I have a talent

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

    I LITERALLY just got off your unity pixel art shader video thinking nah let's try godot instead and you've made one for that as well lmaoooo

  • @jackmakmorn
    @jackmakmorn Год назад +1

    You got me hooked with the first sentence 🤘🤘🤘

  • @paulkanja
    @paulkanja Год назад +2

    Keep making tutorials
    Yours truly,
    A ton of people

    • @Madalaski
      @Madalaski  Год назад +1

      Damn you solved my riddle

  • @poggarzz
    @poggarzz Год назад +1

    ok but I love mista rubel, very charming fella

    • @Madalaski
      @Madalaski  Год назад +1

      At this rate Ruble's gonna take over 50% of my subscriber base!

  • @josemanuel5205
    @josemanuel5205 Год назад +2

    The Return of the King!

    • @Madalaski
      @Madalaski  Год назад

      Godot and Ring must make it to Mordor

  • @Smaxx
    @Smaxx Год назад +7

    Very interesting approach, especially if one wants to play with the effect (like creating pseudo 8-directional sprites). But if not, one could also just change the viewport resolution and in the Project Settings set the window's "Stretch Mode" to "Viewport", if you want everything pixelated the same way.

    • @Madalaski
      @Madalaski  Год назад +4

      Yeah it's great for messing with directions and how the sprites display on the screen. Really hope people do amazing things with it.

    • @WarClonk
      @WarClonk Год назад +1

      Could I also display the menu and ui in normal resolution? I am new to Godot

    • @Madalaski
      @Madalaski  Год назад +1

      @@WarClonk Yeah with my version of the effect, you can keep the UI at normal resolution

    • @Smaxx
      @Smaxx Год назад +1

      @@WarClonk Sure. You'd render the pixelated/gameplay scene to a viewport and put the UI on top. This way you can also have a smooth camera that doesn't have to follow whole pixels, while still having pixel perfect texturing.

    • @WinterSchwartz-q2j
      @WinterSchwartz-q2j 8 месяцев назад

      I came down to the comments to wonder if he realized that was a possibility.

  • @ryzechdev
    @ryzechdev Год назад +1

    Honestly thought you were AdamCYounis for a few minutes until the C++ moment came, lol. From a distance the profile picture and thumbnails are very similar in style

    • @Madalaski
      @Madalaski  Год назад

      No clue who this is. Maybe I should get a new profile...

  • @dukemagus
    @dukemagus Год назад +1

    Congrats for the new job at CA!

  • @sealsharp
    @sealsharp Год назад +1

    Welcome back Sir!

  • @noiJadisCailleach
    @noiJadisCailleach Год назад +1

    Earned a sub.
    Keep making tutorials!

  • @byunglee8752
    @byunglee8752 Год назад +1

    I still remember crawling on the ground trying to get my pixel camera to work (with your help ofcourse). The trust is gone like you said. Gearing up to learn Unreal Engine and remake my project from scratch ;-;

    • @Madalaski
      @Madalaski  Год назад

      Haha well I imagine the effect is even easier to setup in Unreal!

  • @adolfolopez1715
    @adolfolopez1715 Год назад +1

    this was so helpful :weeping:

  • @coffeecatrailway
    @coffeecatrailway Год назад +2

    You had me at step 1!

    • @Madalaski
      @Madalaski  Год назад

      I'm not sure that was Renée Zellweger's line... :P

  • @Cazadragoness
    @Cazadragoness Год назад +1

    Please, continue the tutorials... Godot needs more!!

    • @Madalaski
      @Madalaski  Год назад +1

      I'll think about it :)

  • @mgordon1713
    @mgordon1713 Год назад +1

    Keep making tutorials!
    And you just earned yourself a sub from me.

  • @NitramiuZ
    @NitramiuZ Год назад +5

    It would be really interesting to see the process of adding a feature to Godot!

    • @Madalaski
      @Madalaski  Год назад +4

      Haha well it'll be very complex but I suppose why not.

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

      ​@Madalaski That would be amazing! Infinitely interesting even if it's not something that would apply to anything I am doing. Even if it helps only 2 or 3 people push features they are attempting to implement that could still be huge for community at large if it gets to the right people.

  • @MrSpronkets
    @MrSpronkets Год назад +1

    I'm glad people are still abandoning Unity. Bad decisions deserve repercussions.

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

    "Step 1. Delete Unity... Step. 2" You had me on Step 1. Auto-machinegunning the Like button dude lol

  • @Sylfa
    @Sylfa Год назад +2

    I'm not sure this counts as "tonnes of people," but the tutorial was excellent and I'd love to see more.
    Slight suggestion, the effect of the text appearing is very high quality and satisfying, but try to make sure the specific code you're talking about is highlighted (or at least visible and stationary.) I don't mind pausing, but it wasn't easy to match up what you were talking about and the code. Though I personally prefer to read the code myself and then listen to the explanation, so that could be why.
    As to "longer videos," don't forget that Retention = time spent watching / length of video. Adding extra video at the end that the average viewer would skip will probably only hurt your metrics. Side note regarding that, talking fast and encouraging people to slow down the playback speed if they need would actually count as more than 100% retention rate. Or if people rewind to check the code and then again to listen to you explain it… Oh wait, you crafty b- 😂

    • @Madalaski
      @Madalaski  Год назад

      The way that this video has better retention than any of my previous ones...
      That being said I really do just prefer talking fast that's not a ploy!

  • @Dominik-K
    @Dominik-K Год назад +2

    Thanks for the tutorials, would love to see more of those with Godot. Even just figuring out, how to help out with the Godot engine would be nice too, I don't have C++ experience, but I feel confident in things. Just would need a few pointers to figure things out

    • @Madalaski
      @Madalaski  Год назад +1

      Fair enough, I'm looking into making a change to Godot right now so we'll see how that process goes and I might make a video on it :D

  • @MyNameIsPetch
    @MyNameIsPetch Год назад +1

    been YEARS since I've watched not going out

    • @Madalaski
      @Madalaski  Год назад

      What's insane is that it's STILL GOING

    • @MyNameIsPetch
      @MyNameIsPetch Год назад

      @@Madalaskiwait what???

  • @wolflyset
    @wolflyset Год назад

    Just showing the cat, 10/10

  • @ミニシュ
    @ミニシュ Год назад +1

    only 2 seconds in, already dig the tutorial

    • @Madalaski
      @Madalaski  Год назад

      Haha, well I wanted to grab people's attention...

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

    Step 1 is crucial

  • @entei6736
    @entei6736 Год назад +1

    Absolute legend

  • @D-Ogi
    @D-Ogi Год назад +1

    Keep making Godot tutorials please!

    • @Madalaski
      @Madalaski  Год назад

      That's another vote for Godot Tutorials!

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

    Keep making Godot tutorials. please :)

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

    I love this! Would totally appreciate an update on how to use this on nodes with colliders. Been trying to adapt this on a character w/ movement but it gets a bit harder when more than just visuals are involved, sprite gets cut off when moving, etc. Tried the tips you gave on some replies but still struggling. Thanks for the vid

  • @digitaltectonics
    @digitaltectonics Год назад +2

    You are awesome!

  • @JerryA189
    @JerryA189 9 месяцев назад +1

    Thank you for the tutorial

    • @Madalaski
      @Madalaski  9 месяцев назад

      You're welcome :)

  • @jorgegomes83
    @jorgegomes83 Год назад +2

    1:08 This is a time paradox.

    • @Madalaski
      @Madalaski  Год назад +1

      You'll certainly never reach the Steins;Gate again, I fear.

    • @jorgegomes83
      @jorgegomes83 Год назад

      @@Madalaski It would be fun to watch, though.
      If my future self plans to kill its past self, on which side should my present self be? This could lead to a battle of me agains myself in the time spagetti.

  • @mcrmy988
    @mcrmy988 11 месяцев назад

    Step 1 is the most important step.

  • @virtual_dusk
    @virtual_dusk Год назад +2

    Fascinating approach at solving a problem I've been fighting with for at least a week now!
    It's probably worth noting that unless I'm dumb (always a possibility), the current iteration of the code works best for simple, mostly static entities. Anything with animations tends to clip out of the virtual frame, probably because the bounds are calculated from its initial state? But that seems easy enough to fix.
    On the other hand, giving the generated viewports their own World3D means the objects inside don't get collision or interaction with anything in the main world, because physics happens in the world that object exists in. (I discovered this when attaching my character controller to the manager and wondering for several minutes why I was getting a blank screen until I dug through the local node info and discovered it had plummeted millions of kilometers into the void.)
    I'm not sure if there's a good solution to this one, but I hope there is because I really, really like how this looks.
    Great work!

    • @Madalaski
      @Madalaski  Год назад

      In terms of animation, that's as simple as increasing the "sprite_size" parameter on the PixelNode we made. The animation should play withing the bounds after then.
      You can do the same thing with collision as I did with lighting but obviously that could definitely hit your performance.
      The "World Linking" bit I show at the end is something I'm experimenting with, where you can set a world in Godot to inherit certain objects from the main world, so realistically it wouldn't take any extra processing.
      However! I have an even better solution for you!
      You'll need to edit my code a bit but the only things that need to exist in the viewport's world are the model, animation and the lighting. Anything else (physics, character controller, logic) can all stay with the sprite. Then instead of having the sprite match its position to the character, you just have the character model match its position to the sprite!
      That should solve your problem with physics :)
      PS: If the physics needs to read data from the model in some way (like bone collision or something) that's still possible to duplicate the information across and keep all the physics on the sprite node.

    • @virtual_dusk
      @virtual_dusk Год назад

      @@Madalaski After commenting, it hit me that I might be attaching the node at the wrong place in the hierarchy, and it sounds like I was on the right track. I'm still in my experimentation phase, but I get the feeling I'll be playing around with this concept for a while! So thank you again for the insight. 🙏

    • @noiJadisCailleach
      @noiJadisCailleach Год назад

      @@Madalaski Looks like a followup tutorial, then?
      I mean, you know. I'd rather find that vid than sift through the comments to know how and what i'm supposed to be doing.

  • @tekhiun
    @tekhiun Год назад +5

    By the way I see your GDscript code is not typed. You should always type your GDscript code because it will run faster due to optimizations.

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

    Step 1 delete Unity
    Me: oh this is gonna be a good guide

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

    Im still unsure on how to get it to work if the charecther has children that are moved relative to the parent. Then the perspective breaks

  • @secondleasegamer8312
    @secondleasegamer8312 Год назад

    Would love to see the 1-bit shader you made as well as Useless Game Dev's Moebius-style 3D Shader remade for Godot. These are my favorite shaders.

  • @nohanbudry
    @nohanbudry День назад

    Love the step one! xD

  • @sw97058
    @sw97058 Год назад

    There is a semi-official solution in the works for the console problem. The creators of Godot have recently started a company, w4 games, which will have their own fork of Godot that is license compatible with console APIs. There will be fees associated with this version but they say the fees won't be higher than other engines.

  • @ghostradiodelete
    @ghostradiodelete Год назад +1

    You had me at step 1.

    • @Madalaski
      @Madalaski  Год назад

      The other steps are pretty good too!

  • @tri99er_
    @tri99er_ Год назад +1

    This is huge!

  • @njdarda
    @njdarda 11 месяцев назад +1

    ah yes. a lee mack afficionado

  • @cosmicrevolt7476
    @cosmicrevolt7476 Год назад +1

    The Godot founders have created a private company to get the apis and develop a "low cost" porting solution. The good news is that its not tied to Godot so even if they make sill choices Godot isn't effect.

    • @Madalaski
      @Madalaski  Год назад +1

      Yeah, this is a good solution but "low cost" will likely mean a lot of different things to a lot of different people. Not being a negative nancy! But its the main problem with open-source engines and I figured people should know.

  • @dynstinn
    @dynstinn Год назад +1

    after the new update in the fees, i am still gonna use unity but am learning godot just in case, i will be using godot more tho

    • @Madalaski
      @Madalaski  Год назад

      I think that's completely understandable! I think the changes that Unity made are good and there are members of the Unity community that fought like hell to get them (despite a lot of other people sending them abuse for being Unity shills) but the fact that they can now stop supporting the old LTS versions and review the revenue % they take annually, still makes me incredibly worried. I'm glad that engine diversity is becoming more of a habit though!

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

    Beautiful.

  • @someghosts
    @someghosts Год назад +1

    This is great! Subscribed. Would this method make lighting, shadows and global illumination difficult though? If you wanted some nice lighting while using this technique would you calculate that on the view with the flat sprites? Or some other way?

    • @Madalaski
      @Madalaski  Год назад +1

      You can copy the lighting over to the Pixel World like I do in this video, or you can do some fancy lighting with the sprite itself, really your choice!

  • @friendlyfox2189
    @friendlyfox2189 Год назад +1

    I love step 1

  • @rok_e
    @rok_e Год назад +1

    Wow, Asome =)

  • @sapbucry
    @sapbucry Год назад +1

    Awesome video. More please. I wonder how would you approach shader for fog of war that takes array of Vector2i positions of buildings on isometric grid map to mask the fog or cloud shader in Godot. I’ve been sitting on it for days, tried maybe making textures to pass to shader but they added array uniforms. Still haven’t solved it yet. Keep up the good work !

    • @Madalaski
      @Madalaski  Год назад +1

      I don't have all the information but if you have a texture where each pixel is a point on your grid representing where the fog should show, then you can sample the texture with the grid coordinates as your UV coordinates and use that value to disappear/appear the fog. The filtering of the texture should make the affect nice and smooth.

    • @sapbucry
      @sapbucry Год назад

      @@Madalaski thanks for that. I usually struggle with the details, like how to make it follow camera, where to place the shader (on canvas item ?), when it’s in a texture with the size of the screen, then need to take the zoom into the account, and it’s not super performant to scale it. Then there’s the issue of isometric tiles translation to shader coordinates and all of the things like that that keep adding up or the solution :) fun stuff

  • @iivarimokelainen
    @iivarimokelainen Год назад +1

    Still haven't seen a single successful commercial game in Godot.

    • @Madalaski
      @Madalaski  Год назад

      Dome Keeper? Endoparasitic? Sonic Colors: Ultimate? Just a cursory google search clears that up.

    • @iivarimokelainen
      @iivarimokelainen Год назад

      @@Madalaski Sure Dome Keeper is a game that's on Steam and made with Godot, but it's a game with graphics and gameplay that could have been made in game maker, or even without any engine at all, do you know what I mean?
      I'd love to see a project that would really put Godot on the map. I'm personally skeeved out by Godot having it's own custom scripting language (no IDE, no proper debugging tools, no package manager, etc etc etc), but game engine space definitely needs some competition, so I'm cheering for Godot to become a real player. Right now it's not, sadly. With Unity you can name a huge list of absolute timeless banger classics, like Subnautica, Hollow Knight, Cities Skylines, Outer Wilds and so on. Godot needs that kind of list. Before that happens investors won't look good on a team using Godot.

  • @kiyasuihito
    @kiyasuihito Год назад +1

    I like this channel 🎉

    • @Madalaski
      @Madalaski  Год назад

      Thanks, this channel likes you!

  • @totheknee
    @totheknee 9 месяцев назад

    1:31 - Dude, if you know C, it takes the better part of 1 week to write your own sprite engine for Windows from scratch. And it will be custom tailored to your game forever. Check out the first episodes of Handmade Hero if you are in doubt.

    • @Madalaski
      @Madalaski  9 месяцев назад

      I mean sure, and I exclusively work with proprietary engines for a living, but there's a lot lot more than just rendering that the Godot Engine can give me.

  • @cmalky
    @cmalky Год назад +1

    I'm very new to Godot + scripting in general but love this style so I thought I'd try it out but I can't for the life of me get it to work. Constantly met with "Invalid call. Nonexistent function 'get' in base 'NodePath'".
    Maybe I'm not ready 🤣

    • @Madalaski
      @Madalaski  Год назад +2

      Woh hey, none of that language here! I took me 3 years of work to finally get this effect up and running and you're not gonna just give up now!
      If you're using the script I put up, I actually found an error with it yesterday. I uploaded a new copy, you can get it from the same link: drive.google.com/file/d/1L1BDMuk974VLJFjkEyPp-6L1CddnkE1I/view?usp=sharing
      You'll need to add the character node to the pixel_node_path array in editor as a new "NodePath" element.
      Hope this helps!

    • @cmalky
      @cmalky Год назад

      @@Madalaski you're a legend and an inspiration, lad. I'll be like you one day 👊

    • @Madalaski
      @Madalaski  Год назад +1

      @@cmalky It's really nothing, but hey there's no need to be like me, be like yourself! That'll be amazing enough ;)

  • @acefp7547
    @acefp7547 Год назад +1

    This is so cool!! I love your creative approach towards solving this problem. I wanted to make something similar, but with a 3D environment and hand draw 2D sprite characters. A pixelated 3D environment might be exactly the answer I've been searching for. I haven't tried looking at your code to closely yet, I'll try playing with it later. Curious what your thoughts are on using your solution for an environment rather than characters, and what changes might have to be made?

    • @Madalaski
      @Madalaski  Год назад +1

      Oooh that's an interesting one...
      Since theoretically you're only doing one bout of pixelisation (the environment) and not multiple passes, you probably want something similar to the method I showed at the beginning or in my "Intermediate Pixelart Effect" tutorial.
      Essentially you want a camera rendering out the environment in one texture that is the same as your screen but lower resolution. Then in the main view you combine both the pixelated environment path and the regular rendering of your characters/handrawn sprites.
      But in 3D, there's the issue of depth and getting these two values to correctly intersect. In the example I showed at the beginning I failed because despite successfully creating a viewport that displays depth, the 32-bit red channel of the viewport texture couldn't contain the 64-bit depth information.
      However, someone on Reddit came up with a clever solution which is to divide the depth information between the red and blue channels, using all 64 bits and then combining it back in the mainview.
      Kind of a hacky solution though, I'm hopefully going to look soon at allowing viewport depth to be queried in Godot...

    • @acefp7547
      @acefp7547 Год назад +1

      @@MadalaskiHmmm, yeah I hadn't thought about that issue with the depth. I am using an orthographic camera as well, could be potential oddities in there I hadn't yet considered. Essentially my goal is to capture a look similar to that of the Mario and Luigi Super Star Saga remake, which used pixel characters in a stylized 3D top down environment.
      Having the environment rendered at a lower resolution while the characters stay at their same size is exactly what I want! I also experienced the ol' method of changing the entire viewport size distorted the characters in an undesirable way.
      Thank you for writing out your thoughts on this, really appreciate it! I'll mess with it a bit and see if I can nail that look.
      And welcome to the Godot community, we're happy to have you here!!

  • @rustyshackleford6788
    @rustyshackleford6788 Год назад +1

    I wish for you to make more Godot tutorials.

    • @Madalaski
      @Madalaski  11 месяцев назад

      Well you told you me your wish so...

  • @bassemb
    @bassemb Год назад +1

    HI RUBLE!

    • @Madalaski
      @Madalaski  Год назад +1

      Well this cements more Ruble content in the future.

  • @txzk26
    @txzk26 Год назад +2

    Please show us more of Ruble

    • @Madalaski
      @Madalaski  Год назад +1

      As soon as I got this message he woke up and started zooming about so I can only assume he heard you.

  • @tyronewhite918
    @tyronewhite918 11 месяцев назад

    Got to admit. I love the hate Unity is getting right now. The way I saw it is it was the bridge between hobbyists and actual professional devs who tends to prefer Unreal. Competition is good, but you also have to know your customers.

  • @Luna_Kobold
    @Luna_Kobold 11 месяцев назад

    3d sprites in godot have a billboard flag, you didn't need to add that bit in at around 4:50 for billboarding as a heads up
    edit: there are plugins made by the community for console porting. i dunno which have been updated from godot3 to 4 yet but i know at least one for switch existed

  • @IshCelesios
    @IshCelesios Год назад

    awwww so cute!😍

  • @thebookofive
    @thebookofive 11 месяцев назад +1

    I wonder if it would be possible to achieve a 1bit 3D effect (similar to Return of the Obra Dinn)? I've seen some tutorials on Unity, but nothing on Godot so far

    • @Madalaski
      @Madalaski  11 месяцев назад

      Have you seen my tutorial? 😅 The concept is almost exactly the same no matter what engine you're using.

    • @thebookofive
      @thebookofive 11 месяцев назад

      @@Madalaski Yup, that's the one. 🌚 Ok, I'll be sure to try that method with Godot. I was just curious whether there's a difference in the process, since I'm not really well versed in coding.

    • @Madalaski
      @Madalaski  11 месяцев назад

      @@thebookofive There'll likely be a difference in setting up the values and actually applying the post processing but the rest of code should be very similar?

    • @thebookofive
      @thebookofive 11 месяцев назад

      @@Madalaski Okay, thanks!

  • @Lukifah
    @Lukifah Год назад +1

    Just lower the resolution of the Window? Multiple viewports kills performance in godot, also there's gdscript You know

    • @Madalaski
      @Madalaski  Год назад +1

      This is specifically for pixelating certain objects in-game but not others. Since the effect is in screen-space, it's not as simple as using a shader.
      I do detail an optimisation method in the video, but some of the changes I want to propose to the engine are about multiple viewports. In this case since they're so low resolution and only have a single objection, the performance hit isn't that bad!

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

    Step 1 is the best one

  • @gisodelenteja
    @gisodelenteja Год назад +1

    Hi! I really love how this looks, I'm completely new to Godot and was trying to get this working with a CharacterBody3D that has a collider and a model as children. If I use the CharacterBody as the node path, the pixel effect works but the collider disappears. Is this because the manager is replacing the body with the sprite? I cannot seem to find a workaround!

    • @Madalaski
      @Madalaski  Год назад +1

      Hey so someone else in the comments had a similar problem than you but the solution was simple so I'll relay it here.
      Essentially you want to alter the script so the model matches the sprites global position and not the other way round. Then make sure that the only things that are moving to the "pixel world" are your model and any visible children it needs. That way your model will be swapped out for your sprite but everything should still function and your scripts and colliders will just be moving the sprite around, which will in turn move the model.

    • @gisodelenteja
      @gisodelenteja Год назад +1

      @@Madalaski I got it working!! Thank you :D Appreciate the help

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

    Hi Ruble!

  • @Sarx-vw5oq
    @Sarx-vw5oq Год назад +1

    If you can't make the additions, have you tried submitting proposals to the proposal github repository?

    • @Madalaski
      @Madalaski  Год назад +1

      Yeah that was my plan if I couldn't make the additions :)

  • @galdocstutorials
    @galdocstutorials Год назад +1

    Hello from a fellow RUclipsr. Absolutely random question: How do you render your typing effect? Is it After Effects or something else? It's beautiful. :)

    • @Madalaski
      @Madalaski  Год назад +1

      Ironically it's a Unity project I made some years ago. The download link is on my Obra Dinn video. You'll need to do some heavy lifting to get it working proper. I'm planning on refactoring the whole thing in Godot, hopefully its Text features are good!

    • @galdocstutorials
      @galdocstutorials Год назад

      @@Madalaski That would be lovely! Hee. I do a bunch of random stuff and that's always been a pain point. Thank you! :)

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

    The effect itself is really really good, and it does leave a lot of freedom for the artistic expression. But there are two issues, the setup itself. If I have a scene with 100 different objects, having to add one by one and give each one of them it's size and res and adding it path would render(pun intended) the shader too tedious. I've been trying to modify and solve this but I do not have the same knowledge on shaders as you, so sure I got the automated node path populator(checks if object does not have property pixelate so you still can choose what to pixelate), but the sprite res and size? Can't get it working

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

      For large amounts of objects, you'd likely prefer using one of the techniques in my Unity videos that are screen-based instead of this local technique. The videos explain the shader techniques used and concepts so if you understand them, it shouldn't be too hard to translate them to Godot :)

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

    keep making tutorials pretty please

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

      @@thedeadman6171 Finally, someone asked nicely. What would you like to learn about?

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

      @@Madalaski I just got into godot, it's one of the only engine where things aren't burning me out and I love learning new things, so whatever you make and teach, I'll gladly learn from it and be super grateful for good fellas like you
      : )

  • @timothycalco8089
    @timothycalco8089 10 месяцев назад

    I just render the 3D scene at 1/8th resolution to achieve a similar effect but with incomprehensible performance.

  • @Algardraug
    @Algardraug Год назад +1

    Ruble!!

  • @SnakeEngine
    @SnakeEngine Год назад

    The reality is just this, it is safe to use Unity because Unity has competition. Unity will keep having an acceptable licence to remain competitive. So the irrational people who panic switch to inferior Godot, while the successful devs keep using Unity. You still get a like because I am a rational person.

    • @Madalaski
      @Madalaski  Год назад

      Okay, thanks for the like ☺️

  • @CharDhue
    @CharDhue 9 месяцев назад

    Step 1
    Ike im hooked

  • @david-wtf
    @david-wtf Год назад +1

    Danke!

    • @Madalaski
      @Madalaski  Год назад

      Bitte! Sehr danke! (Es tut mir leid, meine Deutsche ist ein bischen arm)

  • @aldyreal
    @aldyreal Год назад +1

    Please make more tutorial for godot

    • @Madalaski
      @Madalaski  Год назад

      Really depends on how successful this video is :)

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

    I just want to learn how to make a game like Signalis.

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

      You'd be better off looking at my Intermediate Pixel Tutorial from a few years back. The basic concept will show you how to add an easy "low res" effect.

  • @SRimperador_OFC
    @SRimperador_OFC 10 месяцев назад

    Tbh, as the unity direction is so freaking bad, in the future it is possible that we only have about 2 options of good engines, neither Unreal, neither Godot engine, but let's pray for the best ¯\_(ツ)_/¯

  • @thebluecactusstudiosmemory1483
    @thebluecactusstudiosmemory1483 Год назад +1

    Petition to start every Godot tutorial from now on with '"Delete Unity"

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

    ty

  • @jamjam.100
    @jamjam.100 Год назад

    Hi, Ive noticed your pixel art videos have done really well regarding your channel. Do you think you can update these with the more recent material thats now available? Thanks

    • @Madalaski
      @Madalaski  Год назад

      Hmm, last I checked all my pixel art videos are working off of a Unity LTS and build off of each other. Also RUclips doesn't let me just update videos, I'd have to upload a whole new one.
      If you're talking about updates from this video, then I should probably mention that one of my comments was not a joke. This version of the effect can't be replicated in Unity without some massive performance overheads, it's only possible in Godot and maybe Unreal.

  • @forestrf
    @forestrf Год назад

    >In Unity it's a deal breaker
    That's not a problem in Unity

  • @brutusmagnuson315
    @brutusmagnuson315 Год назад

    I wonder if the way it does viewports will allow easier use of mirrors

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

    i have been thinking of coding is godot a good engine for starters?

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

      @@kazular2 I have absolutely no idea, I started using Godot after 4 years of Uni and 2 years of coding Video Games professionally. Probably! I'm not really the person to ask. I started my game dev journey on more "base" engines like XNA, which made you do everything yourself, rendering to the screen and all. Godot seems pretty intuitive but everyone's gonna have a different experience. The start tutorials should only take you a couple hours, give em a go and see if it's your thing!