This is a documentation for Board Game Arena: play board games online !

Studio FAQ

З пляцоўкі Board Game Arena
Перайсці да навігацыі Перайсці да пошуку
Studio Framework Navigation

File structure of a BGA game

Game logic (Server side)
Game interface (Client side)
Other components
BGA Studio game components reference
  • Deck: a PHP component to manage cards (deck, hands, picking cards, moving cards, shuffle deck, ...).
  • Counter: a JS component to manage a counter that can increase/decrease (ex: player's score).
  • 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).

Undocumented component (if somebody knows please help with docs)

  • Draggable: a JS component to manage drag'n'drop actions.
  • ExpandableSection: a JS component to manage a rectangular block of HTML than can be displayed/hidden.
  • Wrapper: a JS component to wrap a <div> element around its child, even if these elements are absolute positioned.
BGA Studio user guide


This is a place where we will collect and answer frequently asked questions.

What should I use to access the files through SFTP?

There is a lot of tools to do that. Use the one you are the most comfortable with.

On Linux Gnome, you can for example use the 'Connect to server' function of the Nautilus file management system, or use sshfs.

On Windows, there is for example the WinSCP client.

See Tools_and_tips_of_BGA_Studio#File_Sync for more details.

I can't edit the files in my game directory, it looks like they are readonly. What's happening?

You can lose access sometimes if you add another developer as read/write or admin.

Maybe there is a maintenance operation underway.

If you don't get access back after some time (say one or two hours), please post on dev forum.

What is the working language on BGA studio?

Working language is English.

Variables and functions must be named with English words.

Comments must be written in English.

Game interface strings and game logs must be written in English.

How can I provide translation in my language?

The community will translate the game in all language after the game release with the collaborative translation interface can be used to translate into other languages.

Check Translations to see how to make your game translatable.

I updated the images in the 'img' folder of my game, but they don't show?

Concerning game_box.png, game_icon.png and publisher.png: You must use "Reload game box image" function from "Control Panel / Manage Games / Your game" to make your change visible.

Concerning other images: Other images used during the game are immediately available without any action. If the images still don't show after that, please try emptying your browser cache and reloading the page.

I added some game options / some game statistics / some game infos but they don't show?

When you modify one of these 3 files, you need to use the corresponding update action from "Control Panel / Manage Games / Your Game" in order we can take this information into account.

Should I use images free from copyright?

If you are developing a game in the public domain, yes (or you can make your own if you feel it's better).

If you are developing a game for which we have a licence, we will usually provide art files from the publisher.


I registered on Studio but did not receive email

If you using standard email address (such as gmail, yahoo, outlook) its in junk folder, search for "bga".

If you use some proprietary email address, it possible that your mail server denies emails from bga, in this case post message on the forum and specify login name your have chosen. Don't attempt to register again with same email, it likely will fail again. But if you have alternative standard email account use it instead.