However, one thing I don't like about Godot is their choice of a dynamically-typed, scripting language as their main programming language, instead of a statically-typed, compiled language which, in my humble opinion, would have been better.
I have never used Godot, but from https://godotengine.org/features/#script :
> New in 4.0: GDScript offers optional static typing support, boosting your coding efficiency and runtime performance.
and
> Godot is built to be extended, and that means you can choose a programming language not provided by the Godot team itself. Thanks to our community there are many language bindings for popular tools like Rust, Nim, Python, and JavaScript.
>
> New in 4.0: C++ supports comes officially in the form of GDExtension API, which gives you a way to script and program your game components for maximum performance without having to recompile the engine.
Additionally, C# has first class support and community supported languages include stuff like Nim, Rust, and Typescript: https://github.com/Vivraan/godot-lang-support
Compilation is irrelevant to a game engine scripting language. I think Godot does some magic on their end to make the interpreted nature of GDScript not matter from a performance perspective, but don't quote me on that.
There will always be someone to say that an open source project can’t replace a mature, proprietary one since it doesn’t match all the features or ecosystem. Historically, this changes really fast once you make the licensing terms bad enough to make a large chunk of your customers and prospective customers leave and take a good risk with said open source project.
Roccitiello was also shortsighted when he was CEO of EA. It’s sad that history repeats itself.
Now I'm learning a lot and decided to stick with Godot for this project. My restarting phase is over and I'm moving forward now! I've been really enjoying it! The more I use it I really like it.
A funny experience today, in part due to google being "not terrible" these days (as we say in French), was looking up internationalization. The first hit was a youtube video that was in Indonesian with no subtitles. But in two minutes the guy showed the file structure and whatnot and it's super easy to use.
Sometimes (always-ish?) the docs don't provide examples, which I think would be helpful, and sometimes error messages could be different like, instead of "wrong args on function" it could tell you what the right ones are (like Rust), and I don't know how to refactor other than manually which is different when you're used to IntelliJ, but these are minor gripes.
Overall this experience reminds me of what got me into coding with Flash when I was a whippersnapper, when I felt it was really fun. It feels like you can make whatever you can dream of happen.
Then I read about Unity here today and how sell-outy they are acting it reminds me of another reason to continue using open source, or free software like Godot, or Reaper (free-ish) or Blender. We are starting to have really high quality options these days.
I really hope Godot forges foreward and I hope the ethics continue to serve independent devs. And I really hope there's less breaking changes than 3 -> 4, because it makes it kind of tricky to find references online when a lot of syntax changes. But hey I love python and I got into it in early v.3 days when most stuff was v.2 so I just started with the then bleedy version and that's what I'm doing with gdscript also using v.4 and so I guess I may just have good version timing when I start a language, that is if gdscript can become a little bit more backwards compatible at some point. But also, do what must be done. Sometimes things do need to change so I get that, but at a certain point in time there "should" be a baseline compatibility with self (IMHO) in software. Or to me, that is part of what makes software good.
Also if I'm talking to one with such power, can we pretty please have list comprehensions? And also if the gods desire, can we have the format string from python?
comprehended_list = [v for v in a_list if condition]
comprehended_dict = {k:v for k,v in a_dict.items()}
formatted_str = f"typing stuff and then {any_typed_var}"
# This basically calls the var's __str__() and then __repr__() as backup
Anyway this post is not meant to sound complainy, or begging (for slightly more pythonicism) but more so as funny although I'm not. Badum-Ching, I'll see myself out. Seriously though I think Godot is awesome. Please keep up the good work. Although I don't understand the "why" of being like python and then not. Like why rename .lower() to .to_lower()?Godot is a "mature" toy engine. There is not a single quality / money maker game that shipped on Godot.
This does not seem to be related to this:
> There is not a single quality / money maker game that shipped on Godot.
There's some missing context in the middle. I'm curious how one implies the other? I'd be game for chains of logic going from first -> second or vice versa.
I'm specifically curious, what is Godot missing?
I mean look at the showcase:
https://godotengine.org/showcase/
It all looks amateur.
All the mobile dev work on Unity so you better have good reasons to change the entire pipeline.
I think from a business perspective, I'd be more at ease if they could advertise any profitable games.
Not that games need to be profitable, but there's some value in knowing other people tried and succeeded to use Godot commercially.
Someone should be the first!
This is the same as saying "no FAANG company uses X language/platform so X is a toy", it's far too reductive and not actual reality.
As someone who has used Unity a lot, it really isn't the engine. You're only noticing this is the whole "no good toupees" thing. The thing is, the Unity Assetstore makes it very easy to hack together something that kind of works, but because nothing will quite fit together it'll be a janky mess.
Rust is fine though, in my experience. (and yes I do mean the video game in this context, hahaha)
One big argument people have is whether the lighting in game is good or not. They do dynamic lighting, which can definitely cause some voidlike shadows, but people were arguing over whether Unity had tools to help with that or not.
Also, multiplayer is hard, but they have made some (very questionable) decisions like sending all clients the entire map entity list. Hackers abuse this to know where rare items are located and even the stuff other players have found or brought into raid. If I find a GPU or LEDX and put it in my bag, they instantly know and can come kill you to take it. This combined with issues with desync, audio not working correctly, invisible players...I don't think this is a Unity problem as much as it's just a complex game, a pretty small dev team, and they don't want to hire outside of Russia.
Now compare Satisfactory to its actual genre-appropriate competitor, Factorio, and suddenly Unreal looks like a pathic joke. Factorio scales _so_ much better it's absurd, but that's really down to the quality & focus of the simulations being added by the game developer. None of it has anything to do with the engine itself (well, except that Satisfactory is limited by the number of game objects it can place as a result of an Unreal Engine limitation...)
The engine is not simulating any of the factory logistics, that's all going to be bespoke code by the game dev and so there's no major reason to expect unity or unreal to behave meaningfully different here.
And yeah, I feel like you're choosing some specific games while ignoring all the others. Tons of famous Unity games are great. Is Subnautica janky? What about Hollow Knight? Rimworld, Beat Saber, Outer Wilds, Cuphead, both Ori games - the list of major Unity projects can go on for a while, and I wouldn't call any of the above examples janky.
Yes: I could make the crashed burning spaceship pop into and out of existence by walking a couple of metres back and forth across the floating platform I was standing on.
And even then, as far as I know, they're not really simple 2D games, but more of 2.5D. There are 3D background layers and 3D-like lighting and effect calculations, in addition to overall being very visually dense and complex. I certainly can't compare it to fully flat games, like the aforementioned Hollow Knight or Cuphead, etc.
So yes, an engine can have known issues, but isn't it up to the devs to make a product that runs well? Unfortunately for Jedi: Fallen Order they just weren't given time to make it work well, just "good enough" for console, and it's even worse on PC. The sequel has the same issues.
Granted it's not a mobile game but still.