Jump to content

Why don't we get anything done?


Recommended Posts

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 @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?

Link to post
Share on other sites

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.

Link to post
Share on other sites

@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.

Link to post
Share on other sites

So, this is the master plan right?


Step 1; drop everything


Step 2; only work on the feature 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.

Link to post
Share on other sites

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

Link to post
Share on other sites

@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.

Link to post
Share on other sites

@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.

Link to post
Share on other sites
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


qfLUhBG.png

fig 1: Graph showing nothings over the recent past

Link to post
Share on other sites

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.

Link to post
Share on other sites

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.

Link to post
Share on other sites

I think @Duion's point about "not getting anything done" has more to do with a lack of visibility regarding the changes people are making, which also goes along with my point about development being fragmented across multiple forks. Tracking down and pulling in all of the WIP things people are working on right now is a big barrier for people interested in improving the code (even more so for the folks looking at the engine for the first time) and makes it hard to leverage the small community we do have. What do we tell people interested in testing out the PBR changes right now? What about testing modules, the editor modifications, and so on? Are we directing them to pull individual branches from some repo tucked away somewhere in the gitosphere?


The git workflow still confuses me at times so I may be way off base here, but I'd love to have one branch that's just a dumping ground for whatever half-baked feature people are working to get into the next release. The expectation would be that code in there is broken, probably won't compile, may self-destruct on use, etc. but it would make pulling down the 'latest, greatest, and most brokenest' version of the codebase a straightforward process. The old HEAD branch from the TGE CVS days fit that description once upon a time whereas the development branch just feels like a place to put finished code that has yet to be officially released.


So to sum up:

1). +1 for more visibility for changes being made right now using whatever means necessary. Making a thread with links to individual repos? OK! Some fancy Discord integration? Great! Training a flock of carrier pigeons to dispense weekly handwritten progress reports, complete with full URL to said progress? Wait, what?!


2). +1 for an updated roadmap, maybe with jumping off points to specific branches to help get people started with WIP features.


3). +1 for an updated management structure. The steering committee concept isn't working but we do need some kind of oversight to help guide development, especially when it comes to merging PRs and setting release goals. I'd look to Godot in this case, their model of having one main person oversee the repo while a couple primary developers influence development direction by tackling the harder features is working. The community fills in the gaps just by using the engine and creating bug reports which act like a natural to-do list for others to submit PRs against.

Link to post
Share on other sites
Tracking down and pulling in all of the WIP things people are working on right now is a big barrier for people interested in improving the code (even more so for the folks looking at the engine for the first time)

I'll deal with this first, I'll be forthright, this is utter BS, if somebody else is working on something you want to help with, you talk to them, you don't just walk away and say fuck it somebody else is doing it I can't be arsed. People who do that aren't very good community members, on the whole, they are end users, not helpers.


Also, there are two very distinct groups that you mention here, and neither should be downloading non/half function WIP branches for whole massive loads of reasons. The same reasons that MS doesn't ship windows out 2 years before its ready, not even to the fanbois who want to see what the next windows look like. There are two working branches, the master branch which is and always has been old and stable and the dev branch which is most stable and functional, at no point should any branch on the repo be non-functional.


I mean the mighty epic has only 2 -3 branches per release, a tagged branch and a development branch, it has all sorts of others but they are sub-branches/modules maintained by specialists in that particular area of the engine, and they manage with a dozen paid engine dev employees and the odd 25k other potential contributors, this is mirrored or echoed across most of software development and software engineering, you may find a few clusterfucks amongst the FOSS family tree, but you will also find that 99.99% of open source is dead and forgotten, even domestos cant kill as well as open sourcing software.


 

+1 for an updated management structure. The steering committee concept isn't working but we do need some kind of oversight to help guide development, especially when it comes to merging PRs and setting release goals.

the problem here is that no single volunteer led and run open source project works to what would be considered commercialised schedules, not one; I challenge you to find one because it doesn't exist, you also cannot boss, rush, harass etc volunteer workers, you have no method of threatening them, so you have no option but to wait. if we had a wider community that would help, if we had a community that gave back more; that would help. Look at the number of names that helped in each of the years since the engine went MIT 7 years ago. to me that's indicative of users, not helpers, I'd wager the number of people helping is possibly consistent across an invested dev community, so the smaller the community the less the helpers.


Maybe somebody could do a better job that Jeff and company, but those people don't exist in this community, and if they do they have a) neither the time or the energy Or b) they are working on their own games (see a) If they did, they'd be evident, and they aren't,


You get asshats like duion who has no fucking idea what work actually involves claiming he can do better, its taken him 5 years to make ubergame, I'm not taking time management lectures from somebody like him :p

 

i'd look to Godot in this case, their model of having one main person oversee the repo while a couple primary developers influence development direction by tackling the harder features is working. The community fills in the gaps just by using the engine and creating bug reports which act like a natural to-do list for others to submit PRs against.
i literally lolled at this because that's is almost exactly how torque works, I'm just wondering how many people are complaining at godot because he hasn't done the bits they want to be added to his engine?


Do you know the difference between torque and godot? torque doesn't get enough money every month to pay 3-4 full-time developers/employees.

Link to post
Share on other sites

My turn.

 

I'll deal with this first, I'll be forthright, this is utter BS, if somebody else is working on something you want to help with, you talk to them, you don't just walk away and say fuck it somebody else is doing it I can't be arsed. People who do that aren't very good community members, on the whole, they are end users, not helpers.


Also, there are two very distinct groups that you mention here, and neither should be downloading non/half function WIP branches for whole massive loads of reasons. The same reasons that MS doesn't ship windows out 2 years before its ready, not even to the fanbois who want to see what the next windows look like. There are two working branches, the master branch which is and always has been old and stable and the dev branch which is most stable and functional, at no point should any branch on the repo be non-functional.


I mean the mighty epic has only 2 -3 branches per release, a tagged branch and a development branch, it has all sorts of others but they are sub-branches/modules maintained by specialists in that particular area of the engine, and they manage with a dozen paid engine dev employees and the odd 25k other potential contributors, this is mirrored or echoed across most of software development and software engineering, you may find a few clusterfucks amongst the FOSS family tree, but you will also find that 99.99% of open source is dead and forgotten, even domestos cant kill as well as open sourcing software.

 

I'm not sure what point you thought I was making but this rant doesn't address it. My point was that anyone interested in working on some upcoming release feature has to jump through hoops to do so, regardless of whether they have the technical ability to actually contribute. I'll give you an example: Let's say I'm a developer with some experience with graphics programming. I stumble on Torque3D and see talk on the forums about PBR being an upcoming feature. That's right up my alley so I fork the engine, compile the development branch and find there's no mention of PBR anywhere. I scour the forums and find it's tucked away in some other users's repo, amongst 100 other branches and elsewhere in the forums is a post I missed where that user discusses their most recent changes (maybe a nice thread about PBR being complete and how they're just waiting to PR the whole thing until some other feature is done). Maybe I spend my time sorting through all of that and go on to contribute something meaningful but I'd say based on what's left of this community that's probably not happening.


That example not good enough for you? Let's try another. Let's say I'm a game developer, not particularly good at programming but I like what I'm hearing about 4.0 and decide to get an early look at the new templates, maybe get a jump start on converting my game to the new tech (and 2 years of bug fixes which have yet to be rolled out). I see the latest development branch has some fun looking commits regarding the new templates so I give that a shot. Problem is, I missed that Discord chat someone had a month ago explaining the changes they made to the templates in their own repo that fixed that bug that everybody knows about. On my end, I just spent half a day tracking down the reason the new template causes my game to crash. I post a bug report, get a link to some commit on someone's repo that fixes the problem but that's time I can't get back. Think I'm done testing things. After all, I want to make games not game engines.


The bottom line is this: Keeping up with the development of this engine means tracking 5 or 6 different users and their repos. That might be acceptable to you but ultimately it's another hurdle someone has to overcome to participate. And considering losing just one active contributor means we're losing ~20% of the total community effort I'd say we need to attract all the help we can get.


 

the problem here is that no single volunteer led and run open source project works to what would be considered commercialised schedules, not one; I challenge you to find one because it doesn't exist, you also cannot boss, rush, harass etc volunteer workers, you have no method of threatening them, so you have no option but to wait. if we had a wider community that would help, if we had a community that gave back more; that would help. Look at the number of names that helped in each of the years since the engine went MIT 7 years ago. to me that's indicative of users, not helpers, I'd wager the number of people helping is possibly consistent across an invested dev community, so the smaller the community the less the helpers.


Maybe somebody could do a better job that Jeff and company, but those people don't exist in this community, and if they do they have a) neither the time or the energy Or b) they are working on their own games (see a) If they did, they'd be evident, and they aren't,


You get asshats like duion who has no fucking idea what work actually involves claiming he can do better, its taken him 5 years to make ubergame, I'm not taking time management lectures from somebody like him :p

 

Nothing I said had anything to do with harassing volunteers. I said the current steering committee structure is not working, which aligns with what Jeff and others have said. Frankly, there's not enough active participants to even have a 'committee' at this point but we do need more active users with the rights to review & merge PRs and form some kind of consensus on what this version of the engine should be. Right now development on the official repo (you know, the one 100% of people are going to look at first) is stagnant, regardless of what the commit logs show. There's still a significant amount of work to do to get to 4.0 and about 3 people actually focusing on the features outlined in the roadmap. Meanwhile we have a backlog of 60+ PRs right now, some dating back years, because no one with the rights to do so has the time, energy, motivation, or know-how to review, merge, or decline them.

 

i literally lolled at this because that's is almost exactly how torque works, I'm just wondering how many people are complaining at godot because he hasn't done the bits they want to be added to his engine?


Do you know the difference between torque and godot? torque doesn't get enough money every month to pay 3-4 full-time developers/employees.

 

People are free to suggest features but they've always maintained an overarching goal for the engine that guides development which means when they reject those requests or PRs there's a reason for doing so. I'm sure some people complain occasionally but that's irrelevant.


And Godot didn't have significant funding until fairly recently but they've used the same structure for years. Up until last year they had one volunteer handling PRs, the main developer knocking out big features and the community formed around that. What's happening here is we have Jeff's thread where he posts fun stuff he's tinkering with that everyone takes as "4.0 UPDATES!" and 4 or 5 other people that lurk in their own repos.


To be clear, this isn't about replacing Jeff or anyone else, it's about forming a structure that works for the community we have. I use Godot as an example because it's an opensource project that's thriving with oversight that's possible to implement here with the limited people we have. Or it can just be a free for all where everyone spins their wheels doing whatever they think is interesting. That's worked well so far.

Link to post
Share on other sites

Right now development on the official repo (you know, the one 100% of people are going to look at first) is stagnant, regardless of what the commit logs show.

see this, this is wrong, plain wrong and while I could rant about specific use cases I won't because hypotheticals are hypotheticals, if you go to Github the default download is the development branch, not the master branch so if your entire argument is based in this premise your entire house is built on rocky foundations.


and to yet again point out that your only solution to the 'mismanagement' of torque is to copy a working practice that torque was using before godot was even a thing seems well, not a solution.


And yes my posts are a little ranty 1) because duion is an asshat who hates my guts and is always wrong, and the sentiment is mutually reciprocal, except for the wrong bit, he owns that domain... and because I think you are arguing from a position of ignorance and I am trying to explain things to you and well, offence is not intended even if the tone is not showing that., your partner in crime in this thread... that is duion, don't be like duion...


my point about the harassing etc is that in any other field of endeavour there are incentives, asshole bosses, you name it, motivating or demotivating, the only factors for motivation or demotivation for volunteers are people praising or people shitting on their work, I'm pretty sure everyone here knows all there is to know about software engineering best practices, but you know what makes projects even later? developers doing paperwork, especially when that developer gets maybe 2 hours per night and a few more hours at weekends ignoring their wives and drinking buddies.


Go through your list of complaints and strip out everything that can be fixed with more manpower, see what's left.


now for some ad hominem, which I think you've earned, you know there's a discord channel you have 0 fucking excuses about not knowing what's going on and who is doing it, all you have to do is ask, but no, you come here and provide tbh what sounds like a trolling attack at points.


Jeff would probably love some assistance with PBR Az would probably love some assistance with probes, but nobody asks, and nobody offers, everybody just demands, and complains, nobody wants to touch the engine till its all shiny and fully featured, and nobody wants to help.


http://bit.ly/2FWb1zU

Link to post
Share on other sites

It is not a visibility problem, but a statement of fact and fact is no releases in over 2 years, even though it was planned to have like 4 major releases every year and the steering committee concept worked fine before as it was proven by the fact that we had releases and visible progress.


Sure I know there is development going on, here and there, but it is not visible and if it is not visible it did not happen.


By the way there is almost no visible change to the engines appearance since forever, sure there are updates and bugfixes under the hood, but everyone opening up the engine will see something that looks outdated by 10 years or so.


Other engines have like new updates with fancy new visuals, demos and marketing campaigns etc every few months and we have nothing in that regard, not only do we have nothing, we do not even have people admitting that we should do something in that regard.

Link to post
Share on other sites

Ok, this is getting fairly heated, so hopefully I don't have to lock this or anything.


There's absolutely some good points brought up in here, and we did some chatting about it in the discord about things to improve on. A highlighting of points that are solid and possible solutions:


Easy to lose track of work being done across different repos/branches

This makes sense and can be helped by whenever I mention something in the workblog, for example, I can link against the appropriate PR or branch so people can keep better tabs on where stuff is handling. Blood is correct that you can also look at the commit history if all else fails to see what and when changes has made, but this is a low-effort cost fix that can assist with people staying on top of things


PRs often sit for a long period of time

Part of this stems out of the limited admin abilities of the GG repo, and I'll start looking into a fork into the Torque3D group so in the future we can likely shift primary development over there so we can better manage/control stuff. In the short term, we'll look at pushing a list of PRs that should get a testing pass so they can be validated or merged in more quickly.

As covered in the discord, part of it is that while, say, I can test a PR, if we don't test a few different builds or platforms, it's hard to say if it's actually rugged enough for a merge-in. This will help deal with that as well, as getting another set or few of eyes on them assuages that problem and we can do merge-ins much more rapidly if we have testing confidence.

Beyond this, is there anything relating to this that would make it easier for people to get into testing PRs? Is it an issue of knowledge of how git works?


Issue tracking

Partially tying into limited admin abilities for activating advanced tracking or the like, but we can still better facilitate this by having a place people can actually note and actually discuss/take ownership of working on standing issues. Could potentially repurpose the Development subforum, as it was originally a sort of curated PR-testing list that didn't get capitalized on much. Making it a place to discuss issues or wishlists for development would probably work alright, since that's in line with the theme of "Development"


Big Ol' Breaky-Build

Having a build that we can roll all the cutting edge stuff right into for quick testing is a good idea in theory, but it has some roadblocks that prevent that from being simple to implement, such as what branches should be rolled in. If it's just flatly broken and can't compile/run is it actually helping anything, etc.

It also adds a level of additional management that needs to be done. If we could figure out some means to have a build script or something to automate that in some way though, then this may not be a bad idea to try.

At minimum, having a dumping ground for "please test this build with X PR or whatnot" in it wouldn't hurt.


Steering Committee

Ties into the PRs and Issue tracking situation. We'll be able to open up roles and help better diffuse responsibility out more on shifting to a repo we have total control over. So we won't change that immediately, but I'll definitely keep it in mind so we can better handle the steering, as it were.


"Everyone's wishes or requests are ignored"

Part of this is just the unfortunately reality of a linear-time universe. Only so much work can be done in man hours at a time and it needs to be prioritized. I've tried to keep the primary push of the engine to moderinizing and expanding it's functionality and other improvements, fixes and expansions have been community driven. Realistically, this won't change at the broad scale, but having a place were we can better discuss wishlists, feature requests we can stick up on the dartboard and the like to better prioritize is a good idea and again we can probably repurpose the Development subforum towards this end.


Hopefully that covers the major talking points. If I missed anything or there's anything productive we can work towards correcting, by all means we can keep having a chat. After all, if people feel there's a problem but don't talk about it, nothing can be worked at.


If this all sounds good to people, I can pretty quickly start by opening up the Development subforum for the above notions, as well as start putting together a topical branch reference list(which going forward I'll be sure to mention any relevant branches in my workblogs, as said above)

Link to post
Share on other sites

@JeffR

If the current repo setup is a problem, why not change it? Open up a new group and call that the main engine repository and assign roles. I would also suggest to split up the repo into core engine, game templates and art assets, as otherwise it gets too big and complex, I mean you want to go modular anyway, so why not go all the way.


I mean any plan is better than no plan at all. If you are the one skilled enough to maintain the repo, why not become the primary maintainer. It worked with this forum as well, if @LukasPJ would not have created it, even though almost everyone else was against it, we still would sit around at the inactive garagegames drowning in spam getting nowhere. So why not do the same with the repo, ignore everyone else that contributes nothing.

Link to post
Share on other sites

Creating a forked yet standalone repo is actually not as complicated as it looks, this means that you can add already functioning forks as extra remotes to merge changes in either direction. This means if you already have a code base that you are using for a game you just need to add the new V4 as a remote and you can merge as normal. Making PRs will require re-forking the new V4 repo, but like the earlier example, adding your own repo as a remote to your fork means you can merge into the new fork and then PR pretty easily if you have some work already completed.


This fork would then be wholly independent of GarageGames in terms of control, the control would rest firmly in Jeffs hands + whoever he selects as 'co-owners' of the repo. Once this is done teams are easily set up by admin/owners so that different people have different levels of access to different repos. For example, if you are a plugin developer or wish to upgrade and maintain one of the other plugins that have been open-sourced and abandoned then these repositories could be set up under the new organisation.


so, in summary, this would

  • maintain code parity with current repos
  • Be independent of GG control
  • Allow the owners to have more flexible control
  • Potentially able to support community plugins under the same organisational umbrella.

 

Obviously, a much larger set of documentation would be needed to support the new organisation, setting out some 'standardised' methodology so that when users arrive they can be directed to stable branches, old versions that support different technologies, unstable works in progress.


The idea of splitting off the templates has been discussed in the past, personally, I think it's a good idea, tho yet again, extra documentation would be needed as well as systems in place to ensure that we have the tag alignments correctly set up. As a secondary benefit tied into better admin flexibility teams could be set up to maintain the templates, for example, I'm working on the RPG template, so I could potentially update the template without needing the main devs to mess around checking and then merging in PRs. Another advantage of that system is that I like say the plugin owners could do all that and at the same time be in control of the PRs for those repos, again, saving the main devs time and effort. It also means that people who arent super genius math brained coders can at least contribute to improving the demos, examples and plugins via art and scripting.


The documentation should also be open to editing, this is something else that people can do to help the engine as a whole, and yet again take some of the workloads from the main devs.

Link to post
Share on other sites

see this, this is wrong, plain wrong and while I could rant about specific use cases I won't because hypotheticals are hypotheticals, if you go to Github the default download is the development branch, not the master branch so if your entire argument is based in this premise your entire house is built on rocky foundations.


and to yet again point out that your only solution to the 'mismanagement' of torque is to copy a working practice that torque was using before godot was even a thing seems well, not a solution.


And yes my posts are a little ranty 1) because duion is an asshat who hates my guts and is always wrong, and the sentiment is mutually reciprocal, except for the wrong bit, he owns that domain... and because I think you are arguing from a position of ignorance and I am trying to explain things to you and well, offence is not intended even if the tone is not showing that., your partner in crime in this thread... that is duion, don't be like duion...

 

I'm not sure what history you have with Duion but none of it involves me. Agreeing with his point that development has slowed and there needs to be a discussion about why and how to move forward doesn't mean we're tag teaming the forum as best buds. It makes it difficult to talk through things calmly if you're looking at every post as an opportunity to stick it to Duion, especially when I'm just discussing facts: there have been less releases in the last 2 years than at any point in the engine's history, the last official release is years behind in terms of bug fixes and features compared to the development branch, progress toward 4.0 has slowed as the community has shrunk & the feature set exploded, development is fragmented across several repos.

 


my point about the harassing etc is that in any other field of endeavour there are incentives, asshole bosses, you name it, motivating or demotivating, the only factors for motivation or demotivation for volunteers are people praising or people shitting on their work, I'm pretty sure everyone here knows all there is to know about software engineering best practices, but you know what makes projects even later? developers doing paperwork, especially when that developer gets maybe 2 hours per night and a few more hours at weekends ignoring their wives and drinking buddies.


Go through your list of complaints and strip out everything that can be fixed with more manpower, see what's left.

 

More manpower would be great but we don't have that, which is why I'm concerned about 4.0's progress/the community's technical ability to get it done and the new user experience - how they get the engine, how they compile & modify it, how they report bugs, track fixes, and so on. Some of those things are pain points right now and don't need to be.

 


now for some ad hominem, which I think you've earned, you know there's a discord channel you have 0 fucking excuses about not knowing what's going on and who is doing it, all you have to do is ask, but no, you come here and provide tbh what sounds like a trolling attack at points.


Jeff would probably love some assistance with PBR Az would probably love some assistance with probes, but nobody asks, and nobody offers, everybody just demands, and complains, nobody wants to touch the engine till its all shiny and fully featured, and nobody wants to help.

 

I might know there's a Discord but will a new user? Is it linked on the main Torque3D github page? What about on the main torque3d.org page? Maybe it's under the 'Contribute' or 'Community' menus? Nope, there's just a link tucked away on the forums which means someone looking at the engine for the first time has to hunt for what's apparently become the hub of the community and once they do finally connect they'll be greeted with a lobby of 15-20 people. Let's hope they ask the right questions, like whose repo they need to look at to find 4.0.

Link to post
Share on other sites

 

Appreciate the goal-driven response. This thread has been worthwhile if even some of these ideas get implemented, although it's unfortunate that so many of them require admin-level privileges to do - feels like stacking more work on a few people's already full plate.


I think posting a link to the "big 3" (or 4?) forks that are out there right now would be good step forward and if we could get a collective effort to note branches of interest that'd be great as well. There's probably some work to do on the Contribute section of the site & wiki that would help direct people as well. I'll look into making some updates to the wiki and posting something here..

 

 

All good points as well. Splitting off from GG has it's share of pros & cons, definitely worth discussing more.

Link to post
Share on other sites

@Happenstance

I just use the forum ignore function on Bloodknight, he is just trying to sabotage me since forever, I have never seen him create anything, so why even read what he writes when he has no proof of his expertise anywhere.


Like me or not, the facts are that no releases in over 2 years and that the previous model with the steering committee worked relatively well and the model now does not.


When the "community" took over the engine it went downward, I was at the steering committee before that, but after I was kicked out and they put a bunch of people into the committee that I have never heard of before and that never showed any activity later. So someone with zero activity is somehow more qualified for that position than me, the most active member of the community. I don't really know what to t hink, is it just pure incompetence or intentional sabotage? It is not that hard to make a few mouse clicks and kick out the nonexistent members and ask who wants to do the job, incompetent or not, existing people are better than nonexisting ones.

Link to post
Share on other sites

I think posting a link to the "big 3" (or 4?) forks that are out there right now would be good step forward and if we could get a collective effort to note branches of interest that'd be great as well.

and therein lies the problem, like it or not, you are advocating for 2 different sets of people, and one size does NOT fit all, if you push experimental you get people running around telling everyone the game engine is broken and shit (we have real examples in the past of this happening to torque) or you protect them from the cluster fucks and then they complain that nothing ever gets done.


I'll throw you another example, the announcement of 4.0 imo has all but destroyed this community, the users that used to be part of the community left and only come back to ask 'are we there yet' and then complain because its not done, its like they want the next big feature and they don't really care much for anything else. That imo was a watershed moment that showed me the shallow end of the game dev community that I've been part of for decades

 

There's probably some work to do on the Contribute section of the site & wiki that would help direct people as well. I'll look into making some updates to the wiki and posting something here..

this is just proof of the PR/marketing driven world we live in, personally, I think its a sad indictment of the modern world that optics are more important than substance.


Also, as a side note, not once have you made it clear which one of these dev types you are, everything you have done so far is 'white knighting' for new users and 'white knighting' for experienced devs. (and nobody in between it seems :p ) without actually stating a personal preference, and then you take my responses personally, so yeah, i'm confused as heck

Link to post
Share on other sites

I'm going to be about as civil as I can after watching this devolve into a blatant revisionist history session. 4.0 was deliberately designated the breaking backwards compatibility branch up front. Of course it's going to take longer. Now if folks would like to assist in completing the last month or twos worth of effort instead of whining about the last year put in, they are, as always free to do more than spout bullshit lies about who's actually contributed to this community beyond forum trolling and having to have bug reports actively dragged out of them in real-time. (and for folks that are new, yes, that would mean @Duion). You do make good points, @Happenstance, and hopefully those can be somewhat addressed. In future, hopefully we can be dealing with less focus-requiring things so that this kind of talk can happen both more frequently, and less often instigated by someone that can only get erect if they're pissing someone off.

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
×
×
  • Create New...