Одержим идеей создать собственный русскоязычный IF уже давно (год где-то), после того как прошел Babel и остался просто под ОЧЕНЬ сильным впечатлением. За спиной несколько пройденных квестов на английском, небольшой опыт программирования на Game Maker и пару собственноручно написанных литературных произведений. А также огромная куча энтузиазма .
Очень обрадовался, когда нашел этот сайт, но тут потерялся. Столько всего, да еще с мудреными словами... В общем вопрос: с чего начать новичку, что скачать, что взять за пример, а то на форуме точного направления так и не нашел...
Неактивен
Phoenix849 написал:
В общем вопрос: с чего начать новичку...
С сюжета и сценария.
Сценарий новичкам-энтузиастам всегда нужно писать ПЕРВЫМ ДЕЛОМ. Как минимум, это поможет определить, действительно ли вам есть о чем рассказать в своей игре и стоит ли начинать ее воплощение в коде.
Только зная, как начнется, через что пройдет и как закончится (можно несколькими вариантами) ваша игра, можно браться за ее написание.
Неактивен
В любом случае начать желательно с написания сценария игры, и насколько это возможно наиболее подробного сценария
Потом идти на rtads.org, там есть ссылки на платформу, документацию и небольшие примеры, включая демо-игры.
Неактивен
Неактивен
Пока я хочу написать просто "игру" с двумя комнатами и парой предметов на 5 минут прохождения, чтобы, так сказать, убедиться в своих силах. Возможно, что это окажется чем-то для меня непостижимым, кто знает... Пока видиться, что все ОЧЕНЬ сложно. За статью спасибо, надеюсь поможет.
Неактивен
Я когда начинал (в сентябре), мне кроме сайта rtads.org ничего не понадобилось.
Прочитал несколько первых глав замечательно переведенного руководства (http://rtads.org/man/INDEX.HTM), скачал демо игру "Три медведя" (http://rtads.org/3m_source.zip) - для новичка там типичных для IF ситуаций разобрано выше крыши.
Потом сел и написал малеькую игру с двумя комнатами, несколькими предметами и тестовым актером, чтобы посмотреть как оно и что.
А дальше уже представление было, копнул глубже документацию, вопросы дурацкие на форуме задавал :-)
Но, вообще я сам программист, поэто все это довольно гладко прошло, за пару дней буквально освоился. Не знаю, какая будет learning curve у непрограммирующей публики.
Отредактировано Flint (24.12.2007 23:25)
Неактивен
Зря вы это, ох, зря!
Возможно, теперь автор углубится в RTADS, обрадуется возможностям, начнет писать игру, поймет, что сценарий все же придется писать и, скорее всего, не напишет... По крайней мере, это обычная история.
Неактивен
Hind - да скорее всего углубится, скорее всего обрадуется, и вполне вероятно ничего не напишет
Но какая есть разумная альтернатива? Не давать человеку ссылок на мануалы пока он не предоставит готовый сценарий?
Неактивен
Какой смысл писать сценарий пока я слабо себе представляю как оно работает? Я пока пишу рассказы, по-моему это лучше чем писать сценарий не умея работать с кодом.
Неактивен
Для начала надо написать маленькую тестовую игру, вообще без сценария, просто чтобы узнать как это делается, какие возможности, что можно, а что сложно. Тогда к написанию сценария "настоящей" игры человек будет подходить уже со знанием особенностей и ограничений (это главное, очень тяжело в разгаре разработки топтать свою фантазию, когда выясняется, что задуманное реализовать очень тяжело).
Я же не говорю, что не нужно писать сценарий, просто сценарий для тестовых игр должен быть специфического формата. У меня, например, весь сценарий вылился в лист формата А4, заполненный предложениями с кратким описанием предметов и квестов и стрелочками между ними.
Неактивен
Phoenix849 написал:
Какой смысл писать сценарий пока я слабо себе представляю как оно работает?
Поверьте, неважно, как оно работает. Если что-то не удастся воплотить - бог с ним. Лишь бы было, что воплощать.
С кодингом вы справитесь, видно же, что человек с интеллектом.
Есть и еще один плюс - если даже вы, начав писать код, забросите эту затею по какой-либо причине, всегда сможете найти энтузиаста, который все это напрограммит за место в титрах Уж кодеров всегда хватает...
Неактивен
Hind написал:
Есть и еще один плюс - если даже вы, начав писать код, забросите эту затею по какой-либо причине, всегда сможете найти энтузиаста, который все это напрограммит за место в титрах
Уж кодеров всегда хватает...
Всегда считал, что с точностью до наоборот. На всех форумах любительских модов/пректов туча "есть идейка магу забесплатно падкинуть аче клево будит если риализуете" и обычно ни одного ответа в теме "нужен программист".
Ладно, что это я... Пойду читать, постигать основы, что ли. Только, вот, проблема, что с rtads.org "набор для автора" 3мб почему-то скачивается как будто 30мб, причем что остальное там нормально и быстро...
Отредактировано Phoenix849 (25.12.2007 18:26)
Неактивен
Только, вот, проблема, что с rtads.org "набор для автора" 3мб почему-то скачивается как будто 30мб, причем что остальное там нормально и быстро...
Вот альтернативная ссылка (зеркало): http://www.ibiblio.net/pub/docs/interac … t_2510.exe
Неактивен
Phoenix849 написал:
На всех форумах любительских модов/пректов туча "есть идейка магу забесплатно падкинуть аче клево будит если риализуете" и обычно ни одного ответа в теме "нужен программист".
Идеи, так оформленные, обыкновенно глупы и неинтересны.
В любом случае, все зависит от сюжета. Если он стоит того, чтобы его реализовали - его реализуют.
Неактивен
Nex написал:
mihawww, статья устарела. По крайней мере, информация о движках/платформах.
Там QSP даже не упомянули.
Я с точки зрения идеологии. И вообще - вдохновляет!
Неактивен
Gremour написал:
Phoenix849, тебе повезло. Здесь программистов как раз пруд пруди, а вот писателей не хватает.
Увы и ах.
Интересно, а в западном IF-сообществе кого больше?
Неактивен
Вчера весь вечер просидел над примитивными штуками. Все далекоооо не так просто как вы мне описали, так что еще учиться и учитсься... Пока сильно напрягают две вещи:
1) То, что все нужно писать в одном файле во всей куче, да еще отдельно в блокноте, а конвертировать отдельно, что напрягает. Может я неправильно делаю?
2) Как сделать, чтобы при взятии предмета писался только мой текст и не добавлялось после дефолтное "взят"?
Неактивен
Хм, если б я писал в блокноте, еще и в одном файле, меня бы это тоже реально напрягало...
Насчет одного файла - есть инклюды, синтаксис примерно:
#include "cavern.t"
Таким образом можно вынести например часть касающуюся локации "пещера", в файл "cavern.t"
Насчет блокнота - я пользуюсь фаром, а для компиляции использую батник с коротким именем (например 1.bat), который вызываю из командной строки того же фара. Мне очень удобно, но если ты фаром раньше не пользовался, не знаю стоит ли советовать.
Насчет предмета - надо переопределить для предмета метод doTake.
Простой пример:
doTake(actor) = {
"<<actor.sdesc>> взял предмет, потряс, и сунул в карман";
self.moveInto(actor);
}
Неактивен
Phoenix849 написал:
1) То, что все нужно писать в одном файле во всей куче, да еще отдельно в блокноте, а конвертировать отдельно, что напрягает.
Во-первых, используйте редакторы с подсветкой синтаксиса (я пользуюсь FAR+Colorer, но есть схемы для UltraEdit, Aditor, и, по-моему, Vim (валяется на англоязычном форуме): http://rtads.org/download.php), во-вторых, не обязательно все писать в одном файле.
Просто в компилируемый файл (тот, который вы открываете в TADS Workbench) нужно вставить инструкцию #include, например, вот так:
#include <файл1.t> #include <файл2.t> #include <файл3.t>
Эти файлы лучше всего положить в одну папку с компилируемым, тогда не нужно будет указывать полный путь.
Также я советовал бы вам немножко поднастроить TADS Workbench:
Меню View -> Options..., в появившемся окне закладка Messages, в нем снять галку "Show message at game termination" - тогда он не будет вопить каждый раз при завершении игры и снять галочку "Ask before reloading a modified source file" - тогда не будет назойливых сообщений о том, что открытый файл изменен внешней программой, вместо этого Workbench будет автоматически обновлять вид.
Итак, я работаю так: в редакторе у меня открыты t-файлы, в TADS Workbench открыт соотв. проект. После написания очередного куска кода я сохраняю файл в редакторе, переключаюсь в TADSW, нажимаю Ctrl+F5 (компилировать и запустить), если все работает, закрываю и пишу код дальше, если нет - начинаю отладку.
Неактивен
#include <файл1.t>
#include <файл2.t>
#include <файл3.t>
Неверный пример. При использовании угловых скобок компилятор будет искать только в директориях, перечисленных как библиотечные в TADS Workbench. Надо использовать кавычки, тогда сначала будет искать в директории с исходным файлом, то есть:
#include "файл1.t" #include "файл2.t" #include "файл3.t"
Неактивен
fireton написал:
При использовании угловых скобок компилятор будет искать только в директориях, перечисленных как библиотечные в TADS Workbench.
Неправильно )))
По крайней мере, вот у меня в C:\Devel\RTADS\3\ лежит файл game.t и модифицированный stdr.t
В game.t указано именно <stdr.t>, так вот - используется именно тот, что лежит В ОДНОЙ ДИРЕКТОРИИ с ним, то есть в C:\Devel\RTADS\3\.
Сорри за оффтоп...
Отредактировано Hind (27.12.2007 23:06)
Неактивен
Hind написал:
fireton написал:
При использовании угловых скобок компилятор будет искать только в директориях, перечисленных как библиотечные в TADS Workbench.
Неправильно )))
По крайней мере, вот у меня в C:\Devel\RTADS\3\ лежит файл game.t и модифицированный stdr.t
В game.t указано именно <stdr.t>, так вот - используется именно тот, что лежит В ОДНОЙ ДИРЕКТОРИИ с ним, то есть в C:\Devel\RTADS\3\.
Сорри за оффтоп...
Вообще-то, если верить мануалу, то fireton прав. Вот что написано в оригинальном мануале:Note that when the filename is enclosed in double quotes, the compiler searches for the file first in the current directory, then in the directories in the include path (as set with the -i compiler switch on most operating systems). When the filename is enclosed in angle brackets, the compiler searches only in the directories in the include path - the current directory is not searched. Generally, a system include file (such as adv.t) should be enclosed in angle brackets, while your files should be in the current directory and enclosed in double quotes.
Это - перевод:Обратите внимание, что, когда имя файла заключено в кавычки, компилятор вначале ищет файл в текущем каталоге, а затем в специальном каталоге для "включаемых" файлов (который задается опцией -i для версий компилятора, работающего из командной строки (для большинства операционных систем), либо специальным пунктом меню в комбинированном компиляторе/отладчике TADS). Если же имя файла заключено в угловые скобки, то компилятор не будет просматривать текущий каталог, а сразу перейдет к поиску в каталоге включаемых файлов. Как правило, имена файлов системных библиотек (например, того же advr.t) указываются в угловых скобках, а все остальные размещаются в текущем каталоге и указываются в кавычках. Это может быть особенно удобно, когда автор ведет работу одновременно над несколькими играми, используя для них общие файлы системных библиотек.
У меня прямо сейчас нет возможности проверить это экспериментально, но, Hind, может быть, у тебя каталог C:\Devel\RTADS\3\ прописан в include path?
UPD: вероятно, действительно прописан - TADS Workbench автоматом прописывает текущий каталог игры в include path при ее создании/открытии. Проверить можно, выполнив команду меню Build->Settings и выбрав в открывшемся дивлоге вкладку Include.
Отредактировано uux (28.12.2007 06:40)
Неактивен
Да, там есть строчка "."
Так или иначе, я тоже прав, так как говорил о TADSW с настройками по умолчанию версии с сайта RTADS.org, а не о языке.
Неактивен
А теперь объясните, пожалуйста, что есть Far, Colorer и другие непонятные программы?..
Неактивен
Far -- это консольный файловый менеджер. Со встроенным редактором (тоже консольным). Есть ещё люди, пользующиеся таким в силу привычки, но рекомендовать это новичку не следует.
Существует много удобных виндошных текстовых редакторов. Лично я пользуюсь специальной средой разработки, которая понимает, в том числе, TADS: http://ifarchive.heanet.ie/if-archive/p … te1500.zip
Весит 7 мегабайт. В настройках надо ставить какой-нибудь кириллический шрифт, чтобы русские буквы отображались корректно.
Неактивен
Лично я пользуюсь специальной средой разработки
Что-то мне не удалось заставить этот Imaginate работать. Я не понял тонкой логики его функционирования...
Пользуюсь Notepad++, там можно настроить свои схемы раскраски синтаксиса, что я и сделал для TADS и URQ.
Неактивен
Инсталлируешь, создаёшь новый проект TADS 2, пишешь текст. Затем в меню Build->Compile and Run. Только чтобы он запустился, надо в настройках (Tools->Language options) задпть правильный путь к интерпретатору TADS. По умолчанию Imaginate думает, что файл называется (у меня) c:\Program Files\TADS Toolkit\htmltads.exe. На самом деле он называется (путь)\htmlt2.exe. Ещё желательно положить файлы advr.t, stdr.t и errorru.t в каталог с твоим проектом. Вот и всё. Можно сразу запустить тестовую игру.
P.S. Imaginate создаёт файл проекта для воркбенча (.tdc). Можно сразу загружать его в воркбенче. Правда, там что-то с путями тоже не то. Править надо. Точно не помню (давно было). Позволяю воркбенчу самому создать файл .tdc из исходника.
Отредактировано Gremour (28.12.2007 22:41)
Неактивен
Gremour написал:
Ещё желательно положить файлы advr.t, stdr.t и errorru.t в каталог с твоим проектом.
advr.t вообще-то не принято переписывать для каждого квеста. Тем более что в отличии от буржуев и новые версии время от времени выходят. Пусть не каждый год, но. Не надо насаждать плохой стиль человеку еще до того как он написал первую игру
Пусть уж лучше advr.t в единственном экземпляре лежит в каталоге с библиотеками.
Неактивен
Но потом-то лишние обхекты и функции ненужные все равно придется удалять, так что имхо для каждой игрушки нудны свои версии библиотек.
Неактивен
Тестовый проект у меня не смог найти файл adv.t, который идёт с TADSом (#include <adv.t>). Я не стал искать, почему. К тому же, иметь все исходники сразу удобнее (хотя бы для референса; какая там может быть разбежка с библиотекой у автора игры и у тулкита, инсталллированного на конкретной машине -- непонятно). Библиотеку, если понадобится, всегда можно заменить более свежей.
А вот редактировать файл advr.t напрямую не стоит.
Неактивен
- VampirE - написал:
Но потом-то лишние обхекты и функции ненужные все равно придется удалять, так что имхо для каждой игрушки нудны свои версии библиотек.
Если ты до сих пор не понял, я даже не буду пытаться объяснить почему так не надо делать. Напомню только что твой "пример" "менюшных диалогов" со стандартными файлами библиотеки вообще не компилируется.
А вобще-то существуют команды modify, addword и delword
Неактивен
гор, кстати, все прекрасно компилируется.
Добавь ради интереса, его в любой проект и все будет работать, разве нет?
А команды replace, modify b подобные - вещи полезные, не отрицаю. Но лично мне привычней, когда для каждой игры есть своя версия библиотек.
Неактивен
Но лично мне привычней, когда для каждой игры есть своя версия библиотек
Геморрой начнется, если у тебя будет большой проект и ты захочешь перейти на новую, более совершенную, версию библиотеки...
Неактивен