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

Studio: Difference between revisions

From Board Game Arena
Jump to navigation Jump to search
(https://www.delet.xnxx.com/search/%D8%A7%D9%81%D9%84%D8%A7%D9%85%20%D8%B3%D9%83%D8%B3%20%D9%86%D9%8A%D9%83%D9%87%D8%A7%20arab%20arabic)
Tags: Replaced Visual edit
Line 1: Line 1:
{{Studio_Framework_Navigation}}
https://www.delet.xnxx.com/search/%D8%A7%D9%81%D9%84%D8%A7%D9%85%20%D8%B3%D9%83%D8%B3%20%D9%86%D9%8A%D9%83%D9%87%D8%A7%20arab%20arabic<nowiki/>__TOC__


[[File:Bga_studio_small.jpg|frameless|300px]]


Note: Please DO NOT translate Studio Documentation, so that there can be one place where you can find the latest information available.
__TOC__
== What is Board Game Arena Studio? ==
'''Board Game Arena Studio''' is a platform to build online board game adaptations using the Board Game Arena platform.
It is open to any gamer with software development skills :)
BGA Studio website: https://studio.boardgamearena.com
Original announcement on BGA forum: https://forum.boardgamearena.com/viewtopic.php?f=10&t=1973
== Discover BGA Studio in 5 presentations ==
Why, how, what... to start discovering BGA Studio, we prepared 5 "powerpoint" presentations for you:
* [http://www.slideshare.net/boardgamearena/5-reasons-why-you-should-use-bga-studio-for-your-online-board-game 5 reasons why you should use BGA Studio for your online board game] (or [http://en.doc.boardgamearena.com/images/5/58/1-why-developing.pdf ‎Download as PDF])
* [http://www.slideshare.net/boardgamearena/the-8-steps-to-create-a-board-game-on-board-game-arena The 8 steps to create a board game on Board Game Arena] (or [http://en.doc.boardgamearena.com/images/1/1e/2-8-steps-to-realize.pdf Download as PDF])
* [http://www.slideshare.net/boardgamearena/the-bga-framework-at-a-glance The BGA Framework at a glance] (or [http://en.doc.boardgamearena.com/images/7/79/3-thebgaframework.pdf Download as PDF])
* [http://www.slideshare.net/boardgamearena/bga-studio-focus-on-bga-game-state-machine Focus on BGA game state machine] (or [http://en.doc.boardgamearena.com/images/9/98/4-gamestates.pdf Download as PDF])
* [http://www.slideshare.net/boardgamearena/bga-studio-guidelines BGA developers guidelines] (or [http://en.doc.boardgamearena.com/images/7/76/5-guidelines.pdf ‎Download as PDF])
== How to join the BGA developer team? ==
Please see this page: [[How to join BGA developer team?]]
== Great, I'm in! ... How should I start? ==
If you didn't already, check the presentations at the top of this page to get the basics.
Then, you should checkout the [[First steps with BGA Studio]] to make sure that runs fine.
After that, we strongly advise you to take one of these game creation tutorials:
* [[Tutorial reversi]] ('''recommended''', closest to the actual BGA implementation and maintained by the BGA team) - an abstract strategy game played on an 8×8 uncheckered board for 2 players
* [[Tutorial gomoku]] - an abstract strategy game tic-tac-toe style for 2 players
* [[Tutorial hearts]] - a card game for 4 players
Then start editing files and see what happens! ;)
Once you're done with tutorials, you can start a real game (or join existing project)
* [[Create a game in BGA Studio: Complete Walkthrough]]
If you have any questions, please check out the [[Studio FAQ]] or [[Contact BGA Studio]].
To search wiki pages on studio enter this text in search bar:
  "Category:Studio" white rabbit
That is if you want to search for white rabbit
== BGA Studio documentation ==
=== BGA Studio Framework reference ===
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]]
==== Game logic (Server side) ====
* [[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)
* [[Options_and_preferences:_gameoptions.json,_gamepreferences.json|Game Options and Preferences]]
* [[Game meta-information: gameinfos.inc.php]]
* [[Game replay]]
* [[3D]]
=== BGA Studio game components reference ===
Game components are useful tools you can use in your game adaptations.
JS:
* [[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).
* [[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.
* [[Anti-Stock]]: Code snippets in vanilla JS/HTML5 to do what stock does (that is if you cannot beat Stock into submission)
PHP:
* [[Deck]]: a PHP component to manage cards (deck, hands, picking cards, moving cards, shuffle deck, ...).
Reference for classes in game class hierarchy
* [[Table]]: a PHP class that you inherit from for the game php
=== BGA Studio user guide ===
This part of the documentation is a user guide for the BGA Studio online development environment.
Lifecycle
* [[BGA game Lifecycle]]
* [[Create a game in BGA Studio: Complete Walkthrough]]
* [[Pre-release checklist]] - Go throught this list if you think you done development
* [[Post-release phase]]
Tools and Advice
* [[BGA Studio Guidelines]]
* [[Tutorials checklist]]
* [[I wish I knew this when I started]] - one liners on most common missed features, mistakes, etc with further doc references
* [[Tools and tips of BGA Studio]] - Tips and instructions on setting up development environment
** [[Setting up BGA Development environment using VSCode]]
** [[Practical debugging]] - Tips focused on debugging
** [[Testing by developer]]
** [[Studio logs]] - Instructions for log access
** [[Troubleshooting]] - Most common "I am really stuck" situations
* [[BGA Studio Cookbook]] - Tips and instructions on using API's, libraries and frameworks
** [[Using Vue]] - work-in-progress guide on using the modern framework Vue.js to create a game
** [[Using Typescript and Scss]] - How to auto-build Typescript and SCSS files to make your code cleaner
** [[BGA Type Safe Template]] - Setting up a fully typed project using typescript and more!
** [[Bots and Artificial Intelligence]] - How to add AI/Bots to the game
* [[Studio FAQ]]
Sharing
* [[Common board game elements image resources]] - Dice, meeples, cubes, etc
* [[BGA Code Sharing]] - Shared resources, projects on git hub, common code, other links
== Software Versions ==
Versions currently used by BGA framework:
* Dojo Toolkit 1.15
* PHP: 8.2
* SQL: MySQL 5.7
* JS/CSS/HTML: limited by what minimization tools support: [[Game_interface_logic:_yourgamename.js#Javascript_minimization_.28after_July_2020.29|JS minimization]]
* Font Awesome: 4.7 https://fontawesome.com/v4.7/icons/ (available as <code><nowiki><i class="fa fa-clock" /></nowiki></code>)
* Font Awesome: 6.4.0 https://fontawesome.com/v6/search?o=r&m=free (available as <code><nowiki><i class="fa6 fa6-clock" /></nowiki></code>)
=== PHP Extensions Used ===
The following PHP extensions are - as of May 8th, 2022 - in use in BGA Studio and available:
date, libxml, openssl, pcre, zlib, filter, hash, Reflection, SPL, session, standard, sodium, apache2handler, mysqlnd, PDO, xml, apcu, bz2, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, gmp, iconv, igbinary, json, exif, msgpack, mysqli, pdo_mysql, apc, posix, readline, shmop, SimpleXML, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, v8js, xmlreader, xmlwriter, xsl, zip, Phar, memcached, Zend OPcache
== Other resources ==
[http://forum.boardgamearena.com/viewforum.php?f=12 Development forum]
[https://studio.boardgamearena.com/bugs Bug tracking system FOR STUDIO issues and APIs]
DISCORD chat server/room invite link https://discord.gg/YxEUacY if it does not work check this topic https://forum.boardgamearena.com/viewtopic.php?f=12&t=17403&hilit=discord
Developer BLOGS https://bga-devs.github.io/blog/
[[Contact BGA Studio]]






[[Category:Studio]]
[[Category:Studio]]

Revision as of 02:06, 17 October 2024