Skip to content

Game schema - Draft 4

Latest
Compare
Choose a tag to compare
@avivace avivace released this 09 Feb 13:03

Added

New Properties

  • description: A text description of the game (e.g., instructions, lore).
  • physical-release: A link to where the physical edition of the game can be purchased or more information can be found.
  • commercial: A boolean flag indicating if the game is distributed for profit.
  • use-requirements: An object containing preferences for disabling downloads or "playability".
  • third-party: A list of third-party users authorized to redistribute/embed the entry metadata. See https://github.com/gbdev/database/tree/master/thirdparty
  • developer: Now allows multiple formats, including single strings, arrays, or objects with "name", "link", and "role".

New Supported Platforms

  • "NES" added to the "platform" enum.

New Tags

  • "Arcade", "Survival", "Shooter", "Visual Novel", "Simulation", "Educational", "Rhythm", "Card Game", "Strategy", "Racing", "Sports", "Fighting", "Interactive Fiction".
  • "hw:gbprinter" and "hw:gbcamera" hardware-related tags.
  • "event:[a-z0-9._-]+" for custom event-based tags.

File Metadata Enhancements

  • type: Added to file definitions, supporting "rom", "manual", "release", and "patch".
  • version and date: Added for file versioning.
  • apply-to: Specifies hash values for base files when a file is a patch.

Website Property Enhancements

  • Now supports a single URL, an array of URLs, or an object containing "title", "type", and "url".

Removed

  • play: Previously used to enable/disable direct gameplay on the website. Replaced by "use-requirements.disable-play".

Changed

String Validations

  • slug: Now has a regex pattern restriction ("^[a-z0-9._-]+$").
  • date: Now allows year (YYYY), year-month (YYYY-MM), or full date (YYYY-MM-DD).
  • video and repository: Now explicitly require "format": "uri".

Updated "typetag" Options

  • "homebrew""tool"

Updated "tags" Property

  • Now allows event-based tags using the pattern "^event:[a-z0-9._-]+$".

Contributors: @avivace , @dag7dev