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
27.07.2009 16:02

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

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

Re: Speleologist II

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

Неактивен

0    0    #4
27.07.2009 16:40

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

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

Re: Speleologist II

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

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

Неактивен

0    0    #5
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    #6
27.07.2009 17:06

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

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

Re: Speleologist II

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

Неактивен

0    0    #7
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    #8
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    #9
28.07.2009 13:06

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

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

Re: Speleologist II

noname написал:

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

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

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

   //и т.п. ...

}

Неактивен

0    0    #10
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    #11
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    #12
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    #13
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    #14
02.08.2009 19:25

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

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

Re: Speleologist II

noname написал:

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

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

Неактивен

0    0    #15
13.08.2009 21:01

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

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

Re: Speleologist II

noname написал:

команда выложить/положить/бросить почему-то не работает. она вообще есть в библиотеке?

> инв
У тебя есть карманный фонарик спелеолога, спички, моток верёвки и нож.

> брось фонарик
Ты положил фонарик.

> возьми его
Ты взял карманный фонарик спелеолога из зала.

> положи фонарик
Ты положил фонарик.

> возьми его
Ты взял карманный фонарик спелеолога из зала.

> выложи фонарик
Ты положил фонарик.

Это с версией ТОМ 0.9.2.3 и библиотекой, которая лежит на Вике.

noname написал:

у меня вроде бы последняя версия библиотеки, НО не последняя версия ТОМ

Попробуй взять с вики последнюю версию...

Неактивен

0    0    #16
23.08.2009 19:45

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

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

Re: Speleologist II

noname написал:

совершенно не против, если ты будешь дорабатывать спелеолога

Добавил пару действий - разборку/открытие фонарика и поджигание/зажигание всего что ни попадя.

noname написал:

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

Я для сравнения/объединения тестовых файлов пользую WinMerge - рекомендую smile

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

Неактивен

0    0    #17
24.08.2009 08:05

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

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

Re: Speleologist II

Cheshire, Спасибо! исправлю smile

//

Не знаю как остальным, но лично мне претит фамильярное "тыканье" игры. Плюс, при обращении на Вы автоматически решается проблема пола игрока. Все, естественно, ИМХО.

тут возможны варианты:

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

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

3. Если в начале игры запрашивается имя игрока (именно игрока, а не его персонажа!) то это подразумевает что сам игрок переносится в игру, и тогда обращение на Вы вполне уместно. Но тогда можно сразу же запросить пол игрока, а также какое обращение желательно - на ты или на Вы. Также можно спросить любит ли игрок шоколадные конфеты - если это может повлиять на развитие сюжета игры.

Если я ошибаюсь, пожалуйста, поправьте меня... smile

Отредактировано ASBer (24.08.2009 10:00)

Неактивен

0    0    #18
02.09.2009 21:24

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

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

Re: Speleologist II

Добавил наименования для всех локаций, добавил действие привязать/связать и прописал поведение связанных предметов.

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

Неактивен

0    0    #19
04.09.2009 16:09

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

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

Re: Speleologist II

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

noname, ты еще тут?

Любым пожеланиям, предложения, замечаниям, найденным багам буду рад! пишите, присылайте логи...  smile

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

Неактивен

0    0    #20
08.09.2009 13:33

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

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

Re: Speleologist II

Плюс к тому что нужно:
- написать хелп для игры (файл tom_help.txt)

Неактивен

0    0    #21
09.09.2009 14:42

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

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

Re: Speleologist II

Сейчас это работает так:

 спойлер…

Откатов нет и не будет...
Предпологается что игрок делает сохранения.

Неактивен

0    0    #22
09.09.2009 19:57

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

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

Re: Speleologist II

В 1936 г. к немецкому исследователю Вильгельму Кенигу, который работал в Археологическом музее столицы Ирака Багдаде, попал странный предмет. Его нашли среди руин древнего парфянского поселения неподалёку от Багдада. (Парфяне властвовали здесь, на территории древней Месопотами, в 250 г. до н.э. - 224 н.э.) Это была невзрачная глиняная ваза высотой примерно 15 см. В ней находился цилиндр из листовой меди со вставленным в него проржавевшим железным стержнем. Все эти детали были залиты смолой, склеивавшей их, - в той местности существовали месторождения асфальта. Кениг обследовал странный предмет и внезапно понял, что же попало ему в руки. Это были остатки электрической батарейки!

в древних батарейках смола была...

Неактивен

0    0    #23
10.09.2009 10:26

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

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

Re: Speleologist II

Nex написал:

В батарейках бывает смола?

Смола из батареки была в диздоке nonamе. Туда она попала из оригинальной игры "Спелеолог".
Соглашусь с Nex - для игрока загадка с разборкой фонарика и ковырянием батарейки с целью извлечения текучей!!! и горючей!!! смолы более чем странна.

 спойлер…

nonamе, согласен?

Неактивен

0    0    #24
10.09.2009 15:49

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

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

Re: Speleologist II

Добавил динамически изменяющиеся описания для верёвки, лианы и динамита (но пока еще не все).
Добавил темноту в шахту. Лампы пока нет, светить можно фонариком.
Исправил несколько мелких ошибок.

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

Неактивен

0    0    #25
29.10.2009 19:41

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

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

Re: Speleologist II

Через день-два будет готова версия для бета-тестеров.
Если успеем оттестить и привести в божеский вид - выставлю на КРИЛ.
У кого есть желание принять участие в закрытом бета-тестировании, прошу писать в личку, почту или прямо тут.

noname, ты как? найдешь время?

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru