Инди
Alexander Petrov
768

Seeing Red

Анти-анти-хоррор про управление гневом.

В закладки

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

Мысль

Чего мы обычно боимся в хоррорах? Того, что нас, условно говоря, съест Черт.

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

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

Поэтому, чтобы сделать страх более обоснованным, я решил попробовать перевернуть формулу хоррора, причем дважды.

Во-первых, игрок сам становится Чертом. Это довольно часто встречается в играх, правда хоррорами они при этом как правило быть перестают.

Но сделаем еще один переворот. Черт людей есть не совсем хочет. Т.е. части его сознания только давай человечинки, а другая, которой управляет игрок, от этого в ужасе. И вторая пытается первую обуздать. Ну или нет - решать игроку.

Получается, что цена каждого провала - смерть. Но не нас, а кого-то другого. Но смерть.

Реализация

Давно смотрю в сторону HTML/Javascript как платформу для разработки, поэтому решил посмотреть что из готового можно использовать.

В частности, нужны были реализации поиска пути и области видимости. И то и другое обнаружилось в https://ondras.github.io/rot.js - библиотеке для написания roguelike. Подумав, я решил, почему бы действительно не сделать классический roguelike - с псевдографикой и всем таким. Ну и что, что это Indie Jam а не 7DRL. Абстрактная графика может даже помочь привести в гармонию замутненное сознание протагониста и сомнения игрока по поводу того, что каждый символ символизирует.

Попробовал, получилось, причем даже легче и быстрее, чем предполагалось. На все про все, включая написание этого текста вышло три дня.

Получился вполне себе stealth horror, хотя, конечно, и в минимальной конфигурации. Но искомая механика присутствует.

Как играть

Игра в жанре классического roguelike. Т.е. походовая. Если Вы не движетесь то время стоит. Да, примерно как в superhot.

Цель - собрать цветы и (спойлер) положить их на могилку. При этом убив как можно меньше народу. Не убивать сложно, так как при виде "врага" или при наступании на его след ("запах") у Вас растет шкала гнева. Чем выше гнев, тем больше вероятность, что персонаж выйдет из под контроля игрока и бросится в сторону ближайшего NPC с целью разорвать. Гнев падает постепенно, особенно при любовании несорванным цветочком.

Сюжет

They Look Like Monsters To You?

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

По мере сбора цветочков мы вспоминаем (в виде текстовых вставок - пока не реализовано), как с этой девушкой познакомились. И в процессе этих воспоминаний постепенно понимаем, что это за монстры и почему цветов нужно четное число.

Игра заканчивается разговором с девушкой (plot twist - воображаемым) и пониманием, на какой стадии принятия протагонист находится.

Дальнейшие планы

Самому хотелось бы знать, если честно. В рамках джема - реализация сюжета, как в виде текста, так и в виде механик.

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

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

Итого

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

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Alexander Petrov", "author_type": "self", "tags": ["\u0438\u043d\u0434\u0438\u0434\u0436\u0435\u043c"], "comments": 12, "likes": 16, "favorites": 11, "is_advertisement": false, "subsite_label": "indie", "id": 55074, "is_wide": false, "is_ugc": true, "date": "Wed, 19 Jun 2019 02:22:45 +0300", "is_special": false }
0
{ "id": 55074, "author_id": 26457, "diff_limit": 1000, "urls": {"diff":"\/comments\/55074\/get","add":"\/comments\/55074\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/55074"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64960, "last_count_and_date": null }
12 комментариев
Популярные
По порядку
Написать комментарий...
4

Чего мы обычно боимся в хоррорах? Того, что нас съест Черт

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

Ответить
0

Насчет страха - согласен, это я и имел в виду под "нагнести атмосферу". Ожидание опасности, саспенс - это, действительнон, основа хоррора, но и сама опасность должна для этого существовать.

А насчет дерганной камеры - это классический roguelike, он походовый.

Добавил в статью про "как играть", это действительно менее очевидно, чем мне казалось. Увы, это для меня постоянная проблема.

Ответить
3

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

Ответить
0

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

Ответить
2

Спасибо, всё понравилось. Сожрал всех, приятно провел время.

Ответить
1

Тоже вариант :)

Ответить
2

Довольно интересный концепт. Хочется увидеть его дальнейшее развитие.

Ответить
1

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

Ответить
1

Я примерно в том же направлении мыслю. А вот про опцию "стоять на месте" и возможность навесить на нее функционал я совсем забыл, спасибо, что напомнил.

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

Ответить
1

какая интересная идея. очень надеюсь дождаться финала.

Ответить
0

Насчет страха - согласен, это я и имел в виду под "нагнести атмосферу".
А насчет дерганной камеры - это классический roguelike, он походовый.

Ответить
0

Не туда ответ написал

Ответить

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovz", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "chvjx", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "chfbl", "p2": "gnwc" } } } ]