Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/finol-digital/finoldigital.cgs.json

Card Game Simulator (CGS) Card Game Specification
https://github.com/finol-digital/finoldigital.cgs.json

json json-schema jsonschema schema

Last synced: 1 day ago
JSON representation

Card Game Simulator (CGS) Card Game Specification

Awesome Lists containing this project

README

        

# Card Game Simulator - Card Game Specification

## The Specification
[Card Game Simulator](https://www.cardgamesimulator.com) (CGS) follows this `FinolDigital.Cgs.Json` specification.
This specification primarily includes information on sets of cards and a definition of what properties those cards have.
Ancillary information can include decks and boards to use with the game.
See below for the full specification.

## CGS games directory
Games are created with a new folder within the persistent games data directory.
The location of this persistent data directory varies depending on platform.
Some examples include:
- Android: /Data/Data/com.finoldigital.cardgamesim/files/games/
- Mac: ~/Library/Containers/com.finoldigital.CardGameSimulator/Data/Library/Application Support/com.finoldigital.CardGameSimulator/games
- Windows (Steam): C:\Users\\\AppData\LocalLow\Finol Digital LLC\Card Game Simulator\games
- Windows UWP (Microsoft Store): C:\Users\\\AppData\Local\Packages\FinolDigitalLLC.CardGameSimulator_499qk536pdy94\LocalState\games

## Custom game folder structure
The structure of this custom game folder is:
- *Game:Id*/
- cgs.json
- AllCards.json
- AllDecks.json
- AllSets.json
- Banner.\
- CardBack.\
- PlayMat.\
- backs/
* *Card:Id*.\
- boards/
* *GameBoard:Id*.\
* ...
- decks/
* *Deck:Name*.\
* ...
- sets/
* *Set:Code*/
* *Card:Id*.\
* ...
* ...

## JSON File Structure
The GGS AutoUpdate Url that is used to download a card game is actually a pointer to the `cgs.json` file.
CGS generates the rest of the folder structure based off that file.

You can create your own json and [validate](https://www.jsonschemavalidator.net/) against these schema:
- [cgs.json](https://github.com/finol-digital/FinolDigital.Cgs.Json/blob/main/schema/cgs.json)
- [AllCards.json](https://github.com/finol-digital/FinolDigital.Cgs.Json/blob/main/schema/AllCards.json)
- [AllDecks.json](https://github.com/finol-digital/FinolDigital.Cgs.Json/blob/main/schema/AllDecks.json)
- [AllSets.json](https://github.com/finol-digital/FinolDigital.Cgs.Json/blob/main/schema/AllSets.json)

## Examples
The default examples can be found in the [CGS GitHub Repository](https://github.com/finol-digital/Card-Game-Simulator/tree/develop/docs/games).

Further examples can be found in the [CGS Google Drive folder](https://drive.google.com/open?id=1kVms-_CXRw1e4Ob18fRkS84MN_cxQGF5).