User:Xerxes

I test games and enjoy boring pedantic work. If I do something wrong/stupid please tell me on my discussion page or right here, I don't care where.

GameID adding guide
This will be an in-depth guide going through all the steps to quickly and consistently add reliable GameIDs to the wiki. It's not particularly hard to do, however it can be tedious and sometimes requires investigation for obscure titles. However, once an understanding is reached of how IDs work and how best to use the resources available, most GameCube or Wii IDs can be added or confirmed without too much trouble.

How are IDs formatted?
Every ID is a unique six-character code made up of letters and numbers which identifies a specific version of every Wii or GameCube game. Each character holds its own meaning in the ID, as follows:


 * Character 1 says what console the game was released on, or in the case of the Wii, it can be used to determine whether it's a WiiWare title, a Virtual Console title (and which Virtual Console specifically), or a retail game.


 * Characters 2 and 3 are the two unique characters which identify the actual game. Though there are some rare exceptions (usually Japanese releases), this normally stays consistent through all the different versions of a specific game. This can be used to find out when the wiki is in error, and two games with separate pages are actually the same. See R8XE52 and R8XZ52 as an example.


 * Character 4 is the region code. This is the most common changed character between different IDs for a single title and probably the most useful. By knowing the regions a game is released in, looking for missing region codes can help greatly in spotting missing IDs. Therefore, knowing correct release data for a game is crucial to knowing which IDs are valid and which IDs are missing.


 * Characters 5 and 6 reflect publisher, and these are the most confusing of all characters as they can be all over the place depending on the title. Sometimes titles will have different publishers for each region, the same publishers in all regions except one, all the same publisher, the same publisher but with a different last two characters that's actually valid, etc. However, they do follow patterns, even though they may be confusing patterns; see GameIDs for documentation on common trends.


 * Note that for Virtual Console titles, each different console gets its own unique publisher ID that stays uniform for the console. For example, all Sega titles have publisher code 8P. This means that only the prefix is needed for confirmation of Virtual Console IDs as the final two characters can be filled in without much hassle. The chart below shows all known Virtual Console publisher IDs.

Where can IDs be sourced?
The following is a list of publicly available sources for obtaining both GameCube and Wii IDs, in order of reliability.

Source #1: A personal dump
Since the wiki's IDs are used for functionality in Dolphin, the database here has to align to what Dolphin gives for different games (given that the dump is valid). Therefore, the perfect source of IDs for the wiki is by obtaining them through Dolphin itself. However, this requires owning a copy of the game and being capable of dumping it and viewing its properties within Dolphin.

Source #2: The game's cover/disc
On the back of all GameCube and Wii games (besides Asian releases where it's on the front), near the barcode, the Game's ID will actually be printed out. This makes searching for a scan of the game's cover a viable means of confirming IDs. The ID is also printed directly on the disc as well, in the little subscript text along the edge. This can be considered a perfectly reliable source, however the ID on the cover uses a different format from those used in Dolphin; namely, the four character product code is used, which leaves out the publisher code. The publisher code can be pieced together using the publisher information on the cover, separate sources like GameTDB, and the GameIDs page if need be, however complete reliance on these sources is not recommended.

While this may theoretically be a good source of IDs, in many cases certain games just might not have high quality cover scans publicly available. If a cover scan for a game cannot be acquired using normal sources (GameFAQs, GameTDB, MobyGames, etc.), eBay is another possible option. A lot of listings use high resolutions pictures of both sides of the game's box or the disc, from which the ID prefix can be obtained. By knowing the regions of a game's release, region-specific eBays can be used to further narrow the search; for example, there's an Australian eBay, a British eBay, a German eBay, and a Swedish eBay called Tradera, among others. Since these aren't databases, keep in mind listings will come and go and results may vary, so results may be hit or miss. Note also that for the best results it's more effective to use the title of the game in the language of the region, which can be obtained from GameTDB or Redump. Below is a chart listing online auction sites in various countries for convenience.

Source #2.5: Nintendo's Update Server
The above method of looking for IDs on game covers is effective, but around half the games with pages on the wiki are digital titles that don't have a cover. So, the IDs instead need to be acquired from somewhere else. Thankfully, Nintendo's update server is publicly accessible from any web browser, and allows anyone to freely download TMD files with title information. This can be done by using the following link:

http://ccs.cdn.shop.wii.com/ccs/download/00010001/tmd

The  bit needs to be replaced with the first four characters of the ID you're trying to confirm in hex (here is a working link for prefix JALT as an example). If the prefix exists, a download will begin for an extensionless file named "tmd"; otherwise, a 404 will be reached. This file can then be opened with a hex editor, and the full ID can be seen (with a small gap between the prefix and publisher code) around halfway through the file in cleartext.

The major problem with this method is that it can only be used for ID confirmation and not addition, since the prefix must be known ahead of time. There's been efforts to scrape the entire update server for all TMDs and therefore never run into this problem, but the work is still pending.

Source #3: Redump.org
Redump.org is a trustworthy site dedicated to disc preservation across many different game consoles; its archives can be considered close to the game's cover in validity. When there's no good cover scans available for a title, this is the next most verifiable source for IDs available. The site itself also includes some helpful formatting, such as showing region flags next to the IDs in the database and listing game languages to pinpoint where European IDs had their release. Redump's main flaws are: a) it uses the same four character prefixes that game covers do, and b) it only includes GameCube games, no Wii data is available. On top of having only the four character prefixes, Redump doesn't document any publisher data like the cover does, so piecing together the last two characters is even more challenging. In conclusion, Redump is a great place to check outlier GameCube IDs, but it doesn't quite have enough information on its own overall to be a good main source.

Source #4: GameTDB
GameTDB is huge and contains almost all GameCube and Wii IDs and covers, along with some other miscellaneous data like game languages similar to Redump. The problem though is that GameTDB is not as reliable. There are invalid entries on GameTDB, low resolution/wrong covers making it hard to check entry validity (___X__ region European IDs having ___P__ region covers as a consistent problem), questionable developer and publisher information, etc. The actual IDs though are generally correct, and this is the only source other than a personal dump or the NUS that contains full 6 character IDs like the Dolphin wiki uses. Because this is pretty trustworthy but not perfectly so, it is still recommended to check against one of the more reliable sources above before mindlessly posting IDs from GameTDB onto the wiki. However, in the case of a retail Wii game with no good cover scans for example, this becomes the most reliable source and there's no choice but to trust it until someone with the game can confirm/deny the ID directly.

Keep in mind that the way the website is organized, every single ID has a set of links at the top that allows instantly browsing to the next or previous ID alphabetically. At first this might seem like an oddity but it's one of the best features of the site. This can be useful for example in cases where the wiki erroneously contains two separate pages for the same game, as they will often come next to each other in an alphabetical listing. Multi-region releases of games often don't share a name between countries, so sometimes overseas if a publisher is not clear that it's the same title, databases can get confused and list them as separate. The one flaw with the next/previous ID system is that GameTDB lists hacked IDs in along with their normal IDs, so for very popular titles like New Super Mario Bros. Wii for example, many page loads would have to be gone through to reach the official IDs for the game. In these situations, try and use GameTDB's .txt inventory of all IDs instead, which can be acquired here (starts download).

Source #5: GameFAQs
GameFAQs, on the whole, is a terrible place to get IDs, plagued with filled-in ID characters and false assumptions between different regions. But as it is recommended to find release data for games while doing ID confirmation, GameFAQs ends up being a high priority visit anyways as their release information is extremely good. The rule of thumb here is, never trust GameFAQs' IDs without a second source. The first three characters are all you can get from them; not only do they omit the publisher code again, they also just fill in the region code by the region of release, NOT what the ID actually is. So do NOT blindly trust the region codes from GameFAQs; instead check their uploaded covers instead.

How does the wiki handle IDs?
The ID database here works off of redirects, and each ID is its own wiki page which contains a redirect to the main page of the game the ID is for. This makes adding a GameID to the wiki rather simple on a technical level. Example:


 * Suppose ID "G12E34" needed to be added for the game "Test 123". To do this, create a new page on the wiki titled exactly "G12E34" and as its contents write.

Note that it takes a little while to catch up and reflect newly added IDs in the page's infobox, so don't be alarmed if it doesn't pop up right away. (If impatient, new IDs can be forced to show up with purge.)

Currently the wiki is undergoing an effort to try and understand some of the odd IDs that can appear. Examples of this would be games which have a different first three characters for different region releases (usually happens with Japanese versions), special Walmart/Best Buy release versions, strange region codes, etc. In these cases, it's recommended to add a little sentence on the ID's page below the redirect with a few details about the ID (however it is not required). It won't interfere with the function of the ID or with the redirect, unless a second link is added to the ID page after the redirect. This currently breaks some wiki functionality and should not be done.

DPL
Because this is a wiki, there's a nearly Turing-complete scripting language and all its extensions available to find patterns in the wiki's IDs. The most useful of those extensions is DPL. DPL is the primary method used on the wiki for interacting with IDs both inside and outside of templates, and a familiarity with it is almost crucial. Take the following as a small example of what be done:

This gives an output of:

What this does, is finds all IDs on the wiki with publisher ID 28, and lists them from the last edited to the most recent. With this someone could easily go through and add an edit to each ID, and the same DPL would update during the process to keep the oldest edit on top.

TODO

 * Validate GameIDs and add missing ones using data from first party sources.
 * Investigate digital IDs further.
 * Finish game lists (pending on digital ID stuff).
 * Make pages look nicer - consistency in general formatting.

Trivia
As of today (August 20, 2017), I've handwritten the words "improve infobox" in an edit summary five hundred and two times since I made my account. Maybe someone will get a chuckle out of that.

On September 3-5, 2017, I got to watch User:Lucario and User:Kolano make a near-perfect forgery of MediaWiki's default header because it seemed like a better place to put a link.

Random numbers of the day:

Bubble sort (expanded algorithm here):