Page 1 of 5

Why don't we get anything done?

Posted: Mon Jan 28, 2019 8:19 am
by Duion
The development seems to be stagnating heavily, I addressed this before that nothing gets done, but nobody seems to care, but I care.

What I do on my projects is I write down a realistic goal I can achieve in a certain time, like 3 months, then work towards that goal, finish it and release and it works most of the time. I write everything down on a list and never do anything else that would delay that schedule, except when there is time left to add extras or something else more important shows up.

That is also what I remember was planned for Torque3D, to have 4 major releases per year, meaning one every 3 months and the goal of the steering committee was just to guide that process, not to develop everything and add more and more features. If you just continue to promise new features, we end up like Star Citizen where everything is promised and nothing really ever gets done and it delays forever and everyhting is kind of half there, but not really there and not really working.

What is so hard on sticking with the plan? We are not even behind a little bit, since the last major release was over two years ago in 2016. That means we are 7 releases behind, seven !!!!.

I suggested to get a new steering committee, but seems like nobody is interested, whatever, why don't you just throw all the features that are in development out and just finish one thing, like PBR and release it, then work on another part and release that 3 months later. I mean PBR for example should have been there 2 years ago and we still do not have it.
Even if nobody works on it, you could still just release it untested and have the users be the beta testers and fix the issues, so at least people will be forced to work on it and fix it.
When I upgraded my game to a what I thought major version I had to notice that it was more like an untested beta anyway and had to test and fix it before I could use it, so releasing untested broken stuff, would not even make things worse than they were before, but better, since we would at least have some release and some progress, but this way, we hardly have anything.

I mean you could just put me in charge and I would guarentee you that things will get done. Sure I'm not a good programmer, "only" a good artist, but it is not hard to write down a schedule and stick with it, almost anyone should be able to do that, does not matter how small the steps are, progress is progress and it will add up over time. Small changes to the engine would be even better, because if something goes wrong it at least does not break everything in my game every time, that would be a huge help also. If only one major features was added I know where to look in case of problems, but if 10 major features get added it feels like everything breaks down and I have to analyse and debug like almost anything.

First I wanted to write this to @
User avatar
JeffR
since he seems to be in charge now and refuses to let others do anything, but this is more of a general issue and I'm a bit tired of begging everyone to do something, because nobody lets me, because some people hate me and try to sabotage me or whatever, I don't care, what I care is that I use this software and depend on it, that is why I want it to develop further.

So can we please do anything?

Re: Why don't we get anything done?

Posted: Mon Jan 28, 2019 4:26 pm
by Happenstance
I tend to agree, Duion. I've said before I think 4.0 is too much of a moving target. The roadmap posted last year is all over the place: we've got PBR & material system refactor, new templates, asset system & browser, modules, editor changes, swapping out platform layers for SDL, etc. I think the big hurdle at this point is the amount of changes suggested for 4.0 has ballooned significantly over the years but the number of people with the expertise to implement those changes is really small. The other part of this is some of those changes depend on other things being in place first, so even if someone wanted to help with one area they may not be able to because they're blocked by some other in-progress modification that requires more programming know-how.

Another issue worth mentioning is the actual development of the engine is incredibly fragmented. Of the handful of active contributors we do have, most are pushing changes to their own forks and leaving them there which makes it difficult for other users to find and test them. When they do finally make it to a PR they stagnate in the queue because no one is actively merging them.

I don't have any easy answers for these problems. As a community we just don't have the collective manpower or technical skill to chase Unity, Unreal, etc. in any realistic timeframe but the nature of opensource development means we can't dictate what people choose to work on, either.

Re: Why don't we get anything done?

Posted: Mon Jan 28, 2019 5:38 pm
by Duion
@
User avatar
Happenstance

As I suggested before with the steering committee, we should enable it back again, since Jeff seems to be the only active member left more or less.
So put some more people into positions where they can change things, like put skilled people into the steering committee, people with time into moderator positions, give them a vote, whatever.
The problem is nobody can do anything, because they are not allowed to or there is no communication on what can be done or who can do things.

For example I would vote for making the release, throw all the planned features out, only release bugfixes and PBR system, put everything else on halt or let the people develop it on their own and have them put it in when they are ready. The materials system was already partly changed to be compatible with the new PBR workflow, I know it since it broke the rendering in my game and some material setups, so we are stuck with a halfway finished system for 2 years now, but instead of finishing that, there are plans for creating whole new features that throw everything over board in other areas. I'm not an expert in rendering programming, but I have seen it working for other people already 2-3 years ago, so it cannot be that hard to just put it in and let the people fix eventual issues.

Also I would vote against changing the templates, for example the empty template was already removed. I mean people with real projects have everything based on the template, you cannot just remove them, this screws over all people that use them currently. You need to communicate first what is being done and why and then leave a transition period etc and not just answer to questions like "where is the empty template" - ah I just deleted it, because I was in the mood to do so, because I thought it is useless anyway.

I mean I wanted to do steering committee, I was even in it as an artist and even worked on new templates like levels, materials etc, but everything got totally ignored, so I really lost the motivation for that, but I was pretty much the only one actually doing anything that was planned. Thats not how you motivate people. Just mentioning that the example art assets NEVER got changed, so the default template looks as bad as like 10 years ago, since nobody every in the liftime of the engine wanted to update the visuals, which leaves a very bad impression for the engine visually and will turn many people off instantly.

I could go on for longer, but those are just some examples.

Re: Why don't we get anything done?

Posted: Mon Jan 28, 2019 8:04 pm
by Bloodknight
So, this is the master plan right?

Step 1; drop everything

Step 2; only work on the feature <insertnamehere> thinks is important

the only issue here is to list everybody in order of importance so that the people working on the engine suck all the right cocks in the right order.

I guess Duion being the only Aryan of the community goes first, and then we can order everyone else into far left ideological groups, point scored on race, gender, disability, with a denominator based on age.

Never ceases to amaze me how duion can piss me off even when he's no longer really part of the live community anymore
First I wanted to write this to @User avatar JeffR since he seems to be in charge now and refuses to let others do anything
yes, because there is only one fuhrer in torque nobody else ever does anything to the engine
I mean you could just put me in charge and I would guarentee you that things will get done
you were part f the SC once, how did that work out?
Sure I'm not a good programmer, "only" a good artist
your not even a good artist

but now we have a trifecta of insanity pointed out, would you like to actually join the community to see what work is actually being done, or do you not want to leave the security of your padded room at the top of your ivory tower? because sure as fucking hell you cannot see any version of reality from the lofty heights you've placed yourself.

Re: Why don't we get anything done?

Posted: Mon Jan 28, 2019 8:24 pm
by Bloodknight
I do recall having several discussions regarding breaking down, things into multiple releases, but some things impact so many different parts of the engine that potentially eventually a massive upheaval upgrade is necessary, I do believe that this is torques upheaval moment.

I'd also argue that several things could be rolled into the master branch and that potentially all tagged versions could/should be maintained separately, with each version being tagged as deprecated beyond a certain date, but since no other engine actually does this i'm not sure the likelihood.

That is also what I remember was planned for Torque3D, to have 4 major releases per year, meaning one every 3 months and the goal of the steering committee was just to guide that process, not to develop everything and add more and more features.
back in 2012 just before garage games stopped giving a shit, this was the idea, since then the community has gotten smaller and smaller, which sadly like any open source project has inevitable end results.
What is so hard on sticking with the plan? We are not even behind a little bit, since the last major release was over two years ago in 2016. That means we are 7 releases behind, seven !!!!.
Plans are easy to stick to when you have a paid workforce and you can apply known algorithms and metrics to workflow, it took you how many years to make ubergame? a game that for all intents and purposes could be made in 3 months. It just shows that projects take longer than youd expect, for all kinds of reason
I suggested to get a new steering committee, but seems like nobody is interested, whatever
Nobody is interested because its a pointless thing, filled with people who have no interest in the engine or developing it, and those who do have an interest in developing the engine don't need a steering committee, IMO the steering committee is one of the reasons why the community is gone, along with the assinine restrictions on who can contribute early on.
Even if nobody works on it, you could still just release it untested and have the users be the beta testers and fix the issues, so at least people will be forced to work on it and fix it.
exactly why you shouldn't have any kind of decision-making power... right there, imagine if Microsoft, or blender or a car manufacturer used defective thinking like this?
When I upgraded my game to a what I thought major version I had to notice that it was more like an untested beta anyway and had to test and fix it before I could use it, so releasing untested broken stuff
Please link all the fixes you made to the game engine because all the engine devs broke it so badly

Re: Why don't we get anything done?

Posted: Mon Jan 28, 2019 9:02 pm
by OTHGMars
@
User avatar
Duion
Be the change that you want to see! That's the beauty of an open source project. There is nothing stopping anyone from forking the engine, renaming it (optional step here), forming their own steering committee and taking the development in whatever direction and at whatever pace they so choose. You could even define the methods of communication for your steering committee so an aversion to Discord would not make you feel isolated and out-of-the-loop. Who knows, a little competition might spur development...or it could kill both engines...but you won't know unless you try. It is bound to be more productive than trying to tell others how to behave through messages in this forum though.

Re: Why don't we get anything done?

Posted: Mon Jan 28, 2019 9:13 pm
by Duion
@ Duion Be the change that you want to see! That's the beauty of an open source project. There is nothing stopping anyone from forking the engine, renaming it (optional step here), forming their own steering committee and taking the development in whatever direction and at whatever pace they so choose. You could even define the methods of communication for your steering committee so an aversion to Discord would not make you feel isolated and out-of-the-loop. Who knows, a little competition might spur development...or it could kill both engines...but you won't know unless you try. It is bound to be more productive than trying to tell others how to behave through messages in this forum though.
Yes, that is probably the single most contraproductive thing you can do in an open source project and it is done so many times and often it kills the projects. I mean first you split up work forces, then you split up community and users, then you increase workload for the already reduced work forces, because each group or at least one group has to merge back and forth changes from one repo to the next etc. Yes total insanity.

By the way a similar effect is achieved, if people who have permissions on the repo, forums whatever, just do what they want ignoring anyone else and not letting anyone do anything. That way the few people in power just overload themselves with so much work, that they get nothing done either.

It is not rocket science to get anything done, pick a goal, work towards it, reach it, done, that is the ONLY way you can be successful.

Re: Why don't we get anything done?

Posted: Mon Jan 28, 2019 9:58 pm
by Bloodknight
It is not rocket science to get anything done, pick a goal, work towards it, reach it, done, that is the ONLY way you can be successful.
and this is being done every day, but that's not all is it, you want it done faster only you don't contribute anymore, and no I don't class bitching about nothing being done as contributing. Maybe you should take a look at the commit history and look at the hundreds of nothings being done on the past 6 months. you say youve found and fixed many errors when upgrading from 3.x to 3.y yet I see no issues posted by you in nearly a year, I see no PRs made by you in the past year either.

If you want to look at all the branches people are working on go look, pull them, play with them, fix them

https://github.com/Areloch/Torque3D/branches/active
https://github.com/Azaezel/Torque3D/branches/active

i'd post timmys but the sneaky bastard works in secret repos! #DocBrownofTorque

but there's over 20 branches of nothing with 100s of nothing commits, on top of dozens of nothing commits made to the development branch just this month

Image
fig 1: Graph showing nothings over the recent past

Re: Why don't we get anything done?

Posted: Mon Jan 28, 2019 10:39 pm
by JeffR
There's a lot of talk in here, so we should probably break it out into it's major points so we can better focus.

I guess the first inquiry is what would the definition of "get anything done" be? As blood pointed out, there's a lot of active development by me, az and others on the big new stuff, as well as a fairly steady trickle of new PRs that get merged in to add new things or fix bugs. So if that is "nothing getting done" i guess the first question is what would "things getting done" look like?

Second point would relate to "fragmentation of repositories" and that's fair. I think that's just a necessary evil when dealing with git. So the question for that would be how we might be able to better keep tabs/awareness on what repos are related to what work going on. Would it make sense to have a thread where people can post links to repos relating to ongoing work? Would that fit into the Development subforum?

Thirdly, I guess we should decide on a testing paradigm for PRs. Yes they do tend to sit a while because I can go in, test a PR and it looks OK. But is that sufficient testing to merge in out of hand? Should we require a second set of eyes before a merge in? Should we have a required spread of platforms it tested on before it gets merged in? I can do all that but it's obviously time intensive, which is where the idea of people also testing PRs and posting if they worked or didn't comes in and while people certainly do, they don't do it much.

Is it a visibility issue and we just need some means of keeping PRs aggressively in-view to get people to test? Should we have a testing channel in discord so we can slap in a notice of 'hey test this PR'(maybe with a bot to auto-notate issues/PRs) so the community can get a test in so it can be merged in faster?

The experience so far is people are fine to help test, but they don't do it actively - likely because people just forget to look. So if awareness is the main problem, that can be combatted as long as people are willing to test when the opportunity arises.

I'm drafting an update to the Roadmap to go up today. It was definitely optimistic, but it was a choosing between a balance of realistic vs borderline edge to help compel work to get done. When dealing with timelines on the Roadmap in the future I'm definitely taking notes to help better dial in estimates for major roadblocks like PBR.

I will note that the next set of small versions of the engine once 4.0 goes out are by design much leaner and purpose-driven, which should also help deal with all this.

Re: Why don't we get anything done?

Posted: Mon Jan 28, 2019 11:08 pm
by Bloodknight
I recall a conversation regarding testing a long time ago that resulted in a new subform being created which almost nobody engaged with which is a little sad in some respects. I think a great deal of this is based around the fact that PR x or PR y does not impact their game development, or they rolled in the PR as (some of us do) without reading (as most of us do) and only make comments when things don't work. most of the PRs come from people who are actively engaged in their own game, but these usually with little exception have only been tested on the platform for which the game is being developed, we have a number of devs that aren't cross-platform. and those that are usually only dev on one platform and thusly takes the focus (and the majority of the testing). this is a human and sheer numbers problem that I don't see being resolved any time soon.

Discord integrations would be awesome when there are PRs being made, it would focus the attention somewhat.