Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

1    0    #1
11.04.2014 12:34

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Каталог игр всех платформ

Есть идея сделать онлайн-каталог актуальных игр всех платформ.

В каталоге помимо алфавитного списка игр, будет ещё поиск и разбивка по платформам, можно сделать и разбивку по жанрам. Цель каталога - дать возможность авторам ознакомиться с тем, что уже написано и выбрать название будущей игре, которое ещё не использовалось. А игрокам и тем, кто только знакомится с ИЛ - дать больший выбор игр.

Но если делать такой каталог, то надо получать данные об играх напрямую с сайтов платформ. Поэтому я обращаюсь к администраторам сайтов QSP, URQ, Quest-book и Instead, RTADS и Русский Информ с предложением сделать выгрузку своих библиотек в формате JSON.

Конечно, надо сформировать общий стандарт выгрузки, можно использовать тот, который применяется у нас на Гиперкниге, например, вот данные по конкретной игре:

{"books":[{"title":"Silent school","version":"6","author":"Роман Островерхов 'Ulrick'","updated":"16.01.14","passages":"215","rating":"4","id":"13854938204668"}]}

Вот её описание:

{"title":"Silent school","version":"6","author":"Роман Островерхов 'Ulrick'","updated":"16.01.14","passages":"215","rating":"4","subtitle":"Обычная школа захолустного российского городка превращается в смертельную западню. Накрывший город утренний туман превращает людей в тупых и кровожадных тварей, охотящися за свежей плотью. Учитель истории, тихо спивающийся робкий интеллигент, и не подозревает, что настал день, который полностью изменит его жизнь...","beta":"0"}

А вот список игр определённого жанра:

{"books":[{"title":"Арена","version":"8","author":"Борис Семёнов (Morych)","updated":"30.12.13","passages":"85","rating":"5","id":"13764029087384"},{"title":"Mysteriis memoria","version":"4","author":"Moredhel","updated":"01.07.13","passages":"122","rating":"5","id":"13709457675609"},{"title":"Шапка Мономаха","version":"2","author":"Автор - Константин Таро, программирование - Ergist...","updated":"28.11.12","passages":"163","rating":"4","id":"13531794082906"},{"title":"Гражданка Готье","version":"2","author":"Юрий Павленко","updated":"22.03.13","passages":"416","rating":"4","id":"1352989652918"}]}

Сделать это несложно, а польза для популяризации ИЛ очевидна.

Данные, полученные с сайтов, будут кешироваться и обновляться, например, раз в сутки. Все игры включать в каталог или только отобранные - решать владельцам сайтов платформ. Можно выгружать скриншоты игр, если они есть.

Как вам эта идея?

P.S. Идея каталога не пересекается с архивом РИЛ. В нём будут только актуальные ссылки на актуальные игры, краткое описание игр и простой удобный интерфейс. Ещё мы сделаем виджет, который можно будет легко вставить на любой сайт.

Отредактировано DoubleDragon (11.04.2014 20:13)

Неактивен

0    0    #2
11.04.2014 14:51

v.v.b.
Участник (+51, -52)
Зарегистрирован: 01.08.2009
Сообщений: 67

Re: Каталог игр всех платформ

идея хорошая. как быть с играми, которые доступны для нескольких платформ?

Неактивен

0    0    #3
11.04.2014 15:01

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Объединять и выводить список платформ с URLs.

Неактивен

1    0    #4
11.04.2014 19:31

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Каталог игр всех платформ

Одобряю и поддерживаю.

На QSP выгрузку однозначно сделаем. Я всегда поддерживал интеграцию сервисов и объединение текстовых платформ, даже сделал объединённую новостную ленту.

Формат выгрузки проработайте хорошенько. Чем чётче опишете, тем лучше. Составьте спецификацию. От кодировки до формата полей.

Заодно, хорошо бы какую-нибудь утилиту или веб-интерфейс для тех, у кого нет возможности автоматизировать выгрузку. Чтобы можно было при отсутствии БД заполнить список вручную. Да ещё и обновить позже при необходимости - добавить новую игру.

Помимо Рилархива, есть ещё два кроссплатформенных каталога - ифвики и Джуманджевский ресурс. С ними тоже нужно синхронизироваться.

Интересно, в чём оценивается "актуальность" игры?

Отредактировано Nex (11.04.2014 20:37)

Неактивен

0    0    #5
11.04.2014 19:49

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Nex, благодарю за поддержку!

Смысл каталога только в популяризации жанра, от чего выиграют все. Никаких преференций отдельным платформам не может быть и не будет. Более того, мы предложим данный сервис Яндексу в качестве локального поиска на тему текстовых игр. Связи имеются. Формат выгрузки я озвучу в ближайшее время, главное - получить принципиальное согласие представителей всех платформ. Надеюсь, Джуманджи не пройдёт мимо, тем более в свете их последнего упорядочивания доступных к скачиванию книг.

Про утилиту автоматизации - сделаем. Пишите, что от неё надо.

ПС. Никакого коммерческого умысла в этом нет, отвечаю.

Неактивен

0    0    #6
11.04.2014 19:51

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Да, забыл про актуальность. Я имел ввиду, что платформы сами определяют качество игр, выгружаемых в каталог.

Отредактировано DoubleDragon (11.04.2014 19:51)

Неактивен

0    0    #7
11.04.2014 20:34

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Каталог игр всех платформ

DoubleDragon написал:

Про утилиту автоматизации - сделаем. Пишите, что от неё надо.

Ну как - запускаешь, заполняешь список игр.
В поле "Название" вводишь название игры, в поле "Автор" вводишь автора, и т.д.
Нажимаешь кнопку "Сохранить" - выгружается в JSON-файл.

Всё, файл можно выкладывать на сайт.

Впоследствии, если понадобилось добавить игру, запускаешь, открываешь JSON-файл, добавляешь игру, сохраняешь.

Неактивен

0    0    #8
11.04.2014 20:36

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Понятно. Но это, мне кажется, на крайний случай, когда действительно нет возможности сделать автоматическую выгрузку.

Неактивен

0    0    #9
11.04.2014 20:48

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Каталог игр всех платформ

Кстати о рейтинге. Я полагаю, рейтинг в общем каталоге должен быть свой собственный, а не из выгрузки.

Так как игра, может быть, например, "10 из 10" на платформе "Клейстер", а в сравнении с играми платформы "Полено" она лишь "выше среднего".

Или у нас, например, на QSP вообще нет оценок для игр. Только лайки.

Неактивен

0    0    #10
11.04.2014 20:53

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Хорошая идея. Только как заставить посетителей регистрироваться на ещё одном сайте? А если этого не сделать, то грош цена будет рейтингу. Проще тогда вообще убрать понятие оценки игры.

Неактивен

0    0    #11
11.04.2014 21:13

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Каталог игр всех платформ

Ну уж на это давно решение есть. Авторизация через ВКонтакте - этого будет достаточно. Не зарегистрированных ВКонтакте пользователей русскоязычного интернета пренебрежительно мало.

Хотя мы вот без оценок прекрасно живём. У нас лайки есть.

То есть статус игры не "хорошая-плохая", а "популярная-непопулярная".

Отредактировано Nex (11.04.2014 21:16)

Неактивен

1    0    #12
13.04.2014 10:58

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Внимание! Этот пост обновляется после согласования корректировок!

Итак, представляю вам на утверждение требования к выгрузке и список её полей с комментариями.

Общие требования
Формат выгрузки - JSON. Выгрузка должна проходить валидацию на этом сайте: http://jsonlint.com. Кодировка выгрузки - utf8. Максимальная длина строк указана в количестве символов этой кодировки после удаления граничных пробельных символов. HTML-теги внутри текстовых строк не допускаются и будут автоматически вырезаться. HTML-сущности вида « допускаются. Символы переноса строк не допускаются и будут конвертированы в пробелы.
Порядок полей произволен.
Выгрузка скачивается с сайтов платформ один раз в день в 02:00 по московскому времени. В выгрузке должен присутствовать номер версии её стандарта, например, 1.0.

Обязательные поля

url
Ссылка на запуск/скачивание игры
Полная ссылка с указанием протокола и домена. Длина не менее 10 символов. Проходит валидацию на сервере каталога.

playInBrowser
Запускается ли игра в браузере (онлайн)
Принимает значение 1 или 0. Если значение равно 1, то игра может быть сразу запущена в браузере (без её предварительного скачивания). Если значение отличается от 0, то нет (необходимо предварительно скачать игру).

title
Название игры
Текстовая строка длиной не менее 3-х не более 100 символов. В конце строки не должно быть точки, дефиса или тире, запятой или точки с запятой. Восклицательный, вопросительный знак, многоточие или их комбинации допускаются. Строки, длиной более 3-х символов и полностью состоящие из символов верхнего регистра, будут принудительно приводиться к нижнему регистру. В этом поле не должно быть информации о версии игры (см. поле version).

author
Автор(ы) игры
Произвольная текстовая строка длиной не более 100 символов. Если автор неизвестен, то указывается значение "unknown".

Необязательные поля

guid
Уникальный идентификатор игры
Произвольная текстовая строка длиной не более 100 символов.

version
Версия игры
Произвольная текстовая строка длиной не более 5 символов.

description
Краткое описание (аннотация, фабула) игры
Произвольная текстовая строка длиной не более 500 символов.

created
Дата создания игры
Дата в виде метки времени Unix. См. описание функции PHP time.

modified
Дата последнего обновления игры
Дата в виде метки времени Unix. См. описание функции PHP time.

icon
Иконка игры
Полная ссылка на иконку игры с указанием протокола и домена. Допускаются изображения форматов jpg, png, gif и ico. Размер файла не более 15 Кб.

shot
Скриншот
Полная ссылка на изображение с указанием протокола и домена. Допускаются изображения форматов jpg, png и gif. Размер файла не более 50 Кб. Миниатюры утверждённого размера создаются автоматически и кешируются на сервере каталога.

Это первая версия стандарта и, конечно, вместе будем её корректировать.
Ещё надо подумать, как пришить комментарии в каталог, чтобы всем было удобно.

Отредактировано DoubleDragon (15.04.2014 14:32)

Неактивен

0    0    #13
13.04.2014 15:16

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Каталог игр всех платформ

Лучше в отдельную тему выделить.


url
Ссылка на запуск/скачивание игры

Либо разделять на два разных параметра - ссылка на скачивание, ссылка на запуск, либо вводить ещё один параметр:

playInBrowser (1|0)

Т.к. для одних игр будет нужно показывать пользователю ссылку "Скачать", для других - "Запустить".


title
Название игры

Нужно добавить, что версия игры в title не должна присутствовать.


subtitle, по-моему, лучше переименовать в "description". Во всяком случае для меня это слово всегда обозначает субтитры к видео.


genre (необязательно)
Номер жанра игры
Может быть указано несколько номеров жанров через запятую. Список жанров утвердим позже.

Сам каталог будет назначать какие-то жанры, а на сайтах платформ придётся встраивать список? Это неудобно.

Предлагаю сделать набор тегов (categories).

Пример с урки:     
    готовая
    akurq1.28pre6
    ЗОК
    интерактивный рассказ
    мистика
    романтика
    Беларусь
    veresk

Какие теги проставлены в игре - такие и выводятся в выгрузке. Далее, при импорте уже сам каталог может по белому списку отфильтровать. Заодно админ каталога легко соберёт статистику, какие теги наиболее востребованы и подлежат выделению в жанр и занесению в белый список.

А ставить ли игре теги, которые обеспечат её попадание в опрделённый жанр в каталоге, будет решать сам автор.


Нужно добавить необязательные поля:

author_url
URL автора (личный сайт, визитка, страничка ВКонтакте, и т.д.)

author_email
Email автора

icon
Иконка (миниатюра). Есть иконка - использовать в качестве миниатюры её, нет иконки - использовать уменьшенный скриншот.


Добавить обязательные поля:

created
Дата и время создания игры (дата и время добавления в каталог платформы). В отличие от времени последнего изменения, это может пригодиться, например, для вывода списка "новинок". При этом понятно, что исправленная версия старой игры новинкой не является.

Соответственно "date" переименовать в "modified".

guid
Уникальный идентификатор игры, который не меняется никогда. То есть вообще никогда.

Стандартное поле для любых RSS-подобных форматов. Несёт важную функцию: если изменится поле "url", игру в новой выгрузке уже нельзя будет однозначно связать с игрой из старой выгрузки, если не будет GUID. Если есть GUID - можем при необходимости менять url, и при этом ничего не теряется, никуда не пропадает, не появляется дубликатов.


Ещё несколько технических деталей.

Версии стандарта выгрузки нужно обязательно нумеровать и указывать в файле выгрузки. По каждому изменению начиная с первой версии. Менять, само собой, как можно реже, чтобы не пришлось всё время подправлять скрипты выгрузки. При этом, при вводе новой версии, старая версия должна какое-то время поддерживаться, хотя бы два месяца, чтобы было время всё обновить.

Дату формирования файла выгрузки тоже хорошо бы добавить. Пригодится, чтобы отследить, когда что-то поломается.

Ещё надо подумать, как пришить комментарии в каталог, чтобы всем было удобно.

Прикрутить любой сервис комментариев. Рекомендую SV Kament. В наш век это делается легко и непринуждённо.

Отредактировано Nex (13.04.2014 15:18)

Неактивен

0    0    #14
14.04.2014 11:27

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Либо разделять на два разных параметра - ссылка на скачивание, ссылка на запуск, либо вводить ещё один параметр:

playInBrowser (1|0)

Т.к. для одних игр будет нужно показывать пользователю ссылку "Скачать", для других - "Запустить".

Можно и так, хотя проще, конечно, по расширению файла определять, если оно есть. Очевидно, что .php - это не ссылка на скачивание.

Нужно добавить, что версия игры в title не должна присутствовать.

Согласен.

subtitle, по-моему, лучше переименовать в "description". Во всяком случае для меня это слово всегда обозначает субтитры к видео.

Согласен.

Предлагаю сделать набор тегов (categories).

Надо ещё подумать. Хочется, чтобы посетителю было понятно и удобно. 10 жанров понятнее, чем 100500 похожих тегов, типа "фентези", "фэнтези", "средневековая фантастика" и т. д.

Нужно добавить необязательные поля:

author_url
URL автора (личный сайт, визитка, страничка ВКонтакте, и т.д.)

author_email
Email автора

icon
Иконка (миниатюра). Есть иконка - использовать в качестве миниатюры её, нет иконки - использовать уменьшенный скриншот.

По author_url и author_email согласен, только с e-mail надо поаккуратнее, чтобы спама не было.
По иконке - можно пример иконок? Имеются ввиду иконки исполняемого файла или какие?

Добавить обязательные поля:

created
Дата и время создания игры (дата и время добавления в каталог платформы). В отличие от времени последнего изменения, это может пригодиться, например, для вывода списка "новинок". При этом понятно, что исправленная версия старой игры новинкой не является.

Соответственно "date" переименовать в "modified".

guid
Уникальный идентификатор игры, который не меняется никогда. То есть вообще никогда.

По created. На Гиперкниге, например, такого нет. Только modified.
По guid. Согласен, что нужно. Можно просто id назвать. Но на всех ли платформах он есть? Если генерить его на сервере каталога, тогда смысл в выгрузку включать?

Версии стандарта выгрузки нужно обязательно нумеровать и указывать в файле выгрузки. По каждому изменению начиная с первой версии. Менять, само собой, как можно реже, чтобы не пришлось всё время подправлять скрипты выгрузки. При этом, при вводе новой версии, старая версия должна какое-то время поддерживаться, хотя бы два месяца, чтобы было время всё обновить.

Согласен. Но лучше, конечно, вообще его не менять.

Дату формирования файла выгрузки тоже хорошо бы добавить. Пригодится, чтобы отследить, когда что-то поломается.

Дату можно определять на сервере каталога по дате создания/изменения файла. Зачем она в выгрузке?

Прикрутить любой сервис комментариев. Рекомендую SV Kament. В наш век это делается легко и непринуждённо.

Это понятно. Я имел ввиду, как пришить комменты, уже имеющиеся на сайтах платформ.

Неактивен

0    0    #15
14.04.2014 15:26

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Каталог игр всех платформ

DoubleDragon написал:

Можно и так, хотя проще, конечно, по расширению файла определять, если оно есть. Очевидно, что .php - это не ссылка на скачивание.

В обоих случаях ссылка может быть какая угодно.
Реальный пример: http://qsp.su/index2.php?option=com_sob … ormat=html
Это ссылка на скачивание zip-архива игры из нашего каталога. Скачивание засчитывается и сохраняется в БД, далее выполняется редирект.


DoubleDragon написал:

Надо ещё подумать. Хочется, чтобы посетителю было понятно и удобно. 10 жанров понятнее, чем 100500 похожих тегов, типа "фентези", "фэнтези", "средневековая фантастика" и т. д.

Так в том-то и дело, что мой вариант абсолютно никак не повлияет на удобство каталога. Ты сделаешь в каталоге то, что хотел.

Ты точно так же сможешь определить набор жанров, и если этот жанр указан среди тегов, помещать игру в нужную категорию. Я же написал: фильтр по белому списку тегов при импорте, на стороне каталога. Ты, как хозяин каталога, сам определяешь, какие теги должны соответствовать жанрам.

Мой вариант избавляет администраторов платформ и авторов от геморроя с внешне назначаемым списком.

DoubleDragon написал:

По иконке - можно пример иконок? Имеются ввиду иконки исполняемого файла или какие?

Иконка игры. Имеется в виду та самая миниатюра, которую ты собираешься делать уменьшением скриншота. Как правило, скриншот текстовой игры в уменьшенном виде выглядит неприглядно. Это касается даже иллюстраций. Поэтому хотелось бы, чтобы была возможность назначить миниатюру самостоятельно, с хорошей картинкой. С картинкой, которая специально сделана так, чтобы хорошо смотрелось в малом размере. Если её не предоставили - тогда делать из скриншота.

DoubleDragon написал:

По created. На Гиперкниге, например, такого нет. Только modified.

Ну так и modified у кого-то может не быть. Сделайте. Или пишите в created дату создания самого каталога.

Это осмысленное значение, я уже привёл пример, когда оно может понадобиться. То, что в каталоге Гиперкниги ему ещё не нашли применения, меня мало волнует. Мы ведь новый ресурс создаём, а не продолжение Гиперкниги.

DoubleDragon написал:

По guid. Согласен, что нужно. Можно просто id назвать. Но на всех ли платформах он есть? Если генерить его на сервере каталога, тогда смысл в выгрузку включать?

ID может поменяться. GUID не меняется никогда.
GUID не генерируется на сервере каталога. GUID создаётся при первой загрузке игры на сайт платформы и не меняется никогда.
Это не локальный идентификатор игры в каталоге. Это глобальный идентификатор обновляемого блока информации в интернете.
Смысл его в том, чтобы обеспечить идентификацию конкретной игры в глобальном пространстве. То есть, это поле всегда однозначно соответствует конкретной игре на конкретном сайте.
Чаще всего это неизменяемый URL с ID записи. Либо псевдо-URL, так как GUID не используется для загрузки чего-либо, а лишь является уникальным глобальным ключом. Он может совпадать с URL страницы игры, а может не совпадать, это совершенно не играет роли.
Примеры:
http://site.com/game?id=15
http://site.com/games/15
http://site.com/game-guid/15

Неизменность и глобальная уникальность GUID позволяет обновлять информацию по конкретной игре, не нарушая никакой целостности.

Любую информацию, вплоть до URL. То есть, даже если сайт платформы переедет на http://newsite.com, у игры останется прежний GUID - "http://site.com/games/15", и всё будет продолжать работать.

Без GUID, либо при каждом импорте будут удаляться все записи из каталога и заполняться заново, что сразу лишает любых возможностей комментирования, оценок, статистики, либо при изменении URL игры появляются дубликаты.

DoubleDragon написал:

Дату формирования файла выгрузки тоже хорошо бы добавить. Пригодится, чтобы отследить, когда что-то поломается.

Дату можно определять на сервере каталога по дате создания/изменения файла. Зачем она в выгрузке?

Уже написал:

Пригодится, чтобы отследить, когда что-то поломается.

Но это не принципиально. Не хочется - значит пусть без неё будет.

DoubleDragon написал:

Это понятно. Я имел ввиду, как пришить комменты, уже имеющиеся на сайтах платформ.

А их переносить и не следует. По той же причине, что и рейтинг. Пусть аудитория нового каталога сама составляет мнение об играх.

Неактивен

0    0    #16
15.04.2014 08:51

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

В обоих случаях ссылка может быть какая угодно.
Реальный пример: http://qsp.su/index2.php?option=com_sob … ormat=html

Добавил поле playInBrowser.

Ты точно так же сможешь определить набор жанров, и если этот жанр указан среди тегов, помещать игру в нужную категорию. Я же написал: фильтр по белому списку тегов при импорте, на стороне каталога. Ты, как хозяин каталога, сам определяешь, какие теги должны соответствовать жанрам.

Согласен, что это неплохой вариант, но думаю, что реально теги к жанрам привести не удастся. Они так и останутся тегами. Стоит этот вопрос выделить в другую тему, чтобы не тормозит всё остальное.

Иконка игры. Имеется в виду та самая миниатюра, которую ты собираешься делать уменьшением скриншота. Как правило, скриншот текстовой игры в уменьшенном виде выглядит неприглядно. Это касается даже иллюстраций. Поэтому хотелось бы, чтобы была возможность назначить миниатюру самостоятельно, с хорошей картинкой. С картинкой, которая специально сделана так, чтобы хорошо смотрелось в малом размере. Если её не предоставили - тогда делать из скриншота.

Согласен. Добавил поле icon.

Ну так и modified у кого-то может не быть. Сделайте. Или пишите в created дату создания самого каталога.

Согласен. Добавил поле created. Кстати, на Гиперкниге дата создания игры оказывается есть.

GUID не генерируется на сервере каталога. GUID создаётся при первой загрузке игры на сайт платформы и не меняется никогда.
Это не локальный идентификатор игры в каталоге. Это глобальный идентификатор обновляемого блока информации в интернете.
Смысл его в том, чтобы обеспечить идентификацию конкретной игры в глобальном пространстве. То есть, это поле всегда однозначно соответствует конкретной игре на конкретном сайте.
Чаще всего это неизменяемый URL с ID записи. Либо псевдо-URL, так как GUID не используется для загрузки чего-либо, а лишь является уникальным глобальным ключом. Он может совпадать с URL страницы игры, а может не совпадать, это совершенно не играет роли.

Я согласен, что это поле необходимо. Но если его просто нет на сайте платформы? А ссылки, как ты правильно указал, могут менятся. Генерить из названия?

P.S. Убрал требования о необходимости ВСЕХ полей в выгрузке. Теперь это распространяется только на обязательные поля, которых пока всего 4.

Отредактировано DoubleDragon (15.04.2014 08:53)

Неактивен

0    0    #17
15.04.2014 10:19

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Каталог игр всех платформ

DoubleDragon написал:

Я согласен, что это поле (GUID) необходимо. Но если его просто нет на сайте платформы? А ссылки, как ты правильно указал, могут менятся. Генерить из названия?

Название тем более может измениться. На моей памяти, игры в нашем каталоге иногда переименовываются.

Если нет GUID, и нет возможности его создать на сайте платформы, то в это поле записывается URL с ID игры, то есть постоянная ссылка (т.н. permalink). URL в этом случае точно так же служит в качестве GUID. Просто у таких платформ будет немного меньше возможностей по обновлению (проблемы в момент переезда сайта).

Единственный вариант, когда у сайта платформы нет ни GUID, ни постоянной ссылки - это если контент не управляется CMS, а создаётся "вручную", каждая страница с игрой в HTML-редакторе типа FrontPage. Но в таких исключительных случаях можно в качестве GUID просто использовать URL страницы. Если у платформы так мало игр, и они так редко обновляются, что администратор довольствуется "ручной правкой", то уж проблемы с обновлением при изменении URL будут крайне редки.


Почему лучше GUID-ссылка с использованием ID игры, а не просто URL.

На сайте платформы, основным URL страницы игры может быть ссылка вида "http://site.com/games/my-epic-game". И если её переименуют из "My Epic Game" в "My Cool Game", URL изменится: "http://site.com/games/my-cool-game".

Поэтому такие проблемы с URL могут возникнуть и без переезда сайта. В случае, если в качестве GUID используется постоянная ссылка с ID, проблема отпадает.

Неактивен

0    0    #18
17.04.2014 17:45

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Каталог игр всех платформ

Готово: http://qsp.su/dragon-api/1.0

Отредактировано Nex (17.04.2014 22:58)

Неактивен

0    0    #19
17.04.2014 18:36

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Спасибо! Завтра попробуем в деле.

Неактивен

0    0    #20
17.04.2014 18:38

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Кстати, мне подсказывают, что домен ifdir.ru готов к работе.

Неактивен

0    0    #21
18.04.2014 15:58

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Nex написал:

Готово: http://qsp.su/dragon-api/1.0

А почему используются escape-последовательности \uxxxx вместо обычных символов utf-8? Их придётся конвертировать, да и места они занимают раза в три больше.

Неактивен

0    0    #22
18.04.2014 18:39

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Каталог игр всех платформ

А почему нет? И с какой стати "место" в выгрузке должно иметь значение?

Неактивен

0    0    #23
18.04.2014 19:24

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Потому что в этом нет никакого практического смысла. Это лишь усложняет разбор выгрузки. Придется писать процедуру конвертации в нормальный текст для сохранения в базу. Есть какие-то проблемы с выгрузкой в чистой кодировке?

Неактивен

0    0    #24
18.04.2014 20:21

Nex
Участник (+120, -130)
Зарегистрирован: 11.06.2007
Сообщений: 2053

---

Re: Каталог игр всех платформ

Ты о чём? Какая конвертация? Это полностью корректный JSON. Любой декодер JSON должен его понимать. Или ты собрался делать какой-то кривой JSON импорт без поддержки эскейп-последовательностей?

Проблем нет с выгрузкой нет, прекрасно выгружает вот в таком виде.

Если по каким-то религиозным причинам тебе не хочется видеть их в файле (может тебе хочется открывать этот файл и читать его "как есть", не программными средствами), я бы мог отключить их. Но отключить их можно в PHP только начиная с версии 5.4. В более старых версиях, одна из которых установлена на нашем хостинге, добиться этого можно только нагородив костылей.

Я не вижу практического смысла налагать какие-то дополнительные ограничения к презентации символов, и отходить от стандарта JSON. Объясни, зачем тебе это.

Неактивен

0    0    #25
18.04.2014 20:25

DoubleDragon
Модератор (+391, -32)
Откуда: Москва
Зарегистрирован: 07.04.2012
Сообщений: 1760
Вебсайт

Разработчик "AXMA Story Maker"

Re: Каталог игр всех платформ

Вроде мы согласовывали кодировку utf-8, а ты выгружаешь фактически в ascii, используя \uxxxx последовательности для кодирования unicode-символов. Это не имеет отношения к utf-8. Если это проблема, можно добавить к выгрузке параметр encoding и выгружать в любой кодировке.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru