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
(Dont include NOTOC)
mNo edit summary
 
(27 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<noinclude>__NOTOC__</noinclude>
<!-- Do not use heading tags, or else these sidebar headings appear in the page TOCs -->


<div style="float: right; width: 300px; border: solid #000 1px; padding: 1em; margin-left: 1em; background: #fff;">
<div class="studio-framework-navigation" style="float: right; width: 300px; border: solid #000 1px; padding: 1em; margin-left: 1em; background: #fff;">


=== Studio Framework Navigation ===
<div style="font-weight:bold;font-size:1.2em;margin-top:0.3em;line-height:1.6;padding-top:0.5em;"><center>'''Game File Reference'''</center></div>


This part of the documentation focuses on the development framework itself: functions and methods available to build your game.
<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>


[[Studio file reference|File structure of a BGA game]]
* [[Game database model: dbmodel.sql|<b>dbmodel.sql</b>]] - database model
* [[Game meta-information: gameinfos.inc.php|<b>gameinfos.inc.php</b>]] - meta-information
* [[Options and preferences: gameoptions.json, gamepreferences.json|<b>gameoptions.json</b>]] - game options & user preferences
* [[Game art: img directory|<b>img/</b>]] - game art
* [[Game_metadata_manager|<b>Game Metadata Manager</b>]] - tags and metadata media
* [[Game material description: material.inc.php|<b>material.inc.php</b>]] - static data
* <b>misc/</b> - studio-only storage
* <b>modules/</b> - additional game code
* [[Your game state machine: states.inc.php|<b>states.inc.php</b>]] - state machine
* [[Game statistics: stats.json|<b>stats.json</b>]] - statistics
* [[Players actions: yourgamename.action.php|X.<b>action.php</b>]] - player actions
* [[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: yourgamename.js|X.<b>js</b>]] - interface logic
* [[Game layout: view and template: yourgamename.view.php and yourgamename_yourgamename.tpl|X.<b>view.php</b>]] - dynamic game layout
* [[Game layout: view and template: yourgamename.view.php and yourgamename_yourgamename.tpl|X_X.<b>tpl</b>]] - static game layout
<br>
-----
<div style="font-weight:bold;font-size:1.2em;margin-top:0.3em;line-height:1.6;padding-top:0.5em;"><center>'''Useful Components'''</center></div>


==== Game logic (Server side) ====
'''Official'''
 
* [[Main game logic: yourgamename.game.php]]
* [[Your game state machine: states.inc.php]]
* [[Game database model: dbmodel.sql]]
* [[Players actions: yourgamename.action.php]]
* [[Game material description: material.inc.php]]
* [[Game statistics: stats.inc.php]]
 
==== Game interface (Client side) ====
 
* [[Game interface logic: yourgamename.js]]
* [[Game art: img directory]]
* [[Game interface stylesheet: yourgamename.css]]
* [[Game layout: view and template: yourgamename.view.php and yourgamename_yourgamename.tpl]]
* [[Your game mobile version]]
 
==== Other components ====
 
* [[Translations]] (how to make your game translatable)
* [[Game options and preferences: gameoptions.inc.php]]
* [[Game meta-information: gameinfos.inc.php]]
* [[Game replay]]
* [[3D]]
* [[Some usual board game elements image ressources]]
 
=== BGA Studio game components reference ===
 
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, ...).
* [[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).
* [[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).
* [[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.
* [[Stock]]: a JS component to manage and display a set of game elements displayed at a position.
Line 46: Line 38:


Undocumented component (if somebody knows please help with docs)
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  &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 ===
'''Unofficial'''
 
* [[BGA Code Sharing]] - Shared resources, projects on git hub, common code, other links
* [[BGA Studio Cookbook]] - Tips and instructions on using API's, libraries and frameworks
* [[Common board game elements image resources]]


This part of the documentation is a user guide for the BGA Studio online development environment.
<br>
-----
<div style="font-weight:bold;font-size:1.2em;margin-top:0.3em;line-height:1.6;padding-top:0.5em;"><center>'''Game Development Process'''</center></div>


* [[BGA game Lifecycle]]
* [[First steps with BGA Studio]]
* [[First steps with BGA Studio]]
* [[Create a game in BGA Studio: Complete Walkthrough]]
* [[Tutorial reversi]]  
* [[Tutorial reversi]]  
* [[Tutorial gomoku]]  
* [[Tutorial gomoku]]  
* [[Tutorial hearts]]
* [[Tutorial hearts]]
* [[Create a game in BGA Studio: Complete Walkthrough]]
* [[Tools and tips of BGA Studio]] - Tips and instructions on setting up development environment
* [[Practical debugging]] - Tips focused on debugging
* [[Studio logs]] - Instructions for log access
* [[BGA Studio Cookbook]] - Tips and instructions on using API's, libraries and frameworks
* [[BGA Studio Guidelines]]
* [[BGA Studio Guidelines]]
* [[Troubleshooting]] - Most common "I am really stuck" situations
* [[BGA game Lifecycle]]
* [[Studio FAQ]]
* [[Pre-release checklist]]
* [[Pre-release checklist]] - Go throught this list if you think you done development
* [[Post-release phase]]
* [[Post-release phase]]
* [[BGA Code Sharing]] - Shared resources, projects on git hub, common code, other links
* [[Help|Player Resources]] - add player help/rules to your game page
 
<br>
-----
<div style="font-weight:bold;font-size:1.2em;margin-top:0.3em;line-height:1.6;padding-top:0.5em;"><center>'''Guides for Common Topics'''</center></div>
 
* [[Translations]] - make your game translatable
* [[Game replay|Game Replay]]
* [[Your game mobile version|Mobile Users]]
* [[3D]]
* [[Compatibility]]


<br>
-----
<div style="font-weight:bold;font-size:1.2em;margin-top:0.3em;line-height:1.6;padding-top:0.5em;"><center>'''Miscellaneous Resources'''</center></div>


* [[Studio FAQ]]
* [[Tools and tips of BGA Studio]] - Tips and instructions on setting up development environment
* [[Studio logs]] - Instructions for log access
* [[Practical debugging]] - Tips focused on debugging
* [[Troubleshooting]] - Most common "I am really stuck" situations
* [https://studio.boardgamearena.com/bugs Studio Bugs] - Reports against Studio itself (not BGA!)
</div>
</div>

Latest revision as of 11:25, 9 October 2024


Game File Reference



Useful Components

Official

  • Deck: a PHP component to manage cards (deck, hands, picking cards, moving cards, shuffle deck, ...).
  • 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).
  • 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)

  • Wrapper: a JS component to wrap a <div> element around its child, even if these elements are absolute positioned.

Unofficial



Game Development Process



Guides for Common Topics



Miscellaneous Resources