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

First steps with BGA Studio

Izvor: Board Game Arena
Idi na navigaciju Idi na pretragu

Connect to the BGA Studio website

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

Choose one of your 10 accounts (ex: myusername0), and login into the website - as you would do for Board Game Arena.

Check projects in progress and available game licences

On the left menu, you can check game projects under development and available game licences. From this point, you can choose what you want to do:

  • Join an existing project.
  • Create a new project.
  • Try to get a licence for a game you don't see in the "available game licences" page (see how-to on "available licences" page).

Create a new game project

You can do most of projects-related operation from "Control Panel / Manage games". In particular, you can create a new project automatically from there.

Connect to your SFTP folder

From the initial email from the Studio you get:

  • the name of the SFTP server to connect to
  • your SFTP login and password

Using this information:

  1. Connect to the SFTP server using your SFTP login and password, through your favourite SFTP client software (such as WinSCP, see File Sync)
  2. Check that your remote home folder contains one folder for each of the three example games (reversi, hearts, gomoku). If you have already created a new game project, one additional folder should be in your "home" folder.
  3. Note: You have to setup AUTOMATED sync between your folder and remote folder, manually ftp'ing files would be no-starter.

Let's code!

Now, you can try to launch a new game on BGA Studio from the "Play now" menu entry, as you would do on Board Game Arena website.

  1. Find your game in the 'Play now' section and create a table
  2. Use the 'I want between X and X' players to tick down the maximum players number to the minimum
  3. Click 'Express start': your game launches with the maximum number of players specified. It shows an empty canvas: in the game zone you just have a sentence 'This is your game interface. You can edit this HTML in your ".tpl" file.'.
  4. Switch to your SFTP home folder, go into your game folder. Edit the game_game.tpl file, and change this sentence to 'Hey, this is my first game!', then save.
  5. Go back to your browser and refresh, check that the game zone has updated.
  6. Click on the 'Gear' icon on the top right, and in the popup choose 'Express STOP'. The game ends automatically and you are brought back to the table screen for this ended game.
  7. Switch to your game folder, go into the img folder and overwrite your game_box.png file with another image.
  8. Go back to your browser, empty your browser cache, then refresh the page, and check that the game box image has been updated.

Then you can modify the provided skeleton and begin to develop your game :)

Commit your changes

Committing uploads your changes on our revision control system. This is an extra assurance not to lose your code, and to have the possibility to get a previous version of your code if you need to backtrack. It also helps us to follow your progress (we get an email when you commit). So you should commit from time to time, when you hit some landmark in your development.

You can automatically commit your sources in the repository from "Control Panel / Manage Games / Your games / Commit my modifications". Then:

  1. Enter your commit comment (such as 'My first commit') then hit the 'Submit' button;
  2. Check the log for errors, it should end with the following lines:
 Transmitting file data .
 Committed revision #revision number#.
 HAL says: done.

Note: committing the code is currently not working until admin commits it manually the first time. Even if it does you cannot automatically deal with this version control system except for committing. Therefore its recommended to use another means of storing the code, such as local git repo or github, see Version Control

That's all!

Now you know about the basics of updating your game on BGA Studio and testing your changes.

For more information on the specificites of each file, please check out the reference documentation for the framework.