ТОМ2 - платформа для парсерных игр

Объявление

Открыт сайт tom2-game.ru.


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

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Обновления стандартной библиотеки

Сообщений 1 страница 10 из 10

1

Обновлена стандартная библиотека до текущей версии.
Добавлен модуль, обрабатывающий команду "поговори с ...".

2

Обновлена стандартная библиотека.
Ничего нового не добавилось, но изменений много.
Доработаны некоторые недоделки и приглажены корявости.

3

Обновил стандартную библиотеку до текущей версии платформы.

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

4

Отлично! Как появится время, обязательно посмотрю.

5

Как прятать предметы

фрагмент кода из main.tml:

Код:
counting сюрприз //находится по умолчанию
{ cls = предмет
  можно_взять = да
}
class спрятанное
{ cls = предмет
  описание = "{actor} {нашел*actor} {this*Вп}!"
  предмет_по_месту = "" //упоминается в описании локации или того места где спрятано
  this.находка = сюрприз //должен быть указан найденный объект
  this.сколько_найдено(){ return 1 } //по умолчанию находим 1 предмет
  осмотрено() //осмотрено==найдено
  { //при осмотре подменяем объект-заглушку объектом-находкой
    pos + находка * сколько_найдено()
    pos - this
    находка.найдено() //событие срабатывает при обнаружении вещи
  }
}

1. Вне локации создаём объект, который игрок должен найти.
2. В локации или в контейнере создаём объект класса "спрятанное". Свойство "находка" приравниваем объекту из п.1
3. Объекту класса "спрятанное" назначаем лексему, по которой игрок сможет осмотреть спрятанный объект.
4. Где либо в описании даём намёк на спрятанный объект.

Как это работает:
Спрятанный объект не отражается в описаниях и никак себя не проявляет. Автор должен дать намёк игроку на спрятанный предмет.

Стены комнаты сложены из грубого камня, в углу свален мусор, видимо здесь давно не убирали.
>осм мусор
Ты нашёл огромный рубин!

При осмотре объект-приманка подменяется на реальный.
Для найденного объекта вызывается метод найдено(), в котором можно прописать дополнительные и побочные следствия находки предмета.

6

Писать игры на сырой библиотеке - это нечто  :crazy:
Пока получается что я больше библиотеку доделываю чем игру пишу :D
Следующим этапом разобрался с дверьми. Делать двойные связанные двери между локациями муторно и противоестественно. Решение - делать двери счётной категории. Тогда одна и та-же дверь может находиться в двух локациях одновременно  ^^

7

ASBer написал(а):

Пока получается что я больше библиотеку доделываю чем игру пишу

Дак это же хорошо! Пара-тройка игр и библиотека будет похожа на библиотеку. :D

ASBer написал(а):

При осмотре объект-приманка подменяется на реальный.

Очень полезный класс! Помнится, как я мучился с подменой описания предмет_по_месту у объекта после первого осмотра. Такого наворотил! :insane:

ASBer написал(а):

Решение - делать двери счётной категории.

А почему не мыслимое? Мне как-то больше нравится категория мыслимых. Или есть какой-то подвох?

8

Alexandr написал(а):
ASBer написал(а):

Решение - делать двери счётной категории.

А почему не мыслимое? Мне как-то больше нравится категория мыслимых. Или есть какой-то подвох?

Подвоха на первый взгляд не вижу - нужно проверять.
Двери - они всё-же материальны... но это и правда дело вкуса. Попробую сделать рабочими оба варианта.

9

ASBer написал(а):
Alexandr написал(а):
ASBer написал(а):

Решение - делать двери счётной категории.

А почему не мыслимое? Мне как-то больше нравится категория мыслимых. Или есть какой-то подвох?

Подвоха на первый взгляд не вижу - нужно проверять.

Проверил, мыслимое не получится. Парсер имеет привычку подставлять мыслимые объекты в локальные @переменные шаблонов действий.
Т.е. мыслимые объекты как-бы присутствуют во всех локациях сразу. Понятно что для дверей это не подходит...

10

Обновил стандартную библиотеку.
Работу с дверьми можно посмотреть в хижине старика.