RU

Расширенная информация об игре

Nex Moderator 02.01.2011 06:32 5 comments 6512 views

Давно назрела необходимость получать дополнительную информацию об игре, когда игра еще не запущена.
Автор(или авторы), версия игры, название игры, язык игры, является ли файл с игрой “стартовым”, нужен ли ему особый интерпретатор(Aero).
Опционально: краткое описание игры, иконка, требуемая версия библиотеки QSP.

Два удобных варианта:

1. Создавать спец. локацию, с именем, например, _GAMEINFO. В этой локации написать:
Автор = ‘Вася’
Версия = 1.0
… и т.д.

При разработке в QGen, эта локация, само собой, будет “скрытой”.

2. Создавать XML-файл, т.н. “манифест”, который будет лежать в той же папке, называться “имя файла с игрой.qinfo”, и содержать всю необходимую информацию.

Оба этих способа не нарушают совместимости, и в каждом можно “генерить” соотв. манифест автоматически, не запрашивая отдельных действий от автора. Автору всего лишь надо будет один раз заполнить соотв. инфу в QGen’е.

Есть более суровый вариант.
Перейти на новый формат, полностью на XML. Никакого “бинарного” кода, весь текст игры открыт, читаем, можем сделать любые информационные поля к игре.

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

1. Кому и зачем нужно закрывать код игры? У нас еще на QSP не было игр, которые авторы намеревались бы распространять коммерчески. Когда появятся, то на стандартном плеере они распространяться не будут 100%, т.к. они пожелают сделать свое оформление. А раз не на стандартном плеере, то здесь уж тысячи способов закрыть исходный код игры.

2. Используемое сейчас “кодирование”, то бишь защита, взламывается на раз-два прогой на паскале. От злоумышленников не защитит, просто “защита от дурака”, чтобы совсем уж неподкованные игроки не могли “подсмотреть” прохождение.

Шифрование на каком-то простом уровне нужно поддерживать :) Возможно, опционально.

Но идея перевести код игры в XML неплохая, уже были мысли об этом. Как вариант - в бинарный XML :)

Если хочется полной независимости от ограничений xml(чтобы не пришлось эскейпить все подряд), можно все строки заключать в CDATA.

Самое лучшее, что есть в xml - поддержка где только можно. Насчет бинарного XML я соменваюсь, что его поддержка в той же степени распространена.

Пока что переход на новый формат не горит.

Log in or Register to post comments.