Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Players get 'no game found' if there is a batch (or batches) with different treatments #543

Open
2 tasks done
ChillyWillyGH opened this issue Apr 5, 2024 · 3 comments
Open
2 tasks done
Labels
bug Something isn't working

Comments

@ChillyWillyGH
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

What happened?

This can be recreated with the initial demo application (from empirica create test-app)

Create a batch with two games - one of each treatment. Or you can create two separate batches with one game each. The key here is that you're running two different treatments at the same time.

Join players into the games - you will see one of the treatments get 'overbooked' (yellow icons).

Complete the intro step for players - when the game starts, the overbooked players are dropped (no more games).

Clearing the users in the users page of the admin screen does fix this. But we don't want to have to do that every time.

Steps To Reproduce

empirica create test-app
cd test-app
empirica

Go to admin panel, create a batch with two games, each with a different treatment (one solo, one two player).

Create 3 player tabs and join the game (enter player identifier). You should see a player (or two) overbooked (yellow icon).

Complete the Intro step by clicking next on each user.

Players who were overbooked will not go to the other game, they will just be dropped with 'no more games'.

Empirica Version

Version: v1.10.0
SHA:     5467a49
Build:   208
Branch:  main
Time:    2024-03-31T02:18:22Z

Client:  1.10.0
Server:  1.10.0

What OS are you seeing the problem on?

macOS, Linux

What browser are you seeing the problem on?

Chrome

Relevant log output

No response

Anything else?

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct
@ChillyWillyGH ChillyWillyGH added the bug Something isn't working label Apr 5, 2024
@npaton
Copy link
Contributor

npaton commented Apr 6, 2024

I believe this is the expected behavior. Whether it's right behavior is up for debate. I am not an expert at statistics or experiment randomization. The 2 behavior at play are:

  • overbooking: I believe this is done to so that assignment is "more" random. If we were to distribute equally between games, we would potentially introduce some sort of bias. Again, I am not an expert here, and I am following recommendations, which I in turn might have gotten wrong. This issue has been brought up before and I think it would make sense to make this behavior configurable.
  • reassignment of overbooked players: when the game starts, the overbooked players should be reassigned automatically, but they will only be reassigned to game with the same treatment. We only reassign to games with the same treatment because we assume the intro steps are specific to the treatment. It would not make sense to reassign players to a treatment where the rules of the game have changed. For example, you might have a hasChat factor ; if you talk about the chat the chat in the intro steps, then switch the player to a game without chat, the player will be confused and could invalidate the experiment. This has also been a point of discussion. Not all experiment have significantly different intro steps depending on the treatment.

I am very much open to discussion on this. We should probably be able to introduce some configuration options to the default assignment logic. You can always override the default logic, but that is a non-trivial amount of effort, and common scenarios, such as the ones described in this ticket, might be better served by simply changing a setting. We can also discuss what the defaults should be.

CC @amaatouq @malsobay @JamesPHoughton

@ChillyWillyGH
Copy link
Author

Hi all, did anyone ever add any additional configuration to cover cases like this? We do have a workaround, if we're watching the admin screen during setup we can reset the users which puts them back in an empty game.

@npaton
Copy link
Contributor

npaton commented Oct 20, 2024

I've added a couple of options to modify how assignment works. 2 options allow modifying or disabling the "overbooking" model, and trying to fill games first instead. I'm hoping this might answers your needs. Please check it out and let me know. You can read about the details in the change log for version 1.12.0: https://github.com/empiricaly/empirica/releases/tag/%40empirica%2Fcore%401.12.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants