Winterpixel Games Profile picture
Jul 7, 2021 21 tweets 4 min read Read on X
I'm really somewhat confused by the @godotengine core devs reaction to @o3dengine #o3de. I'll prefix this thread with the fact that we REALLY love @godotengine. There's some massive pros to the project (FOSS being the largest)
(1/25)
The #o3de announcement is definitely a welcome addition to the FOSS community, but a few of the @godotengine core devs seem kinda bewildered that amazon would invest time and money here rather than sponsoring or helping #godotengine in some fashion.
(2/25)
But to me, it's pretty clear. The fact is, it's somewhat tough for seasoned and experienced game/c++ developers to work with the #godotengine src. The codebase and lead dev are very opinionated (which is USUALLY a good thing).
(4/25)
And I'm not talking about necessarily contributing, this is about working in the codebase itself. (5/25)
For example: I can't use godot Strings in any other modern c++ template collection because String doesn't implement move op 😞. This leads to workaround after workaround in our codebase itself. (A simple example true, but one of many).
(6/25)
And there are just some very unergonomic things about the godot source right now. Stuff that would just never fly with experienced teams or devs. And from what I've seen it seems to put off experienced devs and more established teams.
(7/25)
Recently I've come to discover this old godot issue (as I understand this issue has somewhat become a sore spot in the #godotengine community).
(8/25)github.com/godotengine/go…
Regardless of the presentation of the aforementioned issue (probably not the best), the technical criticisms in the issue are sound. (9/25)
And that aside, a lot of criticisms of godot src code come in the form of "Why does godot src do things like this". And the general answer from the core team is, "godot does A this way because of X,Y and Z". And I have no problem with this reasoning. (10/25)
But the reasoning has to be sound. What I'm starting to see more and more of is that X,Y and Z tend to be false premises, which end up resulting in bad decisions. (11/25)
And I don't believe it's intentional, I think it's just due to the lack of actually using the engine by the core team to ship real products. (12/25)
This is really why dogfooding is SO important, and why Epic/Unreal have such an unbelievably great advantage with their engine development practices. (13/25)
I was told in IRC back when godot dev team used IRC for communication, that godot src is very NIH (not invented here) by design. I wasn't familiar with this term but boy am I now. (NIH is the tendency to avoid using any third party code other than your own). (14/25)
Need a STL? Godot has their own impl. Need a physics engine? Godot has their own impl. Need an http stack? Godot has their own impl. Need a scripting lang? Godot has their own impl. etc, etc, etc. (15/25)
There are obviously pros and cons to this, but IMO it's currently balanced on the wrong side here. It leads to slower development velocity, because when you do everything you have to maintain AND fix everything. An absolute massive amount of work! (16/25)
There's a very real reason Unity just uses Box2d as it's 2d physics engine... (17/25)
And ya, when you implement everything yourself, you're going to have to implement range iterators (as well as a whole bunch of other things but don't get me started). (18/25)
For example, our project was just absolutely HAMMERED with malloc/free overhead per frame. Literally TENS of THOUSANDS of calls. The reason? Godot's 'stl' doesn't do map iterators (just due to lack of resources)... (19/25)
I encourage the godot core src team do some introspection here and not just wonder why the project doesn't seem to attract certain types of resources, sponsors, or developers. It might be gut check time. (24/25)
And please amazon just consider open sourcing #gamesparks as well... You'll promote #aws which is always the real endgame, and if you're willing to do so with the lumberyard tech buy you might as well do it there too if u have no direction what to do! (25/25)

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Winterpixel Games

Winterpixel Games Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(