Volunteer development?

Previous topic - Next topic

DrBenCarson

Hey, I was wondering if there's a pull list of bugs or features that the developers need help addressing? I'm a software developer who loves Dominion, and I'd be happy to volunteer some time researching and fixing. Thanks!

Ingix

No, at the moment there is no such thing.  :(

santamonica811

Ingix,
I don't think that is true. 
I think (IMO) that the truth is:  "There is a LONG LIST of bugs and software modifications that need to be made.  But addressing these are so low on our list of priorities, we prefer to refuse help, even when it's offered for free."

I agree that there may not be, technically, such an official pull list.  But there are a ton of fixes and improvements that can be made, including ones that many many many people have been requesting for many many many months.  So, regardless of semantics; I am guessing that it will annoy many paid subscribers when people say, "I'm happy to help out, for no money.", and Dominion's response is a polite version of, "No thank you. We don't need or want assistance."

I'm not sure I'm annoyed.  But I am profoundly disappointed.  The subtext seems to be, "While we are happy to collect your subscription money, we're also fine with the game as it is."

ftl

Geez, why the assumption of bad faith, josh?

The work of "being a community manager" and managing contributions of a bunch of strangers to a codebase is significantly different than the work of being a small team and writing a codebase yourself. "Free" help is often worth what you pay for it, unless you put in a bunch of work to shape it into something useful.

I don't think that means "yep, we're done here, no work to do", it means that they don't have a setup internship program and don't think setting one up is a key priority for their company.

santamonica811

ftl,
I absolutely am NOT assuming bad faith.  "Bad faith" means something quite different from, "We do not want your help, even for free."  If I were the game developer, and I knew my game needed significant bug fixes and modifications, I *might* take offers of free help.  Or, I might not.  I have a really limited knowledge of website design.  So, with my limited knowledge, it seems very easy to give an outsider a project, let her/him try to fix it, and then test it out when that person turned in the work.  It will fix the problem.  (Suggesting this person knows what they are doing, and can take on other projects.)  Or it will not fix the problem.  (Thank that person for their effort, but not use them in the future.) 

I totally get that there are more considerations.  For example, what if someone does a "good" fix but intentionally or accidentally includes a virus or Trojan Horse in the fix?  But as I have asked my friends (who are experts in this field and are writing code for Google and Facebook), they seem to think that farming out work on a trial basis would be fine.

I think that we old-timers (ie, people who paid for a lifetime subscription at the old site, but who also have been willing to pay a monthly/yearly subscription here) are most dismayed at the apparent lack of interest by Steph et al to fix some of the most glaring problems.  IMO, this is especially true in games against Lord Rat (my games against actual players has gone quite smoothly).  To give just a few glaring examples, I immediately resign any game where Counterfeit comes up, since Lord Rat buys up each one, and never uses it 'properly.'  It's essentially impossible to lose such a game to LR, so it's very boring to play a Counterfeit game.  When Bank is in the kingdom, LR plays Bank first or second of its treasures, pointlessly giving up major coins.  It should be a 10 minute fix to change the coding to "ALWAYS play Bank last."  And with Contraband, LR always picks "Gold" as the thing to block.  I get that this would be almost impossible to code well.  But you could at least change it to, "Always pick Gold, UNTIL first Prov. has been bough.  After this, always pick Prov."  That's a 30 minute coding fix.

Players have been asking for years--for years!!!--for minor and easy changes like this.  I do not think Steph's refusal to effect this fixes is bad faith.  I just think it is SO LOW a priority, that it will never actually get done.  (We get occasional updates from Steph, giving us the fixes he's done over the previous X number of weeks.  So, we are aware that work is being done.  It's partly the slow pace.  And, partly, the fact that lots of problems that have been around since the very beginning are still in effect--with no end in sight.  (If Steph had ever asked for my advice, I would have said, "Create a list of things to do, in the order you intend to address them, and make that list public.  And then follow-through on working through that list.  And then, give a 5-minute monthly updates on your progress.")

As I said, I have cheerfully handed over my money, month-after-month.  And I've been a helpful and friendly contributor to these forums.  I think that has earned me the right to (politely) offer my feedback . . . and yes, also my criticisms on the rare occasions when I think it's worth my time and effort to state them.

Your mileage, of course, may vary.  ;-)

randomUserName

"Create a list of things to do, in the order you intend to address them, and make that list public.  And then follow-through on working through that list.  And then, give a 5-minute monthly updates on your progress.")"

I wanted to address this statement by Josh.
Sorry, Josh, but thats not exactly how business-to-consumer products work. The "list of things" change based on user feedback, and then so does the priorities. I have worked as software developer in quite a few companies, and can assure you that there are some issues that never gets fixed, it is usually because the project is understaffed, or because the roi is not significant to warrant that change.

Regarding refusal help from Internet stranger, I understand your stance, but I also understand dominion's stance. The efforts and time to bring someone up to date with the codebase, and then vetting their commits, is a job in itself. I have had interns and juniors reported to me, and there were some days when i was doing nothing but doing code review. Considering stef is doing most of the coding by himself, i dont think it is a good use of his time.

artsfols

Quote from: josh bornstein on 18 May 2020, 10:33:15 PM
ftl,
I absolutely am NOT assuming bad faith.  "Bad faith" means something quite different from, "We do not want your help, even for free."  If I were the game developer, and I knew my game needed significant bug fixes and modifications, I *might* take offers of free help.  Or, I might not.  I have a really limited knowledge of website design.  So, with my limited knowledge, it seems very easy to give an outsider a project, let her/him try to fix it, and then test it out when that person turned in the work.  It will fix the problem.  (Suggesting this person knows what they are doing, and can take on other projects.)  Or it will not fix the problem.  (Thank that person for their effort, but not use them in the future.) 

I totally get that there are more considerations.  For example, what if someone does a "good" fix but intentionally or accidentally includes a virus or Trojan Horse in the fix?  But as I have asked my friends (who are experts in this field and are writing code for Google and Facebook), they seem to think that farming out work on a trial basis would be fine.

I think that we old-timers (ie, people who paid for a lifetime subscription at the old site, but who also have been willing to pay a monthly/yearly subscription here) are most dismayed at the apparent lack of interest by Steph et al to fix some of the most glaring problems.  IMO, this is especially true in games against Lord Rat (my games against actual players has gone quite smoothly).  To give just a few glaring examples, I immediately resign any game where Counterfeit comes up, since Lord Rat buys up each one, and never uses it 'properly.'  It's essentially impossible to lose such a game to LR, so it's very boring to play a Counterfeit game.  When Bank is in the kingdom, LR plays Bank first or second of its treasures, pointlessly giving up major coins.  It should be a 10 minute fix to change the coding to "ALWAYS play Bank last."  And with Contraband, LR always picks "Gold" as the thing to block.  I get that this would be almost impossible to code well.  But you could at least change it to, "Always pick Gold, UNTIL first Prov. has been bough.  After this, always pick Prov."  That's a 30 minute coding fix.

Players have been asking for years--for years!!!--for minor and easy changes like this.  I do not think Steph's refusal to effect this fixes is bad faith.  I just think it is SO LOW a priority, that it will never actually get done.  (We get occasional updates from Steph, giving us the fixes he's done over the previous X number of weeks.  So, we are aware that work is being done.  It's partly the slow pace.  And, partly, the fact that lots of problems that have been around since the very beginning are still in effect--with no end in sight.  (If Steph had ever asked for my advice, I would have said, "Create a list of things to do, in the order you intend to address them, and make that list public.  And then follow-through on working through that list.  And then, give a 5-minute monthly updates on your progress.")

As I said, I have cheerfully handed over my money, month-after-month.  And I've been a helpful and friendly contributor to these forums.  I think that has earned me the right to (politely) offer my feedback . . . and yes, also my criticisms on the rare occasions when I think it's worth my time and effort to state them.

Your mileage, of course, may vary.  ;-)

I've been a software developer for many decades.  My experience is that in a larger shop there are always negative producers.  That is, the company would be better off without them, as they introduce defects that other people have to fix later.

But I think you're really on to something with Lord Rat.  The thing to do there is put the bot into open source, then let anyone who can introduce other bot characters using the open source code as a base.  For this to work effectively you would also need play testers to get new bots to a certain level.  And then you just have a bot ladder same as the player ladder from which you are matched with bots to play. 

This could be done without adding much code to the site.