Page 3 of 3

Re: NMRs

Posted: Sat Nov 10, 2018 6:03 pm
by Deeply_Dippy
NMR's are part and parcel of the game - even though they are unwanted.

Ideally, everyone would commit to each game that they sign up to and then stick with it, even when it goes bad against them.

But since when did we live in an ideal world?

There are lots of causes of NMRs - most of which are not about people disatisified with their opening exchanges.

Re: NMRs

Posted: Sun Nov 11, 2018 8:00 am
by Mercy
Most of the problems mentioned in this thread would be solved completely if WebDip would implement some of the features of vDip.

On vDiplomacy, if a player does not enter orders in one of the first X turns of the game, that player is sent immediately into Civil Disorder and the phase gets an extension, giving time for either that player to come back or for someone else to take over the CD. If after one phase length, a replacement still has not been found, the phase will get an extension again, up to a maximum of Y times. Under standard settings, (X,Y) = (2,1), but one can change these manually.

I know that Oli is quite busy at the moment, but when he isn't, I'd recommend asking him to help implement this feature here, too.

Re: NMRs

Posted: Sun Nov 11, 2018 10:06 pm
by bo_sox48
We're just now regaining access to the systems that we need to make updates and we're moving some vDip features over as we speak. There has been a lot of time spent on development over there that we haven't had over here, so there will be more of that in the future for those tools that are compatible.

Re: NMRs

Posted: Mon Nov 12, 2018 12:09 am
by jmo1121109
Mercy wrote:
Sun Nov 11, 2018 8:00 am
Most of the problems mentioned in this thread would be solved completely if WebDip would implement some of the features of vDip.

On vDiplomacy, if a player does not enter orders in one of the first X turns of the game, that player is sent immediately into Civil Disorder and the phase gets an extension, giving time for either that player to come back or for someone else to take over the CD. If after one phase length, a replacement still has not been found, the phase will get an extension again, up to a maximum of Y times. Under standard settings, (X,Y) = (2,1), but one can change these manually.

I know that Oli is quite busy at the moment, but when he isn't, I'd recommend asking him to help implement this feature here, too.
There's a variety of features that vDip has implemented. I'm an admin over on vDiplomacy as well and have weighted on the different new moderator tools and quality of life changes that Oli has made over on vDip. It is not just with variants that vDip serves as a testing site for us, many of the features designed over there are tested out for a while to see how effective they are. Oli has rolled some changes back because they were not widely used in relation to game creation options to prevent NMR's and redesigned them.

I've been keeping a close eye on these for a while. Some of them include:

add mod tool to stop joining games (temporary ban a player)
https://github.com/Sleepcap/vDiplomacy/ ... 035b039c5b

add strict NMR mode:
https://github.com/Sleepcap/vDiplomacy/ ... 9bf24099cc
https://github.com/Sleepcap/vDiplomacy/ ... 9bf24099cc
https://github.com/Sleepcap/vDiplomacy/ ... 9bf24099cc

new player limits
https://github.com/Sleepcap/vDiplomacy/ ... 9bf24099cc

Lock/unlock a game
https://github.com/Sleepcap/vDiplomacy/ ... 035b039c5b
https://github.com/Sleepcap/vDiplomacy/ ... e1d79ed6f5

As well as a couple others which I've not yet been able to narrow down the code changes done for. Not all of them will be used in their entirety, but bits and pieces into a cohesive solution for the problem.

To explain why this isn't a quick process though. vDip's player base is much smaller so even when a tool is successful over there we have to be careful about simply porting it here, as the performance hit on significantly more users is hard to judge. Oli's code also self admittedly sometimes has problems and the vDip code base has thousands of changes from webdip, many around letting them develop variants. So doing code comparisons is a long manual process. There hasn't been a point in the past few years where I'm not keeping an eye on what does or doesn't work over there, or working to narrow down what specific code can be safely migrated over. But there were other development priorities such as implementing the new forum to fix our database scheme issues, making gunboat games truly anonymous, and fixing the last known game adjudication on webdip that needed to come before this work. So it's just been recently that I've been able to focus on this problem.

Specifically for NMR's and CD's the tools listed above are a good starting point but they require some additional vDip only changes such as extended phases, which are quite complex and for various reasons risky to bring over. So I've begun work on modifying the above tools to be brought over.

I finished one set of changes (https://github.com/kestasjk/webDiplomacy/pull/341) I'd been working on testing thoroughly in my test environment just yesterday, but it still needs to be reviewed carefully before it can go live because it involves changing the database on the server which carries risks to all active games so we always err on the side of caution since we've never had a game breaking bug pushed onto the live site and really have no desire to start now. Once that change is live I hope to be able to tie it into CD logic to begin automatically issuing deterrents for people who CD. And it's just 1 part of the overall goal to remove the problem.

Unfortunately with development help being very short, between me, myself, and I these days, these larger scale projects are not as quick as I know many people would like. That said progress is happening and hopefully over the next couple months you'll start seeing some of the changes have some impact on the problem.

All of this is also why I earlier marked this issue as resolved. Because the issue is widely known, I've been working for months to narrow down a set of vDip tools that will get us partway to a solution, while determining what else I need to build to get the rest of the way there.