Forum.iFiction.Ru

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

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

Вы не зашли.

  • Список
  •  » INSTEAD
  •  » Как я пытался игры Инстедоза-6 запустить (INSTEAD 3.3.0 + Метапарсер 1.3 + игра main3.lua)

0    0    #1
03.04.2019 17:04

Olegus t.Gl.
Участник (+1073, -250)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2905
Вебсайт

Как я пытался игры Инстедоза-6 запустить (INSTEAD 3.3.0 + Метапарсер 1.3 + игра main3.lua)

Я далёк от технологических тем INSTEAD, поэтому когда мне захотелось поиграть в игры Инстедоза-6, то я скачал последний Инстед под Windows (3.3.0, версия, не требующая установки), скачал модуль Метапарсер 1.3, скачал игры… и начал искать, как это всё заставить работать вместе.

Да, gloomy мне как-то давал несколько советов, как заставить всё работать: http://instead-games.ru/forum/index.php … ment_12114 Но мне почему-то хотелось, чтобы Инстед с Метапарсером у меня лежали отдельно, а игры отдельно, чтобы не приходилось каждую игру дополнять модулями Метапарсера, либо Метапарсер набивать файлами игр (которые даже называются одинаково).

Далее будет Адъ и рубрика "Зачем просто, когда можно сложно", возможно есть и более умные способы, а то и описание, как это сделать изящно и правильно, но я сходу ничего не нашёл.

После нескольких фальстартов я запустил утилиту отслеживания обращения программ к диску, запустил Инстед с -debug и начал сопоставлять обращения к модулям Метапарсера и получаемым ошибкам.
----------
1
Запускаю: Голый Инстед, Метапарсера нет, голая игра
Результат: Инстед, не найдя файл "mp-ru.lua" в каталоге игры, ищет его в каталоге "\stead\stead3\"
Действие: Копирую файл "mp-ru.lua" из архива Метапарсера в каталог "\stead\stead3\"
----------
2
Запускаю: Инстед + "\stead\stead3\mp-ru.lua", голая игра
Результат: Инстед, не найдя файл "morph\lang-ru.lua" в каталоге игры, ищет его в каталоге "\stead\stead3\"
Действие: Копирую каталог "morph" из архива Метапарсера в каталог "\stead\stead3\"
----------
3
Запускаю: Инстед + "\stead\stead3\mp-ru.lua" + "\stead\stead3\morph", голая игра
Результат: Инстед, не найдя файл "mp.lua" в каталоге игры, НЕ ИЩЕТ его в каталоге "\stead\stead3\", а сразу сообщает об ошибке
Действие: Копирую файл "mp.lua" из архива Метапарсера в каталог игры
----------
4
Запускаю: Инстед + "\stead\stead3\mp-ru.lua" + "\stead\stead3\morph", игра + "mp.lua"
Результат: Инстед, не найдя файл "mplib.lua" в каталоге игры, НЕ ИЩЕТ его в каталоге "\stead\stead3\", а сразу сообщает об ошибке
Действие: Копирую файл "mplib.lua" из архива Метапарсера в каталог игры
----------
5
Запускаю: Инстед + "\stead\stead3\mp-ru.lua" + "\stead\stead3\morph", игра + "mp.lua" + "mplib.lua"
Результат: Игра запустилась
----------

И казалось бы всё хорошо, но я заметил, что Инстед ищет ещё пару файлов в каталоге игры, но не найдя их, не ищет их в каталоге Инстеда: "morph\rgramtab.tab" и "dict.mrd". Насколько я помню, "dict.mrd" в каталоге игры это урезанный словарь, так что тут всё нормально. И в игре "heidi" из архива Метапарсера это используется.

Пробуем игру "heidi":

Все старые ошибки повторились, в каталог игры добавлены файлы "mp.lua" и "mplib.lua".

Запускаю: Инстед + "\stead\stead3\mp-ru.lua" + "\stead\stead3\morph", игра + "mp.lua" + "mplib.lua"
Результат: Ошибка с кучей отладочной информации
Действие: Просто по прошлому опыту создаю в каталоге игры подкаталог "morph" и копирую в него файл "rgramtab.tab" из архива Метапарсера
----------
Запускаю: Инстед + "\stead\stead3\mp-ru.lua" + "\stead\stead3\morph", игра + "mp.lua" + "mplib.lua" + "morph\rgramtab.tab"
Результат: Игра запустилась
----------

Что-то тут явно не так с обращением платформы к файлам "mp.lua", "mplib.lua" и "morph\rgramtab.tab" (это как минимум). Хотя возможно, что всё так и должно работать, просто я перемудрил.

Неактивен

0    0    #2
03.04.2019 18:09

Olegus t.Gl.
Участник (+1073, -250)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2905
Вебсайт

Re: Как я пытался игры Инстедоза-6 запустить (INSTEAD 3.3.0 + Метапарсер 1.3 + игра main3.lua)

Oreolek написал:

У каждой игры должны быть свой словарь и своя версия Метапарсера. Например, потому что глаголы из одной игры не заработают в другой. Общие модули - это только те, которые идут вместе с инстедом, метапарсер - это вообще не модуль в понимании игрока, его нельзя класть отдельно от игры.

Мне кажется, слово "должны" тут чересчур категоричное. То, как INSTEAD обращается к файлам отдельных модулей, говорит как раз о том, что Метапарсер наравне с прочими модулями вполне может быть частью INSTEAD, а игры — иметь общие данные и общий словарь. Свой словарь — это всего лишь сокращение общего словаря для уменьшения размера игры, а то, что модули разных версий Метапарсера называются одинаково говорит либо о хорошей обратной совместимости, либо не совсем правильно. Но я могу и ошибаться.

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

Неактивен

0    0    #3
03.04.2019 18:56

Olegus t.Gl.
Участник (+1073, -250)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2905
Вебсайт

Re: Как я пытался игры Инстедоза-6 запустить (INSTEAD 3.3.0 + Метапарсер 1.3 + игра main3.lua)

Да не вопрос. Я не пытаюсь навязать своё видение МП, просто я нигде не нашёл описание, что делать дальше, имея на руках архив с INSTEAD и архив с Метапарсером. Как мне запустить ту же HEIDI, чтобы, например, посмотреть как оно работает/выглядит. Отсюда все эти танцы с бубном. Потому как объяснение, что вот я скачал архив с Метапарсером, а потом должен из этого архива часть файлов скопировать во вложенный подкаталог с Heidi, чтобы всё это заработало, звучит очень странно.

Неактивен

1    0    #4
03.04.2019 20:02

Olegus t.Gl.
Участник (+1073, -250)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2905
Вебсайт

Re: Как я пытался игры Инстедоза-6 запустить (INSTEAD 3.3.0 + Метапарсер 1.3 + игра main3.lua)

Тут недопонимание возникает и на уровне работы с демоиграми. Потому как, согласно логике данного объяснения (из руководства), нужно взять файлы из зелёного каталога и скопировать их в красный каталог. Если хочешь попробовать другую игру (из синего каталога), то нужно сперва удалить из красного каталога файлы от предыдущей игры и скопировать все файлы из синего каталога опять же в красный.

metaparser
    demos
        heidi
        wtell
    doc
    morph
    theme
    mp.lua
    mp-ru.lua
    mplib.lua
    theme.ini

Вот если бы вынести demos из каталога metaparser, то уже стало бы понятнее. Хотя файл общего словаря может оказаться лишним, а может и нет.

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

Неактивен

  • Список
  •  » INSTEAD
  •  » Как я пытался игры Инстедоза-6 запустить (INSTEAD 3.3.0 + Метапарсер 1.3 + игра main3.lua)

Powered by PunBB
© copyright 2001–2026 iFiction.Ru