Skip to content

Releases: empiricaly/empirica

@empirica/core@1.12.0

20 Oct 06:04
152f8e3
Compare
Choose a tag to compare

Minor Changes

  • d99bca1: Add preferUnderassignedGames and neverOverbookGames assignment options.

    The default player assignement algorithm assigns randomly to all games in the
    first batch that still has game that haven't started. This algorithm will
    notably "overbook" games, meaning that it will assign more players than the
    game can handle. This is useful to ensure that games start quickly, while
    maintaining good randomization. When the game starts, the players that are not
    ready yet (because they are still in the intro steps) are automatically
    reassigned to other games, with the same treamtent, if available.

    However, in some cases, you may want to avoid overbooking games, or prefer to
    assign players to games that are underassigned. This is now possible with the
    preferUnderassignedGames and neverOverbookGames options.

    The preferUnderassignedGames option will try to assign players to games that
    are underassigned, before assigning to games that are already full, resuming
    the assignment process as usual if no underassigned games are available, in the
    current batch (this option does not try to prefer games that are underassigned
    across batches).

    The neverOverbookGames option will never assign players to games that are
    already full. This will push players into the next batches, if no games are
    available in the current batch. If no games are available in the next batches,
    the player will be sent to exit. This option is a bit more strict than
    preferUnderassignedGames and it can result in longer waiting times for
    players, and potentially game that never start if a player never finishes the
    intro steps.

    Given the radical nature of the neverOverbookGames option, it is recommended
    to use preferUnderassignedGames option if you do not want the normal behavior
    of the assignment algorithm. If you use a single batch,
    preferUnderassignedGames should fill optimally.

    Note that neverOverbookGames takes precedence over preferUnderassignedGames,
    meaning that if both options are set to true, preferUnderassignedGames will
    be ignored.

    To apply these options, in server/src/index.js, you can add the following
    options to the Classic function:

    ctx.register(
      Classic({
        preferUnderassignedGames: true,
      })
    );
    ctx.register(
      Classic({
        neverOverbookGames: true,
      })
    );

Patch Changes

  • 97a5bd3: Upgrade moddwatch to 0.1.0 to fix a macOS warning message.
  • 728f18e: Upgrade to tajriba tp version 1.7.2 to fix a concurrent map write issue.

@empirica/core@1.11.6

29 Sep 07:27
69b40d9
Compare
Choose a tag to compare

Patch Changes

  • 33260a4: Remove extra directory creation in empirica command.

    An extra directory was created if the path of the project contained spaces when
    running the empirica command.

@empirica/core@1.11.5

19 Aug 02:56
aa39830
Compare
Choose a tag to compare

Patch Changes

  • 9f492da: Upgrade Tajriba to v1.7.1 (concurrency fixes).

@empirica/core@1.11.4

21 Jul 07:39
7570af1
Compare
Choose a tag to compare

Patch Changes

  • fac2ea9: Support export of null attributes.

    Previously, null attributes would crash the export process. Now, they are
    exported as null in the CSV file.

@empirica/core@1.11.3

15 Jul 01:58
c9e8647
Compare
Choose a tag to compare

Patch Changes

  • bc4ede4: Expand export buffer size from 64kb to 2mb

@empirica/core@1.11.2

21 Apr 05:45
0cf63f4
Compare
Choose a tag to compare

Patch Changes

  • 3123aed: Replaying with a different set of of players would fail to load the game state.

@empirica/core@1.11.1

18 Apr 04:04
d1b58d0
Compare
Choose a tag to compare

Patch Changes

  • 992d5f1: Fix reassign Player to a new Game after they played and finished a first Game.

    There were 2 problems:

    • the player.get("ended") field was not cleared
    • the reassignment would not trigger the game to start if the introDone was not
      reset (you don't want the player to go through intro steps again), since we
      would never get the introDone signal, and just sit there...
  • 97c6837: Fix lobby fail strategy and similar straight to exit steps cases.

    There was a check for the presence of the player.game object in front of the
    exit steps. If the game never starts, the player.game object is never
    created, and the exit steps are never executed. This also addresses the case
    where the player is never assigned a game at all (custom assignment).

@empirica/core@1.11.0

11 Apr 05:33
b3ec173
Compare
Choose a tag to compare

Minor Changes

  • efc0fd5: Export now supports passing a tajriba.json file as the first argument to export
    the data directly from a file instead of automatically detecting the file from
    the current project.

    # At the root of the project.
    empirica export
    
    # Anywhere, although it uses the global version of empirica (not the version
    # locked in your project). Upgrade to the latest version of empirica with:
    # `empirica upgrade --global`
    empirica export path/to/tajriba.json

@empirica/core@1.10.0

31 Mar 02:18
5467a49
Compare
Choose a tag to compare

Minor Changes

  • 2d4e245: Add ephemeral attribute support.

    This allows you to define attributes that are not persisted to the database, but
    are available to the client and server while the server is still running. These
    attributes will sync with all players as normal attributes. This is useful for
    data that that would be unreasonable to persist to the database due to size or
    volatility, but is still useful to share between clients and the server.

    For example, you could use this to sync the mouse movements of the players.

    player.set("mouse", { x: 123, y: 456 }, { ephemeral: true });
    player.get("mouse"); // { x: 123, y: 456 }

Patch Changes

  • 2d4e245: Ensure game and players are ready in exit steps.

    The presence of the game and players were not checked in the exit steps, as they
    are during the game. This could lead to the game or players not being available
    in the exit steps callback (to select the steps) or the exit steps themselves.

  • 2d4e245: Make player reset in admin UI work again.

@empirica/core@1.9.9

24 Mar 08:25
cbccdb7
Compare
Choose a tag to compare

Patch Changes

  • 9197232: Attribute callbacks could be run out of order.