Urho3D community management

Hello! As a newcomer to Urho3D, the first thing I’ve noticed is that there is no

  • facebook page/group
  • twitter account
  • youtube page

IMO, those are needed not only to attract new users, but also to keep alive and strengthen the current user base. Personally, I like, in my free time, to watch videos or read about other’s achievements using a certain software, for example.

So, I think that it would be really nice if we had a proper Urho3D community management. What do you think? Should we and how could we develop an Urho3D community beyond the frontiers of this forum?

Building the community is definitely important (and I think urho has a pretty active and helpful community atm), although it’s a time consuming thing to do too. We have a decently active IRC channel on freenode, that’s probably the most active thing we got going on unofficially.

Gitter is another option we could throw onto the table.

To put a bit bluntly, Urho3D is a developer-oriented and somewhat hard to use engine. That is unlikely to change, except with a lot of effort.

If someone is turned away from Urho3D due to the lack of those things you listed, it’s probably for the better (the same could be said of the periodically reappearing ‘roadmap’ discussion.)

That said, if there is willingness from someone here to devote time to e.g. making a Facebook page, I have nothing against it. However there is a risk involved should the person responsible lose interest. Right now the github project is in good health, as well as these forums, and they have evolved naturally. Any expansion to other channels should be similarly natural.

Thanks for the answer. I will join the IRC channel.

What about fb page and twitter? At the basic level, those are not too time consuming or too difficult to manage?

EDIT I’ve written the above before I saw the cadaver’s reply. OK, I understand that Urho3D is a developer-centered engine. However, only difficulty I’ve found was how to get the first project up and running. Afterwards, everything seems easy and logical. And I should mention you that I come from the world of javascript and GUI game dev and that I’m learning c++ along the way.

IMO, there are lot of developers who are code-centered and who would like to use Urho3D but have never heard about it, I suppose. I’ve just twitted about it. I would like to put up a fb page, but since I’m a new comer, don’t want to be imposing or else.

Community management is typically a dedicated job. If other people haven’t yet expressed interest in doing this, I don’t see why we should turn away a newcomer :wink:

OK. I’ve just created a FB page. If the admins/devs find it intrusive, I will delete it.

https://www.facebook.com/Urho3D/

If not, I have a question. I would like to proceed to creating some galeries on the page. I would like to take pictures that users post to this forum. Now, I suppose that no one would complain. Just in case, is it OK to simply take photos and post them on the FB page with proper credits given to authors?

On the Showcase forum, there is a special rule that by posting there you agree that the content may be republished by the Urho website (urho3d.github.io). This can be expanded to include the FB page. Otherwise you generally can’t publish things without permission.

The “About” text on the FB page seems to be clipped. The “Inspired by” part is not important, so it can be removed.

Ok. Thanks. I removed the inspired part. The text was effectivly truncated. I will proceed to the galery creation.

(Could be worth an own thread but:) What do you mean by that? Is that some kind of design decision like “Focus on performance instead of ease of use”?
It’s a Game Engine and not just a Graphics Engine like Ogre which makes it already easier as Ogre IMHO. The only other engine I know a bit is CrystalSpace and that was pretty broken (at least back then).
Or opposed to Unity or Unreal with these editors where you click stuff together like in the Blender Game Engine? Those are weird.
Also we could try improving the usability, that has always been one of my main concerns (thus all the wiki work) and I’m currently a bit working on that. Could someone name things that could be improved without sacrificing performance? (better a new thread if someone has ideas)

What’s wrong with a “there might by X, Y and Z coming”-roadmap? Fake promises? That the implementation is too uncertain? PBR looks pretty good currently for example, other things that are in a prototype state but look promising could be named too.

About social media:
I myself am not using Facebook at all, Twitter only rarely and passively (but a lot of Youtube). Are developers using those or is there a general aversion from developers?
I’m tending to something in that direction though. I used the “Message Wall” in the old Unofficial Wiki as some kind of blog (github.com/damu/wiki, not much in there yet though).
I would appreciate some kind of connectivity, “hubbing”, news page or whatever you wanna call it. Not sure about what to use though as I’m not really a social media guy (I don’t like Facebook but I’m >=neutral to all others).
I would participate, if we find something good. It should be reliable about displaying all posts, not like Facebook which I heard is weird in that way. Notifications with subscribeable topics would be good too.

BTW: there are some Youtube channels with Urho stuff: codemonkey (youtube.com/results?search_query=urho3d
Oh Twitter seems also having a lot: twitter.com/search?q=Urho3D

starts super secured Tor Browser to go to the Facebook page
Suggestions about what to use? What are your opinions about the available options? Is Facebook usable and less bad as I think?

The developer-orientedness comes from a simple lack of resources, it’s not intentional but simply the reality of the situation. For example, the editor was greatly improved by a number of people, but many of them became inactive.

To “lift” Urho3D to the tier of truly user-first engines (such as Unity) requires a huge leap in effort, so I’d rather have the community resources reflect that reality.

Now our active userbase seems to be mostly people who understand this and are OK with it, with just a few notable exceptions. Creating more active (social) media presence can draw in more people who are more novice-level, and who expect that Urho3D gets regular and extensive new features, while they contribute nothing back, and while we don’t have the actual developer resources to respond to those requests.

For the “roadmap” thing, yes it could easily become outdated or too optimistic and therefore be “fake” like you say, whereas the Github issue tracker (mostly) reflects the reality of development. PBR is now listed there as a future issue that will be worked on.

The most difficult thing for me, that kept me for months away from Urho3D, was the fact that I did not know how to start the damn thing :slight_smile: If I was provided with a working example of c++ minimal “hello world” that I could simply compile, modify and see effects, I would certainly start using Urho3D earlier.

I’m not talking about already existing compiled examples in the static, pre-compiled version of the engine. I’m not talking about script examples that you can modify and run with the player. I’m talking about a possible pre-provided Code::blocks c++ project, for example, that I can simply download from the internet, bundled with the needed libraries and jump straight in.

I had to spand a day to figure out just how to compile the engine and setup a first working minimal project. I admit, I come from the world of JS development, and things are obviously much simpler there. However, if we had a simple bundled project that can be compiled and run, then even newcomers to C++ could start bashing Urho3D right away :slight_smile:

Now, for the advancement of FB page. I’m still in the process of gathering materials for galeries. You can see collections of images I gathered so far here: https://www.pinterest.com/darkodraskovic/. Just look for the boards prefixed with Urho3D. This way I can have a platform independent collection of images that we can use for any other purpose.

I don’t like FB myself either and fully subscribe to this: https://www.youtube.com/watch?v=BBUNNbgrXQM. However, FB is became a necessity these days, specially if you want to get visibility. Sure, we can have the same or even better functionality on other platforms. However, there are no groups like this (facebook.com/groups/IndieGameDevs/) on other platforms that have nearly 60k members and growing.

P.S. I was amazed to see how mayn Urho3D mobile published games are out there.

[quote=“cadaver”]The developer-orientedness comes from a simple lack of resources, it’s not intentional but simply the reality of the situation. For example, the editor was greatly improved by a number of people, but many of them became inactive.
To “lift” Urho3D to the tier of truly user-first engines (such as Unity) requires a huge leap in effort, so I’d rather have the community resources reflect that reality.[/quote]
Could you give some more examples of required stuff for “user-first” engines besides the editor? More like other external tools like material and particle editors or more as in engine behavior and API changes?
The things bothering me are not a “huge leap”, maybe that’s because I’m coming from Ogre and CrystalSpace and not those giant Unity/Unreal things.

[quote=“cadaver”]
Creating more active (social) media presence can draw in more people who are more novice-level, and who expect that Urho3D gets regular and extensive new features, while they contribute nothing back, and while we don’t have the actual developer resources to respond to those requests.[/quote]
Hm, I’m not sure how much it is expected to get regular new features. If the engine can kinda do what other modern engines can do (in the result, like: effects (PBR,…), physic,…) and if it fits the needs of the people who want to use it, I don’t think they have a real demand for new stuff. If there’s really some professional team with special needs like a better, specialized level editor for their dedicated level designers, they may create their own tool anyway.
If a more or less novice comes in (after searching for “game engine” or whatever) and wants for example make something like “Mario Kart”, he looks at samples, starts with playing with some of them or starts modifying the closest one to his goal. He reads available documentation “ah I can use Blender and the exporter to make car models”, “ah that’s how I can import that and attach physical wheels with physic constraints”,… I don’t think his main concern is getting regularly new features, unless he really needs something or something is bugged.
Also I mentioned my sample projects idea already: having small games in various genres would make an entry way easier and would hugely boost the “fame”/community. “Urho Tournament”? “Urho Commander”? “Age of Urho”? “Urho Cart”? “Super Urho Maker”? :smiley:

[quote=“cadaver”]
For the “roadmap” thing, yes it could easily become outdated or too optimistic and therefore be “fake” like you say, whereas the Github issue tracker (mostly) reflects the reality of development. PBR is now listed there as a future issue that will be worked on.[/quote]
Hm, so one could say that the issue list is the roadmap. Tags like “next version” would be good to define rough milestones to be more like a real roadmap (I think Irrlicht had a nice roadmap with progress bars BTW). Also wished features / feature request which are “sane, good and doable” could be seen as “long term roadmap points”.

The most difficult thing for me, that kept me for months away from Urho3D, was the fact that I did not know how to start the damn thing :slight_smile: If I was provided with a working example of c++ minimal “hello world” that I could simply compile, modify and see effects, I would certainly start using Urho3D earlier.

I’m not talking about already existing compiled examples in the static, pre-compiled version of the engine. I’m not talking about script examples that you can modify and run with the player. I’m talking about a possible pre-provided Code::blocks c++ project, for example, that I can simply download from the internet, bundled with the needed libraries and jump straight in.

I had to spand a day to figure out just how to compile the engine and setup a first working minimal project. I admit, I come from the world of JS development, and things are obviously much simpler there. However, if we had a simple bundled project that can be compiled and run, then even newcomers to C++ could start bashing Urho3D right away :slight_smile: [/quote]
Ah I see. There are articles about building and setting up Urho and a simple hello world thing in the making (like github.com/urho3d/Urho3D/wiki/First%20Project).
A pre-compiled package would require a specific tool set like “Visual Studio 2015 and DirectX11”. The Urho community seems to be quite diverse (I’m usually using MinGW on Windows for example and not VS, others Linux or MacOS X or Mobile). Which tool sets should be provided? The more, the more work.
Is that really needed if there are tested and simple step by step guides with images? One of the big strengths of Urho is the (usually) good working CMake build systems. I remember that we weren’t able to build Ogre ourself with MinGW for example.

[quote]

I don’t like FB myself either and fully subscribe to this: https://www.youtube.com/watch?v=BBUNNbgrXQM. However, FB is became a necessity these days, specially if you want to get visibility. Sure, we can have the same or even better functionality on other platforms. However, there are no groups like this (facebook.com/groups/IndieGameDevs/) on other platforms that have nearly 60k members and growing. [/quote]
Hm. Facebook likes and subscribes seem to be not much worth though, for example Youtubers say that a lot. Also in our company we had Facebook campaigns which led to a lot of likes but barely anyone visited our site and looked at the product, they just click “like” and move on without looking at anything or having a real interest. Also we had videos directly on Facebook with a multitude of likes as views, how? Who presses “like” to a video that he didn’t even watch? (unless the video view counter didn’t count a “jumping through”)

What do we even want/need? Something like news could be posted on multiple sites at once (like Facebook + Twitter + G+) and just link to the full article somewhere else. GitHub is already a kind of “social media for developer”.

[quote]
P.S. I was amazed to see how mayn Urho3D mobile published games are out there.[/quote]
There are? Didn’t know that. I’m not really into mobile dev and more into classical desktop dev though.

[quote=“gawag”]Could you give some more examples of required stuff for “user-first” engines besides the editor? More like other external tools like material and particle editors or more as in engine behavior and API changes?
The things bothering me are not a “huge leap”, maybe that’s because I’m coming from Ogre and CrystalSpace and not those giant Unity/Unreal things.
[/quote]
Some examples could be:

  • the concept of a project and one-click publish to various platforms (*)
  • comprehensive per-API function documentation with examples
  • seamless asset import workflow, for example you drag your Blender file to the project folder and it gets automatically converted
  • light baking inside the editor
  • various social media and provider integrations

But actually it’s good to hear if your problems are smaller. Naturally any contribution to help are appreciated. Also, it occurred to me that this “user-oriented” direction is fulfilled quite well by the Atomic Game Engine based on Urho. But it isn’t free.

(*) this actually flies in the face of Urho being a library which can be used in various ways. This would assume there is “one true way” to run Urho applications and so would actually hurt its flexibility, but I could see certain kinds of users expecting / appreciating it

[quote=“cadaver”]

  • the concept of a project and one-click publish to various platforms ()
    (
    ) this actually flies in the face of Urho being a library which can be used in various ways. This would assume there is “one true way” to run Urho applications and so would actually hurt its flexibility, but I could see certain kinds of users expecting / appreciating it[/quote]
    A “typical way” or “encouraged way” (as the CMake way already is) is not really contrary to the concept of a library that can be used in various ways. That can still be a major design point. I don’t know how many ways there are to use Urho without getting too fancy but I guess there’s one (the currently usual CMake way I guess) that is more recommendable as the others for the typical use case of a game engine.
    This one-click publish could currently already be done with some scripting (I think). The CMake scripts can already pretty easily build on all platforms. A project could use Git hooks or Cron jobs to trigger an automatic build process (on possible different machines/platforms) that builds the application for multiple targets, builds setups or whatever and uploads that as a snapshot (or whatever) to a website. This is relative project specific, some use setups, some use Steam, some launcher tools with updaters, some multiple things.

Yes! There’s currently some work being done in that direction. Some functions and concepts are really hard to understand when just seeing function names.

Currently I tend to use quite different options in the exporter. There could definitely be more auto recognition (like exporting a sceleton and animation if they exist and remove the checkbox or have it on “auto” per default).
Oh it would be quite handy if the exporter would remember it’s settings per model or Blender file. An external tool (like you mentioned per drag&drop) could open the file in Blender, trigger the exporter and close the project, to achieve a more seamless import workflow. Though I don’t mind opening the Blender file, usually one wants to change the model anyway, why should he otherwise want to export again. “- better Blender exporter that remembers setting per .blend or model in .blend”.

Is light baking still used (a lot)? I like dynamic scenes and lightbaking is not really useful for that. A feature that at least I wouldn’t use, I guess.

What do you mean with “provider”?
A more active community and better organization would certainly be good (also the reason of this thread).

One of the thing bothering me the last days is for example the weird and unintuitive way of modifying the height and splatting map of a terrain. One of the things I have in mind are various drawing functions being added to the Image class to smoothen or flatten an area or raise a mountain for example. I’m working on drawing functions (like thick lines with outward gradients) currently anyway. Also getting texture arrays will super improve terrain too.
Another thing I’m fighting with is the weird mouse cursor behavior and I’m currently checking out the newest Urho version and may report a bug (or at least really weird behavior). Also more cursor shapes potentially incoming.
The things bothering me are usually either due to being not documented properly or due to a bad or weird library design. Like having to set a default style and a cursor and a font in the GUI, there have been multiple questions due to not knowing that, there should be loaded defaults.

Oh. Are they at least contributing back to Urho? It looks nice but I don’t get their licenses.
I found another commercial engine yesterday which seemed to be based on Urho: clockwork.sunwells.net/ Doesn’t seem to be doing well, empty forum.

Things like Apple / Android leaderboards, or various ad system integrations (mobile oriented) which to be honest I want to stay as far away as possible, but that’s just me :slight_smile:

Josh has made some PRs / issues, but not in a major sense. It’s a fork which has drifted quite far.

[quote=“cadaver”][quote=“gawag”]
What do you mean with “provider”?
[/quote]
Things like Apple / Android leaderboards, or various ad system integrations (mobile oriented) which to be honest I want to stay as far away as possible, but that’s just me :slight_smile:
[/quote]
Like those “most popular app” lists in the app stores? Why should a library be in there? (Unless in some pre-compiled form like some libraries in the Steam Store)

[quote=“cadaver”]

Josh has made some PRs / issues, but not in a major sense. It’s a fork which has drifted quite far.[/quote]
Just want to chip in on this point. Don’t you think that exactly why its fork has drifted so far? I have not seen any meaningful contributions from them back to upstream Urho3D project. It is a embrace and extend strategy. Of course I understand why corporate America does this, but still … (this is just my personal view).

[quote=“weitjong”][quote=“cadaver”]
Josh has made some PRs / issues, but not in a major sense. It’s a fork which has drifted quite far.[/quote]
Just want to chip in on this point. Don’t you think that exactly why its fork has drifted so far? I have not seen any meaningful contributions from them back to upstream Urho3D project. It is a embrace and extend strategy. Of course I understand why corporate America does this, but still … (this is just my personal view).[/quote]
That’s exactly what I thought too. Just taking something free and selling it is really cheesy. They seem to have added a lot though and their price isn’t that high (that’s the reason I decided to not comment on it after wanting at first) but it still feels unfair. Apple and Microsoft and other did similar things: taking stuff from BSD for example and making it commercial. (These two have changed though a bit in the last years and are contributing in various big free software projects now.)

General thoughts unrelated to this case:
I thought a lot about this “moral stealing” and how to avoid such a thing via a license (which is the only thing one can do) since learning about the free software idea many years ago. The license could require commercial projects to give back a certain amount (money or code) in relation to how much work they added and money they earned.

Somewhere I also mentioned that I see it as a moral obligation to (somehow) contribute back to free software if you benefit from it (by making money from it or just using it). Such a moral obligation does not just concern software though but all parts of live. Most people don’t contribute back though. (this “contributing back” doesn’t have to be towards exactly the software one uses IMHO, that software may be doing fine and other good project may need the help more)

This “moral stealing” is the reason some projects make a dual license: GPL or commercial license (for a price).
The basic idea behind copyleft licenses is to require that the software stays free. It emerged from exactly this: companies taking free software, making it proprietary (and commercial) and earning money by doing that.
Demanding a fair profit share is a similar idea. Though copyleft is often seen as non-commercial so a profit-share demand would, in the eyes of some, seem contrary to the free software ideal. Though copyleft too is often seen as contrary to “real free software” (BSD-, MIT- style license).

Big philosophical topic.

Edit: added a note and slightly changed the wording in the first part to make stuff clearer. Also with “moral stealing” I tried to describe a “legal but unfair exploiting”.

Just to clear things up about Clockwork and where it sits from Urho. Clockwork is my attempt to turn Urho into a commercial style engine with everything available through 1 editor. Despite the editor not being part of the repo yet it’s on the roadmap currently I want to improve the renderer to more modern standards, changes like the rendering that fit in with Urhos targets will get PR’s to the master. As for the website that was linked the information there is not correct, the web developer use placeholders and never finished. I do not intend to sell any part of the engine, although I have considered selling themed starter packs to build things like a Sci-Fi game, to be clear this does not mean example and tutorial projects. Any money I gain from the project will be put into Urho3D in some form, but I believe this is a long way off.

If there comes a point where the Urho developers want to streamline the workflow I am happy to drop Clockwork In order to merge all changes to the master and then focus my effort on Urho alone. When i first started I considered doing all my chances to Urho3D but believed it was to big of a change from the current engine goals.

There’s no “moral stealing” since permission was given, not just for any specific user but to everyone including you and me.
And don’t use GPL, it’s such a nasty “free as in complies with our totalitarian ideology”, a legal minefield with tons of restrictions.

I don’t think it’s possible to grow a professional game development community around Urho3D with GPL (It’s kinda hard to sell a game when you must make it available for free).
Not to mention that at that point developers will just go with other engines.

If you want to force users to share changes to the licensed software, Mozilla Public License is a better option. With MPL if a user makes changes to the licenced source code he must make them available under MPL, but he can keep his own separate files closed-source. It’s still a long license and requires learning it which is a big hassle. If you want try to look at “3. Responsibilities”:
mozilla.org/en-US/MPL/2.0/

GPL 3.0 is ~31,550 characters long.
MPL 2.0 is ~14,784 characters long.
MIT is ~461 characters long.

Also a license means nothing if you’re not going to enforce it. You’ll needs laywers and to spy on your users, do you really want to go down that route?

To sum up, if you’re doing an open source project just keep it simple and use MIT license and let the users do whatever they want.