Тема закрыта
код приведён в сообщении #121
ИМХО: необходимо разделить примеры библиотек, так как в навороченной куче всё работает, а при попытке сделать отдельно самому- нет
библиотеки- последние из выложенных здесь
Неактивен
теперь работает. а с тем кодом- не работало. перепроверял.
то ли у нас разные версии библиотек, то ли у меня уже засорилась память
Неактивен
fnOписание() { if(item) return "{item}." else return "на столе ничего нет" }
ТОМ - Текстовая Основа Миростроения v.0.9.2.1 beta. ASBer(C)2008-2009
Контактный адрес - 2008_TOM@mail.ru
Введите '?', 'help' или 'помощь' для справки.
Хижина
Ветхая деревянная хижина. Все здесь очень старое, и непригодно для
использования.
Здесь есть стол и заплетенное паутиной окно. ГГ находится тут и старик находится
тут.
> осм стол
?item?.
> взять ложку
Ты взял ложку со стола.
> осм стол
?item?.
>
этот пример привёл исключительно из-за того, что у моего ГГ тоже не всё как надо отображалось.
так например, один из предметов, для которого не было указано местоположения было невозможно осмотреть, так как этого предмета здесь нет, НО в инвентаре его было видно
видимо, надо перед началом игры делать какую-то читску памяти
---
с другой стороны, мож ты найдёшь другое решение проблемы
Неактивен
всё, разобрался: всё у меня было правильно распаковано, НО у меня с *.tom стояла ассоциация файлов с другим constom.exe, в другом месте, про который я уже и забыл
теперь пример из #121 работает как надо
Неактивен
ещё вопрос:
допустим, у ГГ есть спелое аппетитное съедобное красное яблоко, и все прилагательные для яблока указаны
как сделать, что бы при осмотре инвентаря ГГ видел именно 'красное яблоко', а не просто 'яблоко'(и не какое-нить другое)
UPD
ой, что-то я ударился в усложнения. так, вопрос про яблоко пока не актуален. попробую сделать эту примитивную игруху поближе к оригиналу
UPD
щазз более актуально выкладывание предметов(просто на пол)- сразу проще будет тестировать корректность работы игрухи
Отредактировано noname (23.07.2009 21:07)
Неактивен
как выкладывать(и обменивать) предметы- тоже разобрался
есть ещё такая непонятка:
в некоторой локации надо запретить некоторые действия(почти все). как было бы правильнее всего это сделать?
ЗЫ
разобрался почти во всём, что необходимо для этой примитивной игрушки
но в таком(приближённом к оригиналу) виде, в наши дни она будет смотреться как позор парсера
как будет готова- начну её доводить до ума, усложнять и переделывать
Неактивен
отчёт о приблизительном времени работы над игрой:
нормальная реализация данной игры требут от 3-х до 30-ти дней упорного перевода и кодинга
я скорее всего провожусь над ней месяца 3-и ( я ж ещё по олдгамесам шарюсь и играю в тамошние игрухи регулярно )
с учётом того, что её придётся доводить до ума- думаю, в этом году успею ( впрочем, меньше чем через неделю у меня днюха, а потом- буду искать работу; с другой стороны- когда я буду работать я мож больше времени буду именно написанием квеста заниматься, чем сейчас, когда целыми днями занимаюсь всякой фигнёй) // короче буду стремиться сделать в этом году (и не просто сделать бету, НО ещё и успеть её отшлифовать обезбажить и доработать )
особых чудес от игры ждать не стоит- её все уже прошли в том или ином варианте. я делаю её в-основном ради овладения навыками кодинга в ТОМе
ЗЫ
а комнату с невозможностью выполнения почти всех действий можно ещё реализовать через меню- оставить только возможные пункты
и ещё вопрос: допустим, устройство(напр лифт) имеет 9-ть нумерованных кнопок (от 1 до 9):
игрок пишет (к примеру): езжай на 6й этаж (или езжаё на шестой этаж) - как бы сделать это в ТОМе ?
Неактивен
в бетатестеры, конечно можно. но- не скоро
---
немного теории
что вообще автору может быть нужно от движка?:
- лично мне хотелось бы, чтоб от игрока требовался ввод фраз, правильных с т з русского языка // в том числе и знаки препинания // в этой игре знаков препинания пока не нужно
- штоп можно было сделать всё, что хочется, И штоп игра на вводимые фразы реагировала так, как хочет именно этот автор именно в этом квесте // т е - широкие возможности использования движка
- штоп движок хорошо различала различные фразы: т е понимал отличие 'кинуть банку в коробку' от 'кинуть коробку в банку'; И особенно это актуально для обработки ошибок: напр если игрок пытается неправильно использовать известный проге глагол- автор пишет на этот случай один текст(напр подсказку по исп этого глагола), а если он пытается использовать какое-то непонятное слово(команду, судя по тому, что слово идёт в начале фразы) с известным проге предметом- автор пишет на этот случай другой текст(напр подсказку по исп предмета)
---
впрочем, пока буду делать основной 'костяк' игры
позже- обязательно нужно будет доработать, штоп она понимала все упомянутые в описаниях существительные, глаголы (и прилагательные?) И выдавала разумные ответы на любую фразу; (особенно- если фраза построена неверно- ведь в этом случае игроку необходима помощь программы)
//
на сюжет именно этой поделки можно не обращать внимания- он может заинтересовать только после полной переделки. напр если весь сюжет этого квеста станет необязательной частью более другого квеста. т е всё, что я сейчас делаю имеет ценность скорее как тренировка в кодинге, чем как создание новой игры // да, много времени убивает перевод- я-то знаю, как там что переводится, но как сделать эти фразы читабельными на русском- приходится поломать голову
Отредактировано noname (25.07.2009 13:33)
Неактивен
в Багтрекер я тебе уже написал кое-о-чём
теперь вот что:
не нашёл, как переопределить стандартное сообщение "<предмет> не годится для этого действия."
Отредактировано noname (25.07.2009 18:00)
Неактивен
ох блин, ежовая морковка!
не сходятся в этой игре на квадратной карте входы с выходами.
первый проект однозначно необходимо делать совместно с автором платформы
тем более, что библиотека пока в стадии разработки
- заодно будет видно, что в библиотеку следует добавить
---
в связи с этим даю объяву в разделе 'игры' с просьбой солюшенов маленьких игр:
щазз открою там тему UPD: ссылка на тему
UPD
с тебя, ASBer - библиотека, с меня- перевод и кодинг, с любителей парсерных игр- солюшен
все промежуточные результаты работы буду выкладывать на форум
Отредактировано noname (26.07.2009 15:29)
Неактивен
Здесь важно понимать различие: если действие даёт 2 разных результата - это 2 разных действия, даже если они используют один глагол. И описывать из нужно как 2 разных объекта
ага- понял. это как стандартное 'открыл' и особое 'открыл_фонарик'
Название объекта также является его свойством. Поэтому пример будет один
ну, щазз не буду вдаваться в уточнения, НО в более сложных квестах эта тема ещё всплывёт
UPD: жду пример :)
Отредактировано noname (27.07.2009 18:19)
Неактивен
ASBer написал:
noname написал:
в таком варианте она обзывает героя ГГ, а не ты
Угу, но это только при первом показе так... дальше нормально показывает "ты".
Исправлю.noname написал:
и, да- а как вообще убрать постоянные упоминания присуствия ГГ в каждой локации?
Смотри мой пост выше: ГГ.персонаж_по_месту = нет //отключает отображение ГГ в локации
не знаю, обратил ли ты внимание: при первом показе прога опять называет игрока ГГ, а не на ты
я-то в любом случае отключу показ героя, но если в ООП-проге есть такой глюк, значит где-то чего-то некорректно сделано
Неактивен
Название объекта также является его свойством. Поэтому пример будет один
Отредактированно ASBer (Сегодня 19:32)
ты это, не томи- этож наверняка несложно- такой пример сделать ( пример задания особой обработки команды над двумя предметами ). с примерами как-то гораздо проще с языком разбираться
ЗЫ
возможно, в ближайшие дни до конца месяца буду занят. после планирую дописывать второго Спелеолога до куда смогу И выкладывать списки необходимых изменений в библиотеках. ну, там по-мелочи: спуститься вниз, подняться наверх, различные синонимы
саму игру (будет называться Спелеолог-2) планирую довести до 'кандидатского минимума': штоп она понимала по-возможности все упомянутые ею же в описаниях слова, а в случаях ввода неиспользуемых в игре команд давала по-возможности разумные ответы/помощь. так же планирую привинтить к ней систему подсказок и сделать версию под графичексий интерфейс
игра, конечно, простенькая. ну так значит- проще будет довести её до приличного состояния. и тем самым- отработать на ней основные приёмы написания парсерных игр
Неактивен
отличный пример!
надо заметить, что он понравился мне ещё и тем, что показал возможность творить на ТОМе совершенно другим способом- этот код впечатлил меня свободой, предоставляемой ТОМом квестописцам. расширил моё видение ТОМа. ещё немного и я влюблюсь в ТОМ
и, конечно, в моих квестах(буде таковые случатся) будет ГГ и использование библиотек, НО впечатление свободы, оказанное этим примером на моё больное воображение уркиниста- неизгладимо
на самом же деле этот пример просто демонстрирует создание особой реакции на действие с двумя предметами друг на друга
эту тему регулярно просматривают около 30чел, а качают примеры - 2-3чел, поэтому выкладываю 'полный солюшен' этого примера (или правильнее сказать- лог):
ТОМ - Текстовая Основа Миростроения v.0.9.2.2 beta. ASBer(C)2008-2009
Контактный адрес - 2008_TOM@mail.ru
Введите '?', 'help' или 'помощь' для справки.
КАК ЗАЛОЖИТЬ ЗА ВОРОТНИК, ДА НЕ НАПИТЬСЯ
Ты сидишь за идеально сервированным столом. Перед тобой лежит накрахмаленная
салфетка и стоит запотевшая рюмка водки (пятьдесят граммов).
> заложить
Что заложить?
> заложить рюмку
Куда заложить?
> заложить воротник за рюмку
Рюмка не годится для этого действия.
> заложить рюмку за воротник
Рука неуверенно потянулась к рюмке и вернулась назад. Нет! Воспитание не
позволяет пить без салфетки.
> заложить салфетку за воротник
Ты взял салфетку, неторопясь расправил ее и аккуратно заложил за воротник,
провел по ней рукой, еще раз убедившись, что она на месте.
> заложить рюмку за воротник
Ты хорошо выверенным молниеносным движением схватил рюмку, потянулся к ней
дрожащими губами, шумно выдохнул и одним махом заложил за воротник!
> заложить салфетку за воротник
Ты поправил уже заложенную за воротник салфетку и жадно сглотнул.
> заложить рюмку за воротник
Что толку в пустой рюмке - за воротник не заложишь.
Отредактировано noname (28.07.2009 00:10)
Неактивен
> з
Ты ушел на запад в гардероб.
Гардероб
Стены этой маленькой комнаты, очевидно, когда-то имели множество крючков для
одежды. Сейчас же остался только один. Единственная дверь ведет на восток.
Здесь есть маленький бронзовый крючок для одежды.
> повесить плащ
Куда повесить?
> на крючок
Маленький бронзовый крючок для одежды не годится для этого действия.
насколько я знаю RTADSа(довольно плохо), он понимает уточняющие фразы. т е если после 'куда повесить?' ответить 'на крючок' то он бы понял(хотя реально там какой-то пример с яблоками приводился: взять яблоко - какое яблоко - зелёное - ты взял зелёное яблоко)
// это я так - штоп тебе было чем заняться
Неактивен
Бархатный плащ или маленький бронзовый крючок для одежды?
насколько я понимаю, общепринятой реакцией для парсеров, которые поддерживают местоимения, было бы "осмотреть маленький бронзовый крючок для одежды", т к 'крючок'- последнее существительное, употреблённое в подходящей форме
с другой стороны, если ТОМ запоминает 2-а последних сущ каждой формы- тем лучше. наверное
Неактивен
Пещера
Ты находишься внутри темной и затхлой пещеры. Солнечный свет прорывается через
проход, расположенный к югу.
Здесь есть пьедестал и здесь есть мелкий камень.
когда я на RTADS описал стол и яблоки на нём, то в описании локации, при входе в неё, перечислялся и стол и
предметы на нём
примерно так:
стол находится здесь. зелёное яблоко и красное яблоко находятся на столе
вот как-то так. вполне логично, что ГГ, входя в комнату(пещеру) видит предметы на столе(на пъедестале).
если они только не спрятаны под чем-то
---
насчёт спелеолога: команда выложить/положить/бросить почему-то не работает. она вообще есть в библиотеке? без
неё немного неудобно тестить работу с предметами. ещё немного повыделываюсь: а не доделать ли библиотечные
команды 'вниз' и 'вверх', что бы понималось 'спуститься вниз' и 'подняться наверх'. сейчас этого нет
ЗЫ
у меня вроде бы последняя версия библиотеки, НО не последняя версия ТОМ
---
работе над спелеологом ОЧЕНЬ мешает одна игрушка с oldgames, называется xcom-apocalypse. уже почти две недели в неё играю и просто не в состоянии от неё оторваться(играю из-под дос-бокса)
Неактивен
насколько я понимаю, утилитками тут не обойдёшся- нужны словари.
ну или, как минимум- словарь исключений, в составе утилитки.
Неактивен
Тема закрыта