games.yaml 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. type: seq
  2. sequence:
  3. - include: game
  4. schema;game:
  5. type: map
  6. mapping:
  7. name:
  8. required: True
  9. type: str
  10. desc: Name of the clone
  11. originals:
  12. required: True
  13. type: seq
  14. sequence:
  15. - type: str
  16. unique: True
  17. desc: Name(s) of games this clones
  18. type:
  19. required: True
  20. type: str
  21. enum: ['remake', 'clone', 'official', 'similar', 'tool']
  22. repo:
  23. required: False # Work towards making it True
  24. type: str
  25. desc: URL where the source code can be found; e.g. a GitHub project page
  26. url:
  27. type: str
  28. desc: URL of the game's main page (if any; should be different from repo)
  29. feed:
  30. type: str
  31. desc: URL of RSS/Atom feed for the game's news, or releases
  32. development:
  33. type: str
  34. enum: ['complete', 'very active', 'active', 'sporadic', 'halted']
  35. desc: |
  36. Complete: development stopped but game is complete<br>
  37. Very active: many commits within the past week<br>
  38. Active: commits within the past month<br>
  39. Sporadic: commits within the past year<br>
  40. Halted: no commits within the past year
  41. status:
  42. type: str
  43. enum: ['playable', 'semi-playable', 'unplayable']
  44. desc: |
  45. Playable: all major features working, full game can be completed<br>
  46. Semi-playable: game runs and some parts of the game playable<br>
  47. Unplayable: game cannot be played, e.g. can only load assets
  48. multiplayer:
  49. type: seq
  50. sequence:
  51. - type: str
  52. enum: ['Competitive', 'Local', 'Online', 'LAN', 'Split-screen', 'Co-op', 'Hotseat', 'Matchmaking']
  53. unique: True
  54. content:
  55. type: str
  56. enum: ['commercial', 'free', 'open', 'swappable']
  57. desc: |
  58. Commercial: requires data from original game, which is not free<br>
  59. Free: game data is free or can be obtained for free<br>
  60. Open: game data has an open source license<br>
  61. Swappable: game data is commercial but can be swapped with open source replacements
  62. langs:
  63. type: seq
  64. desc: Main programming language(s) used for the game, e.g. C++
  65. sequence:
  66. - type: str
  67. unique: True
  68. frameworks:
  69. type: seq
  70. desc: Framework(s) or engine(s) used for the game, e.g. SDL2
  71. sequence:
  72. - type: str
  73. unique: True
  74. licenses:
  75. required: True
  76. type: seq
  77. sequence:
  78. - include: licenses
  79. unique: True
  80. info:
  81. type: str
  82. desc: Any notable information about the game
  83. updated:
  84. required: True
  85. type: date
  86. format: "%Y-%m-%d"
  87. desc: Use today's date
  88. images:
  89. type: seq
  90. sequence:
  91. - type: str
  92. unique: True
  93. desc: URLs of screenshots for the game
  94. video:
  95. type: map
  96. mapping:
  97. youtube:
  98. type: str
  99. range:
  100. min: 11
  101. max: 11
  102. desc: 11-char video ID e.g. for https://www.youtube.com/watch?v=DowgWKtGAD8, use "DowgWKtGAD8"
  103. vimeo:
  104. type: int
  105. desc: Numeric video ID e.g. for https://vimeo.com/10245458, use "10245458"
  106. moddb:
  107. type: int
  108. desc: Numeric video ID; copy the embed code, look for e.g. https://www.moddb.com/media/iframe/535281, use "535281"
  109. indiedb:
  110. type: int
  111. desc: Numeric video ID; copy the embed code, look for e.g. https://www.indiedb.com/media/iframe/535281, use "535281"
  112. # Based on SPDX license codes
  113. # https://spdx.org/licenses/
  114. schema;licenses:
  115. type: str
  116. enum: [
  117. 'Custom', # Catch-all for custom licenses
  118. 'Multiple', # Catch-all for multiple licenses
  119. 'PD', # Public Domain
  120. 'As-is', # Catch-all for as-is, as-available licenses
  121. 'AFL3', # Academic Free License
  122. 'AGPL3',
  123. 'Apache',
  124. 'Artistic',
  125. 'BSD',
  126. 'BSD2',
  127. 'BSD4',
  128. 'bzip2',
  129. 'CC0',
  130. 'CC-BY',
  131. 'CC-BY-NC',
  132. 'CC-BY-NC-ND',
  133. 'CC-BY-NC-SA',
  134. 'CC-BY-SA',
  135. 'GPL1',
  136. 'GPL2',
  137. 'GPL3',
  138. 'IJG', # Independent JPEG Group License
  139. 'ISC',
  140. 'JRL', # Java Research License
  141. 'LGPL2',
  142. 'LGPL3',
  143. 'Libpng',
  144. 'MAME', # MAME or MAME-like License
  145. 'MIT',
  146. 'MPL', # Mozilla Public License
  147. 'MS-PL', # Microsoft Public License
  148. 'NGPL', # Nethack General Public License,
  149. 'OFL', # SIL Open Font License
  150. 'Unlicense',
  151. 'WTFPL', # Do What The F*ck You Want To Public License
  152. 'Zlib',
  153. ]