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

Difference between revisions of "Template:Studio Framework Navigation"

From Board Game Arena
Jump to navigation Jump to search
m
(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