Best open-source engine around


#21

I think the most important thing for any game engine is asset pipeline. This should be as fluent as possible
and allow quickly putting-up visual aspect of game so to show to others. Also having some common high level systems help a lot. There are common tasks people do, which makes engine the engine and not just assorted framework of different things. But after this comes a point where people have different goals, i.e. some people want minimal engine without physics/anything, just ECS + renderer. Other people want more powerful scene graph, some want some AI helpers. The problem with Urho in this aspect is mainly lack of ground for implementation of such systems. So even if you decide not to “write game for anybody” you still want engine to have not too high entry complexity. Simple example - having node editor UI element would make many tools development much easier. Also adding simple 2d rasterizer drawing lines, arcs and text would allow much better debugging and nifty things. These things are still low level enough to not “write games” for someone, but help a lot in writing these games, as with engines like Urho one first writes tools and then writes games. So there is a lot of features one can implement which are completely generic and still very useful for implementation of high level systems. Also improving editor’s interface to components (like adding custom per-component editors) would also quite improve quality of life. As I truly believe that a set of simple common components for multiple game genres (like behavior trees, data-driven animation tree, etc.) would not hurt too (but there are people who are extremely againt that), but these are for the end with a cake.
But still I truly believe that if Urho’s asset pipeline was as fluent as at least Torque3D, that would not hurt anyone’s feelings and drastically improve engine overall. And would add at least one happy person here.


#22

Or more generally, “don’t reinvent the wheel”


#23

I second that the asset pipeline is one of the most important thing that’s currently missing. The Blender exporter is OK though, and many (most?) indies use Blender. Besides that in my wishlist there’s a new editor too. However, these things require a substantial amount of work.

The renderer could use some modernization but I feel that for indies GL3.3+DX11 is still OK and many (most?) even target older APIs (DX9+GL2.1) because supporting old hardware is much more important for the indie audience.

Overall I’ve had my gripes with Urho (especially when it comes to rendering stuff manually), but in my opinion it’s a great engine for indies! It doesn’t have the bestest pipeline, collaboration would be a bit of a pain (LFS + one-way arts?) and of course it’s not the greatest one when it comes to rendering, but if you’re making a photorealistic game with a budget and a team, then there are of course other options to consider.

That being said, the core is getting old quickly, it doesn’t extract the performance of modern hardware as it could, not even mobile. While GLES2 is still very common, in terms of CPU everything has many cores/threads these days.


#24

I’d phrase that more as “reinvent the wheel when you know you have to, otherwise don’t”


#25
Something like this?

Gwar - The Wheel


#26

Not this kind of wheel I presume. This kind:


#27

Maybe the key is to not re-invent the wheel, but shape the world around your wheel so it works anyway:


#28

Best workout tool ever


#29

After spending considerable time trying out a number of popular engines out there (Unreal 4, Unity, Lumberyard, Godot, etc), I have to say that what makes Urho3d truly unique is the fact that it’s a lightweight, yet complete engine that does contains all the functionality required to build a game. It’s also easy(er) to learn and understand and to get started with (if you are a coder). So far, with Urho I’ve been able to do more than with any other engine. I certainly hope it keeps going.


#30

From what I’ve seen through the years, the open source projects most likely to survive long-term are those which attract corporate backers who have a vested interest in the project staying alive and healthy, and who are willing to pour money into it, or which originate from and maintain a foothold in academia (see Lua). Additionally, they mostly have a “Benevolent Dictator For Life” calling the overall shots, even if the actual development is done by others at the dictator’s direction. Design by committee, where nobody is really in charge or has the final say, rarely seems to work well. Such projects usually end up mired in a swamp of conflicting styles and visions, while falling further and further behind the technology curve. They also give rise to a vast amount of bickering and infighting, that can further hamper progress and damage the brand.

I can understand @cadaver not wanting to continue in the dictator role. It’s a huge investment in time, for little to no gain without the backing of corporate sponsors. I think maintaining an engine of this scope long-term is outside the capabilities of a lone hobbyist developer. I believe that if Urho3D is to continue, and not dwindle, it is going to need a new BDFL with a salary, and some source of funding (whether corporate sponsorship or crowdfunded). Without that, I just don’t see it progressing to keep up with the new technologies already in play, much less any new stuff coming down the line.

Godot seems to be in a similar boat; the difference there, from what I can see, is the existence of crowdfunding efforts, and a BDFL that currently seems invested in the project. Even for all that, in my experience with both engines, Urho3D is the superior one, and I will be personally extremely saddened to see it wither if such is to be its fate. I do stand ready to contribute financially to this engine, if at some point the ability to do so comes into existence.


#31

Lua had a ton of commercial interest from the industry, not just academia. But I agree, projects need strong leadership from a committed person, democracy doesn’t work very well :stuck_out_tongue: .

Urho is so much better than Godot at least technically, but Godot has the editor and all the “cool” stuff people expect these days like visual programming, asset store, GI, devs active on social media… that attracts the noobs (as @rku puts it) who provide a ton of free publicity and then it’s a virtuous circle, more community means more users and more visibility, and a few of those users are happy to contribute financially to the project.

Urho isn’t going to stop working or something though, and DX11/GL3.3 are still fine for new indie games, but they’re getting obsolete quickly, same with the single-threaded internals.


#32

FYI: Lua’s development was largely funded by Petrobras, a very large state-owned oil company.


#33

I still believe democracy could work if it’s well organised and has clearly defined rules that everyone abides by. What I suggest is:

  • Contributors submit their proposed changes/updates to the engine in some form (maybe pull requests)
  • Have a voting system, where any user can vote for/against the change. We could have the vote of the core developers be worth more than other users, but every user is invested in the engine and should have the right to vote. The vote should be open for a limited period of time (say 2 weeks).
  • Have a moderator (for a lack of committed leader), who, even if s/he only works part time, can regularly check the voting system and bring in the positively voted or reject the down voted pull requests

#34

One issue with this, though, is that you’ll get proposals for a lot of cool stuff, stuff that’s fun/interesting to work on, and no proposals for the boring stuff. Plenty of folks want to write a GI solution; almost nobody wants to maintain script bindings, or write shader variations for 3 different APIs. Sometimes, you need a boss to make sure the icky stuff gets done.


#35

Or you need to make certain “heroic” one-off efforts so that there isn’t any icky stuff anymore :slight_smile: Easier said than done, though, and some things like multi platform support and the build system is never going to become just simple and beautiful, I believe.


#36

That depends on person, myself I find platform stuff and build system stuff fascinating.


#37

This is your lucky day, then, because as it so happens Urho3D could use a build system maintainer!


#38

I thought Wei did that, is he not? BTW, I think it is much easier

to find low level development / build system people than actual

engine architects and game designers.


#39

Build system is easy, after someone shows you the way. And don’t count on me keep staying with the project. The project needs new blood.


#40

That’s true, and funnily enough GI is certainly one of the most desired features too, yet nobody seems to be contributing that anytime soon although @Lumak did some stuff already.
I say let’s get rid of manual scripts (and some platforms) and use a shader transpiler… the fact is a lot of the ‘icky’ stuff in Urho simply doesn’t have much reason to exist. Insisting on keeping the ‘icky’ stuff while that drives away possible contributors is not reasonable imho. I don’t think we need a boss to make sure the icky stuff gets done, we need a boss to get rid of the icky stuff altogether :wink:.
We have to face the reality that there simply isn’t enough manpower to maintain the current featureset with the current quality standards. It doesn’t look like that’s going to change soon, but I think that if Urho gets rid of a little bit of the dead weight perhaps it can keep going a bit further.
And… RebelFork Ftw! :trolleybus: