PIXELART EFFECT IN GODOT | ULTIMATE TUTORIAL

Sdílet
Vložit
  • čas přidán 22. 07. 2024
  • In response to Unity retroactively changing their licensing policy, I'm retroactively porting my Pixelart Effect into Godot, but with extra features.
    Manager Code: drive.google.com/file/d/1L1BD...
    Tutorial Playlist: • Madalaski Tutorials
    My Portfolio: madalaski.itch.io/
    I've been working on the Ultimate Pixelart Effect code on-and-off for 3 years, and I only just got it working with huge caveats.
    In Godot, it took me 1 day...
    Let me know what you think in the comments!
    00:00 - Initial Attempt
    01:12 - Ruble Content No. 1
    01:15 - Ultimate Pixelart Effect
    01:48 - Concept
    03:09 - Setup
    04:54 - Result
    05:44 - Discussion
    07:23 - Personal Updates
    08:08 - Surprise

Komentáře • 248

  • @CieMaKat
    @CieMaKat Před 10 měsíci +285

    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  Před 10 měsíci +34

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

    • @pythonxz
      @pythonxz Před 10 měsíci +11

      It might be shorter than that.

    • @FlooferLand
      @FlooferLand Před 10 měsíci +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 Před 9 měsíci

      @@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 Před 9 měsíci +1

      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 Před 10 měsíci +93

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

    • @Madalaski
      @Madalaski  Před 10 měsíci +10

      Thanks for the support :)

  • @gamedevaki
    @gamedevaki Před 10 měsíci +18

    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  Před 10 měsíci +3

      Wahey glad I nailed it with the Octopath reference!

  • @adamjensen3997
    @adamjensen3997 Před 10 měsíci +9

    Hey, I'm on TV!
    Great video! I decided to pivot to Unreal, but I might still do some experimenting in Godot. There's no harm in learning more, and keeping your options open. 😄

  • @asdgreersf
    @asdgreersf Před 10 měsíci +47

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

    • @Madalaski
      @Madalaski  Před 10 měsíci +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 Před 10 měsíci +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!

  • @Dominator837
    @Dominator837 Před 9 měsíci +26

    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  Před 8 měsíci +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 Před 8 měsíci +3

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

  • @jessekcooley530
    @jessekcooley530 Před 9 měsíci +2

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

  • @Davi_Dash
    @Davi_Dash Před 10 měsíci +7

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

    • @Madalaski
      @Madalaski  Před 10 měsíci +9

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

  • @ScumlordStudio
    @ScumlordStudio Před 5 měsíci +1

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

  • @brandonjacksoon
    @brandonjacksoon Před 5 měsíci +1

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

  • @colinegge
    @colinegge Před 10 měsíci +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  Před 10 měsíci +3

      Haha, glad I could help!

  • @ozymandass
    @ozymandass Před 10 měsíci +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  Před 10 měsíci

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

    • @Madalaski
      @Madalaski  Před 10 měsíci

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

  • @brandonjacksoon
    @brandonjacksoon Před 5 měsíci +1

    Thank you for this awesome tutorial!

  • @geisttraft7190
    @geisttraft7190 Před 10 měsíci +5

    Return of the King!

    • @Madalaski
      @Madalaski  Před 10 měsíci

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

  • @benjaminbaer5485
    @benjaminbaer5485 Před 9 měsíci +2

    Thanks for showing godot some love!

  • @jackmakmorn
    @jackmakmorn Před 10 měsíci +1

    You got me hooked with the first sentence 🤘🤘🤘

  • @dukemagus
    @dukemagus Před 10 měsíci +1

    Congrats for the new job at CA!

  • @sealsharp
    @sealsharp Před 10 měsíci +1

    Welcome back Sir!

  • @noiJadisCailleach
    @noiJadisCailleach Před 10 měsíci +1

    Earned a sub.
    Keep making tutorials!

  • @mgordon1713
    @mgordon1713 Před 10 měsíci +1

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

  • @josemanuel5205
    @josemanuel5205 Před 10 měsíci +2

    The Return of the King!

    • @Madalaski
      @Madalaski  Před 10 měsíci

      Godot and Ring must make it to Mordor

  • @devanmauch7843
    @devanmauch7843 Před 2 měsíci +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

  • @coffeecatrailway
    @coffeecatrailway Před 10 měsíci +2

    You had me at step 1!

    • @Madalaski
      @Madalaski  Před 10 měsíci

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

  • @paulkanja
    @paulkanja Před 10 měsíci +2

    Keep making tutorials
    Yours truly,
    A ton of people

    • @Madalaski
      @Madalaski  Před 10 měsíci +1

      Damn you solved my riddle

  • @sbruchmann
    @sbruchmann Před 9 měsíci +1

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

    • @Madalaski
      @Madalaski  Před 9 měsíci +1

      What can I say, I have a talent

  • @TheVideoGuardian
    @TheVideoGuardian Před 8 měsíci +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  Před 8 měsíci +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.

  • @Dominik-K
    @Dominik-K Před 10 měsíci +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  Před 10 měsíci +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

  • @adolfolopez1715
    @adolfolopez1715 Před 9 měsíci +1

    this was so helpful :weeping:

  • @entei6736
    @entei6736 Před 10 měsíci +1

    Absolute legend

  • @wasimoto_7540
    @wasimoto_7540 Před 28 dny

    Beautiful.

  • @Cazadragoness
    @Cazadragoness Před 10 měsíci +1

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

    • @Madalaski
      @Madalaski  Před 10 měsíci +1

      I'll think about it :)

  • @brokenbottle3514
    @brokenbottle3514 Před 9 dny +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

  • @byunglee8752
    @byunglee8752 Před 10 měsíci +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  Před 10 měsíci

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

  • @brutusmagnuson315
    @brutusmagnuson315 Před 9 měsíci

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

  • @JerryA189
    @JerryA189 Před 6 měsíci +1

    Thank you for the tutorial

  • @NitramiuZ
    @NitramiuZ Před 10 měsíci +5

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

    • @Madalaski
      @Madalaski  Před 10 měsíci +4

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

    • @sainmanstanding
      @sainmanstanding Před 4 měsíci

      ​@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.

  • @secondleasegamer8312
    @secondleasegamer8312 Před 9 měsíci

    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.

  • @digitaltectonics
    @digitaltectonics Před 10 měsíci +2

    You are awesome!

  • @ryzechdev
    @ryzechdev Před 9 měsíci +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  Před 9 měsíci

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

  • @nachtbeirmann4760
    @nachtbeirmann4760 Před 3 měsíci

    What if I want to do the reverse? I want to apply a pixelating shader to my viewport but not the character

    • @Madalaski
      @Madalaski  Před 3 měsíci

      Best option is to pixelated in screen space, then superimpose the unpixelated character on top of that. You be able to use the new Godot 4.4 rendering compositors for that easy, they look really cool.

  • @user-lx7xb7cp3g
    @user-lx7xb7cp3g Před 6 měsíci

    I tried, but it didn't work for me. Is the project still there? I want to watch it live.

  • @user-oc6of2cd5r
    @user-oc6of2cd5r Před 10 měsíci +1

    only 2 seconds in, already dig the tutorial

    • @Madalaski
      @Madalaski  Před 10 měsíci

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

  • @user-pq2ih4yh3r
    @user-pq2ih4yh3r Před 9 měsíci

    awwww so cute!😍

  • @AkramSays
    @AkramSays Před 5 měsíci

    Keep making Godot tutorials. please :)

  • @Smaxx
    @Smaxx Před 10 měsíci +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  Před 10 měsíci +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 Před 9 měsíci +1

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

    • @Madalaski
      @Madalaski  Před 9 měsíci +1

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

    • @Smaxx
      @Smaxx Před 9 měsíci +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.

    • @user-rl1ds8li2x
      @user-rl1ds8li2x Před 4 měsíci

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

  • @D-Ogi
    @D-Ogi Před 10 měsíci +1

    Keep making Godot tutorials please!

    • @Madalaski
      @Madalaski  Před 9 měsíci

      That's another vote for Godot Tutorials!

  • @Sarx-vw5oq
    @Sarx-vw5oq Před 10 měsíci +1

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

    • @Madalaski
      @Madalaski  Před 10 měsíci +1

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

  • @thebookofive
    @thebookofive Před 8 měsíci +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  Před 8 měsíci

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

    • @thebookofive
      @thebookofive Před 8 měsíci

      @@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  Před 8 měsíci

      @@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 Před 8 měsíci

      @@Madalaski Okay, thanks!

  • @tri99er_
    @tri99er_ Před 9 měsíci +1

    This is huge!

  • @poggarzz
    @poggarzz Před 10 měsíci +1

    ok but I love mista rubel, very charming fella

    • @Madalaski
      @Madalaski  Před 10 měsíci +1

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

  • @someghosts
    @someghosts Před 9 měsíci +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  Před 9 měsíci +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!

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

    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

  • @bassemb
    @bassemb Před 10 měsíci +1

    How are you animating the code, like at 4:33?

    • @Madalaski
      @Madalaski  Před 10 měsíci +1

      A Code Animator I designed (ironically in Unity) a few years ago: github.com/Madalaski/CodeAnimator
      It's not great I'm constantly editing it heavily to get it work for my videos. Might redesign the entire thing in Godot xD

  • @Sylfa
    @Sylfa Před 9 měsíci +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  Před 9 měsíci

      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!

  • @tekhiun
    @tekhiun Před 9 měsíci +4

    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.

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

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

  • @gisodelenteja
    @gisodelenteja Před 9 měsíci +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  Před 9 měsíci +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 Před 9 měsíci +1

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

  • @ghostradiodelete
    @ghostradiodelete Před 10 měsíci +1

    You had me at step 1.

    • @Madalaski
      @Madalaski  Před 10 měsíci

      The other steps are pretty good too!

  • @acefp7547
    @acefp7547 Před 10 měsíci +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  Před 10 měsíci +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 Před 10 měsíci +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!!

  • @friendlyfox2189
    @friendlyfox2189 Před 10 měsíci +1

    I love step 1

  • @jamjam.100
    @jamjam.100 Před 9 měsíci

    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  Před 9 měsíci

      Hmm, last I checked all my pixel art videos are working off of a Unity LTS and build off of each other. Also CZcams 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.

  • @jaximo98_dev
    @jaximo98_dev Před 17 dny

    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  Před 17 dny

      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 :)

  • @CharDhue
    @CharDhue Před 6 měsíci

    Step 1
    Ike im hooked

  • @MyNameIsPetch
    @MyNameIsPetch Před 10 měsíci +1

    been YEARS since I've watched not going out

    • @Madalaski
      @Madalaski  Před 10 měsíci

      What's insane is that it's STILL GOING

    • @MyNameIsPetch
      @MyNameIsPetch Před 10 měsíci

      @@Madalaskiwait what???

  • @wolflyset
    @wolflyset Před 9 měsíci

    Just showing the cat, 10/10

  • @sapbucry
    @sapbucry Před 9 měsíci +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  Před 9 měsíci +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 Před 9 měsíci

      @@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

  • @kiyasuihito
    @kiyasuihito Před 10 měsíci +1

    I like this channel 🎉

    • @Madalaski
      @Madalaski  Před 10 měsíci

      Thanks, this channel likes you!

  • @rok_e
    @rok_e Před 10 měsíci +1

    Wow, Asome =)

  • @BackForwardPunch
    @BackForwardPunch Před 9 měsíci

    Couldn’t you just prerender these frames and save them as sprite textures to save on rendering cost during runtime?

    • @Madalaski
      @Madalaski  Před 9 měsíci +1

      Sure, and that's what games like Donkey Kong Country and GhostTrick do but it doesn't work with dynamic lighting or animations without needing 1000s of textures/sprites.

    • @BackForwardPunch
      @BackForwardPunch Před 9 měsíci

      @@Madalaski Nice, that makes sense, the dynamic lighting would be a nice touch.

  • @jorgegomes83
    @jorgegomes83 Před 9 měsíci +2

    1:08 This is a time paradox.

    • @Madalaski
      @Madalaski  Před 9 měsíci +1

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

    • @jorgegomes83
      @jorgegomes83 Před 9 měsíci

      @@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.

  • @simonw.1223
    @simonw.1223 Před 10 měsíci +1

    Hey how did you make this? Like knowing this like I wanna know how. Like judt knkwing the stuff and applying it.

    • @Madalaski
      @Madalaski  Před 10 měsíci

      Years of practice, experience and experimentation.
      Also I have a Master's Degree of Computer Science but to be honest that only slightly helps with the low-level graphics stuff.

    • @Madalaski
      @Madalaski  Před 10 měsíci

      The key thing is to never give up! I worked on this project on and off in Unity for over 3 years and I couldn't get it the way I wanted.
      But with all that knowledge and history, I was able to complete the effect in Godot in just 1 day!

    • @simonw.1223
      @simonw.1223 Před 10 měsíci

      @@Madalaski yeah like I think you need alot of knowledge to do something like this.

    • @simonw.1223
      @simonw.1223 Před 10 měsíci

      @@Madalaski but you will never let the project down? Never gonna run around and desert the project

    • @Madalaski
      @Madalaski  Před 10 měsíci

      @@simonw.1223 haha exactly. The knowledge is out there though, almost everything I learnt about game engines was from free resources online. Though my skills have definitely improved over the last 2 years of my career 😁

  • @unohhhjjdd6716
    @unohhhjjdd6716 Před 10 měsíci +5

    Great video! Regarding console support, the founders of Godot some time ago set up a company called W4, with the main intent of providing easy and reliable console support for godot developers. I don't think it will be free of course, when the services are available. However, since 1 or 2 years I think, in Unity it's not free either, as you have to buy a premium subscription like Plus or Pro to export to console. However Plus is not there anymore xD, and Pro costs 2k/year. I don't think this is really a selling point for Unity at the moment.

    • @Madalaski
      @Madalaski  Před 10 měsíci +1

      Oh wow I had no idea that Unity made you pay for console support now, that sucks!
      I do know about W4 though, they were the "3rd party" I mentioned ☺️

    • @SylvanFeanturi
      @SylvanFeanturi Před 10 měsíci

      @@Madalaski It's not a new development. It was always like this.

  • @bassemb
    @bassemb Před 10 měsíci +1

    HI RUBLE!

    • @Madalaski
      @Madalaski  Před 10 měsíci +1

      Well this cements more Ruble content in the future.

  • @Algardraug
    @Algardraug Před 10 měsíci +1

    Ruble!!

  • @timothycalco8089
    @timothycalco8089 Před 7 měsíci

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

  • @virtual_dusk
    @virtual_dusk Před 10 měsíci +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  Před 10 měsíci

      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 Před 10 měsíci

      @@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 Před 10 měsíci

      @@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.

  • @galdocstutorials
    @galdocstutorials Před 10 měsíci +1

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

    • @Madalaski
      @Madalaski  Před 10 měsíci +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 Před 10 měsíci

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

  • @bhg805
    @bhg805 Před 5 měsíci +2

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

  • @njdarda
    @njdarda Před 8 měsíci +1

    ah yes. a lee mack afficionado

  • @mcrmy988
    @mcrmy988 Před 8 měsíci

    Step 1 is the most important step.

  • @dynstinn
    @dynstinn Před 10 měsíci +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  Před 10 měsíci

      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!

  • @Smabverse
    @Smabverse Před 4 měsíci +1

    ty

  • @rustyshackleford6788
    @rustyshackleford6788 Před 9 měsíci +1

    I wish for you to make more Godot tutorials.

    • @Madalaski
      @Madalaski  Před 8 měsíci

      Well you told you me your wish so...

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

    Step 1 is crucial

  • @david-wtf
    @david-wtf Před 9 měsíci +1

    Danke!

    • @Madalaski
      @Madalaski  Před 9 měsíci

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

  • @iivarimokelainen
    @iivarimokelainen Před 9 měsíci +1

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

    • @Madalaski
      @Madalaski  Před 9 měsíci

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

    • @iivarimokelainen
      @iivarimokelainen Před 9 měsíci

      @@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.

  • @wardeng9
    @wardeng9 Před 5 měsíci

    Step 1 is the best one

  • @Luna_Kobold
    @Luna_Kobold Před 8 měsíci

    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

  • @aldyreal
    @aldyreal Před 10 měsíci +1

    Please make more tutorial for godot

    • @Madalaski
      @Madalaski  Před 10 měsíci

      Really depends on how successful this video is :)

  • @cosmicrevolt7476
    @cosmicrevolt7476 Před 9 měsíci +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  Před 9 měsíci +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.

  • @Lukifah
    @Lukifah Před 10 měsíci +1

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

    • @Madalaski
      @Madalaski  Před 10 měsíci +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!

  • @sw97058
    @sw97058 Před 9 měsíci

    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.

  • @totheknee
    @totheknee Před 6 měsíci

    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  Před 6 měsíci

      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 Před 10 měsíci +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  Před 10 měsíci +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 Před 10 měsíci

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

    • @Madalaski
      @Madalaski  Před 10 měsíci +1

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

  • @shizukaryujoukai2465
    @shizukaryujoukai2465 Před 5 měsíci +1

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

    • @Madalaski
      @Madalaski  Před 5 měsíci +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.

  • @CristianAvellino
    @CristianAvellino Před 10 měsíci +1

    noice

  • @luckylovely7782
    @luckylovely7782 Před 7 měsíci

    open and coding ❌
    drag and drop to recycle bin✔️

  • @machelium6166
    @machelium6166 Před 9 měsíci

    hi ruble

  • @SRimperador_OFC
    @SRimperador_OFC Před 6 měsíci

    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 ¯\_(ツ)_/¯

  • @tyronewhite918
    @tyronewhite918 Před 8 měsíci

    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.