Свойство:IFID: различия между версиями
Содержимое удалено Содержимое добавлено
Johnbrown (обсуждение | вклад) Нет описания правки |
Nikita (обсуждение | вклад) Нет описания правки |
||
| (не показано 10 промежуточных версий 4 участников) | |||
Строка 1:
Interactive Fiction ID — это идентификатор интерактивной литературы, который служит уникальным универсальным идентификатором для игры. Это эквивалент лазерного штрихкода на коробке с хлопьями в супермаркете или (более близкая аналогия) ISBN (Международный стандартный книжный номер) для книги.
Такие веб-сайты, как [[IF Archive]] и [[IFDB]], используют [[IFID]] для идентификации игр в своих базах данных. Поскольку IFID универсален, он позволяет всем быть уверенными, что они говорят об одной и той же игре.
IFID представлет собой случайно сгенерированную последовательность из 8–63 символов, (цифр, заглавных букв, дефисов). Для IFID нет центрального регистрационного органа; IFID станет публично связанным с вашей игрой, когда вы начнете использовать его в публичных базах данных, например, когда вы загрузите свою игру в IF Archive или создадите страницу для нее на IFDB, или на этой IFвики, используя IFID. Поскольку это такое гигантское случайное число, шансы того, что кто-то другой когда-либо придумает то же самое число, по сути, равны нулю, поэтому вам никогда не придется беспокоиться о том, что кто-то другой заявит об этом IFID для другой игры.
Автоматически присваивается играм на [[Twine]] 2 и [[Inform]] 7 (не RInform). В код игр на других платформах IFID необходимо вставлять автору вручную. Для браузерных игр допустим комментарий вида ▼
<code><<nowiki />!-- UUID://ваш-IFID --></code>▼
Пример IFID из [[Emoji game]]:
В [[Fabularium]] IFID можно посмотреть в разделе информации об игре.▼
C0E08215-6103-47DA-8E53-A8C5F6D71641
Более подробно структура IFID описана в "[[Вавилонский договор|Вавилонском договоре]]".
Генерировать IFID вручную можно [http://www.tads.org/ifidgen/ifidgen на сайте платформы TADS.]▼
▲Автоматически присваивается играм на [[Twine]] 2
▲<code><<nowiki />!-- UUID://ваш-IFID// --></code>
▲В [[Fabularium]] IFID можно посмотреть в разделе информации об игре (Inform). <br>
В редакторе Twine можно посмотреть IFID конкретной игры в пункте меню "История" -> подпункт "Детали" (Story -> Details) вверху. <br>
В [[UrqW]] IFID можно посмотреть в меню, развернув раздел "Об игре".
==== Генерация новых ID ====
Для уже выпущенных игр IFID считается как md5-хэш от файла с первым публичным релизом игры. (В "[[Вавилонский договор|Вавилонском договоре]]" подробно описан алгоритм расчёта в зависимости от формата игры, но для простоты достаточно хэша файла.)
▲
Также подходят любые генераторы 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]]
| |||