Разработка интерактивной литературы, статьи, мастер-классы, метафизика ИЛ.
  • Дата создания
    23 февраля 2015
  • Топиков
    64
  • Ограничение на постинг
    0.000

Живой диалог с NPC. Чат или меню?

Когда я только начинал делать парсерные игры, ответ был для меня очевиден — ну конечно же чат с NPC! Ограниченное меню с вариантами меня тогда вообще не интересовало. Подождите-ка, а ведь в парсерных играх уже используется ASK-TELL система, вида: “спросить Машку про Дашку”, “рассказать Машке про Наташку”. Может не стоит изобретать велосипед? Решил попробовать эту систему в игре “Рыбак-рыбака”. Там был диалог с рыбаком в лодке. Не знаю как другие, но я не мог никак догадаться, о чем можно было его спросить и рассказать. Большинство попыток заканчивались провалом, так и не смог пройти это место, пока не увидел исходники и ключевые слова. Когда в других играх видел подобную систему, то практически сразу расстраивался — не хочу в новой игре таких сложностей! Всё-таки надо чатик делать. Будет красивый диалог, если что робот сам подскажет о чем беседовать и получиться легче. Немного покумекав, понял, что этого нужен чат-бот. Кое-как скрестив с одним из плееров, удалось связать чат-бота с моделью парсерного мира, игра вышла в свет.
Читать дальше

Идеальный парсер на сенсоре

Думаю, многие со мной согласятся, что богатый внутренний мир парсерной игрушки разбивается о скалы обычного сенсорного интерфейса. К выводу претензий нет — приклеенная сверху полоска с текущей локацией и сплошной текст, всё как на взрослых компах. А вот с вводом — беда. Маленькие кнопочки, печать голосом, даже автоматическое исправление не помогает. Что же делать? Поставить крест и забыть про парсер на смартфоне или планшете? Я так не считаю. Хочу поделиться концепцией, которую можно применить в таком мобильном плеере, как Fabularium.

Читать дальше

Реализация НПС в Instead

Эта заметка предназначена начинающим авторам на Instead.

Во всех квестах конечно есть НПС с которыми можно общаться, получать задания и т.д. Исторически разработчики не заморачивались разнообразием реплик НПС-болванчиков. Один и тот же диалог запускался при каждом обращении. Я лично считаю это вполне нормальным поведением и данью классическим квестам и рпг, но некоторые считают иначе и ниже я приведу пару способов разнообразить поведение НПС.

Обычно НПС выглядит как-то так:
obj {
	nam = 'Трактирщик';
	dsc = 'За барной стойкой {трактирщик} протирает стаканы ветхим полотенцем.';
	act = function()
		walk 'Разговор с трактирщиком';
	end;
};
Читать дальше

Начало разработки игры «Комбикорм-2»

Я не знаю, как у других авторов начинается создание игры, у меня оно начинается с того ощущения, которое будет испытывать игрок во время прохождения. На самом деле у игры был графический прототип – это серия игр «коммандос».
Мне хотелось перенести и дополнить тот игровой опыт, который давала тактическая 2D стратегия в другом сеттинге и со своей историей. Есть замечательная книга, называется «Искусство геймдизайна», в которой изложены все принципы создания игры, я руководствовался ей при создании. Ниже представлено изображение четырёх составляющих (элементарной тетрады) и дополнено ядром – игровым опытом, который создают все четыре составляющие при участии игрока.

Читать дальше

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

У меня всегда была мечта: набираешь текст в документе, а он волшебным образом превращается в игру. В реальности всё по-другому. Когда ты захотел написать игру, то берешь любимый движок и начинаешь творить. Точнее, разрабатывать. Пишешь кроме сюжета еще и код, запускаешь, отлаживаешь. Пока игра небольшая можно легко менять текст в описаниях, отслеживать условия и быстро находить ошибки. К сожалению, при увеличении размеров игры начинаются проблемы. Надо добавлять всё больше логики, к тому же логика начинает переплетаться с текстом для отображения, в тексте встречаются html-теги и т.п. Сложность не позволяет увидеть картину целиком и теряется ощущения контроля. Затем, вы захотите дать кому-то вычитать ваш текст. В это время приходит тоска, потому что приходиться давать либо лог прохождения, либо исполняемый файл и бета-ридер превращается в тестировщика.
Читать дальше

Заповеди от Серого Волка

Настолько прекрасно, что решил утащить =). А так как скоро КРИЛь, то актуально вдвойне.

ЗАПОВЕДЬ 1. Как можно чаще употреблять в текстах местоимения «ты» и «вы».
Старайтесь даже, что бы их было по несколько штук в каждом предложении.

ЗАПОВЕДЬ 2. При первом же удобном случае вставляйте кнопку «Дальше».
Ни в коем случае не подбирайте своих, подходящих по сюжету, словосочетаний для такой кнопки.

ЗАПОВЕДЬ 3. Завязкой вашего квеста обязательно должна быть пропавшая экспедиция на малоизученной планете.
Экспедицию нужно будет отыскать, по возможности спасти, на крайняк — узнать о её горькой судьбе.

ЗАПОВЕДЬ 4. Никогда не делайте необязательных ответвлений сюжетной линии.
Квест должен быть строго прямолинеен, малейшие нюансы и вариации сбивают игроков. Помните: нелинейность — зло.

ЗАПОВЕДЬ 5. При малейшей возможности убивайте ГГ.
Любыми способами. Как можно чаще. Без предупреждения.

ЗАПОВЕДЬ 6. Никогда не давайте детальных описаний локаций, героев и сцен.
Помните, мир игры создают детали, но вам они не нужны.
«Вы в лабиринте. Выходы все. Налево или направо?»© Этого достаточно.

ЗАПОВЕДЬ 7. В игре не должно быть пазлов. Это же, все-таки, квесты.
Максимум, что вы можете себе позволить — вставить зубодробительные математические задачи, не имеющие отношения к сюжету квеста.

ЗАПОВЕДЬ 8. В коде игры уделяйте достойное место рандому.
Желательно, чтобы все ключевые сцены решал слепой жребий.

ЗАПОВЕДЬ 9. Не нужно заботиться о финале игры, стараться как то поразить им игрока.
Концовка должна быть. И все, хватит с неё. Совсем хорошо, если она наступает внезапно.

ЗАПОВЕДЬ 10. Ни в коем случае не тестируйте свой квест, перед тем как выложить его в общий доступ. А уж слова «бета-тестирование» вообще остерегайтесь как огня.
Баги, тупики, нелогичности и прочие казусы могут быть у кого угодно, но только не у вас.

ЗАПОВЕДЬ 11. Даже не вздумайте перечитывать уже написанное.
Проверка правописания, правка стилистики, вычитка текстов — все это для непрофессионалов.

ЗАПОВЕДЬ 12. Не выкладывайте релизы игр, игроки их ненавидят.
Никому не нужна законченная игра, все любят демо-версии, недописанные игры, завязки, недоделки и другие подобные вкусности.

ЗАПОВЕДЬ 13. Выучите эти заповеди.
А лучше распечатайте, повесьте над столом и никогда ими не пользуйтесь.

Ссылка на оригинал.

Быстрый движок на C# в Fluent-стиле

Чисто ради любопытства за пару часов накидал рыбу парсерного (можно и менюшного) движка, позволяющего писать игры на C# в Fluent-стиле (это последовательность вызовов методов, смотрите пример кода ниже).
Выглядит самый простенький пример так:
Игра.Новая()
	.Имя("Пробная игра")
	.Локации()
		.Локация("Пещера", "Холодная и мрачная пещера")
		.Локация("Поляна", "Светлая и приветливая полянка")
	.КонецЛокаций()
	.Настройки()
		.НачатьВЛокации("Пещера")
	.КонецНастроек()
.ЗавершитьСоздание()
.ЗапуститьИгру();
Читать дальше

Интерактивные аудиокниги: перезагрузка

Привет всем!
В эти холодные зимние дни мне вспомнился топик DoubleDragon 'а, написанный далеким (уже) летом 2015 г., и последовавшей за ним череды статей на тему интерактивных аудиокниг (ИА).
Читать дальше

Генерируем случайные острова на Instead

Решил наваять карту по которой будет бродить герой новой игры. Крупный такой остров например. Но на одной и той же карте конечно скучно будет бродить, надо сгенерировать песочницу же. Взял и сделал.

Пётр сказал что видит тут зайца.
Читать дальше

Семинар: интересные библиотеки, подходы, решения, связанные с языком Lua.

Предисловіе: давеча вашъ покорный слуга оказался свидѣтелемъ наинтереснѣйшей бесѣды въ салонѣ instead@conference.jabber.ru и съ позволенія участниковъ импровизированнаго семинара я публикую свои конспекты здѣсь для просвѣщенія любознательныхъ господъ.


Петр Косых: есть что рассказать? давай!

true-grue: Да, я, пожалуй, начну. Сегодня я хочу рассказать о 3 интересных вещах, связанных с Lua. Эти вещи заставили меня иначе взглянуть на язык, отнестись к нему более серьезно.
Читать дальше