Немного о технической идеологии Instead

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


Скриншот из прекрасной детективной игры «Миссия Турист», очень рекомендую.

Сверху название локации, заодно оно же «осмотреться».
Здесь обычно картинка, но в данной локации её нет.
Дальше список ways. Здесь находятся только ссылки на другие локации.
Описание этой локации.
Последний абзац самый интересный. Тут объекты с которыми ты можешь взаимодействовать в этой локации. Ни одна из этих ссылок не должны вести в другое место (хотя так можно сделать, но не надо). В зависимости от задумки автора эти объекты можно подбирать, класть обратно, воздействовать на них другими предметами, говорить и прочее. Например можно сделать так, что с НПС сначала можно поговорить, а потом хлопнуть его молотком по голове (не бойтесь мальчику из «Миссии Туриста» ничего не угрожает). Без использования чего-то дополнительного, просто прописать еще одну реакцию использования одного объекта на другой.

В итоге пройдя одну классическую Instead-игру, игрок сразу понимает что, как и где. Это классический Instead-подход.


Хотел вставить изображение из прекрасной игры (тоже очень рекомендую) «Тень над Риверкроссом», но в репозитории очень непоказательный скрин. Пусть будет «Древний Кинжал». Использовал этот скриншот из под урко-Instead, т.к. в урко-каталоге скринов вообще нет, лол.

Описание локации и дальше все в бесформенную кучу.

«Выйти из дома» на Instead ушло бы в пути.
«Начать ремонт» — вообще бессмысленная штука, что значит начать ремонт? На Instead это стало бы объектом типа «пол покрыт старым паркетом», при клике на котором тебя посылали бы за инструментами например. А после при применении какого-то инструмента из инвентаря уже получалась бы какая-то реакция.
«Перекусить» стало бы объектом яблоко на столе например. Которое можно взять и съесть.
Трубка стала бы трубкой в инвентаре, можно заодно и табаком со спичками.
«Сходить в гости» — еще одна бессмысленная штука. Может из дома сначала выйти?

Самое смешное, что из этих пяти CYOA вариантов действий в примере, к какому-то эффекту приводит только один. Остальные ведут на две строчки текста и кнопку «назад». Идеальный геймплей! И это весьма типичный пример для урк-игр. На других платформах все еще хуже.

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

Ладно, закругляюсь.
Авторы, если вы пишите достаточно открытый мир с кучей объектов, с которыми можно по разному взаимодействовать, пишите под Instead.
Авторы, если вам явно хочется указывать игроку что ему делать, вести по рельсам игры, делать ремонт или идти в гости, вам не нужны такие фичи Instead как отдельно показываемые пути (ways), вы не используете реакции объектов друг на друга, вы валите в кучу действия с объектами и перемещения между локациями, то не пишите под Instead.
И никогда не спрашивайте, чем же этот Instead лучше. Если вы не видите разницы, значит для вас её нет.

ЗЫ: Все что выше — мое личное мнение и в первую очеред предназначено авторам пишущим на Instead. Не надо урко, ахмо и т.д. подобных игр на Instead. В уркоигры я и через модуль поиграю.

25 комментариев

spline
Вот сколько раз это всё надо повторить, чтобы авторы не брали в руки xact и не лепили аки Франкенштейн монстра с мешаниной ссылок вместо интерфейса? Почему на информе не пишут в стиле урк?
lukyuk
Использовать xact можно и во благо. Я, например, нашёл что в некоторых случаях он мегаудобен и мешанины нет.
Irremann
Я иногда использую xact, каюсь. Но только в тех случаях, когда никакого интерактива с этой штукой вообще не планируется, надпись там на стене или что-то такое.
spline
Просто xact что-то ломает в голове начинающих авторов и они приходят к его неуёмному импользованию. Я бы документацию от этого модуля выдавал людям, написавшим хотя бы одну игру без xact =)
lukyuk
Толково объясняешь, Irremann. Но более наглядным был бы ремейк какой-нибудь CYOA, сделанный в Instead-стиле. Ну, чтобы можно было сыграть в ремейк и в оригинал.
Oreolek
В итоге пройдя одну классическую Instead-игру, игрок сразу понимает что, как и где. Это классический Instead-подход.
Позвольте не согласиться.

Инстед настолько разнообразен, что в нём внутри есть много разных видов интерфейса. Здесь и далее я рассматриваю игры только без модулей proxymenu, metaparser, vn и других, которые дают заметное отличие интерфейса вашей игры от обучающей игры INSTEAD.

Даже в рамках «классического» стиля возможно несколько трактовок одних и тех же объектов и действий. Например, можно понять одиночный щелчок не только как «осмотреть», а сразу как «применить». Можно трактовать его даже как глагол «лизнуть», если вы знакомы с proxymenu и парсерами.

Яркий пример: первый скриншот в этой теме. Если кликнуть на ссылку «вывеска», то персонаж осмотрит вывеску. Если кликнуть на ссылку «фонтан», то персонаж осмотрит фонтан и заметит объявление на нём. Если кликнуть на ссылку «мальчик», то персонаж подойдёт к мальчику и начнёт диалог (что, по технической сути, уже новая локация).

Это не имеет смысла в контексте интерфейса. Если вместо мальчика будет сидеть "флюфнаф", а вместо фонтана — "фнафлюф", то даже подготовленный человек, который прошёл не одну игру на инстеде, не сможет понять заранее, что первая ссылка телепортирует его в диалог с NPC, а вторая — выводит абзац текста и добавляет новую ссылку в описание комнаты. Они неразличимы визуально.

Таким образом, я не понимаю придирки ко второму скриншоту, на котором представлена та же самая проблема интерфейса:

Действия, которые меняют состояние мира, неотличимы от описательных.

Авторы, на какой бы платформе вы ни писали — думайте об интерфейсе игры. Платформа за вас думать не станет.
Peter
переход в диалог не подразумевает переход в другое «место». все же подразумевается, что ты остаешься в том же месте, просто говоришь с персонажем. даже в движке есть различие в переходе в другую комнату и заходом в другой контейнер внутри той же комнаты. зайти в собачью будку, находящуюся внутри двора — это не то же самое, что перейти из комнаты в комнату. даже зайдя в будку, ты остаешься во дворе. ну и диалог — тоже отдельный случай.

конечно, под кликом мб разное скрыто, но в целом это соответствует изучению/взаимодейтсвию в текущей локации. понимая локацию как место.

вообще, локация в cyoa и в instead по смыслу даже разные вещи. в инстеде это прежде всего место. в cyoa — пбзацы текста. любые. это мб и действием и описанием ситуации, и так далее.
Oreolek
Переход в диалог очищает экран, убирает ссылки-переходы в другие локации, то есть — резко меняет интерфейс. Да, в игре ничего не меняется, но визуально это мало чем отличается от телепорта в другую локацию, то есть, уже что-то в районе xact.

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

Вообще, локацию в инстеде можно рассматривать и как абзац текста с прикреплёнными к нему свойствами и действиями. Я сейчас о визуальной части, об интерфейсе, а не технической.
Irremann
Инстед как минимум разделяет переходы в другие локации и все остальное. На практике этого оказалось достаточно. Потому что самое неприятное — это как раз не знать какая из ссылок уводит из этой локации.
Peter
отличается тем, что игрок знает, что он остался в той же комнате и после диалога он вернется назад, а не заблудится неведомо где. :)
Peter
насчет различий действий и описаний, в моей невышедшей игре есть такой механизм. действие и осмотр разделены. опять же, особняк. опять же игры на меню(порты с zx). но надо понимать, что это все просто движение в сторону более развитой системы глаголов, а изначальная идея — именно такое простое примитивное деление на: действия, воздействия и переходы — уже делает свое дело.
Oreolek
Ну в принципе да, но я хочу показать две вещи:

1. INSTEAD-подход визуально не настолько принципиально отличается от urq-меню, чтобы приводить скриншоты и ругать по ним второй способ, превознося первый. По фичам, по возможным действиям в игре — да, было бы интересно сравнить, а вот с интерфейсом работает не только платформа, но и автор, у которого какие-то свои цели. Идея «перевести всё (всех) на инстед» требует вороха оговорок, и их надо знать. Потому что такие сравнения можно сделать со всеми другими платформами, и они должны быть корректными.

В статье по фичам сравнения почти нет, а интерфейс Irremann ругает зря.

2. Чтобы игрок сразу понял что, как и где, нужно постараться самому автору. Даже «Погружение в INSTEAD» даёт очень общее представление об интерфейсе и геймплее инстед игр, а с дополнительными модулями геймплей вообще меняется.

Интерфейс и обучалка — это важно. Если вы серьёзно не думаете, что для того, чтобы играть в вашу игру, новичок должен скачать и установить инстед, скачать и установить вашу игру, а потом пройти другую игру-погружение на десять минут, делайте обучающую локацию прямо в своей игре. Где сразу покажете, как работают ссылки, инвентарь и действия. Или хотя бы какую-нибудь заставку-справку с текстом.
spline
Я бы не сказал, что зря. Параграфы подталкивают автора на неуправляемое поведение протагониста. То есть игрок не управляет героем, а всего лишь выбирает по какому пути тот пойдёт. Я не говорю, что все CYOA-игры такие, но таких большинство. А ещё в руках неумелого автора зачастую теряется предсказуемость развития событий.

Речь вообще шла о том, что инстед он изначально про моделирование мира. И писать на нём маловразумительный интерфейс с кучкой ссылок, размазанных по тексту без предсказуемой реакции на них или разделения по смыслу, можно, но не нужно. Ибо в нём уже частично решена проблема непредсказуемых реакций. Хотя бы и отделением переходов.

Тут недавно в инстедоконфе было утверждение, мол AXMA тоже изначально предназначалась для моделирования, например. Но я почитал документацию и увидел ворох параграфов и отдельный модуль для инвентаря. При этом интерфейс полностью отдаётся на откуп автору. С вполне предсказуемым итогом (мы ведь все пробовали играть в аксма-игры).
Irremann
Убрал половину под кат. Не думал что статья вылезет на глагне сайта.
fireton
А может автор не будет брать старые урк игры и обсирать их? И писать, что «это весьма типичный пример для урк-игр».

Оценивать современные урк-игры по инвалидному инстед порту, это даже хуже, чем «Рабинович напел».
Irremann
А разве что-то изменилось в подходе авторов? Тот же самый CYOA:

Вообще пост совсем не про урк и жаль что ты этого не понял, просто кроме инстеда я больше всего урк-игр переиграл. В ахму мне играть просто лень и не с поделками на аперо же сравнивать? А так тут скорее про подход авторов к игроку.

А насчет инвалидного порта помолчал бы. Где твой клиент в андроид-маркете? Где твой клиент в репозиториях хотя бы убунты? Инвалидный порт уже расширяет аудиторию урк-игр в несколько раз.
fireton
Инвалидный он не потому, что в репозитариях убунты (сомнительное достижение, как по мне). А потому, что может проиграть только примитивные урк-игры. А нормальные — не может.

И да, в гробу я видал такое «расширение аудитории». Это антиреклама, а не расширение аудитории.
Irremann
Пока не может потому что пока не нашлось человека, которому будет немного не лень разбирать ваш странный и не для людей писанный URQL кажется? Чисто техническая проблема, не концептуальная.
Люди могут поиграть в досурковские игры, которые под твоим клиентом вообще не работают, антиреклама да.
fireton
Ты порешь чушь. Досурковские игры идут под фуркой почти все.

А не для людей писаный — это ваш инстед. Непрограммер там ногу сломит, а программеру в нём тесно.
Irremann
Вообще ты какой-то агрессивный. И так ничего и не понял. Ждем прекрасную фурку, на которой все красиво, в андроид маркете.

А до тех пор поиграю пока в прекрасную детективную игру «Тень над Риверкроссом» в модуле урка под инстед на смартфоне под андроидом лежа на диване в доме который…
fireton
Мсье знает толк в извращениях.
Irremann
Играть в текстовые игры на 100кб за десктопом, используя при этом менее сотой его мощности и малую часть экрана, еще смешнее. Да и на диване удобнее.
Ajenta
Можно и на лаптопе играть, и на нетбуке. И на планшете под вин10, наверное. И да, тоже лёжа, где удобно. :)
fireton
Я так понимаю, что при работе в текстовом редакторе на десктопе ты просто писаешься от смеха.
Irremann
Не увиливай. Игроки ждут от тебя, уже очень давно причем, клиента под андроид. С автосейвом на выходе и автозагрузкой на входе в приложение. С закачиванием игр из урк-каталога прямо из приложения.
Тыжпрограммист, запили. Все равно последний год ничего не делаешь, только фичи на мороз выкидываешь.
Ну или поучаствуй в разработке urq-модуля уже, для поддержки современных фурко-игр, можно даже без оформления.