Home »

What is BGA Studio?

Getting started

4 slideshare presentations to get ready to use BGA Studio in 30 minutes:

Reference Documentation

This page come from BGA wiki, and has been written by BGA players community. Feel free to edit it!

What is Board Game Arena Studio?

Board Game Arena Studio is a platform to build online board game adaptation using the Board Game Arena platform.

It is open to any gamer with development skills :)

BGA Studio website: http://en.studio.boardgamearena.com

(original announcement on BGA forum: http://forum.boardgamearena.com/viewtopic.php?f=10&t=1973)

Discover BGA Studio in 5 presentations

Why, how, what... to start discovering BGA Studio, we prepared 5 "powerpoint" presentations for you:

How to join the BGA developer team?

Please see this page: How to join BGA developer team?

Great, I'm in! ... How should I start?

If you didn't already, check the presentations at the top of this page to get the basics.

Then, you should checkout the First steps with BGA Studio to make sure that runs fine.

After that, we advise you to take a peek at one or both of these two game creation tutorials:

Then start editing files and see what happens! ;)

If you have any questions, please check out the Studio FAQ first, then if you didn't find the answer you were looking for, please post your question on the development forum.

BGA Studio documentation

BGA Studio Framework reference

This part of the documentation focuses on the development framework itself: functions and methods available to build your game.

File structure of a BGA game

Game logic

Game interface

Other components

BGA Studio game components reference

Game components are useful tools you can use in your game adaptations.

  • 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).
  • 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.
  • 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.
  • Wrapper: a JS component to wrap a <div> element around his child, even if these elements are absolute positioned.
  • 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 Studio user guide

This part of the documentation is a user guide for the BGA Studio online development environment.

BGA Developer team organization

Other resources

Development forum

Bugs forum


Please remember me

Join BGA Studio developer team

To start developing on BGA Studio and get access to development environment, you need to create an account below.

Personal infos provided in this form is NOT shown to anyone but BGA Studio admin, and is NOT used for any other purpose that BGA Studio organization.

(Must be valid. We may remove accounts from developers we can't contact.)

(3 to 20 characters. No space, no number, no special characters)

(The exact username you are using on BGA)

Important: we need your REAL name to attribute your work on the Studio & to send you stuff by Post when needed.

Important: we need your REAL name to attribute your work on the Studio & to send you stuff by Post when needed.

Please enter the security code you are seeing

I agree to Terms&conditions for developers of BGA Studio.


can't create BGA Studio account

When trying to join as a game creator, I fill in the form and then I'm rejected with a error code in red.

How can I create this account?

Thank you.
08/29/20162 comments

Cannot create New Game on Studio via Edge,

I discover that my last problem in studio is linked to edge.
I cannot create new table under edge browser since last Tuesday.
even clearing the browser data/cache/ and all other data.
but items I can create under firefox.
08/25/2016 Comment on this

Hive game history data

My name is Randy Ingersoll and I have written a book about hive (Play Hive Like a Champion). I am working on one about Hive openings. It would be great if I could use data from the games played here at Board Game Arena.

Is it possible to gain access to the hive game database and raw move data in order to download it, parse it and use it?

Thanks in advance for your response.
08/23/20161 comment

[SOLVED] How to kill a hanging game table?

I have few old games on studio which was my practice projects, if I try to open
them game would hang with "Application loading..." and game menu to stop it is not available.
New game starts fine and plays but something with
old games is broken now. I really just want to get rid of it, kill the table. Is there a hidden post request I can do
to express stop the game without loading it?
08/22/20163 comments

[SOLVED] Ajax call times out for virtual players in dev. mode

Hello everybody!

Have you ever seen much differences for server response between the normal player and bots?
Let's say I (Tchebychev0) launch a 2p game using "express start" which add a bot player, let's say Tchebychev4.
I notice than the server is quicker to answer when Tchebychev0 makes is move quicker than when it's Tchebychev4.

I have 3 possible actions in the main state: "draw", "meld" or "dogma". "draw" or "meld" have few databases operations on .game.php, "dogma" is heavier.
  • When Tchebychev0 takes any one of the three actions, everything proceeds normally.
  • When Tchebychev4 takes a "draw" or "meld" action, it takes circa 5s to complete, since my internet connexion is quite low...
  • When Tchebychev4 takes a "dogma" action, it is stuck at "Sending move to server..." but finally the request times out :| . When I trace the server job using var_dump, I get no response even in .action.php: I think the error stream can't flush because the server does not finish its job.

I think a better connexion would solve the problem anyway (which I can't have :evil: ), but do you have any idea why the server takes so more time when it's the bot who plays?

Any experience with that?


08/20/20162 comments

Application loading ... ...