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
mNo edit summary
(Changed hedlines to bold centered text to avoid collision with TOCs)
Line 2: Line 2:
<div style="float: right; width: 300px; border: solid #000 1px; padding: 1em; margin-left: 1em; background: #fff;">
<div style="float: right; width: 300px; border: solid #000 1px; padding: 1em; margin-left: 1em; background: #fff;">


=== Studio Framework Navigation ===
<center>'''Studio Framework Navigation'''</center>
 
This part of the documentation focuses on the development framework itself: functions and methods available to build your game.


[[Studio file reference|File structure of a BGA game]]
[[Studio file reference|File structure of a BGA game]]


==== Game logic (Server side) ====
<center>'''Game logic (Server side)'''</center>
 
* [[Main game logic: yourgamename.game.php]]
* [[Main game logic: yourgamename.game.php]]
* [[Your game state machine: states.inc.php]]
* [[Your game state machine: states.inc.php]]
Line 17: Line 14:
* [[Game statistics: stats.inc.php]]
* [[Game statistics: stats.inc.php]]


==== Game interface (Client side) ====
<center>'''Game interface (Client side)'''</center>
 
* [[Game interface logic: yourgamename.js]]
* [[Game interface logic: yourgamename.js]]
* [[Game art: img directory]]
* [[Game art: img directory]]
Line 25: Line 21:
* [[Your game mobile version]]
* [[Your game mobile version]]


==== Other components ====
<center>'''Other components'''</center>
 
* [[Translations]] (how to make your game translatable)
* [[Translations]] (how to make your game translatable)
* [[Game options and preferences: gameoptions.inc.php]]
* [[Game options and preferences: gameoptions.inc.php]]
Line 34: Line 29:
* [[Some usual board game elements image ressources]]
* [[Some usual board game elements image ressources]]


=== BGA Studio game components reference ===
<center>'''BGA Studio game components reference'''</center>
 
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, ...).
* [[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).
* [[Counter]]: a JS component to manage a counter that can increase/decrease (ex: player's score).
Line 49: Line 41:
* [[Wrapper]]: a JS component to wrap a  &lt;div&gt; element around its child, even if these elements are absolute positioned.
* [[Wrapper]]: a JS component to wrap a  &lt;div&gt; element around its child, even if these elements are absolute positioned.


=== BGA Studio user guide ===
<center>'''BGA Studio user guide'''</center>
 
This part of the documentation is a user guide for the BGA Studio online development environment.
 
* [[BGA game Lifecycle]]
* [[BGA game Lifecycle]]
* [[First steps with BGA Studio]]
* [[First steps with BGA Studio]]

Revision as of 22:29, 15 April 2020

Studio Framework Navigation

File structure of a BGA game

Game logic (Server side)
Game interface (Client side)
Other components
BGA Studio game components reference
  • 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).
  • 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.
  • 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).

Undocumented component (if somebody knows please help with docs)

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