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

BGA Code Sharing: Difference between revisions

From Board Game Arena
Jump to navigation Jump to search
(add Tic Tac Match game)
Line 93: Line 93:
| Victoria_La
| Victoria_La
| Examples of various game components and PHP stubs of framework code to make IDE happy
| Examples of various game components and PHP stubs of framework code to make IDE happy
|-
| Vanilla Typescipt template (not a game)
| https://github.com/elaskavaia/bga-dojoless
| Victoria_La
| Project template for typescript and using minimal dojo, good for vscode - type checking, auto-complete, navigation
|-
|-
| BoardGameArena Workbench (not a game)
| BoardGameArena Workbench (not a game)

Revision as of 23:38, 26 September 2022


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

This page is for listing of externally hosted bga projects, tools and resources, as well as internal project intended for sharing

Community shared components, pens, etc

NAME CODE LINK DESCRIPTION
Dice models and animation
Die: 4 sided https://codepen.io/mrkiffie/pen/doVZgW code pen
Die: 6 sided https://github.com/elaskavaia/bga-sharedcode Code can be found in project
Die: 12 sided (dodecahedron) https://codepen.io/VictoriaLa/pen/xxLLxOP Code pen
Die: 20 sided https://codepen.io/vicentemundim/details/cenIh Code pen
Moving object using CSS animation (mostly)
Phantom object move on oversurface https://codepen.io/VictoriaLa/pen/gORvdJo This technique creates clone of the object it moves it on another surface. It works well when parents that css transform applies such as scale and rotate
Move object directly using positioning https://codepen.io/VictoriaLa/pen/dyzgKVX This technique is modification of BGA framework method to allow mobile object not to have absolute position before or after the move (and uses css animation not dojo). Methods slideToObjectRelative, attachToNewObjectNoDestroy
Responsive layout for game boards
Flex Layout https://codepen.io/VictoriaLa/pen/XWjJJgG Example on how to create flexible layout just by using css
Algorithms
Hex grid tapestry,Tumbleweed,gaia project,Gold West
Shortest path on hex grid memoir 44 Disjktra
Largest area on hex grid tapestry, ...
Largest area on square grid king domino, ...
Tetris pieces patchwork, ... Matrix manupations to rotate, flip and fit tetris pieces
Line of sights on hex grid memoir 44 Find intersecting hexes on a line between two cells

Projects hosted not in studio

See the table a link and nickname of the developer on bga (same as used for dev forum), and short description. See Tools_and_tips_of_BGA_Studio#Version_Control for some suggestions on how and where to publish your code externally. Also see the boardgamearena tag on github.

Important notice about artwork on BGA Open Source projects: original hi-resolution images from publishers must not be published on the repositories. In addition, it is better to specify that the images derivated from publishers artwork are copyrighted and cannot be licensed under a free license like Creative Commons.

NON-GAME PROJECTS CODE LINK DEVELOPER COMMENT
Shared Code (not a game) https://github.com/elaskavaia/bga-sharedcode Victoria_La Examples of various game components and PHP stubs of framework code to make IDE happy
Vanilla Typescipt template (not a game) https://github.com/elaskavaia/bga-dojoless Victoria_La Project template for typescript and using minimal dojo, good for vscode - type checking, auto-complete, navigation
BoardGameArena Workbench (not a game) https://github.com/danielholmes/bga-workbench Daniel Holmes (dhau)
GAME CODE LINK DEVELOPER COMMENT
99 (Trick-taking Card Game) https://github.com/ekelly/bga-ninetynine QuasarDukeDev
Assyria https://github.com/sebastien-prudhomme/bga-assyria daikinee
Aura https://github.com/micahstairs/bga-aura Micah Stairs (micahstairs)
Bandido https://github.com/opheliehb/BandidoBGA ophelopede & Harkle
The Battle for Hill 218 https://github.com/danielholmes/battle-for-hill-218 Daniel Holmes (dhau)
Bonbons https://github.com/AntonioSoler/bga-bonbons Morgalad
Coinche https://github.com/drasill/bga-coinche Draasill
Coup: City State https://github.com/quietmint/bga-coupcitystate quietmint
Dungeon Roll https://github.com/MartinGoulet/bga-dungeonroll MGoulet
Egyptian Ratscrew https://github.com/0BuRner/bga-egyptianratscrew 0BuRner
Eruption https://github.com/AndyKerrison/bga-eruption Andy_K
A Fistful Of Gold https://bitbucket.org/Joel_L/fistfulofgold Brainchild
Florenza: The Card Game https://github.com/alberto-bottarini/bga-florenza tarini
Hearts (Tutorial) https://github.com/elaskavaia/bga-heartsla Victoria_La
Homesteaders https://github.com/npatron/bga-homesteaders TheBoot
Incan Gold https://github.com/AntonioSoler/bga-incangold Morgalad
Innovation https://github.com/micahstairs/bga-innovation Micah Stairs (micahstairs)
Mapmaker: The Gerrymandering Game https://github.com/gzhang01/bga-mapmaker gkz
Marco Polo https://github.com/rcitaliano/MarcoPolo rcitaliano
Nile https://github.com/AndyKerrison/bga-nile Andy_K
Noir: Killer vs Inspector https://bitbucket.org/chhuang76/bga_noirkvi ch huang
Penny Press https://github.com/AdamNovotny/bga-blooms A-dam
P.I. https://gitlab.com/fa81/bga-pi, https://github.com/hellp/bga-pi (mirror) Fabian Neumann (fa81)
Santorini https://github.com/AntonioSoler/bga-santorini Morgalad, quietmint, Tisaac
Tablut https://github.com/Lucas-C/tablut Lucas-C & ntaffore
Takara Island https://github.com/AntonioSoler/bga-takaraisland Morgalad
Taluva https://github.com/quietmint/bga-taluva Morgalad & quietmint
Teotihuacan: City of Gods https://github.com/Trompetenhut/bga-teotihuacan Trompetenhut
Texas 42 (domino game, still under development) https://github.com/ishermandom/bga-42 Stardust Spikes, Jason Turner-Maier, Ilya Sherman
Tic Tac Match https://github.com/leocaseiro/bga-tictacmatch Leo Caseiro
Uptown https://github.com/elliotkendall/bga-uptown SpottedShroom
Via Magica https://github.com/christopherburke/bga_viamagica CuriousTerran
Just Desserts https://github.com/mizutismask/bga-just-desserts mizutismask
The King's Guild https://github.com/AdamNovotny/BGG-KingsGuild A-dam
Get the MacGuffin https://github.com/mizutismask/bga-get-the-MacGuffin mizutismask
President https://github.com/quaresma95/president quaresma95
Hardback https://github.com/quietmint/bga-hardback quietmint
Dice Summoners https://github.com/eoincos/bga-dicesummoners eoincos

Projects on studio

Any developer can add themselves to a project as read-only from https://studio.boardgamearena.com/#!projects page (almost any project). The list below are no-games which do not have bgg id and not showing up there.

NAME CODE LINK DEVELOPER
Shared Code https://studio.boardgamearena.com/gamepanel?game=sharedcode Victoria_La
Original BGA template https://studio.boardgamearena.com/gamepanel?game=template Victoria_La

Other useful resources

Moved to Tools_and_tips_of_BGA_Studio