Forum.iFiction.Ru

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

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

Вы не зашли.

9    2    #51
22.11.2017 16:17

Nikita
Модератор (+404, -135)
Зарегистрирован: 29.10.2016
Сообщений: 139

Re: Конкурсант на КРИЛ-2017

Станислав Соловьев написал:

Видимо, по не знанию вопроса я не слишком согласен с воздвижением парсеров в некий "сорокалетний монумент". Фактически, это менюшная игра, в которой варианты игроку нужно вводить самостоятельно, надеясь, что автор их предусмотрел.

Формально можно и так сказать, но в локации с тремя-пятью объектами число поддерживающихся команд на специализированной парсерной платформе из коробки уже будет больше 1000, так что это очень большое меню. К тому же существуют команды с аргументами, например, "спросить полицейского о чём-то" или "набрать на телефоне 1234567", варианты которых вообще не ограничены. Игроки ожидают, что в каждой игре, которую они запускают, будет тот самый стандартный набор вариантов взаимодействия, плюс дополнительные, вытекающие из логики происходящего.
В специализированных платформах число поддерживаемых действий может выходить за 100, часть из этих действий может применяться ко всем объектам игрового мира, а часть к комбинации из двух объектов игрового мира. Так и получается экспоненциальный рост возможных вариантов взаимодействия, приводящий к комбинаторному взрыву.

В целом, да, судя по всему, за недолгое знакомство вы не очень прониклись культурой парсеров, из-за чего есть недопонимание некоторых концептуальных моментов:

 спойлер…

В итоге:
Если у вас что-то очень высоко вариативное, то это надо делать текстовым вводом, но втискивать в традиционный протокол общения с парсерными играми. Качественно имплементировать этот протокол с нуля очень сложно, поэтому существуют специализированные платформы.
Если что-то на базе только 7-10 глаголов, применяемых к объектам игрового мира, то лучше делать глагольное меню.
Если поиск и комбинирование предметов с поиском правильного сочетания, но без выявления конкретного действия одного объекта на другой, то имеет смысл делать point-and-click или воспроизводить классический стиль INSTEAD.
Ну а если что-то с ситуативными хитрыми ходами, типа "повертеть пальцем у веска", то надо делать CYOA.

Неактивен

1    1    #52
22.11.2017 21:13

Станислав Соловьев
Участник (+138, -13)
Зарегистрирован: 27.08.2017
Сообщений: 66

Re: Конкурсант на КРИЛ-2017

Почему-то очень хочется примеров. Примеров, где пять объектов создают сотню вариаций. Чем дальше я читаю достаточно увлекательные тексты касательно парсеров, тем сильнее во мне растет дух противоречия и отнюдь не потому, что я являюсь лютым приверженцем менюшных игр (я этот термин вообще только на КРИЛ-2017 услышал).

Неактивен

9    1    #53
23.11.2017 00:01

Nikita
Модератор (+404, -135)
Зарегистрирован: 29.10.2016
Сообщений: 139

Re: Конкурсант на КРИЛ-2017

Станислав Соловьев написал:

Почему-то очень хочется примеров. Примеров, где пять объектов создают сотню вариаций. Чем дальше я читаю достаточно увлекательные тексты касательно парсеров, тем сильнее во мне растет дух противоречия и отнюдь не потому, что я являюсь лютым приверженцем менюшных игр (я этот термин вообще только на КРИЛ-2017 услышал).

Хорошо, но давайте договоримся, что я это объясню один раз. Да, подробно и с примерами, но один раз, без последующих глупых холеваров. Это, в принципе, ко всем относится.

Например, в платформе RTADS 107 базовых действий. В строгом смысле их там больше из-за некоторых внутренних технических процедур, ну на пользовательском уровне будем считать что 107. Теперь берите калькулятор:

 спойлер…

Главное, что надо понимать, так это природу этой самой проблемы комбинаторного взрыва. Ну а к чему это всё приведёт, я вам только что показал.
Игроки от вашего парсера будут ожидать поддержку минимум нескольких десятков традиционных команд, причём, в разных синонимичных формулировках, а также корректную обработку их комбинаций.
Наскоком решить эту задачу на неспециализированной платформе пробовали многие, но на моей памяти ни один из них не вошёл в историю как успешный автор. Да и успешное решение будет выглядеть фактически как разработка новой платформы, что, разумеется, заслуживающий уважения путь, но вряд ли вы готовы подписаться именно на это.

Неактивен

0    4    #54
23.11.2017 01:16

Alcohol
Участник (+349, -644)
Зарегистрирован: 03.07.2017
Сообщений: 179

Re: Конкурсант на КРИЛ-2017

Ох, а чего всё так сложно? Давайте-ка проще, без математики и всего такого. Мы чего, тут в универе что ли?
Если так тяжко парсеры писать, так может и ну их на фиг? Тут что, садомазо-форум что ли?

Неактивен

0    0    #55
23.11.2017 05:49

Станислав Соловьев
Участник (+138, -13)
Зарегистрирован: 27.08.2017
Сообщений: 66

Re: Конкурсант на КРИЛ-2017

Alcohol написал:

Ох, а чего всё так сложно? Давайте-ка проще, без математики и всего такого. Мы чего, тут в универе что ли?
Если так тяжко парсеры писать, так может и ну их на фиг? Тут что, садомазо-форум что ли?

Возможно, что это действительно невероятно сложно...

Неактивен

1    2    #56
23.11.2017 05:58

Станислав Соловьев
Участник (+138, -13)
Зарегистрирован: 27.08.2017
Сообщений: 66

Re: Конкурсант на КРИЛ-2017

Nikita написал:

Уже сейчас, если подсчитать, то мы получаем 586 вариантов команд ... И это, напомню, только на одной локации с тремя объектами, хотя там будет ещё обязательный объект самого главного героя, а также земли, так что в действительности 5 ... разумеется, авторы руками не прописывают все реакции, а игроки все их не пробуют ... В реальности, конечно, как при разработке, так и при игре явно прописываются и используются далеко не все допустимые варианты, а лишь подходящие по контексту...

Вот, собственно, основные моменты, которые я выделил для себя и они наглядно показывают, что будь то парсер или же меню, или любая другая текстовая игра, у автора есть два пути: писать односложные предложения, по "одной штуке", на все пять сотен объектов (что является бредом и займется таким разве что новичок, либо псих) или же выделить основное, то что имеет смысл и хорошо это обыграть. Поэтому-то я и не могу понять, что же такого невероятного в парсере, кроме некоторых устоявшихся практик их написания и прохождения. Если в комнате есть шкаф, стол и комод, то очевидно, что ключ находится в одном из этих объектов. Вероятно ключей несколько и их нужно скомбинировать. В обоих случаях задача легко реализуема на разных платформах и как мне кажется(!), дело тут не в прохождении именно парсеров, а культуры ИЛ в целом.

Неактивен

8    0    #57
23.11.2017 06:59

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: Конкурсант на КРИЛ-2017

Станислав Соловьев написал:

В обоих случаях задача легко реализуема на разных платформах и как мне кажется(!), дело тут не в прохождении именно парсеров, а культуры ИЛ в целом.

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

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

И именно это Никита пытается до вас донести.

Неактивен

1    1    #58
23.11.2017 08:21

Станислав Соловьев
Участник (+138, -13)
Зарегистрирован: 27.08.2017
Сообщений: 66

Re: Конкурсант на КРИЛ-2017

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

И именно это Никита пытается до вас донести.

Не вижу смысла противоречить. Думаю, мое желание пуститься в дискуссию возникло именно потому, что мне принялись доказывать исключительность парсера и его непод'емность. Скорее всего мне это только показалось. И по итогам возник такой вопрос: парсеры и меню делаются по одним и тем же принципам программирования или же это разные вещи? Я имею ввиду, зная все эти (не пренебрежение, а перечесление) массивы, об'екты, условия и основы разработки, можно одинаково успешно делать оба типа ИЛ или же нифига?

Неактивен

5    0    #59
23.11.2017 08:55

Wol4ik
Участник (+305, -173)
Зарегистрирован: 25.05.2017
Сообщений: 252

Re: Конкурсант на КРИЛ-2017

Это проще увидеть, чем выслушать об!яснения. Вот документация по RTADS, доступно написана, и по этому не мешает оценить сложность/легкость кодирования чистой парсерной игры.
Это, можно сказать, введение.
http://rtads.org/man/TADSSMPL.HTM

Отредактировано Wol4ik (23.11.2017 08:57)

Неактивен

3    1    #60
23.11.2017 10:03

Irremann
Участник (+341, -199)
Зарегистрирован: 24.11.2012
Сообщений: 234

Re: Конкурсант на КРИЛ-2017

Документация метапарсера сюда же - https://instead.syscall.ru/wiki/ru/game … ser/manual.

Неактивен

7    1    #61
23.11.2017 17:42

Nikita
Модератор (+404, -135)
Зарегистрирован: 29.10.2016
Сообщений: 139

Re: Конкурсант на КРИЛ-2017

Станислав Соловьев написал:

Поэтому-то я и не могу понять, что же такого невероятного в парсере, кроме некоторых устоявшихся практик их написания и прохождения. Если в комнате есть шкаф, стол и комод, то очевидно, что ключ находится в одном из этих объектов. Вероятно ключей несколько и их нужно скомбинировать. В обоих случаях задача легко реализуема на разных платформах и как мне кажется(!), дело тут не в прохождении именно парсеров, а культуры ИЛ в целом.

Дело в том, что у вас явно очень серьёзный теоретический провал, поэтому мы уже дошли до того момента, когда вам трудно просто так что-то объяснить. Вам надо больше почитать по теме и вернуться к этому разговору уже после этого.
Парсеры пишутся вообще не как наборы реакций на конкретные строки текста. Вернее, есть попытки писать так, но это как раз путь вне куда.
Парсерная игра представляет собой моделирование мира в рамках объектно-ориентированного подхода. Самое простое объяснение этих принципов на русском языке есть в документации RTADS. Прочитайте там первые три главы, они небольшие. Ну и дальше можно главы 6 и 7 с более сложными примерами. Если абстрагироваться от конкретного синтаксиса и обращать внимание на принципы, то это даст более-менее универсальное понимание вопроса для всех основных парсерных платформ.
Парсерная игра выполняет синтаксический разбор введённой команды, выделяя там название действия, а также по ряду свойств тот или те объекты, к которым это действие надо применить. Дальше у этих объектов вызываются методы, соответствующие определённому действию с передачей им нужных параметров. Это совсем в общих чертах. В действительности каждый из этапов декомпозируется на более мелкие задачи, про каждую из которых можно написать целую статью.
В зависимости от реализации конкретной платформы есть также специфические задачи, типа наполнения словаря, генератора падежных форм слов и так далее.

Вот так будет выглядеть на RTADS игра с локацией, в которой есть шкаф, стол и комод, а также спрятанная в закрытом комоде книга:

 спойлер…

К этому сообщению я прикреплю архив с исходным кодом, а также с компилированной версией, которую можно запустить и попробовать.
Ну или вот on-line версия, чтобы попробовать в браузере.

Обратите внимание, никаких циклов с перебором образцов строк и прочего, потому что хорошие парсеры пишутся не так. Вместе с этим, здесь:

 спойлер…

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

Станислав Соловьев написал:

Думаю, мое желание пуститься в дискуссию возникло именно потому, что мне принялись доказывать исключительность парсера и его непод'емность. Скорее всего мне это только показалось.

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

Станислав Соловьев написал:

И по итогам возник такой вопрос: парсеры и меню делаются по одним и тем же принципам программирования или же это разные вещи? Я имею ввиду, зная все эти (не пренебрежение, а перечесление) массивы, об'екты, условия и основы разработки, можно одинаково успешно делать оба типа ИЛ или же нифига?

Есть такое понятие, как парадигма программирования. Парсеры, как правило, пишутся в чуть более сложной парадигме, чем большинство менюшных игр, которая, помимо перечисленных вами базовых процедур, подразумевает использование дополнительных концепций (классов и объектов, наследования и пр.). Конкретный пример кода я привёл выше.
Впрочем, есть и исключения, а именно менюшные платформы с ООП (INSTEAD, Salet) или парсерные вообще без прямого программирования (ЯРИЛ, ADRIFT).
Однако вы, насколько понимаю, пришли с AXMA. Знаний алгоритмов и понятий, которые используются там, для написания полноценного парсера будет недостаточно. Впрочем, как уже сказал, написание парсерных игр - это не бином Ньютона, так что никто не говорит, что научиться этому способны только избранные. Просто надо сразу брать правильный инструмент.

Сейчас более-менее актуальны 5 русскоязычных парсерных платформ:

 спойлер…

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

Отредактировано Nikita (23.11.2017 18:58)


Прикрепленные файлы:
example.zip, Размер: 1,469,508 байт, Скачано: 409

Неактивен

2    0    #62
24.11.2017 06:22

Станислав Соловьев
Участник (+138, -13)
Зарегистрирован: 27.08.2017
Сообщений: 66

Re: Конкурсант на КРИЛ-2017

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

Неактивен

5    0    #63
24.11.2017 11:11

Антон Ласточкин
Участник (+302, -9)
Зарегистрирован: 18.09.2015
Сообщений: 148

Re: Конкурсант на КРИЛ-2017

Станислав, мне кажется, Вам следует сначала хорошо познакомиться с классическими парсерными играми, со стороны игрока, попробовать их пройти до конца. Я бы посоветовал две категории.
1. Демонстрационные:
Плащ тьмы
Золотой череп
2. Простые полноценные:
Кощей-1 златоквест или тяжелое похмелье
Блуждания в окопный день
Их можно найти на страничке: http://rilarhiv.ru/rtads.htm. Потратите день-два и приобретете неплохой опыт.

Неактивен

0    3    #64
24.11.2017 11:45

Лукиук
Участник (+15, -34)
Зарегистрирован: 09.11.2017
Сообщений: 11

Re: Конкурсант на КРИЛ-2017

Думается мне что будет не лишним ознакомиться с http://blue-lacuna.textories.com
http://ifdb.tads.org/viewgame?id=ez2mcyx4zi98qlkh

Неактивен

0    5    #65
24.11.2017 12:17

Лукиук
Участник (+15, -34)
Зарегистрирован: 09.11.2017
Сообщений: 11

Re: Конкурсант на КРИЛ-2017

В качестве прикола можно ещё потыкать классические инстед-игры в плеере  tiny-instead. Но его придётся компилировать самому. Там все доступные объекты пронумерованы а парсер понимает только команды вида x,y Где х и у номера объектов.

Неактивен

5    1    #66
24.11.2017 17:14

Nikita
Модератор (+404, -135)
Зарегистрирован: 29.10.2016
Сообщений: 139

Re: Конкурсант на КРИЛ-2017

Станислав Соловьев написал:

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

Да, с RTADS в начале надо немного поприседать:
Локализованные библиотеки лежат на том же сайте rtads.org. Вот прямая ссылка на архив http://rtads.org/libr27.rar
Соответственно нужно распаковать и положить .t файлы куда надо. Стандартный вариант - это использование штатной среды разработки под Windows TADS Workbench, где .t файлы нужно класть по пути
C:\Program Files\TADS Tools
или
C:\Program Files (x86)\TADS Tools
для 64-разрядных систем.
Вы там увидите английские adv.t, std.t и т.д., вот к ним рядом и положить advr.t, stdr.t и т.д.
Среду разработки TADS Workbench лучше поставить вот этой версии http://sm-i-i.narod.ru/aksetup.zip
Тому, как работать со средой разработки, посвящено приложение E официальной документации.
Это основной вариант под Windows. Если нужны другие OS или хардкорные варианты с использованием plain text редактора и утилит командной строки, то пишите, будем разбираться.

Ну и для сохранения сбалансированности изложения:

Для разработки на RInform нужно скачать специальную сборку из документации, примеров и компилятора (вариант под Windows).
Для Метапарсера INSTEAD просто берётся интерпретатор и под запуск в нём пишется Lua-файл по документации. Дополнительных инструментов для компиляции или добавления ресурсов, как в RTADS и RInform, не нужно. Правда в своё время был какой-то специальный редактор для разработки под INSTEAD, но я не уверен, что он сохранил актуальность. Возможно кто-то другой прояснит ситуацию.
Для ЯРИЛ специальный редактор идёт вместе с плеером (для всего нужна Java).
У ТОМ2 все имеющиеся и открытые на сегодняшний день инструменты разработки также в общем комплекте поставки. Но там также язык интерпретируемый, а не компилируемый, так что просто пишем текстовый файл и запускаем в плеере.

Если хочется подсветки синтаксиса, то с этим проще всего у INSTEAD, так как там стандартный Lua, поэтому достаточно взять любой текстовый редактор с поддержкой раскраски этого языка. Для RTADS есть несколько вариантов схем подсветки для разных редакторов, лучшей из которых вроде считается вариант для UltraEdit, ну или можно раскрасить его по правилам C (будет что-то похожее на правду). По RInform либо ничего нет, либо я не знаю. У ЯРИЛа всё своё в специальном графическом интерфейсе, а у ТОМ2 вроде тоже ничего нет.

Ну и обсуждение конкретных технических вопросов по той или иной платформе лучше перенести в соответствующие разделы форума. Они тут есть почти для всех: RTADS, Метапарсер INSTEAD, ЯРИЛ и ТОМ2. По RInform "места силы" не знаю (можете сами создать ветку), ну и по Метапарсеру INSTEAD всё-таки лучше идти на форум самой платформы, где активность и концентрация знающих людей выше.

Неактивен

1    1    #67
24.11.2017 17:42

goraph
Участник (+647, -223)
Зарегистрирован: 16.04.2007
Сообщений: 531

Основная добродетель гражданина есть недоверие.

Re: Конкурсант на КРИЛ-2017

Nikita написал:

По RInform "места силы" не знаю (можете сами создать ветку)

По RInform на дискорд можно счас, там есть вполне живой канал, так и называется - #rinform

Неактивен

3    3    #68
24.11.2017 21:57

Wol4ik
Участник (+305, -173)
Зарегистрирован: 25.05.2017
Сообщений: 252

Re: Конкурсант на КРИЛ-2017

голос из 313-й палаты
Можно же начать осваивать эту ниву создавая псевдопарсер. Имитацию. Платформа может быть любой, лишь бы был клавиатурный ввод и работа со строковыми переменными. Это даст возможность поиграть в разработчика парсеров))) Вот человек задался целью, и проверил.
http://qsp.su/index.php?option=com_agor … =57#p25986

Неактивен

1    1    #69
25.11.2017 00:29

Alcohol
Участник (+349, -644)
Зарегистрирован: 03.07.2017
Сообщений: 179

Re: Конкурсант на КРИЛ-2017

Wol4ik написал:

голос из 313-й палаты
Можно же начать осваивать эту ниву создавая псевдопарсер. Имитацию. Платформа может быть любой, лишь бы был клавиатурный ввод и работа со строковыми переменными. Это даст возможность поиграть в разработчика парсеров))) Вот человек задался целью, и проверил.
http://qsp.su/index.php?option=com_agor … =57#p25986

Эта фигня - это позор QSP!
Нам еще парсеров там не хватало. Итак фигню всякую пишут последнее время, а тут и до парсеров докатились.

Неактивен

4    2    #70
25.11.2017 07:29

Wol4ik
Участник (+305, -173)
Зарегистрирован: 25.05.2017
Сообщений: 252

Re: Конкурсант на КРИЛ-2017

Да-ну, брось))) Хорошие вещи могут же проходить стадию озорства и эксперимента. Человек попробовал писать подобие парсера, получил опыт и отзывы, потом он поймет, что для этого подходят специализированные платформы или модули. Начнет копать, читать, писать. Или поймет, что это не его. Не все из нас заправские технари, которые осваивают язык движка за пару дней-недель)))

Отредактировано Wol4ik (25.11.2017 07:34)

Неактивен

6    0    #71
25.11.2017 13:34

Станислав Соловьев
Участник (+138, -13)
Зарегистрирован: 27.08.2017
Сообщений: 66

Re: Конкурсант на КРИЛ-2017

В общем, немножечко почитал о RTADS, понял, что это и правда очень интересно. Думаю, попробую сделать какую-нибудь игру средней величины. Все же, это не наживы ради (да и какая тут нажива?), а удовольствия для. Программирование я все равно не осилил (плохо пытался), а так хоть "около того" буду ошиваться. Тем более, что не могу я учить структуру данных того же JS, не понимая, как именно это будет применяться уже сразу сейчас.

Неактивен

2    0    #72
25.11.2017 21:25

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: Конкурсант на КРИЛ-2017

Станислав Соловьев написал:

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

Прошу прощения, поскольку понимаю, что мой ответ сильно запоздал:(. Но на всякий случай все-таки пишу:

Для "установки" русификатора достаточно скопировать файлы из архива rtads в каталог игры.

Пожалуй, учебное пособие для "самых начинающих" доступно в описании "Мастерской TADS": http://www.rtads.org/man/TADSDBG.HTM

Тут есть исторические причины: всё-таки это перевод оригинальной англоязычной документации, которая начала создаваться в девяностых годах, когда во всех компьютерных программах рулила командная строка. Главы для начинающих писАлись в то же время, поэтому удобного для современного пользователя систем с GUI описания алгоритма создания игры там нет.

Может быть, есть смысл радикально переработать документацию - но лично у меня моральных сил уже нет:(. За что прошу у всех прощения...

Неактивен

2    0    #73
25.11.2017 23:26

Nikita
Модератор (+404, -135)
Зарегистрирован: 29.10.2016
Сообщений: 139

Re: Конкурсант на КРИЛ-2017

uux написал:

Для "установки" русификатора достаточно скопировать файлы из архива rtads в каталог игры.

Да, но тогда подключать их надо не через угловые скобки, а через двойные кавычки:
#include <advr.t> // Подключает библиотеку advr.t из директории компилятора или из директории, заданной через параметр -i
#include "advr.t" // Подключает библиотеку advr.t из рабочей директории (как правило, директория игры, хотя могут быть нюансы)
Я бы всё-таки советовал положить .t файлы в системную директорию среды разработки, так будет универсально и не надо будет их носить из проекта в проект.
Ну а если надо будет что-то изменить в стандартной библиотеке, то лучше пользоваться директивами modify для модификации методов объекта и replace для замены функции, а основные файлы оставлять неизменными. И хотя новые релизы RTADS давно не выходили, но если выйдут, то за счёт этого пересборка с новой версией будет проще. В таких вещах всегда лучше сразу прививать высокую культуру разработки.

Неактивен

3    0    #74
26.11.2017 16:17

Станислав Соловьев
Участник (+138, -13)
Зарегистрирован: 27.08.2017
Сообщений: 66

Re: Конкурсант на КРИЛ-2017

Так, начинаем историю под названием "Я все делаю правильно, почему ничего не работает?"

Скопировал текст из демонстрационной игры, скачал файлы для русификации, создал в папке TADS Tools папку libs, туда закинул все эти файлы. В демонстрационном коде уже все это дело было подключено волшебными заклинаниями. В общем, не пишет на русском. Надо бы инструкцию какую подробную...

А, и еще! Когда выбираю External editor, то пишет на русском и все это в принципе делает схему рабочей.

Неактивен

4    0    #75
26.11.2017 17:29

uux
Участник (+884, -80)
Откуда: Москва
Зарегистрирован: 02.12.2006
Сообщений: 1624

Re: Конкурсант на КРИЛ-2017

Станислав Соловьев написал:

В общем, не пишет на русском.

К сожалению, с какого-то момента TADS Workbench утратила способность работать с кириллицей - вряд ли автор так задумывал, но что есть, то есть. В баг-трекер я про эту проблему писал, но ничего не поменялась.

Вот ссылка на более старую версию, еще не утратившую способность работать с кириллицей.

https://cloud.mail.ru/public/46no/FRSNmdyD4

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

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru