hamsterbyte
hamsterbyte
  • Видео 12
  • Просмотров 113 209
Godot 4 - Conway's Game Of Life (Full Lesson)
Git
github.com/hamsterbyte/Godot-4-Conways-Game-Of-Life
00:00 Intro
00:57 Rendering Explanation
01:57 Creating A Shader
03:14 Writing The Dot Matrix Shader
07:58 Setting Up Dot Matrix Display
11:58 Processing Explanation
13:57 Creating The Compute Shader
14:47 GLSL IDE Support?
15:26 Writing The Compute Shader
26:49 Creating The Dispatcher
27:27 Writing The Dispatcher
56:04 Setting Up Dispatcher
56:47 Fixing Compute Shader Bugs
57:23 Final Testing
Join me in this exciting video where I'll show you how to create Conway's Game of Life using a compute shader in Godot 4. This tutorial is designed for both beginners and seasoned developers who are interested in exploring the power of compute shaders.
I'll star...
Просмотров: 5 902

Видео

Godot 4 C# Addon You Didn't Know You Needed - Color Palettes
Просмотров 1 тыс.Год назад
GIT github.com/hamsterbyte/Godot-4x.NET-Color-Palettes In this video, I'm showing you how to use the color palette addon for Godot .NET 4 , a freebie that I created for you! This addon lets you customize the colors of your objects in Godot by using color palettes and swatches! You can import, edit, and save color palettes. The best part? The palettes are stored in files so they are managed by v...
Godot 4 C# - Ultimate Developer Console (Free Addon and Lesson)
Просмотров 2,5 тыс.Год назад
Prerequisites: Godot 4.x .NET .NET 6.0 GitHub Repo github.com/hamsterbyte/Godot-.NET-4x-Developer-Console The full repository is available at this link, but you should only need the files included in the .zip 0:00 Introduction 0:15 Features Overview 7:53 Installation 9:37 Settings 11:56 In Depth Overview 21:32 Adding Custom Commands Psst, you want a free developer console addon for Godot 4, tai...
Wave Function Collapse Is A Thing - Godot 4.1 C# (Full Lesson)
Просмотров 8 тыс.Год назад
It was recently brought to my attention by a comment that 4.2 introduces breaking changes to this system. So stick with 4.1 if you want to download and run the project from Git. It was also mentioned that the plugin may think it is GDScript, so double check when enabling the plugin that the language is set to C#. Thanks for all the support everyone! GIT github.com/hamsterbyte/Wave-Function-Coll...
Godot 4 C# Custom Resources & Tooling (Full Lesson)
Просмотров 7 тыс.Год назад
Coming from Unity you are probably wondering if you can use scriptable objects in Godot. You definitely can! They are called resources. In this video we will be going over how to create custom resources and how to make some custom tooling to interact with those resources directly in the editor. Git: github.com/hamsterbyte/CSharp-Godot-Custom-Tools-And-Resources/tree/Lesson-Start Godot .NET 4.1 ...
Godot 4 C# Making A Terraria Inspired Procedural Tilemap (Full Lesson)
Просмотров 8 тыс.Год назад
GitHub github.com/hamsterbyte/CSharp-Procedural-Terrain 0:00 Intro 0:27 Syllabus 3:02 Setup and Noise Generation 13:49 Smoothing The Noise 21:50 Cleaning Up Regions 35:11 Custom Tooling Explanation 38:32 Implementing Tilemap Rules 48:57 Input Detection and Runtime Modification 1:10:29 Adding Seed Logic In this full lesson, we'll be creating a procedurally generated tilemap in Godot using C#. If...
C# is BETTER than GDScript but...
Просмотров 31 тыс.Год назад
Which language should you use for scripting in Godot 4? Clearly GDScript right? Well, yes and no. C# vs GDScript debate settled. In this video, we'll compare C# and GDScript, two popular programming languages for Godot. We'll explore how they're similar and different, and which one is better for specific tasks. If you're looking to learn more about C# or GDScript, this video is for you! By the ...
Godot 4 C# Basic Platformer Controller 1.04 - Jumping
Просмотров 1,3 тыс.Год назад
In this video, we'll be smoothing out our character movement with linear interpolation and creating the system to handle jumping! If you're new to Godot and looking to learn how to create a basic platformer controller, then this video is for you! If you found this content useful, please like and subscribe! GITHUB github.com/hamsterbyte/CSharp-Godot-Basic-Platform-Controller/tree/1.04 SPRITES (C...
Godot 4 C# Basic Platformer Controller 1.03 - Horizontal Movement
Просмотров 1,9 тыс.Год назад
In this video, we are going to start implementing a system to control horizontal movement for our basic platformer controller using Godot and C# You can find the source code for this controller on my GitHub page. If you're interested in making your own games using Godot, this is a great starting point! This controller is compatible with Godot 4.0 and above. If you have any questions or comments...
Godot 4 C# Basic Platformer Controller 1.02 - Gravity
Просмотров 2,8 тыс.Год назад
In this video we are going to be getting started on the basic Godot platformer controller by implementing gravity using C#. This video will teach you how to create a custom gravity system for your platformer controller If you're new to Godot, or you're looking for a project to start your gamedev skills, this is the video for you! In this video, we'll be building a basic platformer controller us...
Godot 4 C# Basic Platformer Controller 1.01 - Concepts
Просмотров 4 тыс.Год назад
In this series, I'm going to show you how to create a basic Godot C# platformer controller.. I'll be using the Godot Engine to create the game, and you'll be able to follow along step by step. This platformer controller tutorial is perfect for beginners who want to learn how to create a basic platformer using the Godot Engine. By the end of this series, you'll be able to create a basic platform...
Godot 4 - C# Setup Guide
Просмотров 40 тыс.Год назад
If you are struggling to set up C# support in Godot, give this video a watch. I will walk you through the installation and setup process. You will need some resources before getting started. Godot .NET godotengine.org/download/windows/ .NET 6.0 - .NET version 6 is mandatory, do not use version 7! dotnet.microsoft.com/en-us/download Visual Studio Community - When installed visual studio, be sure...

Комментарии

  • @WhoLetsBludCook
    @WhoLetsBludCook 17 часов назад

    can you code in Godot itself without Visual studio ?

    • @hamsterbyte
      @hamsterbyte 16 часов назад

      Yes, but I wouldn't recommend it. You can install VS Code or Rider as alternatives to visual studio

  • @FaKeZiINxD
    @FaKeZiINxD 3 дня назад

    Getting some errors about the plugin used in the tutorial, is there a substitute for newer versions of godot?

  • @beidero
    @beidero 3 дня назад

    That is a really nice console, I've made a few in the past and none of them had this feature set. Think I will test this out on my next project

    • @hamsterbyte
      @hamsterbyte 3 дня назад

      @@beidero thanks, it works quite well. Good luck!

  • @JrMonkey
    @JrMonkey 7 дней назад

    can any one explanain me the difference between normal engine and the .Net which supports C# 😅

    • @hamsterbyte
      @hamsterbyte 7 дней назад

      @JrMonkey TLDR a game engine is a tool for making games. .NET is a collection of libraries for making cross platform applications. A game engine is a tool for assembling and rendering components. They also usually incorporate a variety of other things like physics, lighting, etc. It saves you the time of having to write all of those systems yourself. .NET is a multi-platform framework, essentially a collection of libraries, that allows you to use intermediate language code via C# or F# to write applications. C# implementation in Godot is handled by an API that calls functions in the native code to control your game. These are called bindings and are to be avoided wherever possible in C#...but I digress.

    • @JrMonkey
      @JrMonkey 7 дней назад

      @hamsterbyte thanks you for the reply, you are awesome

    • @hamsterbyte
      @hamsterbyte 7 дней назад

      @JrMonkey no problem, good luck!

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

    i just go both lmao

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

    I got all of the stuff, but now I just have a bunch of windows open, godot not working, and no idea what to do now.

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

      me too, my problem is that .net doesnt show up in godot therefore it doesnt make open c sharp. if this is your problem too and if i can resolve it, ill' come back

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

    Dude, you're an angel I swear. You've got yourself a new subscriber! ❤

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

    Hey man, incredible video with one of the best quality I've seen in a while. Quick question: can I use gdscript instead of C# for the dispatcher code? If not, why?

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

      Absolutely you can! One of my viewers actually converted the dispatcher to GDScript already github.com/giuliano108/Godot-4-Conways-Game-Of-Life/tree/no_csharp

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

    What about Steam version of Godot

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

    Hi, I keep getting this Error at 8.52: CS1929 'Vector2' does not contain a definition for 'GetRaw' and the best extension method overload 'Extensions.GetRaw(Vector2)' requires a receiver of type 'System.Numerics.Vector2'. Does anyone know what could be wrong?

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

      I fixed it! I missed the part where you need to put "using Godot;" before "using System" in the Extensions file!

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

    what ide do you use?

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

    God bless ya

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

    c# hard for me (gd script) :)))

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

    Hello, is there a good way to add customer color highlighting? I am trying to output file contents similar to your level output and it would be good to be able to differentiate between files and directories visually. Due to the way I have level loading, just using your level directory script is not what I'll be doing. Still this should be amazingly useful.

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

      In theory it is possible, but how you achieve it depends on what you want to do. If I recall correctly, the level loading feature supports subdirectories and changing the parent directory should be relatively easy by looking at the code. As far as custom color highlighting, the main text is in a code control so color highlighting is possible. It could also be done with BBCode, but would require heavy modification of the files to convert everything from the code block. I chose the code block for simplicity. I'd need more information to make any kind of useful suggestions. Thanks for watching and I hope you find it useful!

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

    You mentioned you can interpolate the body itself versus the sprite. I want to try that and see how it works, but I can't seem to get it to work. How would one interpolate the character body instead?

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

      Interpolation is a whole discussion in itself. There a many different ways to interpolate objects in a game. Interpolating physics bodies is now possible in Godot 4.3 out of the box which should, in theory, eliminate the need for separating the sprite from the physics body for smooth movement. I haven't tested this yet, but my suggestion would be to upgrade to 4.3 and enable 2D physics interpolation. Thanks for watching!

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

    This series has been so helpful. The basics are so important and I went through quite a few tutorials that teach you nothing about how the mechanics work, just how to implement them... I'm sure most consider the foundational math at play here simple or just unnecessary to understand fully, but it has been imperative for my learning process. Thank you!

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

      Math foundations are the most important thing in any developers toolbox. Thanks for watching!

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

    Hey, when I try to build the project after all the coding is done, I can't get the "Build" button to show up, so I'm stuck with Dispatcher.cs not being able to do anything. When I try running it anyway I get a bunch of errors saying "The type or namespace name [a whole bunch of different variables] could not be found (are you missing a using directive or an assembly reference?) What does this mean?

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

      Impossible to say without more information unfortunately. Which type or namespace is missing? This error is typically caused by a missing using statement at the top of a file.

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

    This is a wonderful tutorial! I've been looking for some more godot C# tutorials and you make good ones! I know you haven't posted in a while, but I hope you post more!

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

      Been extremely busy with other projects but I plan to get back to posting soon. Thanks for watching!

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

    3:00 was exactly what I was looking for - thanks :)

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

    If u have to overload engine with heavy MATH functions, u just can install C++ extensions for that.

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

      Of course, and C++ will perform slightly better than properly written C# code...the point of the video is to illustrate the difference between GDScript and C#. However, C++ is not something most people using Godot are going to be comfortable with. Most use GDScript because it is easy and beginner friendly. C# is in the middle for difficulty and nearly as performant as C++ if implemented correctly. Also, it's not really just about math as iteration is the main drawback of using GDScript. It struggles when iterating over collections and that is something that is prevalent in ALL code bases. It's impractical to implement C++/GDExtension for everything that requires some sort of iteration. At that point, you should just write the entire project in C++...

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

    yahoo was wondering that does .NET 8.0 work? Very new to working with godot and programming in general so if there is a way/ its better to get the .NET 6.0? and if so how :)

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

      .NET 8 works great and I would use that. It will require that change the target framework in your csproj file though. Pretty easy to do, just google it. cheers!

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

      @@hamsterbyte thank you!

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

    is the Vector2 "vel" method a method you created or is it a part of Vector2 by default? if you did create it, how/where is it defined? i tried to google it and i got no results

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

      vel is a variable of type Vector2 which means it is defined somewhere in the code that is provided in the video, or the prior video; this is a series. IIRC this controller uses a series of methods with ref Vector2 arguments to modify a velocity variable incrementally before finally assigning it to the velocity of the character body. If you are unfamiliar with what a certain piece of code does, I would recommend that you watch through the entire series, pausing to make sure you understand completely. This series covers all the basics needed for a platform controller. Unfortunately, this is by far the most beginner friendly tutorial series I've uploaded. I'll try and make some more beginner friendly tutorials in the near future. Sorry I couldn't be more helpful, it's been a while since I've reviewed this particular code. Cheers!

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

      @@hamsterbyte thank you!!

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

    notable enhancement involves the use of Just-In-Time (JIT) compilation, which translates GDScript to C++ behind the scenes. This technique aims to boost performance without requiring extensive changes to the existing codebase​

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

    I copied the code word for word, but the character stays perfectly still, the game runs with no errors

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

      Is the script attached to the player?

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

      @@hamsterbyte yes, as far as I know, made the script the same way as told, plus when following other tutorials the scripts work, so it must be something else

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

      There's a few things that could cause this, if you followed the video exactly there should be no issues. If your code is correct, verify that your input is set up correctly and that the script is attached to the proper node. Without seeing your project there's no way for me to identify the issue.

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

    I just wanted to say that this mini series helped me so much as a new developer. I followed it about 6 months ago and it kickstarted my game, thanks for taking the time to make this.

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

      Thanks so much for the kind words. I'm glad to know that this helped you out!

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

    I'm generating negative entropy values which seems wrong... but its still working, just seems like something could be working better...

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

      I'm not sure why the code itself would be generating negative entropy values. I did not experience this issue in my testing.

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

    Great work! More C# Godot content plz!

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

    So between gdscript and c#, what should I learn first? I know the very bare basics of c# but I know more python, and I heard gdscript is very similar to python Just gonna make 2D pixelated games (as a hobby), and I wanna kinda start fast, so what do u recommend? Thx

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

      GDScript is faster to learn but useless outside of Godot. If you want to make a web build you have to use GDScript or a different engine. GDScript is similar to Python, just make sure to read the docs and use whatever bindings they have available

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

    There seems to be a line missing in the video for in the glsl file at at 22:18 (return count;), also in the "main" function the video has "continue" while the github file has "return" instead. Maybe its possible to add annotations to the video?

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

      There were a few mistakes in the first run through of the GLSL, it was addressed at the end of the video

  • @MrEd-qc7vr
    @MrEd-qc7vr 8 месяцев назад

    I don't know if you are gonna keep doing more videos but may I request that you zoom a little bit on the code in the future? is really hard to read it.

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

      All new videos are done with a larger font and scale

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

    Hope you ll get more views. That is high quality content

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

      Hope you find it helpful!

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

    How about dev time for prototyping? I am currently prototyping a procedural, large world in gdscript and I just love how fast I can run the project, tweak something, and run it again. Also, the fact that I only need one window and zero configuring of anything is great. Yes, in the end the heavy lifting will be done by c# or most likely cpp. So the final implementation will be in one of those two.

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

      I'm pretty sure GDScript has hot reloading...so you don't actually have to run the project again; you can just modify and save the code while it is running. If you like GDScript then you should use it, but you should also learn how to make a loading screen if you plan to do any sort of proc gen with it.

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

      @@hamsterbyte Depends on what you have changed. But yes it has that.

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

    This is perfect for helping me implement the system I want to make. Thank you so much for making this!!

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

      You're very welcome I hope it helps!

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

      I have the requirements and I am able to load the project without errors. However, the plugin will not enable and it doesn't throw an error when I try to enable it. I'll keep banging on it to see if there's something in godot's config that is incorrect. I am using Godot 4.1.3 with .net

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

    I am so glad I found this. I have been struggling so bad with how to implement everything I wanted to accomplish. I have gone through so many PG algo's to get what this does. Now I just need to work on some advanced pathfinding and smart placement of prefabs/scenes.

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

      Procedural generation is quite difficult if you don't have a lot of experience with it. It's essentially always the same concept; wrangling noise into something coherent. This video is on wave function collapse, but I also have another that goes over cellular automata to make a terraria style map with auto updating neighbours. Hope you find the content useful and thanks for watching!

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

      @@hamsterbyte I'm going to go and look for that right now. Cellular automata is what I'm using right now for my maze game. I got the first part figured out. Now I need to do the pathfinding and backtracing etc. But I'm loving the idea of having the code randomize the maze so you don't have the same one twice!

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

      @@shanefoster5305 obviously for pathfinding you will want to use some variation of Dykstra's or A*. The main thing to remember is if you are generating the maps procedurally, you will also need to populate the data for the algorithm after the generation is completed to calculate the nav mesh and weights/values

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

      @@hamsterbyte Thanks I'll look into that. I was just going to modify Wilson's maze algorithm to 3d and then at dead ends place a door that teleports them to the rooms that would be elsewhere. Wilson's maze has pathfinding in it while generating the maze. But your recommendations might be more appropriate and possibly easier.

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

    I want to do c# cause I’m switching from unity but there’s no tutorials to learn how to use it in godot

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

      I have several on my channel, but some are quite advanced.

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

    I think that it will be better to specified the -not- regular lines of code, like for example what is "Mathf.clamp" and "Mathf.inf", and even why and how to use Vector2. In my case I had to read the documentation from Godot and google the Mathf function to understand it, but for other new developers it will be hard to understand that part of the code

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

      Mathf is a library that contains math functions for floating point numbers. Inf is infinity. Clamp confines a number between two values. There's also ceiling and floor operations to round up or down, though casting a float to an int will round down as well, albeit at the cost of boxing. Vector2 is also not confined to the game dev world and C# has its own built in version in System.Numerics

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

    This looks promising, I hope the series will keep this great

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

    Thanks a lot! I am really looking forward to finishing this series!

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

    So if I were doing this fresh on my own I'd just manually paint all the combinations myself essentially right?

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

    Did everything as explained up to the map filled with noise but it refuses to work saying the build method threw an exception any suggestions? Edit: I figured it out 😅

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

      Without seeing the exception it is impossible to diagnose. Glad you found the answer and sorry for the late reply! Been a pretty crazy month for me

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

    Thank you ! Please a tutorial for 3D would be really great

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

      The algorithm here will not work for 3D; it's a simple cellular automata. 3D would be better represented by marching cubes or wave function collapse. Depending on the proposed size of the map, marching cubes and voxelization may be required. Other considerations would be chunking, texture LOD, and asynchronous loading. Have a look into the things I've mentioned - they should point you in the right direction. Thanks for watching!

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

      Thank you ! :)@@hamsterbyte

  • @Snapper-gaming
    @Snapper-gaming 10 месяцев назад

    Why you saying its unfair to use the build in sorting function in GD SCript, its the one you will use for your game? Not bubble sort..

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

      Because bubble sort is easy and stable. The test isn't about whether or not C++ is faster than C#. It's about GDScript vs. C# and it tests the speed of the operations when they are manually implemented. Using a built- in function that binds to the C++ backend isn't the same as comparing GDScript performance to C# performance. Congruency is paramount in performance tests, and congruency is not possible if you use GDScript bindings. The whole test is invalid. That being said I could have used quick sort and C# would still be faster than a hand coded GDScript version...

    • @Snapper-gaming
      @Snapper-gaming 10 месяцев назад

      @@hamsterbyte it just makes the comparisons useless, because you dont keep the use case of gdscript in mind.

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

      @@Snapper-gaming Is the built in sorting function in GDScript 100% congruent with the built in sorting function in C#? That means the logic is functionally identical and contains the same number of operations/iterations. Imagine you have two cars in a race. They both start at the same place but one car takes a winding road to the finish and the other takes a straight road. Is the car that arrives first the faster car? Well, maybe. It depends. Was it the car on the longer route? If it was, then yes. Was it the other car? Then maybe, you can't say for certain. The test is not valid because the conditions are not congruent. Garbage in, garbage out. That's why congruency is so important in performance tests. Do you think I chose bubble sort because it's fast? I chose bubble sort because it's a worst case scenario and illustrates the relative performance of the two languages when given an iterative workload. Before you make a counterargument to a series of empirical tests like this you should first understand the original argument. The source code is on screen so anyone can replicate these tests and I encourage you to do so. The data presented in this video is not my opinion, it's factual evidence. Your opinion that the tests are unfair is irrelevant, baseless, and provides no counter argument to the evidence that was presented. The solution to the issues this data uncovers is not as simple as saying, "just use the bindings" or "you'd never use bubble sort in your game".

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

    Subbed so fast.

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

      Thanks for watching. I hope my content helps you out!

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

      @@hamsterbyte I think it will. Looking forward to more content. Gonna search through what you have later today before I start making requests. :p Keep up your hard work. Hydrate.

  • @velocitygamer-wvu
    @velocitygamer-wvu 10 месяцев назад

    who tf pronounces godot "godoe"

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

      99% of people

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

      Literally most of North America, which is where I Live. Depending on your location the pronunciation may vary, though I think we can all agree it's not pronounced Go Dot.

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

      @@hamsterbyte I live in Europe and its still mostly called godoe

    • @Even-Steven
      @Even-Steven 6 месяцев назад

      @@hamsterbyte Where most people agree is you pronounce it however you want :) Ariel Manzur and Juan Linietsky pronounce it Go-Dot and always have and they created the engine.

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

      @@Even-Steven Akshully, the name comes from a Samuel Beckett play called "Waiting for Godot". There are two widely accepted pronunciations of the name Godot. Guh-dow and Go-dow, depending on the locale. Go-Dot is an incorrect pronunciation resulting from a language barrier as neither of the creators are native English speakers. As you say, it doesn't matter what you call it. The engine would still be great even if it was called garbage. That's pronounced gar-baj btw. 🤣

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

    Thanks for the help 😄 my ADHD brain appreciates how concise this was

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

      You're very welcome

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

    You could consider making the loop signatures `for (int i = -1, i <= 1, i+=2)` since this will always output [-1, 1] so you can avoid the `if(i == 0 && j == 0)` logic. Negligible performance gain for something like this but I know people like to avoid branching logic when doing GPU shaders.

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

      That's valid, but as you say it won't really affect performance and I do find it more readable with the 0 checks. That's the signature I expect to see when iterating over a Moore neighbourhood. Entirely personal preference. Thanks for watching!

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

      this loop will likely be unrolled as a compilation step and this iteration won't be in the code at all. i don't know if the nested for loop will prevent unrolling. for(int i = 0; i<9;i++){ int x = i%3; int y = i/3; do stuff} when we unroll this loop we can see that x and y are all constants now and any of these calculation can be factored out also any continue will just skip that iteration in the compiled code entirely.

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

    If GDScript moves certain feature to lower level languages. Then would it be possible to write in just that lower level language? Same to how you can write C++ in Unreal instead of blueprints. The performance difference here seems to be rather large. And for people looking to grow their next projects, this would be a great leap from easy to harder but with great performance benefits.

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

      While Godot offers interaction through GDNative with C++, and even community-supported implementations for Rust and Go, C# provides a compelling alternative due to its balance of performance and developer friendliness. C#'s syntax shares similarities with JavaScript, making it a more approachable option for a wider range of programmers compared to C++ or Rust. Additionally, recent advancements in C# compilation, such as Native AOT, allow it to achieve performance levels comparable to lower-level languages. It's important to consider the technical merits of a language beyond historical biases. While C# may have faced negativity in the past due to its association with Microsoft, its strengths in readability, maintainability, and performance make it an excellent choice. Furthermore, the job market for C# developers is significantly larger compared to GDScript developers. However, for novice programmers or hobbyists, GDScript is a well-suited option due to its approachable nature. That being said there are a few caveats: Web Export Limitation: Currently, Godot does not support exporting C# projects directly to the web. This functionality is under active development with the release of .NET 8, but it's not yet available. Marshalling for Godot Consumption: When using C# with Godot, marshalling may be required to bridge the communication gap between the languages. This process can impact performance if not carefully managed. It's crucial to identify which parts of your C# code necessitate marshalling, scene tree access is the biggest offender here. Techniques exist to minimize the performance impact of marshalling. While marshalling adds some overhead, most well-written C# operations will still outperform their GDScript counterparts.

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

    I am new to game development and I wanted to get started with this. Sadly I encountered numerous problems trying to set this up. I would love if the video included the need to clone the godot repository, settings needed in Godot to get this running and so on. I still can't really get it to work the same way you use it in your videos. I am not certain which steps I'm missing if I'm being honest. Any help would be very much appreciated.

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

    I'm a bit confused with Godot + Rider setup, I able to get Rider working to open my godot files but the autocomplete and error didnt work

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

      You need to make sure to install the Godot plugin in Rider. Settings>Plugins and search Godot Support. Thanks for watching!

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

      @@hamsterbyte I already installed it before but I fixed it by reinstalling Rider, maybe my old one corrupted or sumthing. Thanks anyway.

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

      @@swiftypopty1102 entirely possible. I always keep Rider up to date, which has before caused plugin incompatibility. Glad you got it sorted though. Happy coding!

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

    I know I am late to the party but I cannot seem to get my class to show up in the create new resource menu [GlobalClass] public partial class ITEM_CLASS: Resource { [Export] public string Item_Name; [Export] public int Quantity; [Export] public string Item_Description; [Export] public string Item_Type; [Export] public Texture Item_Texture; }

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

      Your custom resource class must also be tagged with the tool attribute and don't forget to build the project to propagate the changes to the editor. Thanks for watching! using Godot; [GlobalClass, Tool] public partial class PickupItem : Resource { #region VARIABLES [Export] public Texture2D icon; [Export] public string name; [Export] public StatType statType; [Export] public string description; [Export] public int amount; #endregion } public enum StatType{ Health, Mana, Armor }