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

Difference between revisions of "Studio file reference"

From Board Game Arena
Jump to navigation Jump to search
Line 1: Line 1:
  
This is a quick reference for the files used to implement a game. For more information, edit the file and read the introductory comment.
+
This is a quick reference for the files used to implement a game. For more information, follow the wiki links.
  
=== 'img' directory ===
+
=== img/ ===
  
This directory contains the images for your game (the game art). See [[Game art: img directory]]
+
This directory contains the images for your game (the game art).  
 +
 
 +
See [[Game art: img directory]]
  
 
=== gameinfos.inc.php ===
 
=== gameinfos.inc.php ===
Line 15: Line 17:
  
 
File for creating specific database tables that you will need to persist data during the game (for example a table for cards).
 
File for creating specific database tables that you will need to persist data during the game (for example a table for cards).
 +
 +
See [[Game database model: dbmodel.sql]]
  
 
=== gameoptions.inc.php ===
 
=== gameoptions.inc.php ===
  
File for describing your game options (= game variants)
+
File for describing your game options (or game variants).
 +
 
 +
See [[Game options and preferences: gameoptions.inc.php]].
  
 
=== <gamename>.action.php ===
 
=== <gamename>.action.php ===
  
 
File used to describe methods that can be called from the client interface through javascript, get parameters and call the appropriate game functions.
 
File used to describe methods that can be called from the client interface through javascript, get parameters and call the appropriate game functions.
 +
 +
See [[Players actions: yourgamename.action.php]].
  
 
=== <gamename>.css ===
 
=== <gamename>.css ===
  
 
CSS styles specific to your game.
 
CSS styles specific to your game.
 +
 +
See [[Game interface stylesheet: yourgamename.css]].
  
 
=== <gamename>.game.php ===
 
=== <gamename>.game.php ===
  
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. Also see [[Main_game_logic:_yourgamename.game.php|game.php]].
+
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.  
 +
 
 +
See [[Main game logic: yourgamename.game.php]].
  
 
=== <gamename>.js ===
 
=== <gamename>.js ===
Line 37: Line 49:
 
* which actions on the page will generate calls to the server
 
* 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.
 
* what happens when you get a notification for change from the server and how it will show in the browser.
 +
 +
See [[Game interface logic: yourgamename.js]].
  
 
=== <gamename>.view.php and <gamename>_<gamename>.tpl ===
 
=== <gamename>.view.php and <gamename>_<gamename>.tpl ===
  
 
Files used to set up the page layout ('view') for the game.
 
Files used to set up the page layout ('view') for the game.
 +
 +
See [[Game layout: view and template: yourgamename.view.php and yourgamename yourgamename.tpl]].
  
 
=== material.inc.php ===
 
=== material.inc.php ===
  
 
File used to describe all the game material (cards with their description, dices, tokens...). You can also use it to define game constants.
 
File used to describe all the game material (cards with their description, dices, tokens...). You can also use it to define game constants.
 +
 +
See [[Game material description: material.inc.php]].
  
 
=== states.inc.php ===
 
=== states.inc.php ===
  
 
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).
 
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).
 +
 +
See [[Your game state machine: states.inc.php]].
  
 
=== stats.inc.php ===
 
=== stats.inc.php ===
  
 
File used to list statistics that you want to update during the game to be presented to players at the end of the game.
 
File used to list statistics that you want to update during the game to be presented to players at the end of the game.
 +
 +
See [[Game statistics: stats.inc.php]].
  
 
=== version.php ===
 
=== version.php ===
  
 
Don't edit this file. It is used internally by the build system.
 
Don't edit this file. It is used internally by the build system.

Revision as of 01:40, 29 July 2016

This is a quick reference for the files used to implement a game. For more information, follow the wiki links.

img/

This directory contains the images for your game (the game art).

See Game art: img directory

gameinfos.inc.php

In this file you describe the meta-information for your game: game name, publisher name, number of player, game categories, etc...

See Main game logic: yourgamename.game.php.

dbmodel.sql

File for creating specific database tables that you will need to persist data during the game (for example a table for cards).

See Game database model: dbmodel.sql

gameoptions.inc.php

File for describing your game options (or game variants).

See Game options and preferences: gameoptions.inc.php.

<gamename>.action.php

File used to describe methods that can be called from the client interface through javascript, get parameters and call the appropriate game functions.

See Players actions: yourgamename.action.php.

<gamename>.css

CSS styles specific to your game.

See Game interface stylesheet: yourgamename.css.

<gamename>.game.php

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.

See Main game logic: yourgamename.game.php.

<gamename>.js

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.

See Game interface logic: yourgamename.js.

<gamename>.view.php and <gamename>_<gamename>.tpl

Files used to set up the page layout ('view') for the game.

See Game layout: view and template: yourgamename.view.php and yourgamename yourgamename.tpl.

material.inc.php

File used to describe all the game material (cards with their description, dices, tokens...). You can also use it to define game constants.

See Game material description: material.inc.php.

states.inc.php

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).

See Your game state machine: states.inc.php.

stats.inc.php

File used to list statistics that you want to update during the game to be presented to players at the end of the game.

See Game statistics: stats.inc.php.

version.php

Don't edit this file. It is used internally by the build system.