I just don’t see any reasonable reality, where Unity and Unreal aren’t acknowledged as the 900 lb. gorillas of the game industry. There’s been an almost shocking amount of consolidation and standardization on these platforms. Most game devs really aren’t into open source, they want to get on with making games and making money. The business propositions are pretty simple for them. They don’t want to be the under-the-hood expert, it’s not profitable for them.
And there are projects a lot farther down that road, much more mature, than Urho3D is. I actually have no idea what your rbfx work is like by comparison. I saw what happened in the Ogre3D ecosystem with NeoAxis splitting off. The latter is clearly the one that exhibited long term project professionalism, that had a core developer behind it, who wanted to make sure his effort was sustainable and could make him some money. When I came to Ogre3D maybe 4 or 5 years ago, it had become the amateur hour. BTW their dev lead, “Sinbad”, had stepped down. It’s a pattern.
I do not think there is room in the marketplace, for a large number of open source C# 3D engines. Unreal is sucking all the air out of the room, and there are only so many volunteers to go around. What happens when some “young buck” starts seriously worrying about paying their own bills, keeping a roof over their head, advancing a demanding career, getting married, and starting a family? All their time as a single person starts to disappear. They realize their C# 3D skill is valuable to the Unity ecosystem and zip, gone. Another one bites the dust.
Why am I still at this? Because I’m old, and single. I come from an era when people rolled their own 3d engines and thought assembly code was a good idea. I’ve acquired so much knowledge about stuff, that I just can’t stand the idea of using Unity.
I’m surprised to hear you’re that positive about it. The GIL is a serious risk. It will impose all kinds of application structural burdens on an Urho3D game. If you want to think hard about what can be done to get around that, I’ll listen. The preponderance of the evidence is, the “performance” areas of the Python ecosystem haven’t been dealing with real time user interaction. Something like NumPy is not relevant to the concerns of a game developer. They’re doing batch processing. Ditto the VFX rendering farms.
Python could certainly work for non-performant games, like for instance a modern adventure game, but I wouldn’t want that to be the advertizing campaign for Urho3D. I’d want to solve the performance problem somehow. “You’d have to have part of your game off in a separate Python process” seems to be the textbook answer. That kind of boundary, does sound like it would carry significant burdens for the application model.
I agree. A 3d engine needs at least the perception of scripting performance, for marketing purposes. I don’t believe you can really win an ease-of-use argument if you don’t also have something that’s “fast”. Doesn’t have to be LuaJIT fast, but it does have to be faster than CPython. And you’re probably going to have to prove it, not just claim it. Like have samples that have benchmarks and show how Python, Lua 5.1, LuaJIT, and Lua 5.4 are doing on them.
Also, Lua has no GIL issue. That’s structurally significant.
Blender probably doesn’t have performance characteristics appropriate for a real time 3d game. The GIL, and the “embed Python” or “embed Urho3D” issue, is highly relevant here. Remember that historically, Python came to be important in the VFX industry because of running rendering farms. Not applications development.
No, as that puts the burden on Urho3D to support all Pythons 3.x, in all hairy system configurations. It’s not how I’ve seen any application do their Python support. They pick the Python they’re using, and they stick with it. Maya, 3DSMAX, Blender, Panda3D, this is the drill. At some point they may bump their Python to something higher, but they control the configuration, not you the user.
Ok technically I have not drilled down to the installation procedures for all of these packages, on say Linux, to know what they do for sure. I suspect this. On Windows, most certainly they control the full installation and version of Python. Linux has the VFX Reference Platform, which matters to the VFX industry. Note that is not consumer software, you can’t presume any equivalent “regime of sanity”. If Autodesk gets customer support call, and customer doesn’t have VFX Reference, Autodesk says !#$! you. If game consumer whines and complains that something doesn’t work, game developer looks bad.