- there is an intellisense built-in, just not for C# (at least not yet) - you can control click to get the built in documentation, just not with C# (at least not yet) - you can make a Node accessible with unique names (with the % symbole or right click and "Access as Unique Name") and in the code you can directly access it without the need of writing the whole path. Tho i would recommand to use [Export] to store the component instead so if you happen to change it, it changes everywhere and doesn't break your code.
8:00 that's a pure C# feature. Position is a vector2, vector2 is a struct, structs are allocated on the stack instead of the heap, as a result structs are passed by value not reference. Properties in C# are just methods, so your code: Position.x += speed.x Actually transforms to this.get_Position().x += speed.x But because "get_Position()" is getting a struct, its passing over a completely new object. So your code is fundamentally doing this: (new Vector2(x,y)).x += speed.x Which the compiler rightfully complains because that statement will just not do anything. This exact thing also happens in Unity if you try to set the position: transform.position.x += speed.x The solution is to extract the struct, make changes, then put it back in. Or do operations with the entire struct not just its parts. So like what you did or: Vector2 pos = Position pos.x += speed.x Position = pos Yes its dumb, but its part of interop. Communicating with C++ code, GPUs, buffers, etc will require structures that have their layout sequential.
Holy shit, like how do you know this? I mean how? Now the way you talk about this makes me think that languages like C or C++ are just much easier to use lol. But thanks for the detailed explanation wow
@@Cakez77tbf, that's to be expected, they (C esp) are lower level than many other common langs now, and going further leads to raw asm, which is just readable machine code, and is the simplest serious language in a way.
@@gmhs2 People love to complain about references and pointers concepts and syntax in C and C++ but conveniently forget how ambiguous the behaviors of objects can be in languages like C#.
@@my2cents795yea, C is basically the fundamental, it's more simple than modern languages, but languages like C#, Python are complex but at the same time easy to learn since there's a lot of low level stuff already done! But in my opinion, it's better to start the programming journey with a language like C
You'll have waaaay less headaches using native GDScript, trust me! Your player movement script could have only been a few lines compared to C#, plus you get way better intergration and IntelliSense 😄 Interesting outlook on Godot though!
@@Cakez77 I look forward to it! Just watch out for any Godot fanboys getting pissed when you criticise the engine for any reason ☺️ If you've ever programmed in Python, GDScript is really similar!
Yes exactly! GD script is especially made for Godot (btw C# development is in progress and I am also looking forward to it) and it's highlighting and intellisense is good too! Also, for the nodes which you r gonna use very much, you can make a variable and store it inside that, and then use that variable instead of the whole GetNode and path thing every time!
Год назад
GDScript is great but slow(er). For most basic things, it's perfectly fine. For some heavy calculations, go with C# or C++ (yeah, you can use C++ in Godot). I'll use GDScript for my game if I feel like it's needed to improve performance, I'll move to C#. Extra work to port to C# but it's waaay faster to work in GDScript.
I enjoyed the video I went through the highs and lows and I could actually feel the frustration xD LOL but yeah, once you're used to Godot it's very easy and fun to use! looking forward for more videos!
Glad you enjoyed it, yeah I wanna try making a game in godot soon. Maybe using GDscript and the inbound editor too. Just a little annoying about the vim keybinds
@@Cakez77 Like zcore said, the CharacterBody2D is the actual physics collider, and the Shape is literally just that... a shape. But without the shape, the collider doesn't have any definition of the boundaries of where it should check for collision.
@@Cakez77 The sprite is a image, you CAN put a collider INSIDE of the sprite by using a static body, but it wont have any physics. Making the actual physics the root node of the character will give you the ability to move everything around together rather than just the sprite by itself. Yes it is kind of confusing coming from a different engine but in godot things are node based. Everything is node based.
If you use GD script you get documentation and everything you would expect in the native Godot script editor. If using GD script I recommend using the native editor and customising it to your needs. However visual studio code is a better option when using C#.
@@Cakez77 GD script is faster. And on that note. Imagine compiling in Unity versus Godot. Lol. Godot is great for prototypes. I don't understand why anyone would want to make a porotype in that slug Unity.
@@akselst The constant slow reloading of assets is what drove me away from Unity. I didn't even have a game's worth of assets, just a bunch of prototyping stuff, why would it constantly need to reload it and take 30 seconds to do it every dang time? 🤮
That was out of left field, but was good. Godot is my back-up plan if I get tired of trying to make my own game engine. Still, I hope you continue the devlogs of making your game in C++. It's helping me learn a lot, and I'd be sad of it stopped.
Hey bro I'm glad you liked it and yes I will continue with the devlogs it's just that I'm currently doing a rework to OpenGL and need to finish that first to talk about it
I love seeing people over-complicate simple problems because they're new and don't know what they're doing, never a dull moment. You did very well considering it was only a few hours and you were using C# instead of GDScript. It was also funny seeing you blame Godot, got that gamer rage lol >:)
Godot it: I HATE THIS ENGINE! I LOVE THIS ENGINE! I HATE THIS ENGINE! I LOVE THIS ENGINE! I HATE THIS ENGINE! I LOVE THIS ENGINE! I HATE THIS ENGINE! I LOVE THIS ENGINE!
5:37 if you use GDscript the definitions/documentation is native to the editor. For C# (and other languages added by the community), you have to import the LSP, like you would the first time you are using most IDEs
You could also literally make your game in C++ with Godot using GDExtension, but that requires dealing with scons and you kinda need to learn the structure of how Godot works. (there is a CMake template, but the officially supported build system is scons) That aside you really should've been using the Godot move functions which handle literally every movement issue, all you do is mess with velocity, you also get a floor, ceiling, and wall detection with it. Also you can put an export attribute on nodes and just set the variable in the inspector. No need to mess with the GetNode function, you can also have nodes with unique names and thus only reference it by its unique name in the scene tree. (there are other ways to get them too, GetChildren/GetChild also work, but why would you torture yourself with doing that, the strings are interned within Godot, so their lookup ends up being really fast in Godot)
I heard about C++ in godot yes, but I wanted to see how it would compare to unity and was positively surprised. Ah so you can do the same thing with references ad in unity, but it makes sense that export works on those yeah. About the move function, doesn't it use physics? or is it just checking for collision? On my next run I can try it out.
Re: node paths, you can export a variable to the inspector and then connect things up there. It supports receiving drag-and-drop from the scene tree for convenience.
Thank god! Even though I've been at this stuff for years I still find myself fiddling around for hours with even the most basic stuff at times and it makes me feel like I am a total idiot. Now I feel less alone knowing there is at least one more person out there who struggles with it too 🙃 Fun little video. I enjoyed seeing your reactions to stuff mostly out of a perverse understanding because I would have reacted the same way lol
I have a lot of improvements to suggest, mostly with the player: Godot handles jumping and moving by default by using the template when creating the character body script.
I see, well I wanted the exact Celeste movement with is very particular and I didn't have much time. Next time I wanna take some more time and do a bigger game. Not sure what I will do yet tho
actually really loved watching the 'bumbling around not reading the docs' approach, would love to see it being done in c++ with gdextension/engine modules to create new base node types
It was great watching your experience through this, it's always a struggle switching between tech and I love that the frustrations were transparent. I will admit though that if I was tuned into the stream some parts would frustrate me extremely, particularly the part right after adding a collider. In that situation the script was manually doing physics, yet there was the expectation that the engine would somehow apply collisions when the code explicitly sets the character's position. Understandable though given that there's a LOT of stuff to keep track of when learning new engines. Also in the video it looked like the initial response to inconsistencies or problems quickly swerved to the negative, which is understandable (since EVERY developer, esp. myself, goes through moments of "why doesn't this work grr" followed by "ohhhh whoops"). But still it's something that struck me while watching this. Regardless I definitely enjoyed this and wish the best of luck on your gamedev!
Hey thanks man, this is definitely the best feedback I got so far. I really appreciate the detailed explanation of what exactly came across as "annoying" or "triggering". I can see how some people can get annoyed by me ranting about the engine while clearly doing something wrong. Really helpful for the future for me thanks bro.
9:30 That's how it always works. You don't C# enough. public float Speed { get { return _speed; } set { _speed = value; } } // Property public float Speed { get; set; } = 12; // Auto Property Same syntax for indexers: public this[int index (OR string, etc., like with Dictionaries)] (Property OR Auto Property) // Same Syntax I have C++ objects that mimic C#, List, HashSet, Dictionary, etc., and the syntax is so much better in C#. Keep at it!
Since you said in an interaction in another comment, that you will see how much godot content you'll make depending on how good that video is received: I am doing my part. Upvoted and commented and subscribed. :P
3:46 Assuming before asking it's the most common mistake in the world, Also, this is why you should learn before thinking things are just like Unity 5:20 "The code editor wasn't very helpful" Not for C# at least, or so i think, but the C# support will keep improving 6:14 "if you can close the script" Click on 2D, and done.
I really didn't need to do all that taks.json stuff with godot ever, i just set the editor in the godot editor settings, and open the script, install the c# extension inside and it works with all the intellisense, debugging and launching the game from vscode as well, idk why that didn't worked for you, but really enjoyed the video lol
Yeah same, I just went to Project Settings > C# > Generate Solution and it started working. I think they said needed you to do it that way because that mightve been how 3.x used to do it but you're on 4.1
it's so nice to see you try Godot! I was really curious how you'd handle it. But yeaa it had so many ups and downs and everytime I thought you'll give up blame the engine and end the video xddd but no you always figured stuff in end! you're not quitter that's for sure! well done!
So nice how none of the videos of people trying godot for the first time reads the Getting Started docs, that would make the learning way much faster ;p
1:33 no, don't take it back, any respectable program would automatically generate the path when CREATING files on a path that doesn't exist. It's a different story when you are READING files, but CREATING files?!?! I'm sorry but this is just unacceptable. I would have personally stopped trying Godot after seeing such a thing, because if it can't even get right some basic filesystem support, what is there for me to expect from the engine?
I actually thought the same in that situation. It should be improved yeah. But tbh, the engine itself it actually very good. I just started another run today making vampire survivors on stream and was having a great time.
I like using GD Script with Godot because I don't have to switch between the editor and VS Code. Just makes it more streamline and GD Script is simple to pick and feels less cumbersome than C# or C++
Amazingly annoying noob programmer tries learning a complex piece of tech by complaining that wishful thinking and past learned bad practices don't apply here, before reading documentation. The conclusions seem fine, though. Sort of entertaining.
Loved the video, Godot has some weird differences but it's an incredible engine once you get to know it, My personal favorite feature is the Input Map, It's great compared to having to type something like if(Keyboard.KeyCode.Escape.Pressed == true) or something when I can just type if(Input.IsActionPressed("MyAction") == true) Quick question: What VS Code theme are you using? (if you're using one and I'm just not running an outdated version of VSC)
Yeah I fully agree, I just started another Godot run today on my stream, it has been very fun to work with GDscript. I'm using the default theme of VSCode, nothing special.
This was great to watch and you figured out a lot more than I did my first try. As someone who's used Kilk 'n Play/Clickteam Fusion and GDevelop when I went into this my first time blind I didn't know what the heck was going on because I guess unless you're familiar with Unity or one of the other modern engines nothing makes sense or is intuitive. Especially for the 2D stuff I was thinking, "Why do I need to put up and work with all this crap just to get an instance of an object moving and colliding correctly?" But after watching RUclips videos and using GDScript instead of C# then it started to make sense and I like it a lot more now. I'm gearing up to work on a game of some kind after a decades long break from the stone age of QuickBasic and Visual Basic so I'm cramming to learn all the new things that's out there and testing the waters before I go full steam ahead into a project. 😀
Whenever I switch between coding my own stuff using just some graphics library, to using Unity/Godot, I kind of chafe a little bit against the engine. I know I don't HAVE to do the gravity, for example, myself - but I feel like I should! Otherwise, how will I know it works the way I want? Eventually, I learn to ease off and do things the way the engine wants me to. They all have their foibles, but… it's like Apple products. As long as you accept doing things The Apple Way, everything works fine. If you want to do something another way, or do something Apple has decided you shouldn't want to or don't need to… things get rough. Basically the trick is to let go and not to worry - just letting the engine do its thing. And then find some bullshit thing the engine's making incredibly hard to do for some reason even when you follow al of its rules, and just give up and go back to using a pure graphics library =)
@@Cakez77 Well, for me it's a cycle: Sooner or later I go "wtf why am I writing my own collision code this is a solved problem and I should spend my time doing more interesting stuff. There's no way my implementation will be any better than Unity's anyways, so I should just use Unity…" And so the cycle continues… This probably explains why I haven't finished any of my game projects =)
lol watching this video would have totally discouraged me from using godot. Thankfully I watched some other tutorials and am quite proficient now in godot.
Godot is the only engine that once I learned it, it doesn't constantly piss me off. Don't get me wrong, sometimes there's just something stupid happening, but it's like 100x than Unity (I haven't used unreal).
Because I tried to make a game in it back then and after 3 months I had nothing to show for. I was very inexperienced, so I decided to learn by learning c++
Bro spent all that head scratching making the character movement when in GDscript all you need is like 4lines of code XD Ps. Try GDscript next time it was fun watching this
I expected to see some C++ sorcery around here, not picking C# bEcAusE iT's LikE uNitY RiGht and then some 15 minutes of yapping about not knowing an engine you didn't bother to learn.
To be honest, this would have been a 15min adventure if you tried it with GameMaker. For 2D, GameMaker is still the goto for fast prototyping|dev. The GML script language is a flavored JavaScript as far as syntax goes but its very C (functional oriented) with OOP features. So as a c++ dev you should be super comfortable with it.
video summary: blindly creating a game without following or checking the documentation first, and apparently it's the engine's fault😂 but seriously though if you use gdscript you can just code straight away
This was painful... You obviously had a negative bias before you even started blaming the engine for everything. I have used Unity, Unreal and now i use Godot. There is some unique differences and some things that are hard to find or understand but spending just a little bit of time researching the engine before hand would have had you well on your way.
That one guy in chat was right. This is painful to watch. Watch some tutorials and you might realize most of this video is really just one face palm after another. Knowing C++ does not mean you know anything about a framework or an engine. Your own hubris was your biggest enemy in this video. Learn how to learn.
I always wondered what would have happened if instead of C++ I started my serious game development journey in Godot?
Could always use C++ in Godot and get the weirdest of both worlds :P
- there is an intellisense built-in, just not for C# (at least not yet)
- you can control click to get the built in documentation, just not with C# (at least not yet)
- you can make a Node accessible with unique names (with the % symbole or right click and "Access as Unique Name") and in the code you can directly access it without the need of writing the whole path. Tho i would recommand to use [Export] to store the component instead so if you happen to change it, it changes everywhere and doesn't break your code.
Thanks for the info, from what I gathered, this is exactly what others are saying. The Export stuff on fields seems to be the best solution
@@Cakez77 godot isnt C++ is it? C# or their own scripting language it thought.
this video can basically be resumed by:
"Godot sucks"
* a few moments later *
"nvm i'm dumb"
lol yeah^^ true
it's the usual gamedev pipeline
kinda true yeah^^
@@rhnirsilva652 i can confirm x) it happened to me when i started learning python.
8:00 that's a pure C# feature. Position is a vector2, vector2 is a struct, structs are allocated on the stack instead of the heap, as a result structs are passed by value not reference. Properties in C# are just methods, so your code:
Position.x += speed.x
Actually transforms to
this.get_Position().x += speed.x
But because "get_Position()" is getting a struct, its passing over a completely new object. So your code is fundamentally doing this:
(new Vector2(x,y)).x += speed.x
Which the compiler rightfully complains because that statement will just not do anything. This exact thing also happens in Unity if you try to set the position:
transform.position.x += speed.x
The solution is to extract the struct, make changes, then put it back in. Or do operations with the entire struct not just its parts. So like what you did or:
Vector2 pos = Position
pos.x += speed.x
Position = pos
Yes its dumb, but its part of interop. Communicating with C++ code, GPUs, buffers, etc will require structures that have their layout sequential.
Holy shit, like how do you know this? I mean how? Now the way you talk about this makes me think that languages like C or C++ are just much easier to use lol. But thanks for the detailed explanation wow
@@Cakez77tbf, that's to be expected, they (C esp) are lower level than many other common langs now, and going further leads to raw asm, which is just readable machine code, and is the simplest serious language in a way.
@@gmhs2 People love to complain about references and pointers concepts and syntax in C and C++ but conveniently forget how ambiguous the behaviors of objects can be in languages like C#.
@@my2cents795yea, C is basically the fundamental, it's more simple than modern languages, but languages like C#, Python are complex but at the same time easy to learn since there's a lot of low level stuff already done! But in my opinion, it's better to start the programming journey with a language like C
@@Cakez77C# is just different and in many ways easier once you get used to it
I spotted you deleting the > and then retyping > again at 8:37. It was cool to see that come back to bite you in the arse.
I actually saw that when I watched the video on RUclips too lol. Facepalm
You'll have waaaay less headaches using native GDScript, trust me! Your player movement script could have only been a few lines compared to C#, plus you get way better intergration and IntelliSense 😄 Interesting outlook on Godot though!
Thanks for the tips bro. I wanna try a real game for fun with gdscript next. I heard a lot of good stuff from the comments
@@Cakez77 I look forward to it! Just watch out for any Godot fanboys getting pissed when you criticise the engine for any reason ☺️ If you've ever programmed in Python, GDScript is really similar!
Well so far everyone has been very polite which is nice
Yes exactly! GD script is especially made for Godot (btw C# development is in progress and I am also looking forward to it) and it's highlighting and intellisense is good too! Also, for the nodes which you r gonna use very much, you can make a variable and store it inside that, and then use that variable instead of the whole GetNode and path thing every time!
GDScript is great but slow(er). For most basic things, it's perfectly fine. For some heavy calculations, go with C# or C++ (yeah, you can use C++ in Godot).
I'll use GDScript for my game if I feel like it's needed to improve performance, I'll move to C#. Extra work to port to C# but it's waaay faster to work in GDScript.
Once you get the tilemap system you just get it but its definitely a learning curve.
Yeah, a little weird that one
I enjoyed the video I went through the highs and lows and I could actually feel the frustration xD LOL
but yeah, once you're used to Godot it's very easy and fun to use!
looking forward for more videos!
Glad you enjoyed it, yeah I wanna try making a game in godot soon. Maybe using GDscript and the inbound editor too. Just a little annoying about the vim keybinds
Watching someone not understand what a CharacterBody2D is or really how anything works in this engine is super interesting to me
I still don't understand how you can't just use a collider with a sprite but maybe in the future
I think it's because the CharacterBody2D is probably the collider and the collision shape is just a shape kind of like fixtures and bodies in Box2D
@@Cakez77 Like zcore said, the CharacterBody2D is the actual physics collider, and the Shape is literally just that... a shape. But without the shape, the collider doesn't have any definition of the boundaries of where it should check for collision.
@@Cakez77 The sprite is a image, you CAN put a collider INSIDE of the sprite by using a static body, but it wont have any physics. Making the actual physics the root node of the character will give you the ability to move everything around together rather than just the sprite by itself. Yes it is kind of confusing coming from a different engine but in godot things are node based. Everything is node based.
If you use GD script you get documentation and everything you would expect in the native Godot script editor. If using GD script I recommend using the native editor and customising it to your needs. However visual studio code is a better option when using C#.
Ahh good to know and I assumed that was the case yeah. Makes me wanna try native gd script I also heard it's faster than c# when compiling?
@@Cakez77 Should be yeah. There are C# vs GDScript benchmarks out there on the Tubes if you're looking for that.
@@Cakez77 GD script is faster. And on that note. Imagine compiling in Unity versus Godot. Lol. Godot is great for prototypes. I don't understand why anyone would want to make a porotype in that slug Unity.
@@akselst The constant slow reloading of assets is what drove me away from Unity. I didn't even have a game's worth of assets, just a bunch of prototyping stuff, why would it constantly need to reload it and take 30 seconds to do it every dang time? 🤮
@@nunyabusiness9433 Yeah. It can really affect your workflow.
That was out of left field, but was good. Godot is my back-up plan if I get tired of trying to make my own game engine.
Still, I hope you continue the devlogs of making your game in C++. It's helping me learn a lot, and I'd be sad of it stopped.
Hey bro I'm glad you liked it and yes I will continue with the devlogs it's just that I'm currently doing a rework to OpenGL and need to finish that first to talk about it
@@Cakez77 Ooh!!! I'm excited for that!!!
Getting into Godot myself and I thoroughly enjoyed your willingness to share your learning! Thanks!
Godot is a good choice, good luck bro
I love seeing people over-complicate simple problems because they're new and don't know what they're doing, never a dull moment. You did very well considering it was only a few hours and you were using C# instead of GDScript. It was also funny seeing you blame Godot, got that gamer rage lol >:)
Godot it:
I HATE THIS ENGINE!
I LOVE THIS ENGINE!
I HATE THIS ENGINE!
I LOVE THIS ENGINE!
I HATE THIS ENGINE!
I LOVE THIS ENGINE!
I HATE THIS ENGINE!
I LOVE THIS ENGINE!
Lol
5:37 if you use GDscript the definitions/documentation is native to the editor. For C# (and other languages added by the community), you have to import the LSP, like you would the first time you are using most IDEs
You could also literally make your game in C++ with Godot using GDExtension, but that requires dealing with scons and you kinda need to learn the structure of how Godot works. (there is a CMake template, but the officially supported build system is scons)
That aside you really should've been using the Godot move functions which handle literally every movement issue, all you do is mess with velocity, you also get a floor, ceiling, and wall detection with it.
Also you can put an export attribute on nodes and just set the variable in the inspector. No need to mess with the GetNode function, you can also have nodes with unique names and thus only reference it by its unique name in the scene tree. (there are other ways to get them too, GetChildren/GetChild also work, but why would you torture yourself with doing that, the strings are interned within Godot, so their lookup ends up being really fast in Godot)
I heard about C++ in godot yes, but I wanted to see how it would compare to unity and was positively surprised. Ah so you can do the same thing with references ad in unity, but it makes sense that export works on those yeah. About the move function, doesn't it use physics? or is it just checking for collision? On my next run I can try it out.
@@Cakez77 move_and_slide performs sliding physics, move_and_collide only really performs collision.
The move function only does collision, you have to code the physics yourself (unless you use a RigidBody)@@Cakez77
Re: node paths, you can export a variable to the inspector and then connect things up there. It supports receiving drag-and-drop from the scene tree for convenience.
Thank god! Even though I've been at this stuff for years I still find myself fiddling around for hours with even the most basic stuff at times and it makes me feel like I am a total idiot. Now I feel less alone knowing there is at least one more person out there who struggles with it too 🙃 Fun little video. I enjoyed seeing your reactions to stuff mostly out of a perverse understanding because I would have reacted the same way lol
Happy do hear you enjoyed it bro I'm sure most people think the same way as we do lol
I have a lot of improvements to suggest, mostly with the player:
Godot handles jumping and moving by default by using the template when creating the character body script.
I see, well I wanted the exact Celeste movement with is very particular and I didn't have much time. Next time I wanna take some more time and do a bigger game. Not sure what I will do yet tho
actually really loved watching the 'bumbling around not reading the docs' approach, would love to see it being done in c++ with gdextension/engine modules to create new base node types
Hmm maybe I can do that in the future, just need an idea for a little game that I could make
This episode of the Cakez Morning Show might be my fave. :))
Much love!
Thanks bro and thanks for supporting me
"Jumping would always pull me down with tremendous force" HAHAHAHAHAHA this video was hilarious! it represents me on so many levels!
lol yeah didn't think that. Keep your head up brother
Entertaining and informative as always!
That's great to hear bro!
It was great watching your experience through this, it's always a struggle switching between tech and I love that the frustrations were transparent. I will admit though that if I was tuned into the stream some parts would frustrate me extremely, particularly the part right after adding a collider. In that situation the script was manually doing physics, yet there was the expectation that the engine would somehow apply collisions when the code explicitly sets the character's position. Understandable though given that there's a LOT of stuff to keep track of when learning new engines. Also in the video it looked like the initial response to inconsistencies or problems quickly swerved to the negative, which is understandable (since EVERY developer, esp. myself, goes through moments of "why doesn't this work grr" followed by "ohhhh whoops"). But still it's something that struck me while watching this. Regardless I definitely enjoyed this and wish the best of luck on your gamedev!
Hey thanks man, this is definitely the best feedback I got so far. I really appreciate the detailed explanation of what exactly came across as "annoying" or "triggering". I can see how some people can get annoyed by me ranting about the engine while clearly doing something wrong. Really helpful for the future for me thanks bro.
Awesome, stoked I was able to help!!
9:30 That's how it always works. You don't C# enough.
public float Speed { get { return _speed; } set { _speed = value; } } // Property
public float Speed { get; set; } = 12; // Auto Property
Same syntax for indexers:
public this[int index (OR string, etc., like with Dictionaries)] (Property OR Auto Property) // Same Syntax
I have C++ objects that mimic C#, List, HashSet, Dictionary, etc., and the syntax is so much better in C#.
Keep at it!
Since you said in an interaction in another comment, that you will see how much godot content you'll make depending on how good that video is received: I am doing my part. Upvoted and commented and subscribed. :P
Already working on another video, great to hear
1:25 anthropomorphizing it and saying its complaining had me howling 😂 never heard a system described like that.
lol
6:20 i was messing around trying to learn it and i got stuck on the same thing LMAO
Thanks for making me feel smarter for those couple of minutes
Aha! How did I do that
... Kinda amazed how I can do the essentially same movement script in sub 30 lines
Is this captain Iglo? Damn brother is packing some programming punch holy
3:46 Assuming before asking it's the most common mistake in the world, Also, this is why you should learn before thinking things are just like Unity
5:20 "The code editor wasn't very helpful"
Not for C# at least, or so i think, but the C# support will keep improving
6:14 "if you can close the script"
Click on 2D, and done.
I really didn't need to do all that taks.json stuff with godot ever, i just set the editor in the godot editor settings, and open the script, install the c# extension inside and it works with all the intellisense, debugging and launching the game from vscode as well, idk why that didn't worked for you, but really enjoyed the video lol
Oh really? Chat on steam told me I need it huh 🤔
Yeah same, I just went to Project Settings > C# > Generate Solution and it started working. I think they said needed you to do it that way because that mightve been how 3.x used to do it but you're on 4.1
yup, its that simple@@Cakez77
Thanks for the info, I'll give gdcript a try next time, I'm just a little worried about vim keybinds
it's so nice to see you try Godot! I was really curious how you'd handle it. But yeaa it had so many ups and downs and everytime I thought you'll give up blame the engine and end the video xddd but no you always figured stuff in end! you're not quitter that's for sure! well done!
True not a quitter that's for sure, glad you liked it
0:47 wait I'm confused; can't you use c++ code in C# though? Some import of Dll files from my understanding.
I think you can yeah but I haven't tried it yet
So nice how none of the videos of people trying godot for the first time reads the Getting Started docs, that would make the learning way much faster ;p
That would be too easy bro and there would be no exploration
1:33 no, don't take it back, any respectable program would automatically generate the path when CREATING files on a path that doesn't exist. It's a different story when you are READING files, but CREATING files?!?! I'm sorry but this is just unacceptable. I would have personally stopped trying Godot after seeing such a thing, because if it can't even get right some basic filesystem support, what is there for me to expect from the engine?
I actually thought the same in that situation. It should be improved yeah. But tbh, the engine itself it actually very good. I just started another run today making vampire survivors on stream and was having a great time.
@@Cakez77 I have no doubt that the engine is great, but sadly it looks like it has a lot of weird quirks that just smell like summer intern code tbh.
hey, I think your channel will explode into the stratosphere if you continue down the Godot route... or at least mix it in a bit more...
Haha glad you like the Godot content I will think about it depending on how the video will so
I like using GD Script with Godot because I don't have to switch between the editor and VS Code. Just makes it more streamline and GD Script is simple to pick and feels less cumbersome than C# or C++
Yeah gdscript was a lot easier to use
why the f am I not subscribed ... subscribes immediately
Thanks brother^^ glad you enjoyed the video
For C# I use Rider IDE, but without that I would use Visual Studio 2022. Main important thing for me is the debugging like breakpoints
Interesting, but debugging also worked very well in vscode. I'm a vscode enjoyer actually so I'm glad how it worked
Amazingly annoying noob programmer tries learning a complex piece of tech by complaining that wishful thinking and past learned bad practices don't apply here, before reading documentation.
The conclusions seem fine, though. Sort of entertaining.
Not sure if toxic or not but glad you like it bruh
Loved the video, Godot has some weird differences but it's an incredible engine once you get to know it, My personal favorite feature is the Input Map, It's great compared to having to type something like if(Keyboard.KeyCode.Escape.Pressed == true) or something when I can just type if(Input.IsActionPressed("MyAction") == true)
Quick question: What VS Code theme are you using? (if you're using one and I'm just not running an outdated version of VSC)
Yeah I fully agree, I just started another Godot run today on my stream, it has been very fun to work with GDscript. I'm using the default theme of VSCode, nothing special.
@@Cakez77 Thanks! I'm probably using an outdated build of VSC then, Good luck with your Godot endeavors! :)
you would save yourself so much trouble just by watching a 20min tutorial beforehand, pride is before the fall as they say lol
I just like diving into things and exploring, especially for the first time
This was great to watch and you figured out a lot more than I did my first try. As someone who's used Kilk 'n Play/Clickteam Fusion and GDevelop when I went into this my first time blind I didn't know what the heck was going on because I guess unless you're familiar with Unity or one of the other modern engines nothing makes sense or is intuitive. Especially for the 2D stuff I was thinking, "Why do I need to put up and work with all this crap just to get an instance of an object moving and colliding correctly?" But after watching RUclips videos and using GDScript instead of C# then it started to make sense and I like it a lot more now. I'm gearing up to work on a game of some kind after a decades long break from the stone age of QuickBasic and Visual Basic so I'm cramming to learn all the new things that's out there and testing the waters before I go full steam ahead into a project. 😀
Tremendooooooooo!!
You can also use C++ with Godot. First Comment.
Yeah I wonder for that will work out could try it out in the future
The shift click is actually crtl click in godot.
Wait really?
@@Cakez77 ya
Whenever I switch between coding my own stuff using just some graphics library, to using Unity/Godot, I kind of chafe a little bit against the engine. I know I don't HAVE to do the gravity, for example, myself - but I feel like I should! Otherwise, how will I know it works the way I want? Eventually, I learn to ease off and do things the way the engine wants me to. They all have their foibles, but… it's like Apple products. As long as you accept doing things The Apple Way, everything works fine. If you want to do something another way, or do something Apple has decided you shouldn't want to or don't need to… things get rough. Basically the trick is to let go and not to worry - just letting the engine do its thing.
And then find some bullshit thing the engine's making incredibly hard to do for some reason even when you follow al of its rules, and just give up and go back to using a pure graphics library =)
lol^^ I mean that's why I code in C++ lol. So I don't give up^^ great summary lol
@@Cakez77 Well, for me it's a cycle: Sooner or later I go "wtf why am I writing my own collision code this is a solved problem and I should spend my time doing more interesting stuff. There's no way my implementation will be any better than Unity's anyways, so I should just use Unity…"
And so the cycle continues… This probably explains why I haven't finished any of my game projects =)
Maybe you just haven't found the one game you want to make yet bro, such things can move mountains
You can coding with C++ in Godot? please see documentation in GD Extansion chapter.
Yeah I saw that I wanted to try C# first tho
lol watching this video would have totally discouraged me from using godot. Thankfully I watched some other tutorials and am quite proficient now in godot.
as a godot user you dont understand how triggered i was by your improper usage lol
Yeah I got that a lot during the stream as well lol
Godot is the only engine that once I learned it, it doesn't constantly piss me off. Don't get me wrong, sometimes there's just something stupid happening, but it's like 100x than Unity (I haven't used unreal).
Yeah I'm mostly experiencing the same, I'm currently making another game in godot and it's been very easy so far
Ähmm, ried out Godot for few hours and already encountered multiple bugs. So no thanks. Unity feels more stable.
@@SnakeEngine 🤷 not my experince
@@tomtravis858 Have fun removing the horizontal edges at the sides of the screen in borderless window mode.
Why did you quit Unity?
Because I tried to make a game in it back then and after 3 months I had nothing to show for. I was very inexperienced, so I decided to learn by learning c++
@@Cakez77 Yeah, better learn the roots first, but then use Unity.
OH MY GAWWWWDAAAAAH!
as a godot user, MY EYES
Your one of the first I've heard to pronounce Godot properly.
True! Everyone else ist just clueless
Please continue with godot because i devloper in godot from mobile❤❤❤
Glad you like it bro I'll think about it
I've wonder if he realized that Godot engine can do C++
Celeste who? This is an upgrade🔥🔥🔥🤝
Godot 3 was simple. I had a similar experience with Godot 4.
I love godot
Great to hear^^
I like Godot but Nodes triggers me sometimes.
Takes some time getting used to yeah
I unironically think your limited space mechanic is "fucking genius".
true lol that's what I thought
Bro spent all that head scratching making the character movement when in GDscript all you need is like 4lines of code XD
Ps. Try GDscript next time it was fun watching this
I expected to see some C++ sorcery around here, not picking C# bEcAusE iT's LikE uNitY RiGht and then some 15 minutes of yapping about not knowing an engine you didn't bother to learn.
It seems like a lot of the strange behaviors you ran into are the same as current versions of Unity.
Yeah I remember having similar issues in Unity, but I guess Godot is inspired by it
@@Cakez77 I think it has to do with icing similar code for their C# libraries. Unity came first, so it kind of set the standard.
Next time just follow the official tutorial to learn the basics
But that would be too easy
höre ich da einen deutschen Akzent :D
Niemals lol
To be honest, this would have been a 15min adventure if you tried it with GameMaker. For 2D, GameMaker is still the goto for fast prototyping|dev.
The GML script language is a flavored JavaScript as far as syntax goes but its very C (functional oriented) with OOP features. So as a c++ dev you should be super comfortable with it.
I doubt the 15 minutes because there is always something that you don't expect especially when you try out something new
video summary:
blindly creating a game without following or checking the documentation first, and apparently it's the engine's fault😂
but seriously though if you use gdscript you can just code straight away
how you make everything 10x harder no hate btw.
how much did you get paid for GoDot advertising?🤔
I gave him one croissant filled with cum and he said yes.
Ehh nothing? lol I just like Godot tbh, really good stuff so far
Unity is already doing the best godot marketing campaign in the world 😂
True LOL
This was painful... You obviously had a negative bias before you even started blaming the engine for everything. I have used Unity, Unreal and now i use Godot. There is some unique differences and some things that are hard to find or understand but spending just a little bit of time researching the engine before hand would have had you well on your way.
That one guy in chat was right. This is painful to watch. Watch some tutorials and you might realize most of this video is really just one face palm after another. Knowing C++ does not mean you know anything about a framework or an engine. Your own hubris was your biggest enemy in this video. Learn how to learn.
This was hard to watch. A whole bunch of complaining about the engine when it's your own fault
so the engine is great, you are just bad ;)
professional complainer