All I can say is working with Godot is an absolute bliss. Seriously, it's fun, it's "easy" and it gets out of the way. Within a couple of weeks, you can be focusing on making your game, rather than a constantly evolving tech-demo.
There are only two caveats: understand what Godot is not good at, 3D open world / large landscape, and console development.
Godot 4.0 was a total mess the last time I tried it though. The Vulkan stuff was completely half baked and the UI was acting out. Godot 3.2 though, solid fun.
Godot 4.0 still has a long way to go before it's ready for everyday use fortunately, not even in alpha state yet so I wouldn't judge it too prematurely.
Godot just doesn't fight you the way Unity does.
So if you're in space, and you're flying nearby a big ship full of triangles, such as an imperial star destroyer, you run your framerate down to the ground if you render even only 5% of it, as it renders everything else as well.
You can mitigate that to some degree by breaking up objects, but even the shell being plain would still cause massive issues.
For first person, open world, or large environment type game, I'd recommend Unreal. For 3D isometric style games, it's perfectly suitable with knowing the caveats and minimal adjustments from an asset creation perspective.
The 3D it can do is kinda... "shoved" into it. It works but it wasn't designed from the ground up like other native 3D engines are.
Last I checked the editor has no advanced 3D scene editing features, and the engine itself has no basic capabilities that are needed for large open world 3D games, like being able to load tons of stuff on the fly as the player moves in a way the player doesn't notice.
My company cannot afford to wait until Godot 4 to build product. And since we’ve got a big investment in prior work, there is little chance we will switch that work over to a platform that will be brand new in a short period of time.
Don't get me wrong, I'm not saying you have no right to complain. But the way you're going about it is off-putting. Godot's devs are working hard and what you're saying isn't constructive.
I mean, it's MIT licensed. So no, not really. It's designed to make games, and the commercials are left to you.
My advice: don't bother waiting for Godot 4 just because it sounds nice. You'd be surprised at how many of the "limitations" of the 3.x branches are not actually problems at all for most use cases (granted, your company may have a very niche use case...)
Will it be a good choice for FPS shooters taking place primarily in closed spaces like buildings, etc?
If you're keen on this, I recommend using Trenchbroom for level design and the plugin that goes with it in Godot, it's pretty cool! (Qodot)
I was starting to make a 3D game for mobile and was planning on using UE4, but I've heard a lot of good things about Godot. Are there any pain points or blind spots in Godot's feature set?
for 2D I'd definitely go Godot.
I mostly do 3D games with fixed or limited range cameras (not first persons) so Godot works nicely.
Overall you'll need to understand well the engine you choose going forward. They all have their pros and cons.
As an example, it takes 3-4 hours to recompile the UE4 engine source code (for customization). Godot, about 4-12 minutes, in its entirety.
Having used C++ and Blueprints extensively, GDScript is really a breeze. Of course games perform better if made entirely in low level C++, but as an indie you have to make a choice and you have to ship a game.
Looking forward to better tilemap support in 4.0
Curious if you had a direct experience with the console side of things with your game?
Also, can I provide you an opportunity to promote your game by asking you to tell us more about the game you shipped? :)
(The rest of this isn't directed at you but more trying to clarify the Godot console situation for anyone else interested.)
I've noticed there seems to be a lot of misunderstanding (particularly by "less commercially experienced" game devs) in relation to Godot's "console support" or apparent lack thereof.
Godot do now at least have a page[1] to directly address the issue and clarify the situation which can be mostly summed up with:
"... there is no engine that is legally allowed to distribute console export templates without requiring the user to prove that they are a licensed console developer."
and:
"Console ports of Godot are offered by third-party companies (which have ported Godot on their own)."
I seem to recall there was one FLOSS game engine that got a grant or something to incorporate support for some XBox initiative (that wasn't "full devkit support" level) but for every other major console there's no engine that has FLOSS code supporting it--and if it did then no one could probably tell anyone about it because of NDAs. :D
As a side note[0]:
"Additionally, there is some unofficial third-party work being done on building for some consoles. However, none of this is included in the default build scripts or export templates at this time."
The situation is also the same for other FLOSS projects, e.g. the Rust language, where the issues tracking game console support basically say "if you have the ability to develop for (current) game consoles, you also know we can't talk about it here where others aren't under manufacturer NDA":
https://github.com/rust-gamedev/wg/issues/90
https://github.com/EmbarkStudios/rust-ecosystem/issues/18
https://www.reddit.com/r/rust/comments/jtqgn4/q_feasibility_...
Hope your game is selling well. :)
[0] https://docs.godotengine.org/en/stable/about/faq.html#which-...
[1] https://docs.godotengine.org/en/stable/tutorials/platform/co...
Godot by default does not support consoles. Yes, you can to employ another company to port it for you, but that is a no go for me. UE4 on the other hand you can do it all yourself once you get the developer kit and access (legally) to the platform of your choice.
On the other hand you can easily do mobile with Godot.
And of course on the blue website /r/godot and /r/madewithgodot
[0]https://www.youtube.com/watch?v=yRHN_WEulLc
[1]https://www.youtube.com/channel/UCrHQNOyU1q6BFEfkNq2CYMA
[2]https://www.youtube.com/c/Gdquest/videos
[3]https://www.youtube.com/watch?v=iDEcP8Mc-7s&list=PLS9MbmO_ss...
I really enjoyed his style and he does a good job hitting all the important points.
It was a very simple process, there were one or two typos I found in the code that an experienced programmer should be able to resolve themselves if they haven't been fixed yet.
I haven't done more yet since but would like to. Unfortunately playing games is too fun.
I'm very impressed with the quality of Godot and its continuous improvements.
I say this because I've shipped physics simulation games and Godot has been the simplest most reliable engine for that.
I haven't played around with other engines that much so I can't comment on how they work.
[0] https://stride3d.net/ [1] https://vvvv.org/ [2] https://janet-lang.org/
This feels so satisfying for some reason, it feels like it set ups a great feedback loop where improvements needed to improve the editor also result in improvements to the whole platform
I have no issues with current fonts. Enable filter in your font settings, can try importing at a massive size designing at a high render scale, and using the viewport scaling to scale it down.
Native viewport (no scaling) and using no scale on your labels should make it all render as you'd expect, however.
The animation support is also excellent, allowing to key every node property and even adding code calls perfectly adjustable in the timeline. I never used Flash to create things myself, but I hear people comparing Godot to it in terms of being able to do stuff. And from my own experience I believe it.
For 2D games I can't quite think of anything better. My own stuff has plenty of 2D visual effects (think of a discount version of the Super Robot Wars series in terms of looks), shaders, a zillion explosions and even my former computer (already a toaster circa 2014) barely registered CPU activity. 3D wasn't as good, although I was able to do little things that looked fine and performed okay in my former computer, it was noticeably more intensive, and the 3D demos by other people with full effects and high poly counts went at like 5FPS (they run smooth in my new machine, but gotta think of the weakest link). Godot 4.0 promises interesting upgrades on that field, though.
Since my game is going to need 3D for dungeon navigation I think I'll try to wait until 4.0 is released to finish that part, even if I have to port my code to accommodate for breaking changes. I did it with an earlier game in the transition from 2.x to 3.x and was a bit tedious but not really difficult. I'm not in a hurry and I can improve plot and features while at it, I'm just going to release it as FOSS when done, so I can wait and see if the improvements are worth it.
That's a preamble to recommending to check out popular open source games like OpenTTD, 0 A.D., or Cataclysm: Dark Days Ahead. None of them use Godot, but they all use game development principles that you would apply in Godot if you were using it.
Might be third party companies out there that could be hired to do the porting, but I don’t know.
This is an open source project, so they can do what they want.
Isn't it a bit onerous to ask the users to build/rebuild the whole engine/toolchain if we want to use the c++ version in Windows.
I don't compile Intellij for my environment to use if, for example.