Giter VIP home page Giter VIP logo

flesh-and-blood-cards's Introduction

Flesh and Blood Cards

Table of Contents

  1. General Overview
  2. Approach to Reprints/Editions
  3. Approach to Versioning
  4. Approach to Languages
  5. Changelogs and Contribution Credit
  6. Contributing
  7. Helper Scripts
  8. Further Documentation
  9. Current Status on CSV Representation of Translated Cards
  10. Projects Using This Data Set

General Overview

This repo is intended as a comprehensive, open-source resource for representing all cards and sets from the Flesh and Blood TCG as JSON and CSV files.

The JSON files are the easiest format for general use, while the CSVs are meant to enable faster data entry while maintaining and contributing to this data set.

Please feel free to clone or fork the repo and generally use it for whatever projects you like. I put this together so the community doesn't have to keep re-entering the same data! I would absolutely appreciate any contributions if you notice any missing data or mistakes. :)

You can view the current JSON and CSV files through the web here.

Approach to Reprints/Editions

This repo treats a unique card (name + pitch value) as 1 entity. A unique card can have multiple printings, foils, editions, etc, but is considered 1 entry in the data set.

A card's text and other data will always be based off the latest erratas and printings.

Similarly, a set is unique based on a setcode + name, and can have multiple editions, but is considered to be 1 entry within the data set.

All cards, printings, sets, set editions, and other data in the data set is also assigned a unique generated unique_id when they are added that is consistent throughout the data set. Once a unique_id is added to the data set, it will never be changed and should be a stable way to refer to that particular piece of data. (NOTE: By "will never be changed" I mean "if this is changed, something went horribly wrong and I need to revert the unique_id back to its original value, and if you notice this please let me know!".)

Approach to Versioning

To the best of my ability, I attempt to follow Semantic Versioning when releasing versions of this data set. You can find all released versions here.

I try to increment version numbers with this general logic:

  • Major - The schema for the CSV / JSON was changed, large file organizational changes were made, etc.
  • Minor - New data was added, new scripts were added or updated, etc. (Scripts receiving breaking changes are not always guaranteed to warrant a major patch bump, use with caution!)
  • Patch - Errors in the data or helper scripts were fixed

If you'd like a stable experience, please use the main branch and pin a specific tagged version. I try to keep the develop branch as clean as possible, but even that is broken or has big changes in-flight from time to time. For bigger changes to the data set or during spoiler seasons, I spin off feature branches to work in. You are welcome to use them while I am working on them, but please be aware things can break at any time!

Unlike many code packages, I do not go back and support past major/minor releases with bugfixes, so if you want the most up-to-date data, you will always need to be on the latest version, even if that version has breaking changes. The versioning system is purely to give you a heads up so that you don't update and find your project blowing up unexpectedly!

Approach to Languages

This data set currently supports the following languages:

  • English
  • French
  • German
  • Italian
  • Spanish

In this data set, English is considered the "default" language. All cards, keywords, types, etc. should be added in English first, with the exception of sets. These are all contained within the english/ subfolders of the json/ and csvs/.

All other languages have their own subfolders with translated data, with unique_ids corresponding to the English data. These include:

  • Abilities
  • Cards
  • Keywords
  • Types

There are three types of data that are handled somewhat differently in other languages.

Sets do not have to have a corresponding unique_id in the English data, because some sets have only been published in non-English languages (ex: History Pack - Black Label).

Similarly, each language folder has its own artist data to account for the possibility that a card variation in one language has an artist that another language does not.

Finally, while the card data should be consistent across all languages with just the text being translated, the card printings are not. Each languages card data only has data on the printings that card has had in that language.

Changelogs and Contribution Credit

I include text changelogs for more information on when something changed and to help me remember what changed when I release new versions and need to write-up patch notes for them. The changelog for the actual data is at the root of the repo here, and the changelogs for the various scripts can all be found at the root of each script's folder.

I do my best to include the usernames of who submitted specific data updates or bugfixes (or who even just notified me of an issue). If I missed crediting you, please let me know so I can fix it! Conversely, if I've credited you and you wish for me to remove your username or update it, please also let me know!

Contributing

This repo is primarily maintained by Tyler (luceleaftea), but it's been a community effort finding bugs, suggesting and making improvements, and adding new card data! If you'd like to contribute, please take a look at these instructions.

Helper Scripts

This project contains numerous helper scripts in order to help with data entry, generating JSON and HTML files, and spinning up PostgreSQL servers from the data. You can find more info on all of them here.

Further Documentation

You can find the more info on the following topics at these links:

Current Status on CSV Representation of Translated Cards

If you are interested in helping transcribe the History Pack 1 Black Label cards, please comment here to register your interest and I'll get in touch with you when efforts are ready to begin!

Projects Using This Data Set

One of my favorite parts of maintaining this data set has been seeing all the community projects that have started using it. Here are all the projects that I know are using the data set! If your project is using it and I'm missing it, please leave an issue to let me know or open a PR to add your project to the list!

flesh-and-blood-cards's People

Contributors

dcollinsn avatar digldixon avatar frostyhitoshura avatar kyuur avatar luceleaftea avatar manwaring avatar nathaneastwood avatar prozz avatar r2deakin avatar ry-v1 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.