Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
26.07.2009 16:01

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Speleologist II

на текущий момент:

нашёл на IFWiki игру Speleologist(Спелеологист)

если кто не знает, то эта маленькая русская игра представляет из себя неплохую головоломку // правда все её уже наверное прошли

нашёл её автора на мирах мэйл-ру. в последний раз он заглядывал на свою страницу неделю назад. написал ему сообщение с просьбой разрешить перенести игру на ТОМ

не знаю, - не сильно ли я поторопился? надеюсь, никто не будет против такого варианта

входы-выходы в игре вроде бы вполне могут быть описаны библиотекой map

теперь жду от вета и от него

и от ASBer- твоё мнение по этому поводу?

// целью написания такой игрухи под ТОМ будет демонстрация того, как на ТОМе легко и просто всё это реализуется с помощью набора готовых библиотек

UPD: просьба солюшенов в разделе 'игры' остаётся в силе

Отредактировано noname (26.07.2009 16:02)

Неактивен

0    0    #2
26.07.2009 19:19

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

noname написал:

входы-выходы в игре вроде бы вполне могут быть описаны библиотекой map

Если карта не вписывается в "квадратики" map - можно попробовыть ее подогнать разбивая локации на части - восточная часть комнаты, западная часть комнаты и т.п.

noname написал:

и от ASBer- твоё мнение по этому поводу?

Платформа не наполненная играми - мертвая платформа. 
Естетственно я могу быть только ЗА! и обещаю полную поддержку.
Работа над первой версией практически завершена - осталось только вычистить ошибки, и отладочный режим сделать понятным для разработчиков игр.
Поэтому сейчас я переключаюсь на библиотеку, документирование, поддержку и т.д.

P.S. noname, спасибо за постоянный интерес к тому что я делаю и за твой энтузиазм - эсли это надо хотя-бы одному человеку, значит стоит работать дальше smile

Неактивен

0    0    #3
26.07.2009 22:00

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

Михаил Баланов дал ответ:

привет!
прежде всего спасибо за положительный отзыв smile
разрешение с удовольствием даю, правда, с 2мя условиями: упомянуть в новой игре оригинальную; и держать меня в курсе - интересно посмотреть, что получится smile

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

следующая на очереди будет либо 9:05(если пройду), либо shade(на неё уже есть хороший солюшен. но в нём около сотни действий)

Неактивен

0    0    #4
26.07.2009 23:01

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

из всех тем про ТОМ, эта- пожалуй, самая подходящая для обсуждений работы над играми

ведь именно в этом заключается тестирование платформы

итак, работа над проектом 'Спелеолог-2' уже идёт. первый шаг:

выкладываю 'план игры' - краткую инфу обо всём, что будет в игре

вторым шагом будет составление перечня необходимых библиотек для этой игры

--------------------------------------------------------------------------------
Прикрепленные файлы:
Спелеолог-2.doc, Размер: 1,928 байт, Скачано: 33

Неактивен

0    0    #5
27.07.2009 15:12

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

второй шаг сделан: запрос библиотек находится в прилагаемом архиве

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

в прилагаемом архиве находится:

а) всё необходимое для запуска игры- библиотеки и прочее, именно те версии, которыми я сейчас пользуюсь

б) модули игры в папке data- в начале модуля идёт коммент: 'в этом модуле я описал ...' что бы было ясно, что подобные модули(в отличие от библиотек) квестописец пишет сам

в) сама игра speleologist2.tom, использующая необходимые библиотеки и модули

г) запрос библиотек в вордовском формате *.doc

жду ответа на запрос

--------------------------------------------------------------------------------
Прикрепленные файлы:
Speleologist_2.rar, Размер: 199,353 байт, Скачано: 31

Неактивен

0    0    #6
27.07.2009 16:02

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

- Фонарик с батарейкой внутри - это классический открываемый контейнер. Пока фонарик закрыт никакие действия с батарейкой невозможны. (нужна библиотека для контейнеров)
- Батарейка - контейнер с замком. Только вместо ключа служит нож. (таже библиотека для контейнеров)
- по остальным вопросам работаю... smile

Неактивен

0    0    #7
27.07.2009 16:23

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

хочу ещё уточнить насчёт фонарика:

- у тебя есть фонарик и куча других предметов

> открыть/раскрутить фонарик

- у тебя есть корпус от фонарика, батарейка и куча других предметов

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

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

принцип том, что автор волен придумать любую реакцию на соотв действия ГГ, в том числе- волен выбирать степень детализации действий (просто открыть фонарик; либо открыть и вытащить батарейку; либо крутить несколько раз крышку фонарика по часовой стрелке и т д)

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

Неактивен

0    0    #8
27.07.2009 16:40

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

Конечно можно сделать и так. Тогда нужно просто создать действие:

action открыл
{
  pat = "открыть=открой @Что:фонарик*Вп"
}
персонаж.открыл()
{ %ты открыл фонарик и вытащил из него батарейку.
   фонарик.описание = "фонарик без батарейки - бесполезная вещь."
   this + батарейка
}

Неактивен

0    0    #9
27.07.2009 16:58

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

4. задание более сложных действий:
В игре часто применяется воздействие_А предметом_1 на предмет_2.
Предлагаю создать библиотеку для простого варианта воздействий, которая будет удобна для большого кол-ва квестов(но не для всех):

Суть упрощения в том, что для каждой комбинации использования предмета_1 на предмет_2, есть всего одна команда, которая даст осмысленный результат. Например:

 спойлер…

Итого: квестописец, подключив требуемую библиотеку use должен получить возможность задавать пары предметов (порядок- важен!), а для каждой заданной пары задать команду, применимую в этом случае(+синонимы), И- описать соотв реакцию

На мой взгляд это будет усложнение. smile
Проще с нуля создать уникальное "авторское" действие (см. "открыл" чуть выше) чем разбираться с дополнительной библиотекой Use, которая по сути делает тоже самое...

Неактивен

0    0    #10
27.07.2009 17:03

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

т е ЕСЛИ одновременна подключена и библиотека, в которой описан глагол 'открыл', И модуль игры, в котором описан тот же глагол, но иначе -

ТО будет использоваться описание именно из модуля автора?

// для этого, вероято, необходимо, чтобы модуль был подключён _после_ библиотеки?

UPD:

На мой взгляд это будет усложнение.
Проще с нуля создать уникальное "авторское" действие (см. "открыл" чуть выше) чем разбираться с дополнительной библиотекой Use, которая по сути делает тоже самое...

согласен. Дай пример того, как сделать уникальные авторские действия с двумя предметами. и ещё момент: то же самое действие с двумя другими предметами может дать другую реакцию. ИМХО наиболее корректный вариант- в описании действия проводить проверку свойств(переменных) используемых предметов, и исходя из этого выполнять над ними соответствующие манипуляции

Отредактировано noname (27.07.2009 17:06)

Неактивен

0    0    #11
27.07.2009 17:06

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

Для исключения неоднозначностей лучше использовать авторские действия с именами
открыл_фонарик или
noname_открыл или
noname_открыл_фонарик и т.п.

Неактивен

0    0    #12
27.07.2009 17:11

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

ASBer написал:

Для исключения неоднозначностей лучше использовать авторские действия с именами
открыл_фонарик или
noname_открыл или
noname_открыл_фонарик и т.п.

думаю:

допустим, подключена библиотека с контейнерами, в которой описано действие 'открыл'

описываю в модуле действие 'открыл_фонарик', которое выполняет особые манипуляции именно с фонариком

если при этом остаётся возможность открывать остальные контейнеры стандартным образом- это фообще шикарно

pat = "открыть=открой @Что:фонарик*Вп" обеспечит срабатывание действия именно для фонарика и только для него

ок! буду пробовать

UPD

насчёт примера с действиями(пред моё сообщение):

хотелось бы хороший пример, в котором одно и то же действие даёт разный результат для двух разных пар предметов // и хорошо бы двумя способами: один пример с отличием по названию предметов и второй с отличием по свойствам предметов

UPD UPD:

остаётся ещё вопрос с завалом камней/ камнями = валунами / - как сделать лучше? наверное- добавить синонимов названию локации, в которую будет заложен динамит(он закладывается в завал камней) ? как сделать, чтобы прога понимала обращение по такому синониму во множественном числе?

щазз гляну- вроде бы и ещё какие-то вопросы были

Отредактировано noname (27.07.2009 17:17)

Неактивен

0    0    #13
27.07.2009 17:27

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

noname написал:

допустим, подключена библиотека с контейнерами, в которой описано действие 'открыл'

описываю в модуле действие 'открыл_фонарик', которое выполняет особые манипуляции именно с фонариком

если при этом остаётся возможность открывать остальные контейнеры стандартным образом- это фообще шикарно

Именно так. Единственно только что частный шаблон должен быть объявлен ПЕРЕД общим шаблоном. Т.е. если авторское действие перекрывает библиотечное, то оно должно быть описано ДО подключения библиотеки.
Информация устарела! в новых версиях перекрывающий шаблон должен размещаться ПОСЛЕ перекрываемого.
Т.е. все авторские действия, описанные после подключения стандартной библиотеки, приоритетны по сравнению со стандартными действиями.


noname написал:

хотелось бы хороший пример, в котором одно и то же действие даёт разный результат для двух разных пар предметов

Здесь важно понимать различие: если действие даёт 2 разных результата - это 2 разных действия, даже если они используют один глагол. И описывать их нужно как 2 разных объекта.

//

noname написал:

и хорошо бы двумя способами: один пример с отличием по названию предметов и второй с отличием по свойствам предметов

Название объекта также является его свойством. Поэтому пример будет один smile

Отредактировано ASBer (02.12.2009 14:03)

Неактивен

0    0    #14
28.07.2009 10:07

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

noname написал:

location счастливое_нигде // всё несуществующее хранится здесь
{ cls = место
  отметить_на_карте(100,100,100)
}

Все объекты, которые находятся "нигде" на самом деле лежит в global.item[]
Т.е. создавать специальную локацию для этого не нужно - она уже есть.

Неактивен

0    0    #15
28.07.2009 13:06

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

noname написал:

//завал камней- сделать локацией?
//а как тогда быть с манипуляцией с 'камнями'?
//приходит в голову такое решение: либо камни=валуны= синоним локации завал камней,

Угу, нужно делать локацией. Завал же нельзя ни вынести ни разобрать.
Чтобы проходили действия "осмотри завал", "осмотри камни", "положи <предмет > в камни" у локации должны быть доп.свойства:

location завал
{ title = "завал%; МрЕчНдСи; Ип; Ип=...."
   this.камни = "камн%; МрМчНдСи; Ип; Ип=и; Рп=ей; ...."
   this.булыжники = "булыжник%; МрМчНдСи; Ип; Ип=и; Рп=ов; ...."

   //и т.п. ...

}

Неактивен

0    0    #16
28.07.2009 13:36

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

noname написал:

// позже стандартное сообщение необходимо будет заменить более литературным,
// подходящим именно к этой игре: 'сплошные каменные стена пещеры не дают тебе пройти на юг'
// да, кста- как изменить стандартное сообщение для _направлений_?

Код:

ушел_по_направлению.не_пройти = "сплошные каменные стены пещеры не дают {actor*ДпНе} пройти {направление.предлог} {направление*Вп}"

Отредактировано ASBer (28.07.2009 13:44)

Неактивен

0    0    #17
30.07.2009 10:46

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

В отсутствие noname слегка обновил игру.
Специальные действия пока не делал - жду noname smile

--------------------------------------------------------------------------------
Прикрепленные файлы:
Speleologist_2.rar, Размер: 186,760 байт, Скачано: 30

Неактивен

0    0    #18
30.07.2009 15:36

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

а я жду свой день рождения, который будет сегодня вечером smile

скачал, но посмотрю не ранее, чем завтра ( а скорее всего- послезавтра)

//и, да- не совсем ясно, в какой момент вставлять в игру авторство (она пока далека от готовности). но на всякий случай лучше уже в следующую версию доработки следует включить упоминание автора(Михаила Баланова) и его оригинальной версии(Speleologist)

Отредактировано noname (30.07.2009 15:41)

Неактивен

0    0    #19
30.07.2009 15:51

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

noname, с Вечером Рожденья тебя! Всего Всего Всего тебе и по 3 экземпляра! smile

Отредактировано ASBer (30.07.2009 17:28)

Неактивен

0    0    #20
02.08.2009 01:43

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

итак, напоминаю, что сделано:

первый шаг: выкладываю 'план игры' - краткую инфу обо всём, что будет в игре

и

второй шаг сделан: запрос библиотек находится в прилагаемом архиве

теперь позволю себе несколько расслабиться и просто заполнить описания локаций, чтобы снова 'погрузиться' в проект

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

---

исправления посмотрел:
1.

ушел_по_направлению.не_пройти = "сплошные каменные стены пещеры не дают тебе пройти {направление.предлог}

в связи с этим вопрос: можно ли в команде

добавить_препятствие(на_юг,"сплошные каменные стены пещеры не дают тебе пройти на юг") //направление и выводимое сообщение

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

2.

this.можно_взять = да //добавил ASBer 30.07.09

да, я у себя эту 'недописку' исправил уже после выкладывания проги

3.

'осмотреть моток верёвки' даёт ошибку

- из всего запроса это осталось последним неясным моментом; надо описать как-то так, что бы 'осмотреть верёвку верёвки' - выдавало бы ошибку, НО 'осмотреть моток верёвки' воспринималось бы нормально // впрочем, если это сложно, то вместо 'моток верёвки' можно сделать просто 'верёвка'

---

Добавил в библиотеку притяжательные местоимения, притяжательные возвратные местоимения и поддержку для притяжательных прилагательных

однако тут возникает некоторая неясность: если я принадлежащую мне фотографию девушки отдал деду, то с точки зрения программы эта фотография теперь моя, девушки или деда? т е боюсь, тут есть поле для игры слов

---

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

---

а так же мелкие дополнения библиотеки, что бы понимались команды:
спустись вниз
поднимись наверх
выложи кирку

Неактивен

0    0    #21
02.08.2009 16:38

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

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

//

ещё момент: некоторый объект(напр: пещера) может быть осмотрен в любой локации. как с этим быть? добавлять и описывать в каждой локации?

более сложный момент: если в некоторой игре ГГ может быть как в пещере так и снаружи, то- появляются объекты(небо, пещера), которые можно осмотреть в половине из существующих локаций

// я даже не знаю, как это делается в других платформах. впрочем, наверное самое простое- описать небо и пещеру один раз, а потом- добавить в необходимые локации; при этом они должны будут иметь тип counting?

UPD:

как же я сразу не понял про притяжателдьные: моток чего? верёвки! т е теперь можно нормально реализовать реакцию на 'моток верёвки'! наверное, не во всех парсерных платформах такое возможно

Отредактировано noname (02.08.2009 17:00)

Неактивен

0    0    #22
02.08.2009 18:39

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

noname написал:

в связи с этим вопрос: можно ли в команде

добавить_препятствие(на_юг,"сплошные каменные стены пещеры не дают тебе пройти на юг")

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

Очень просто:
1 вариант: нужно самостоятельно написать функцию, которая будет добавлять типичные препятствия.
2 вариант: сделать препятствие в виде объекта с соответствующим описанием и везде добавлять его.
3 вариант: для добавления препятствий, неотличимых от стандартного сообщения, использовать вызов библиотечного метода в формате:

добавить_препятствие(на_юг)

(сейчас это работать не будет, но сделаю обязательно)

noname написал:

хорошо бы сделать следующую штуку:
- возьми кирку
- осмотри её

Это можно сделать добавив в каждый предмет дополнительную лексему:

this.местоимение = "%; СиЖрЕчНд; Ип; Ип=она, Рп=её; Дп=ей; Вп=её; Тп=ей; Пп=ней;"

Но в случае если в локации будет несколько предметов одного рода - будет возникать неоднозначность...

noname написал:

некоторый объект(напр: пещера) может быть осмотрен в любой локации. как с этим быть? добавлять и описывать в каждой локации?

С пещерой все просто - лексему задаем в классе, и далее все потомки класса будут отзываться на классовое имя:

class пещера
{ cls = место
   title = "пещер%; ЖрЕчНдСи; Ип; Ип=а; Рп=ы; Дп=е; Вп=у; Тп=ой; Пп=е;"
}

location зал_1
{ cls = пещера
   //...
}
location зал_2
{ cls = пещера
   //...
}
и т.д.

Если в каждой локации должны быть декорации наподобие "потолок", "стены", "трава" то проще всего их сделать объектом категории mental. Тогда они будут как святой дух - сразу везде и нигде конкретно.

noname написал:

если в некоторой игре ГГ может быть как в пещере так и снаружи, то- появляются объекты(небо, пещера), которые можно осмотреть в половине из существующих локаций
// я даже не знаю, как это делается в других платформах. впрочем, наверное самое простое- описать небо и пещеру один раз, а потом- добавить в необходимые локации; при этом они должны будут иметь тип counting?

В этом случае да, counting наверное самое подходящее.

Отредактировано ASBer (02.08.2009 18:43)

Неактивен

0    0    #23
02.08.2009 19:18

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

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

по игре: как допишу вступление и описание локаций, потребуется литературная обработка. после чего можно будет описывать предметы-

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

наличие выходов указываю в тексте описания локаций:

this.описание = "__Здесь река впадает в озеро. Можно идти вдоль реки на север, или в небольшой проход на восток." // можно идти против течения(?) реки на север

- типа того. и, да- я уже говорил, что требуется литературная обработка?

---

несмотря на мою потрясающую лень, работа над игрой продолжается и продвигается :)

Неактивен

0    0    #24
02.08.2009 19:25

ASBer
Модератор (+161, -20)
Откуда: Москва
Зарегистрирован: 19.07.2007
Сообщений: 816
Вебсайт

Эники-Бэники
ели вареники,
а Джоники-Мнемоники
ели психотроники.

Re: Speleologist II

noname написал:

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

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

Неактивен

0    0    #25
02.08.2009 20:17

noname
Участник (+36, -9)
Зарегистрирован: 04.04.2008
Сообщений: 729

noname

Re: Speleologist II

Я бы начал с самого сложного - с действий над предметами типа "открыть", "зажечь", "срубить".

угу. я так сначала и собирался- сделать 'костяк' игры, а потом уже дорабатывать описания и декоративные предметы

ИМХО лишние предметы, не требующиеся для прохождения, лучше не упоминать

опять же- согласен. но всё же в пещере есть озеро, падающие лучи света и прочая. не хотелось бы её обеднять

решил так: приступлю к реализации действий соответственно плану. т е- сделать все необходимые для прохождения предметы и действия

а пока- выкладываю довольно грубые описания локаций(весь модуль caves.tml) для посмотрения и обсуждения- мне лично такие описания не нравятся, но щазз пока что дорабатывать их пока не буду, а займусь тем, что необходимо для прохождения

Код:

//ASBer 30.07.09 - подменим стандартное сообшение из библиотеки Map.tml
ушел_по_направлению.не_пройти = "сплошные каменные стены пещеры не дают тебе пройти {направление.предлог} {направление*Вп}"

location завал
{ cls = место
  title = "завал%; МрЕчНдСи; Ип; Ип=; Рп=а; Дп=у; Вп=; Тп=ом; Пп=е;"
  this.камни = "камн%; МрМчНдСи; Ип; Ип=и; Рп=ей; Дп=ям; Вп=и; Тп=ями; Пп=ях;"
  this.валуны = "валун%; МрМчНдСи; Ип; Ип=ы; Рп=ов; Дп=ам; Вп=ы; Тп=ами; Пп=ах;"
  this.описание = "__Ход на восток завален огромными валунами. Камни слишком тяжелы и их слишком много, что бы разобрать руками. Небольшой взрыв очень помог бы делу. Единственный выход- на запад."
  отметить_на_карте(5,3,1)
}

location зал
{ cls = место
  title = "зал%; МрЕчНдСи; Ип; Ип=; Рп=а; Дп=у; Вп=; Тп=ом; Пп=е;"
  this.описание = "__Узкий луч света прорывается сквозь щель в своде пещеры. Можно видеть только каменное дно и три выхода: на запад, юг и восток." // в своде/куполе/потолке(?) пещеры
  отметить_на_карте(4,3,1)
}

location западный_зал
{ cls = место
  title = "зал%; МрЕчНдСи; Ип; Ип=; Рп=а; Дп=у; Вп=; Тп=ом; Пп=е;"
  this.описание = "__Один из многочисленных залов этой пещеры. Он тянется с востока на запад, и имеет выходы в обе стороны."// мож обойтись без слова 'выходы'?
  отметить_на_карте(3,3,1)
}

location шум_воды
{ cls = место
  title = "зал%; МрЕчНдСи; Ип; Ип=; Рп=а; Дп=у; Вп=; Тп=ом; Пп=е;"
  this.описание = "__Воздух этого зала наполнен водяными брызгами. Отсюда можно выйти на восток и на запад. C запада доносится шум воды." // этого зала/грота/другое ?
  отметить_на_карте(2,3,1)
  добавить_препятствие(на_юг) // указано направление, выводимое сообщение будет стандартным
}

location подземная_река
{ cls = место
  this.описание = "__Из-под каменной стены выходит подземная река и течёт дальше на юг. Нырнуть невозможно: слишком холодно, притом она может не иметь выхода на поверхность. Идти можно на восток и на юг."
  отметить_на_карте(1,3,1)
}

location подземное_озеро
{ cls = место
  this.описание = "__Здесь река впадает в озеро. Можно идти вдоль реки на север, или в небольшой проход на восток." // можно идти против течения(?) реки на север
  отметить_на_карте(1,2,1)
}

location растительность
{ cls = место
  this.описание = "__Сверху, через небольшое отверстие, в пещеру попадает свет. На земле видны засохшие стволы лианы. Выйти можно только на запад."
  отметить_на_карте(2,2,1)
  добавить_препятствие(на_север)//наше препятствие непроходимо в обе стороны
}

location южный_зал
{ cls = место
  this.описание = "__Круглый каменный свод нависает над небольшим лазом, уходящим вниз. Так же есть выход на север."// не нравится мне слово 'выход' в описаниях
  отметить_на_карте(4,2,1)
}

location старая_шахта
{ cls = место
  this.описание = "__Ты в заброшенной шахте. На полу и по углам лежат различные старые вещи. Небольшой лаз позволяет запросто подняться наверх. Так же можно выйти на юг."
  отметить_на_карте(4,2,0)
}

location штольня
{ cls = место
  this.описание = "__Заброшенная штольня. Выхода здесь нет, но можно вернуться на север."  
  отметить_на_карте(4,1,0)
}

title не доделал- сделаю после доработки текста локаций. будем считать, что я достаточно 'окунулся' в проект, и готов к реализации действий

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru