#116

Index i

Documentation

DB Contents: Versions

Definition

"versions" are the most elementary form of "gaming information" unit in ROMdb. They are what you bought at the shop, a physical support (a cartridge, a tape, a floppy disk…) containing a piece of entertainment software.

That software was based on an idea or concept, something along the line "An Italian construction worker climbing up a partially constructed building to rescue a girl from a huge gorilla"; that is what we call a "game" in ROMdb.

┌──────┐      ┌──────┐      ╔═════════╗
│ Saga │ ───> │ Game │ ───> ║ Version ║
└──────┘      └──────┘      ╚═════════╝

It's clear then that a game can have been released in different platforms. i.e. Donkey Kong for Arcades, NES, or Game Boy. So those versions are siblings… they have a common "parent game":

┌───┐      ╔═══════════╗
│ G │ ───> ║ Version 1 ║
│ a │      ╚═══════════╝
│ m │      ╔═══════════╗
│ e │ ───> ║ Version 2 ║
└───┘      ╚═══════════╝

And also, a version can have multiple parent games. Imagine the case of "Super Mario All Stars" for Super Nintendo, it contained "Super Mario Bros.", "Super Mario Bros.: The Lost Levels", "Super Mario Bros. 2", and "Super Mario Bros. 3":

                ╔═══╗
┌────────┐      ║ V ║
│ Game 1 │ ───> ║ e ║
└────────┘      ║ r ║
                ║ s ║
┌────────┐      ║ i ║
│ Game 2 │ ───> ║ o ║
└────────┘      ║ n ║
                ╚═══╝

Fields stored

It contains three groups of fields:

1. Meta-data

These are the "normal" wiki fields that every user should have access to:

  • Parent Game: The parent game(s) of the current version. Type some characters of the title of the parent game and an automatic suggestion window will appear where you can choose one of the options.

  • Title(s): The screen title of the version (NOT the title on the box) accompanied of the 3 letter ISO 3166-1 country code and the original typing of the title (if any). i.e. "Art of Fighting" is known in Japan as "龍虎の拳" which can be written in western characters as "Ryuuko no Ken". So, we should add to title field: "[jpn] Ryuuko no Ken | 龍虎の拳". A good example of versions with multiple on-screen titles can be found in "Sega Megadrive" console (or "Genesis" in USA) where depeding on the region of the console the cartridge was pluged in, a title or another appeared. The current list of valid country codes is (feel free to drop a message in the forum if you need any code to be added): arg Argentina, aus Australia, aut Austria, bel Belgium, bgr Bulgaria, bra Brazil, can Canada, chn China, col Colombia, deu Germany, esp Spain, eur Europe, fin Finland, fra France, gbr United Kingdom, ita Italy, jpn Japan, kor Republic of Korea, mex Mexico, nld Netherlands, nor Norway, nzl New Zealand, pol Poland, pri Puerto Rico, prt Portugal, rou Romania, rus Russian Federation, swe Sweden, twn Taiwan, usa United States, wld World.

  • Date: Date when the version was finished. Notice that this date may be earlier than the release date. The best source to identify the final date of the version is the source code of the version, but some times it's not indicated anywhere. The date format is year (4 digits), month (2 digits), day (2 digitis). For partially known dates, use ? as wildcard. i.e. "1991-07-??".

  • Serial number: Only serial numbers appearing on the data of the version (again, NOT on the box or physical media of the version) should be included. i.e. for "Doom" version for "Playstation 4", serial number is "CUSA-02092".

  • Text Languages: Languages of the texts appearing in the version.

  • Voice Languages: Languages of the voices appearing in the version.

  • field_mdata_progress: (Term reference). To indicate how the player can progress through the game: limited continues, unlimited continues, password, save-games.

  • Overscan: Some systems like NES and Master System used screen borders to store pre-loaded graphics to be used when scrolling. Those artifacts were not seen normally because the CRC TVs had some sort of zoom (called overscan) which left out the actual borders produced by the console. In this field, you must specify how many pixels from the top, right, bottom, and left should be removed from the image to leave a clean image. i.e. "0, 8, 0, 8" to remove 8 pixels from right and left sides.

  • Number of players: Total number of players allowed by the game, the type of multiplayer support must be indicated in "Multiplayer type" field.

  • Multiplayer type: Type of gameplay allowed for multiple players. i.e. "versus", "cooperative", "turns", "competitive"… select as many as needed.

  • View: Viewing perspective when playing. i.e. "side", "top", "first person"…

  • Media type: Type of media the version came in. i.e. "cartridge", "tape", "DVD"…

  • Media number: Number of media items the game came in. Do you remember the "4" CDs of "Final Fantasy VII" for "Playstation"?

  • Uniqueness: Version particularities and unique characteristics. Each differential characteristic must be written in just one line finishing with a period "." and the first character must be "+" for added characteristics (i.e. "+ New secret level after beating the game."), "-" for removed features (i.e. "- Guy can't be selected by the player."), and "!" for changed characteristics (i.e. "! Intro sequence based on static pictures instead of fully animated.").

2. Moderator data

  • Title: The title of the DB article. It's generated automatically and it takes the same value as the ROMSet title. There is no need to change it.

  • Workflow: Contents of the database have three different statuses "unverified" (not present for versions), "open", and "locked". Librarians can change the status at any time.

Since screenshots are very attractive for the users and (so they'll likely add them before other fields) and, on the other hand, quite difficult to quality check (original resolution, no cropping, no processing, etc...), the screenshot fields are restricted to librarians and administrators.

  • Title screenshot: Screenshot taken during the introduction of the version, when we can usually read the title.

  • In-game screenshot: Screenshot taken during the normal gameplay.

3. Dat information

Only administrator role can modify these fields and they are automatically populated from DAT files.

  • Dat Alias: Indicating the alias of the dat where the romset information was obtained from. i.e. "snes_no-intro".

  • Dat version: Version of the dat where the version appears. i.e. "No-Intro | Sega Master System (2017-03-24)".

  • Dat outdated: When a version appeared in and old dat file but is missing in the latest one (typically becasue it was a bad dump or a hack), it is marked as outdated and automatically closed so the users can't continue updating it. After the librarians investigate the particular reasons that version is deprecated and all the important information added by the users saved, the version will definitely removed from the website.

  • ROMset platform: Platform of the dat file. i.e. "ZX Spectrum". You can see here a full list of platforms and .dats covered by ROMdb.

  • ROMSet title: The official name of the ROMSet containing the data of the version. It's decided by the creators of the dat files and we shouldn't need to modify it in ROMdb for any reason. But, if for any obscure reason we needed to alter it, we can.

  • ROMSet CRC32: CRC32 checksum of the ROMSet containing the version's data. It's important to mention that only "clean" data is used when calculation the CRC32, and for example ROM headers and other meta-data contents like .cue files are not taken into account when calculating the CRC32. On the other hand, when the ROMSET is based in multiple files (i.e. the case of CD dumps where one data track and several audio tracks are stored in different files), ROMSet CRC32 equals to the sum of all the clean files of it (again, excluding headers and .cue files).

  • ROMSet size: Size in bytes of all the clean files (excluding headers and .cue files) of the ROMSet.