6 ms·
Godot is a nice engine. I did a 3D project in it during the 3.0.x era and it was by far the friendliest and easiest engine I have used to-date. I think it gets
by lazypenguin 4y ago
Godot is a nice engine. I did a 3D project in it during the 3.0.x era and it was by far the friendliest and easiest engine I have used to-date. I think it gets a lot of love from people (myself included) because of that. The node system is absolutely wonderful to work with and GDScript is not bad as well. It's the most productive I've been in a game engine and I regularly contemplate going all-in on Godot for the future.
However, ultimately I abandoned that project because there were too many papercuts in Godot for me to be satisfied. Godot felt like it was a sort of "jack of all trades master of none". Everything worked pretty well but not one thing was fully polished for real world usage. There were ultimately at least one or two shortcomings in every system that just made the experience frustrating when trying to deliver a real project. For example, the asset import system is great but it fell down once I imported by 40,000+ assets or there were limited controls for navigating around the 3D viewport or odd behavior in physics functionality like slide and move that basically meant I needed to write my own equivalent. I am more than willing and able to work around limited features or fix bugs but there's something about "almost does what I need but it's not done yet" that is a real motivation drain. Maybe it's unfair of me, the retort is always "it's open source, contribute back!" but alas that is how I felt as a USER before I considered being a CONTRIBUTOR.
I've been tracking Godot since then and there have been HUGE amounts of work in lots of different systems, it's been quite amazing to watch. However, these decisions were quite ambitious as outlined in this blog (rewrite physics, rewrite renderer, massive upgrades to scripting language, etc.) that now the "polished" experience I've been waiting for has been postponed again. I'm optimistic the day will come where Godot becomes "good ole reliable" but until then I will keep waiting and begrudgingly use something else.
- whaaswijk 4y agoWhat’s the “something else” you’re currently using?
- rstupek 4y agoThat's one of the issues with open source, polishing isn't "fun", where massive rewrites to a new thing are.
- edflsafoiewq 4y agoI don't know about fun, but structurally, polish is one of the hardest things to contribute to an open source project. Polishing usually has a very large "activation energy", where the overhead of synchronizing, making a PR, building consensus, etc. dwarfs the actual effort in the patch. Polishing may involve hundred or thousands of small changes like this. Outsiders are likely to prefer contributing large features where the effort involved is more commensurate to the benefits.
- dymk 4y agoOn top of that, polish usually involves some amount of opinionated design, which can be hard to contribute to an open source project - you’ll break someone else’s workflow, or maybe it doesn’t mesh with the ideas of a core maintainer, etc.
- IshKebab 4y agoYes let's wait and see the inevitable response here to the Audacity redesign... I'm sure everyone will be very positive about the polish! /s
- worldsayshi 4y agoI don't understand why there hasn't been a widely successful crowd financing platform for open source yet. I imagine it has to be a bit complex but it sounds like a solvable problem.
- Karsteski 4y agoPatreon exists, but I hesitate to contribute to projects/people through Patreon as I want to give them as little money as possible...
- worldsayshi 4y agoI also feel that something like Patreon doesn't reflect the semi-decentralised way open source is built. There needs to be features like feature/bug-bounties that you can trust even if you don't fully trust the repo-owner/maintainer?
- danbolt 4y agoI love `move_and_slide` and it's perfect for me, but you're right that it's a very opinionated implementation. I found I was making huge strides in 3D very quickly, but a friend essentially had to re-implement it for their game. I'm curious if the best solution would be to expose more optional knobs and switches for KinematicBody, or to have a bigger ecosystem of open-source variants.
- brookst 4y agoThanks for the excellent write up with big picture thoughts and concrete examples. I only regret that you didn’t hit the “waiting for Godot” punchline harder.
- raffomania 4y agoInteresting - you're describing my experience with Unity, and I ultimately switched to Godot because of my frustration with Unity.
- warent 4y agoI've been using Unity for a few months now and what is most frustrating is how lazy and unprofessional the company presents itself. They basically found that the Asset Store is such a huge source of revenue for them that they now completely over-leverage it and abuse the community for profit. For the few things they do ship, they routinely break things for backwards incompatibility or literally just ship half complete "products". If you want to do anything meaningful in Unity you either have to build it yourself from the ground up or buy plugins. An example: their AI navigation system is so lacking in features, they haven't updated it in nearly two years, and the last ship they did was literally half broken and buggy for several use cases.[1] Also their help desk is currently broken, replacing random text with "$$anonymous$$" and deleting replies[2] :) 1: https://github.com/Unity-Technologies/NavMeshComponents https://github.com/Unity-Technologies/NavMeshComponents 2: https://forum.unity.com/threads/certain-characters-and-groups-of-characters-get-replaced-with-anonymous.960722/ https://forum.unity.com/threads/certain-characters-and-group... EDIT: This comment is definitely a venting comment, but I didn't want it to come across like Unity is pure ass. It has a lot of really great things too. I've especially enjoyed their abstractions around vectors, quaternions, cameras, and local/world space. You can do a lot of really complicated operations that look and feel great, without having what would normally require some pretty advanced math knowledge that is beyond me
- arjonagelhout 4y agoI have been using Unity for around 5 years now, and have come across many issues, from lacking documentation, weird APIs, breaking or forever-in-experimental packages, to issues with implementing best-practices for software development. However, its core is really robust and powers almost all VR experiences and startups, such as Gravity Sketch and Arkio. Which is why I still find myself drawn to Unity.
- pjmlp 4y ago
- throw_m239339 4y agoI mean it's a relatively young open source project. It took Blender 25 years to get where it is now and it still has some major flaws compared to the paid competition, and will need extensive rewrites if it wants to move forward because right now the C part is a horrible mess. Godot isn't going to compete against Unity or Unreal anytime soon. Godot's team doesn't have billions at their disposal like Epic or Unity. edit: Blender also had major advantage aside from begin free, it could do physics and volumetrics for free when the commercial competition required yet another paid plugin just for that stuff, so why pay when the free solution does more than the competition? and let's not even go into requiring separate paid rendering engines for the renders to look decent...
- fckgnad 4y agoI think though that there's an apex all game engines reach where technological progression just slows down even when you have millions of developer dollars to throw at it. It's the reason why something like blender can catch up with state of the art commercial offerings and I think Godot could go through the same thing.
- fbdab103 4y agoIsn't that true of all software? At some point, things should be able to be fully feature complete. Maybe update the UI toolkit every five years to appear fashionable. In practice, the industry loves to replace fully working projects rather than tweak existing, so we will never get to such a state of nirvana.
- fckgnad 4y agoCan't prove if it's true of all software. But examples of categories of this type seem to exist. Linux and blender are two examples. The software never gets to total nirvana. What happens is it gets to a state of nearly nirvana such that changes are tiny.
- snarfy 4y ago> limited controls for navigating around the 3D viewport I still haven't figured this out yet. It's really weird it's so difficult to navigate the viewport, which is a really basic operation for a 3D engine. I've made plenty of levels using the unreal editor, but I can't figure it out in godot.
- tpxl 4y agoWhat's missing? It's got rotating (MMB), panning (Shift + MMB), zoom (scrollwheel) and focus on object (F).
- snarfy 4y agoZoom is limited. It's not infinite zoom. How do I move through the level in Z direction? I saw a video mention WASD keys but it didn't work for me. In unreal you can fly through the level using mouse and keyboard. WASD is cardinal direction and mouse is camera rotation. In godot mouse wheel zooms the camera, but I couldn't find a way to 'move' the camera in Z.
- the__alchemist 4y agoAs most people working on these are probably aware, this is very easy to implement in a 3d engine using a quaternion orientation that rotates the WASD vectors, updating position and view orientation accordingly. Can do it with FPS friendly things like WASD + Q and E for roll, and space and C for up/dn. And blockers on patching this into the editor? Context: I have a very basic engine written in Rust/WGPU. Mainly using for chemistry sims. This is its default nav system.
- light_hue_1 4y ago> Can do it with FPS friendly things like WASD + Q and E for roll, and space and C for up/dn. > > And blockers on patching this into the editor? This is exactly how the editor works. It's just not the default mode. They call it freelook mode. You can either hold the right mouse button or toggle it with shift+F.
- uwuemu 4y ago[dead]
- therein 4y agoTangentially to your post, but nonetheless interesting: "jack of all trades master of none" is the shorthand version of the full phrase "A Jack of all trades is a master of none, but oftentimes better than a master of one” which has been used since 1721.
- demindiro 4y ago> Maybe it's unfair of me, the retort is always "it's open source, contribute back!" but alas that is how I felt as a USER before I considered being a CONTRIBUTOR. Even as a contributor I've found it very frustrating to contribute to Godot. I've found lots and lots of bugs while working on my own projects using Godot. I spent a lot of time digging in the engine code to figure out the cause, make an issue and a patch if I could. However, even small changes take a lot of time and effort. While I used Godot 3 for my own projects most of the PRs had to be based against 4. At the time Godot 4 was in a very sorry state and I ran in many, many issues that made it hard to test if the same fix for Godot 3 also works in Godot 4. I wrote some libraries to work around issues that I (or others) could not get fixed or reverted (e.g. I replaced the physics engine with Rapier3D because I really needed more stable and working joints) but I eventually threw in the towel and decided to focus on other hobbies.
- philipwhiuk 4y ago> While I used Godot 3 for my own projects most of the PRs had to be based against 4. The lack of support for anything than the bleeding edge in open source is a huge issue :(
- FireInsight 4y agoGodot nowadays is getting to "Master" levels of 2D IMO.
- shantnutiwari 4y ago> Everything worked pretty well but not one thing was fully polished for real world usage. My own experience. I found that once you go beyond toy projects, the minor irritations, the many "papercuts" you talk about, make game development painful. I havent used Unity, so dont know if it suffers from the same problem