Studio file reference
This is a quick reference for the files used to implement a game. For more information, follow the wiki links.
Versions currently used by BGA framework (as of May 2020):
- Dojo Toolkit 1.15
- PHP version: 7.2.12
- SDL: unknown? /fix me/
This directory contains the images for your game (the game art).
In this file you describe the meta-information for your game: game name, publisher name, number of player, game categories, etc...
File for creating specific database tables that you will need to persist data during the game (for example a table for cards).
File for describing your game options (or game variants).
CSS styles specific to your game.
This is the main file for your game logic. Here you initialize the game, persist data, implement the rules and notify changes to the client interface.
This is the main file for your game interface. Here you will define:
- which actions on the page will generate calls to the server
- what happens when you get a notification for change from the server and how it will show in the browser.
<gamename>.view.php and <gamename>_<gamename>.tpl
Files used to set up the page layout ('view') for the game.
File used to describe all the game material (cards with their description, dices, tokens...). You can also use it to define game constants.
This file describes the game states machine of your game (all the game states properties, and the transitions to get from one state to another).
File used to list statistics that you want to update during the game to be presented to players at the end of the game.
Don't edit this file. It is used internally by the build system.
Modules directory can contain additional php files which can be included in main game.php via include or require. It also can contain addition js files. This directory is checked in version control.
Directory containing files you would like to keep with project but not needed on production server. This directory is checked in version control. Total limit is 1 Mb for this directory.
You can use other files but they won't be checked in source control and published in production. That includes any additional .js or .php files. If you need them use modules/ directory.