I Used Godot For 100 Hours, Here’s What I Learned

1,160,673
0
Published 2022-06-18
This is my semi-comprehensive review of the Godot game engine (Pre 4.0) as someone who has used it for gamedev for over 100 hours. I focus on the specific features that I think make or break the engine and how they compare to other engines such as Unity or Unreal in terms of game development.


|-Timestamps-|
00:00 - Intro
00:17 - Disclaimer
01:27 - The Switch
02:38 - First Impressions
04:10 - Workflow
06:13 - Nodes
08:29 - Scripting / Coding
15:26 - Physics
17:34 - 3D
23:50 - 2D
25:36 - UI Tools
27:20 - Documentation / Support
30:00 - Tutorials
31:03 - Compatibility / Exporting
33:07 - Conclusion
34:38 - Keep The Conversation Going

- 100 Hours of Godot -
made with:
Blender,
Asperite,
FreeSound,
Godot,
Unity,
Unreal Engine 4,
Photoshop Elements 2018,
Garage Band,

Music:
"Kirby Collecting" by Shogo Sakai
"Main Menu(NSMBWii)" by Shiho Fujii, Ryo Nagamatsu, Kenta Nagata
"GBA Shy Guy Beach" by Minako Hamano, Masanobu Matsunaga, Kenichi Nishimaki
"Sky Land(NSMBWii)" by Shiho Fujii, Ryo Nagamatsu, Kenta Nagata
"Cavi Cape - Act 1" by Yoko Shimomura
"Underground Volcano(NSMBWii)" by Shiho Fujii, Ryo Nagamatsu, Kenta Nagata
"Sunken Ship" by Shogo Sakai
"Flip-Swap Galaxy" by Mahito Yokota
"Melty Monster Galaxy" by Ryo Nagamatsu
"Upside Dizzy Galaxy" by Mahito Yokota
"Options" by Asuka Ohta, Ryo Nagamatsu
"Plack Beach, Bubble Lake - Act 1" by Yoko Shimomura
"Mario Bros. Battle" by Yoko Shimomura
"Deep Dark Galaxy" by Mahito Yokota
"Beach Bowl Galaxy - Undersea" by Mahito Yokota
"Tough Enemy (King Dedede's Theme)" by Shogo Sakai
"Forest Dwellers" by Mahito Yokota
"Base Infiltration" by Shogo Sakai
"Multiplayer Menu" by Shinobu Tanaka
"Mario Bros. Theme (Tutorial)" by Yoko Shimomura
"Inside the Inverted Pyramid" by Naoto Kubo
"Main Menu" by Asuka Ohta, Ryo Nagamatsu

#godot #gamedev #unity

All Comments (21)
  • @LazyAlarm
    Since more people are seeing this video as a result of Unity's recent pricing change, I would like to emphasize that these are my opinions on the engine pre-4.0 update which addresses and fixes a large majority of issues I had with the engine, and adds a number of valuable features. Second, many of my concerns or wishes were also addressed by more experienced users in the comments, and were a result of my lack of experience. I hope the comments can be a good resource for anyone struggling with the same things I was. Since this video released, I have continued to use Godot. I've made 3D games, I've made 2D games, I've made simple graphics, I've made more detailed graphics. I've made VR games. I have yet to try a game idea that I felt could not be achieved with Godot.
  • "All game engines have their own special ways in which they work. Unity has MonoBehaviours. Unreal Engine has Blueprints. GameMaker has a 100 USD a year subscription fee. And Godot has nodes."
  • @SamuelSarette
    One of the reasons Godot's UI tools are so powerful, is because Godot's Editor is powered by Godot. It's built with those nodes.
  • @Valcuda
    I love using Godot, because it feels like how I imagined game development would be when I was younger. Everything flows together nicely, and if I need something, I know where to look, and if I want to know what something does, I can easily look at the documentation. Unity however, feels like how I feared game development would be like when I first started. Everything is confusing, there 100 different ways to do x, but only one way actually works properly. Objects have dozens of different values, but you change one and suddenly nothing works. Unreal however, couldn't run on my high end gaming rig from 2010, so despite having a computer that could probably run it now, I've already grown too attached to Godot to even think of jumping ship.
  • @janmagtoast
    Two things that make me use this engine: - cylinder collision shapes - the node family system is absolutely bonkers and I adore it to no end
  • @TheFlyJunky
    There are a couple things about Godot's design I think you should know: 1) Single purpose principle - All nodes do one thing (ie handle themselves), there should be random nodes that only serve to have a script, and that script should only do one thing. 2) Tree Structure - Parents should know their children, but children shouldn't know their parents, otherwise use signals, using an autoload signal connector node is totally fine.
  • @rahn45
    I think Godot being 'durable' instead of 'fragile' is the thing that allowed me to actually dive into game development. The node system is just something that clicks with my brain, because when it came to other game engines/programming languages I'd struggle just to get buttons working; among other more simple concepts I'd struggle to grasp with. You know the typical problem of following a tutorial and at the end of it learned and understand nothing of what I did. With Godot on the other hand I can follow a tutorial and actually come out the other end with actual knowledge.
  • @freedombrick
    My favorite thing about open source programs is that it's improved on and worked on by those that use it. They know exactly what users need and want, and the issues that have, because they are them
  • @SharyqSiddiqi
    My personal favorite creators in the Godot community is DevDuck, just makes devlogs but he displays expert use of the engine, an amazing workflow, and an overall nice way to balance work and life
  • @WH1T3_No1SE
    You really need to make a sequel to this video
  • @jarbarsi
    As I'm watching this video, I know you mentioned things will change in godot 4.0, so here's a list of things you mention that I know for a fact have already been changed in godot 4.0 - Physics have been completely rewritten from scratch, so they shouldn't feel nearly as janky - 3D audio and audio in general has been overhauled, so most of the issues/jank there will get much better - Shader compilation has been reworked so that, while performance will still drop a bit while they compile, the engine won't grind to a complete hault waiting for the job to finish - As you said, the options for 3d are already great, but it's getting even better, multiple options global illumination, deferred rendering, etc - Some things with the way ui options are displayed have been changed to be a little less confusing, mainly, the options displayed are based on the node's parent, so options that are overridden by a node's parent container won't be displayed - Also on ui, if I remember correctly the default ui theme is now based on the engine's ui theme, so it doesn't immediately look as terrible, still not perfect and probably should be reskinned to match your game's theme anyway - Godot's search engine has improved significantly, which means that the intellisense in the code editor is significantly better than what it was, prioritizing commonly used methods/variables and showing results even if you make a typo I probably missed a lot, because I was typing this list very lazily as I watched and haven't exactly been glued to the development of the engine. Great video by the way, hope that more people get to see it 👍
  • @SheepUndefined
    A huge tip if you're moving to godot: Go to the settings>text editor>behavior, and turn off the "Open dominant script on scene change." There's a similar option under the settings>text editor>files menu, DO NOT BE TRICKED. There's also a few other goodies like scrolling past the end of the file.
  • @reepusvanguard
    I appreciate how often godot updates and how the devs actually listen to their community.
  • I don't use get_parent() at all when programming in godot. imo that is bad practice. Create a group for certain nodes and in the main node/top node in the hierarchy. Just call get_tree().get_nodes_in_group() and it returns all the nodes that you need in that specific group as an array. Like the spawners that you showed. Higher up nodes should connect lower nodes in the hierarchy, so they aren't dependent on higher nodes being there. This will prevent your game from crashing. Lower nodes should never connect themselves to higher nodes. I used to do the same thing you did with singletons and storing nodes. But then, I read a godot design pattern somewhere that made my workflow much easier and faster. You could also get_children() and check to see what group the children are in as well.
  • @OWnIshiiTrolling
    Unity recently committing sudoku might benefit the godot community quite a bit
  • @rungeon83
    I have used Unity for years, gamemaker, XNA c# etc and honestly Godot is the only engine that i ENJOY using, alot of the issues LazyAlarm had I was like "oh but I know an easy fix for that!" or an option that was missed. One thing I find really odd about Godot is the community, it's so lovely and I've had nothing but positive people, I have no doubt there are awful people everywhere.. but I've never had that horrible elite nerdy hate for not knowing something that was "DUUH so easy duuuhhh" easy. lol
  • It's crazy how far Godot has become in all these years. Especially 3D and its performance got improved by Godot 4.0 by a lot which just makes it so much more fun, motivating and promising to work in 3D using our lovely engine. I am very excited about how Godot will evolve from here on, since it is also getting the recognition it definitely deserves. Great video and great channel. 🙂
  • Would be great to get a refresh on this topic with Godot 4.1. I also really appreciated the more niche memes, seeing that Aperture and Black Mesa chart was something else!
  • @BT293HG
    Welcome back everyone, we all know why we are here