5 ms·
Man, Godot sounds like a bit of a mess. I've been building a Freelancer-like game on it for a while now and performance has been a nightmare to the point where
by Yokolos 2mo ago
Man, Godot sounds like a bit of a mess. I've been building a Freelancer-like game on it for a while now and performance has been a nightmare to the point where I've offloaded most of my code into pure C# and out of Godot. I even had to give up on Godot's Jolt physics. I'm constantly hitting the limits of what Godot can do. The renderer is pretty much the only thing stopping me from putting tons of ships in the same battle, but I'm also not experienced enough at game dev to know if what I want to do is actually doable with a better renderer or on something like Unreal.
I do agree with her take though. Getting up and running in Godot was surprisingly, blindingly fast, so I don't regret picking it at all. I'm just not sure I'll be able to stick with it for an eventual release.
- 0x1ceb00da 2mo agoHave you tried using the profiler? Where is the bottleneck?
- Yokolos 2mo agoSo I'm a bit embarrassed. I was going off my profiling work done 3 months ago when I was still having issues. I've been working a lot on optimization and hadn't done any proper non-headless profiling with high ship numbers since then. After seeing this your comment, I spent last night running some performance trials and the GPU rendering is down to 3ms even at a high number of ships. Any further slowdown is still coming from the physics step. I unfortunately can't edit my comment anymore to correct what I wrote.
- gorfxx 2mo agoIs there actually a huge performance gap between Godot and Unity/Unreal? I've never personally made a game but I have only seen small-medium games in Godot. I would have thought the rendering would be where the slack is tightened first as its the most visible part.
- CobrastanJorji 2mo agoFor small projects, especially small 2D projects? No. For big projects being done by pro teams that are willing to do a lot of work to customize their render pipelines and whatnot to really push resources to the limit? Yes. I am absolutely NOT a game dev experts, so I'm sure I'm missing subtleties, but from what I understand, Unity's scriptable render pipelines give advanced teams more opportunities to tweak custom/complex rendering logic. I get the impression that they are likely pretty comparable out of the box if you just start adding objects to a scene and measuring performance, but Unity has fancier tools for potentially improving on that.
- krige 2mo agoGodot has the Compositor. https://docs.godotengine.org/en/stable/tutorials/rendering/compositor.html https://docs.godotengine.org/en/stable/tutorials/rendering/c... Unity has little advantage over Godot these days, unless you're familiar with one and want to spend absolutely zero time familiarizing yourself with the other.
- mercanlIl 2mo agoIt sounds like a mess, though comments about Godot are often vaguely positive. I appreciate you posting your experience about a limitation you’re running up against. I can think of only one popular game of note that was made Godot, Slay the Spire 2. I’d love for more titles to be released to prove the engine can be competitive.
- krapp 2mo agoThe popularity of a game has far more to do with advertising and streaming exposure than the framework used - obviously Godot is capable, thousands of games have been published with it at this point.
- bsimpson 2mo agoBrotato is also a Godot game. You can look up engines on SteamDB.
- graynk 2mo agoDepends on what your threshold for "popular" is. Other games that come to mind: Golden Idol series, Buckshot Roulette, Dome Keeper, Arctic Eggs, Cruelty Squad. Sonic Colors, kind of.
- Yokolos 2mo agoAfter some renewed profiling last night I determined that currently the renderer isn't a blocker anymore after a lot of optimizing I've been doing these past months. A lot of that has been pulling stuff out into decoupled and Godot-independent C# threads, so Godot is pretty much just being used for rendering, UI and input handling now.
- m0llusk 2mo agoSometimes it is possible to pinpoint problems if not fix them. In my limited experience the Godot source is quite accessible and straightforward despite the complications of multiplatform builds.
- Fraterkes 2mo agoJolt is essentially the same physics engine that was used in the Horizon games, the performance there should be able to get quite good. If you're making any kind of even slightly ambitious 3d game you probably need to be using gdextensions (ie writing custom engine-extensions in C++). I'll add that the engine source is very accessible. It's deliberately pretty bare C++, so if you have a decent amount of C# / C experience you should be able to find your way around it pretty easily. Unity is a bit better when it comes to performance foot-guns and messiness (and in some ways much worse). Unreal seems to be pretty frictionless for getting something working that looks impressive, but if you're not very experienced performance is going to be a big issue there too (there seem to be very few games made in Unreal that run well on mediocre / older hardware). Godot's a mess in the sense that it is trying to expand in every direction at once right now. I think it'll be in a pretty different state in 2-3 years.
- Yokolos 2mo agoI know that Jolt is used in Horizon, so I don't know why I had such problems with it. I've settled on Bepu for now, which fits better with my plans for multiplayer anyway.
- bj-rn 2mo agoFor a pure C# engine maybe check out https://www.stride3d.net https://www.stride3d.net. It's using Bepu for physics.
- Yokolos 2mo agoI considered it, but there's no path towards a console port afaict since NativeAOT isn't supported yet, and I want to avoid being locked out of any platforms in the future. I've been playing my game on my phone and my Deck against the same server and being able to switch between devices whenever I want really appeals to me.
- 0x_rs 2mo ago[dead]