Hello,
Tell me please is Godot good for big 2d games or it's mostly for mobile ? What if game like RimWorld , is Godot good choice for it ? Or Unity engine is more simple way ?
Is Godot have API for working with multithreading programming, for example if I want generate and load map (graphic) realtime ?
Is Godot have instruments for working with pathfinder ?

    Yes, godot can do all of that. But it will take some serious time investment on your part to get up to speed with godot as well as general game development experience to tackle such a large project. It won't be 'easy' no matter what engine you use. There are no shortcuts.

      Megalomaniak Thanks for answer, I worked on several 3d games on Unity before, but for 2d game I thinking about another engine. I had a problem with Unity when I tried to load map in real time, I can't to do it in another thread, only asynchronously. Maybe I'm not good programmer 🙂 But before learning Godot I want to understand is it best choice for my game or not ...

        Vinny Unity when I tried to load map in real time, I can't to do it in another thread, only asynchronously.

        Then if I understand you right - no, I don't think godot's got a way out of the box to do it either. Might still be possible perhaps, but would be more involved. Worst case, since it is open source could try adding what you need to the core in a fork. But I don't do much beyond UI in 2D so I simply might not know or be missing something.

          Vinny I can't to do it in another thread, only asynchronously

          In the current programming terminology as I understand it, wouldn't "asynchronously" and "in another thread" mean basically the same thing?

          In Godot you can stream data from a file in a thread, no problems, if that's what you're asking.

            Megalomaniak thank you, it's important thing for me, maybe someone will answer 🙁

            xyz no, it's:
            Asynchronous programming is about the asynchronous sequence of Tasks, while multithreading is about multiple threads running in parallel

            • xyz replied to this.

              Vinny You're tempting me to link the wikipedia article on async programming 😉.

              You should describe more clearly what type of thing you want to achieve. That way it'd be easier to answer if it's doable in Godot or not.

              There's a simple but sufficient thread api (threads, mutexes, semaphores). As I already said, you can set up a data streaming thread in a few lines of code.

              I'm not sure what you mean by "pathfinder"? If you're talking about 2d navigation then yes. Godot has built-in helper objects that facilitate A* pathfinding, as well as navigation polygons pathfinding.

                xyz I still checking documentation and found this:

                However, creating scene chunks (nodes in tree arrangement) outside the active tree is fine. This way, parts of a scene can be built or instantiated in a thread, then added in the main thread:

                So it seems what i need. Because i want to load chunks of map before they become visible to player. I need to load textures,objects from files in 'background'. So i want
                to use different thread for it and then insert it to scene tree on main thread. As i plan to have big map and want to load/unload chunks of it while player moving.

                • xyz replied to this.

                  Yes, that should be doable, what was confusing was that I can't think of any reason why it couldn't be done on unity as well...

                    Vinny Yeah, loading Godot's resource objects is generally thread safe. So streaming the chunks of a big map is perfectly feasible.
                    And yes, Unity should be able to do this as well.

                      Megalomaniak

                      xyz
                      it's very strange, I did not found how to do it in Unity, only async (with Coroutines). Because Unity can't work with MonoBehavior in another thread. I understand it's not Unity's forum, but maybe somebody know how to do it

                      Vinny Is Godot have API for working with multithreading programming, for example if I want generate and load map (graphic) realtime ?

                      Dev snapshot: Godot 4.1 dev 3

                      • We continue to improve Godot’s multi-threaded behavior and fix bugs from the recent changes. Such improvements include multiple fixes to multi-threaded resource loading (GH-74405, GH-77143), multiple fixes to the WorkerThreadPool class (GH-76945, GH-76999), and an early version of the multi-threaded node processing (GH-75901). Thread safety of many engine and editor types has been improved, though this work is still ongoing and will continue into Godot 4.2.