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

Template:Studio Framework Navigation: Difference between revisions

From Board Game Arena
Jump to navigation Jump to search
No edit summary
No edit summary
Line 7: Line 7:
<div style="font-weight:bold;font-size:1.2em;margin-top:0.3em;line-height:1.6;padding-top:0.5em;"><center>'''[[Studio file reference|Overview]]'''</center></div>
<div style="font-weight:bold;font-size:1.2em;margin-top:0.3em;line-height:1.6;padding-top:0.5em;"><center>'''[[Studio file reference|Overview]]'''</center></div>


* [[Main game logic: Game.php|<b>Game.php</b>]] - main logic
* [[State classes: State directory|<b>States/</b>]] - State classes
* [[Game database model: dbmodel.sql|<b>dbmodel.sql</b>]] - database model
* [[Game database model: dbmodel.sql|<b>dbmodel.sql</b>]] - database model
* <b>modules/</b> - additional game code
* <b>misc/</b> - studio-only storage
 
* [[Game interface logic: Game.js|<b>Game.js</b>]] - interface logic
* [[Game interface stylesheet: yourgamename.css|X<b>.css</b>]] - interface stylesheet
* [https://doc.studio.boardgamearena.com/framework-documentation/front-end/game-art/ <b>img</b>] - game art
* [https://doc.studio.boardgamearena.com/framework-documentation/front-end/game-sounds/ <b>sounds</b>] - game sounds
* [https://doc.studio.boardgamearena.com/framework-documentation/front-end/game-fonts/ <b>fonts</b>] - game fonts
* [https://doc.studio.boardgamearena.com/framework-documentation/front-end/game-fonts/ <b>fonts</b>] - game fonts
 
* [[Options and preferences: gameoptions.json, gamepreferences.json|<b>gameoptions.jsonc</b>]] - game options & user preferences
* [[Game statistics: stats.json|<b>stats.jsonc</b>]] - statistics
* [[Game meta-information: gameinfos.jsonc|<b>gameinfos.jsonc</b>]] - meta-information
* [[Game meta-information: gameinfos.jsonc|<b>gameinfos.jsonc</b>]] - meta-information
* [[Options and preferences: gameoptions.json, gamepreferences.json|<b>gameoptions.jsonc</b>]] - game options & user preferences
* [https://doc.studio.boardgamearena.com/framework-documentation/front-end/game-art/ <b>img</b>] - game art
* [https://doc.studio.boardgamearena.com/framework-documentation/game-metadata/ <b>Game Metadata Manager</b>] - tags and metadata media
* [https://doc.studio.boardgamearena.com/framework-documentation/game-metadata/ <b>Game Metadata Manager</b>] - tags and metadata media
* <b>misc/</b> - studio-only storage
* <b>modules/</b> - additional game code
* [https://doc.studio.boardgamearena.com/framework-documentation/front-end/game-sounds/ <b>sounds</b>] - game sounds
* [[State classes: State directory|<b>States/</b>]] - State classes
* [[Your game state machine: states.inc.php|<b>states.inc.php</b>]] - state machine
* [[Game statistics: stats.json|<b>stats.jsonc</b>]] - statistics
* [[Game interface stylesheet: yourgamename.css|X<b>.css</b>]] - interface stylesheet
* [[Main game logic: Game.php|<b>Game.php</b>]] - main logic
* [[Game interface logic: Game.js|<b>Game.js</b>]] - interface logic
<br>
<br>
-----
-----

Revision as of 09:25, 4 November 2026


Game File Reference
  • Game.php - main logic
  • States/ - State classes
  • dbmodel.sql - database model
  • modules/ - additional game code
  • misc/ - studio-only storage





Useful Components

Official

  • ItemManager: a PHP component to manage cards or other game items.
  • PlayerCounter and TableCounter: PHP components to manage counters.
  • Draggable: a JS component to manage drag'n'drop actions.
  • Counter: a JS component to manage a counter that can increase/decrease (ex: player's score).
  • 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).
  • 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-zoom : a JS component for zoom controls.
  • bga-animations : a JS component for animations.
  • bga-cards : a JS component for cards.
  • bga-dice : a JS component for dice.
  • bga-autofit : a JS component to make text fit on a fixed size div.
  • bga-score-sheet : a JS component to help you display an animated score sheet at the end of the game.
  • bga-jump-to : a JS component to add board shortcuts

Deprecated

  • Deck: a PHP component to manage cards (deck, hands, picking cards, moving cards, shuffle deck, ...).
  • Stock: a JS component to manage and display a set of game elements displayed at a position.

Unofficial



Game Development Process



Guides for Common Topics



Miscellaneous Resources