Game File Reference
Useful Components
Official
- Deck: a PHP component to manage cards (deck, hands, picking cards, moving cards, shuffle deck, ...).
- PlayerCounter and TableCounter: PHP components to manage counters.
- Draggable: a JS component to manage drag'n'drop actions.
- Counter: a JS component to manage a counter that can increase/decrease (ex: player's score).
- ExpandableSection: a JS component to manage a rectangular block of HTML than can be displayed/hidden.
- Scrollmap: a JS component to manage a scrollable game area (useful when the game area can be infinite. Examples: Saboteur or Takenoko games).
- Stock: a JS component to manage and display a set of game elements displayed at a position.
- Zone: a JS component to manage a zone of the board where several game elements can come and leave, but should be well displayed together (See for example: token's places at Can't Stop).
- bga-animations : a JS component for animations.
- bga-cards : a JS component for cards.
- bga-dice : a JS component for dice.
- bga-autofit : a JS component to make text fit on a fixed size div.
- bga-score-sheet : a JS component to help you display an animated score sheet at the end of the game.
Unofficial
Game Development Process
Guides for Common Topics
Miscellaneous Resources
Game sounds
You must upload in a `sounds` directory all sounds that you will use in your game interface.
Sounds format constraints
The sound should exist both with the mp3 and ogg format/extension.
To be correctly deployed your sounds file names should not contain spaces or parentheses.
Sounds loading
Be careful: by default, ALL sounds of your sounds root directory are loaded on a player's browser when he loads the game. For this reason, don't publish sounds that are not useful in your sounds folder, or it will slow down the game load. You can put them in a subdirectory of sounds, that won't be preloaded by default, for example sounds used only if an expansion is activated.
Note that you can tune the way sounds are loaded with Javascript method "preloadSounds"/"dontPreloadSounds" (see https://en.doc.boardgamearena.com/Game_interface_logic:_Game.js#Sounds). You can for example preloadSounds in a sub-folder if an expansion is activated and use it.