Свойство:IFID: различия между версиями

Содержимое удалено Содержимое добавлено
мНет описания правки
Нет описания правки
 
(не показано 15 промежуточных версий 4 участников)
Строка 1:
Interactive Fiction ID — это идентификатор интерактивной литературы, который служит уникальным универсальным идентификатором для игры. Это эквивалент лазерного штрихкода на коробке с хлопьями в супермаркете или (более близкая аналогия) ISBN (Международный стандартный книжный номер) для книги.
Interactive Fiction ID, уникальный ID. Аналог ISBN для книг, который уникально описывает работу. Описан в документе Treaty of Babel.
Такие веб-сайты, как [[IF Archive]] и [[IFDB]], используют [[IFID]] для идентификации игр в своих базах данных. Поскольку IFID универсален, он позволяет всем быть уверенными, что они говорят об одной и той же игре.
 
IFID представлет собой случайно сгенерированную последовательность из 8–63 символов, (цифр, заглавных букв, дефисов). Для IFID нет центрального регистрационного органа; IFID станет публично связанным с вашей игрой, когда вы начнете использовать его в публичных базах данных, например, когда вы загрузите свою игру в IF Archive или создадите страницу для нее на IFDB, или на этой IFвики, используя IFID. Поскольку это такое гигантское случайное число, шансы того, что кто-то другой когда-либо придумает то же самое число, по сути, равны нулю, поэтому вам никогда не придется беспокоиться о том, что кто-то другой заявит об этом IFID для другой игры.
Автоматически присваивается играм на [[Twine]] 2 и [[Inform]]. В код игр на других платформах IFID необходимо вставлять автору вручную.
 
Пример IFID из [[Emoji game]]:
C0E08215-6103-47DA-8E53-A8C5F6D71641
 
Более подробно структура IFID описана в "[[Вавилонский договор|Вавилонском договоре]]".
 
Автоматически присваивается играм на [[Twine]] 2, [[Inform]] 7 (не RInform) и [[InformUrqW]] (при создании при помощи [[UrqW Game Template]]). В код игр на других платформах IFID необходимо вставлять автору вручную. Для браузерных игр допустим комментарий вида
<code><<nowiki />!-- UUID://ваш-IFID// --></code>
 
В [[Fabularium]] IFID можно посмотреть в разделе информации об игре (Inform). <br>
В редакторе Twine можно посмотреть IFID конкретной игры в пункте меню "История" -> подпункт "Детали" (Story -> Details) вверху. <br>
В [[UrqW]] IFID можно посмотреть в меню, развернув раздел "Об игре".
 
==== Генерация новых ID ====
 
Для уже выпущенных игр IFID считается как md5-хэш от файла с первым публичным релизом игры. (В "[[Вавилонский договор|Вавилонском договоре]]" подробно описан алгоритм расчёта в зависимости от формата игры, но для простоты достаточно хэша файла.)
 
Для новых игр генерировать IFID можно [http://www.tads.org/ifidgen/ifidgen на сайте платформы TADS].
 
Также подходят любые генераторы UUID, например, консольный [https://www.man7.org/linux/man-pages/man1/uuidgen.1.html uuidgen].
 
После генерации нужно записать IFID где-нибудь в коде игры (можно в виде комментария) или побайтово читаемой последователностью в бинарном файле.
 
Коллизии IFID, когда один номер присваивается нескольким играм, редки, но возможны (как и коллизии md5). Эти случаи разбираются особо. Какого-то централизованного органа регистрации IFID не существует.
 
IFID однозначно идентифицирует игру. Патчи после релиза не меняют IFID.
 
Релизы на нескольких платформах и переводы в виде отдельных версий получают уникальные ID, каждый для своего формата и языка. Это сделано по аналогии с ISBN: смена формата книги с мягкой обложки на твёрдую даёт новый идентификатор, не говоря уже об изданиях на других языках.
 
Если игра состоит из нескольких файлов, достаточно указать ID только в стартовом.
 
[[ifwiki-en:IFID|IFID в английской IFWiki]]
[[Has type::string| ]]
 
[[Категория:Технические стандарты]]