Инди
ASH2
1653

Knock Harder: Useless. Проблемы с человеческим восприятием

В закладки
Аудио

Идея этой игры пришла примерно 3,5 года назад.

«Что если попробовать как-то игрофицировать многоуровневый сон? » — думал я — «Это ж должно быть достаточно весело ходить, думать: проснулся персонаж или ещё нет. Это ж довольно частый сюжет в фильмах и играх, но никогда нам на дают решать самому, ведя за ручку по сюжету. Надо это исправить. Будет интересно.»

За ночь были накиданы основные правила, которые позволят большую часть решений отдать на откуп игроку. Ключевое значение тут играли 2 вещи: самоубийство и таймер. С помощью них решено было сформировать условные «Да»/«Нет», которыми игрок будет взаимодействовать с игрой.

Игрок считает, что вокруг ещё сон? Единственный способ проснуться — умереть! Если ошибся и убил себя в реальности — геймовер.

Игрок считает, что вокруг уже реальность? Тогда надо дожить до конца таймера! Ошибся и дожил до конца таймера во сне — геймовер.

В целом, концепция представлялась простой: есть одна локация, по которой бегает игрок, я эту локацию как-то немножко ломаю а игрок должен искать что я сломал. И пусть ещё попутно от всяких зомбаков отстреливается, чтобы на расслабоне не бегать!

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

К счастью, работать над игрой мне самому нравилось и воротить от проекта меня начало только на третий год. Код, наслаивавшийся друг на друга из-за кучи правок, начал превращаться в «Дженгу». Стало очень страшно удалить даже переменную, которую редактор помечает как точно нигде не использующуюся.

​Удалим-ка "bActive"

Стоит ли писать эдакий «отчёт» за прошедшие годы и описывать как видоизменялась игра? Не уверен.

Но так как недавно вышла только эдакая демо-версия игры (доступен только лёгкий уровень сложности), пусть это будет «демо-версия» отчёта. Например, то, как изменилась игра почти в последний день перед релизом.

Я думаю, это прекрасно проиллюстрирует проблемы, с которыми постоянно приходилось сталкиваться, что частично и привело код к состоянию «Дженги».

Дело в том, что самой концепцией игры я залез на достаточно скользкую дорожку: отдавать игроку на откуп то, что он сам, со своими тараканами в голове, может посчитать «странным», а мне оставлять все шишки, так как «Какого хрена я умер».

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

Началось…

Итак, что было замечено за пару дней до релиза:

Дело в том, что в игре есть «фотографии» и раньше они были не прорисованы, персонаж просто описывал репликой, что было на них.

Старая версия​

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

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

Пусть он тоже может быть потенциальным мужем! Сказано - сделано:

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

Исправляем.

Что ж, надо срочно править. Если вы ищете связь, которой нет - мы её вам сделаем :). В первую очередь, была изменена генерация. Раньше расположение картин выбиралось автоматически в первый запуск игры. Теперь нужно было, чтобы портрет точно спавнился в открытой на лёгкой сложности зоне.

В игре на лёгкой сложности так же есть записка, которая содержит рандомную информацию. Запихаем туда несколько текстов с ЯВНЫМ указанием "кто именно на портрете" и подкрутим рандом так, чтобы они выпадали почаще. Таким образом, поскольку мы создали логическую связь, можно сыграть на её "разрушении" и сделать это новым признаком сна! Круто.

Например, скажем, что на портрете учёный, который жил пол-века назад, тогда на фотографии он не может быть с хозяйкой дома... Стоп... Блин! А с чего мы вообще решили, что на фотографии хозяйка дома? Может, это тоже фотографии полувековой давности. Да, люди не часто хранят у себя в спальне рамки с чужими фотками, но МАЛО ЛИ!

Тааак... Ладно, надо теперь связать имя из записки, которым подписывается жена (имена, кстати, тоже генерируются), и внешность с фотки... Эээммм... Сделаем тогда вот такое удостоверение с фоткой и именем, сделаем его рандомно выпадаемым, но обязательно выпадаемым, если нам необходимо чётко связать по игре личность жены и фотку.

Фух, ну, вроде бы теперь всё готово...

Заключение.

Конечно, осталось много полуфантастических лазеек для оправдания проигрыша. Может, хозяйка дома и "подруга с фотки" учёного - тёзки и хозяйка дома где-то нашла её старое удостоверение и хранит? Или, может, хозяин дома обладает точно такой же внешностью, как этот учёный?

Ну конечно "может быть". Но давайте тогда уж так: в фильмах в подобных ситуациях "многоуровневого сна" всё строится на тех же "степенях вероятности". Никогда не загорается "зелёный свет", что 100% выбор правильный.

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

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

Спасибо за внимание!

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

Написать
{ "author_name": "ASH2", "author_type": "self", "tags": [], "comments": 33, "likes": 47, "favorites": 33, "is_advertisement": false, "subsite_label": "indie", "id": 94613, "is_wide": false, "is_ugc": true, "date": "Sun, 19 Jan 2020 14:24:10 +0300", "is_special": false }
0
{ "id": 94613, "author_id": 37100, "diff_limit": 1000, "urls": {"diff":"\/comments\/94613\/get","add":"\/comments\/94613\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/94613"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64960, "last_count_and_date": null }
33 комментария
Популярные
По порядку
Написать комментарий...
3

Описание заинтересовало. Пощупал.

На прохождение демки ушло 50 минут. Надоело где-то через 20 минут, не считая пролога.

Поправь, если я что-то упустил, но суть игры, в конечном счёте, сводится к тому, что каждый раз я просто бегаю по одной и той же локации, и нахожу несоответствие в одних и тех же местах. Если чего-то не нашел, жду пока кончится таймер. Больше я ничего не увидел.
На словах может быть и интересно, но по факту, буквально через 20 минут, это превратилось в скоростной забег по ключевым точкам. Монстры угрозы не представляют вообще никакой, смысла лутать ящики нет, поскольку инвентарь каждый раз сбрасывается, читать одни и те же диалоги надоедает довольно быстро.

Вот графоний приятно удивил, на скринах выглядит как говно, прости за прямоту, но в игре нормально. Хотя главный персонаж двигается как калека, и это вдвойне странно учитывая, что у монстров вполне нормальная анимация.

Ответить
2

Спасибо за то что поиграл) На самом деле да, бесплатная версия призвана лишь показать механику и, в частности, генерация снов (особенно до первого прохождения) там достаточно ограничена. Так их в релизе будет около 200 и я не думаю, что их будет легко заучить. Монстры на лёгком уровне и правда почти не представляют угрозы. На самом деле, я старался, чтобы и на среднем/сложном не сильно представляли (игра всё ж не про это), но, как показали тесты, многие всё равно периодически склеивают ласты даже на среднем)

Лутать смысла много. Я понимаю, что сейчас генерация патронов во врагах очень щедрая. Однако, это вынужденная мера для лёгкой сложности (так как нет ближнего боя и патроны могут кончится, что не гуд). На средней/сложной есть возможность попросить патроны у союзников и там генерации патронов в трупах уже не хватает. Однако, несмотря на это, в ящиках всё ещё есть разные другие предметы, со своим функционалом с которыми и играть удобнее и на функционирование которых так же могут быть заложены признаки сна. Признаки сна могут быть и в самой системе "лутания". И это я ещё не говорю про разные неподбираемые предметы в ящиках которые могут быть и одиночными и составными признаками сна (содержать противоречивую информацию).
По поводу диалогов: с Лепреконом их около 25 разновидностей (после удачного суицида) + некоторые "особенные". Что мне пока представляется достаточным. Хотя, с увеличением уровня сложности, там добавляются в лист для рандома новые диалоги.

Ответить
0

Ну мне что дали пощупать, то я и оценил. С меня взятки гладки!

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

Если бы это были не двухминутные "найди 10 отличий", а часовое расследование и поиск улик, и логических несоответствий, то могло бы выстрелить.

А, и еще, не стоит заигрывать с темой суицида. Нехорошо это.

Ответить
0

Да я-то без претензий. Я больше к тому, что эта версия по моему мнению и не особо заточена под игру на часы. Многие минут за 30-40 проходят, говорят "ок понятно, буду ждать полную версию" и на этом всё). Ну, кому очень пропёрло - можно ещё погонять, для них добавил доп. признаки в демке и некоторые признаки, которые не были в первое прохождение. Да я и понимаю, что такой геймплей зайдёт не всем, так что я и не настаиваю.
Думаю, что если одна итерация длилась бы не 3 минуты а час в это бы вообще никто не играл. В смысле, там столько ломается штук, начиная с обычной прогрессии - что я х.з., кто бы это хотя бы раза 3 запустил. В смысле, час чё-то там искать, чтобы понять, что это повтор - я бы точно играть не стал))))
А суицид - это просто удобная механика. Не более. Можешь о врагов убиваться.

Ответить
2

Игра отличная. Куплю полную версию. Из минусов (субъективно): не люблю "флешовый" графоний и не хватает сочности в отстреле врагов :) Но искать поломки реально интересно. А сколько, примерно, планируется таких "поломок"?

Ответить
2

Я так наоборот угорел со "старого-доброго" флеша на картинке) Учитывая, что технология мертва, приятно видеть её остатки в наши дни)

Ответить
0

Я извиняюсь, но разве "старый-добрый" флеш - это не векторная графика?

Ответить
3

Я не уточнял, как ты рисовал, но визуально похоже на большинство флешовых хитов тех лет)

Ответить
1

Спасибо) Надеюсь довести к релизу признаки сна до 200 штук.

Ответить
0

 признаки сна до 200 штук

Очень круто!

Ответить
0

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

Ответить
1

Игра мне очень понравилось и ждал я бэту довольно долго потому что узнал довольно поздно и не успел попасть в группу бетатестеров. В игре когда я пытался понять как получить достижение свеча свет гаснет думал что надо не зажигать свечи в реальности и успеть погасить весь свет, когда свою идею смог воплотить понял что есть и куча других источников света за закрытыми дверями легкого режима и когда отчаялся и вышел в меню увидел свечу тогда понял как надо было ее получить. В самой игре наиграл 3 часа и пока что открыл 30 снов и 3 дополнительных если не путаю.  И то что в полной версии будет до 200 снов, то это круто! Особо понравился юмор лепрекона отвечающий на вопросы персонажа с долей юмора и непонятных ответов для персонажа. В общем, мне были интересный некоторые вопросы о которых хотелось спросить. Когда ты создавал лепрекона, ты ассоциировал его как удачу персонажа что он не погиб при выстреле? При каких условиях дополнительные сны появляются? И еще один вопрос, новые достижения в игре можно получить или пока некоторые получить невозможно? 

Ответить
1

Спасибо за такой приятный отзыв.  Лепрекон - не знаю, просто придумался Лепрекон. На самом деле я с самого начала ориентировался на музыку которая сейчас в игре и она у меня ассоциировалась именно с каким-то таким персонажем). Дополнительные признаки сна появляются только после первого прохождения наряду с обычными. Но на то они и дополнительные, что иногда для их обнаружения нужно сделать какое-то ненужное действие. А иногда и нет. Сейчас все достижения что есть в игре можно получить (эх, вот есть же те, кто всё открыл, написали б гайд что ли :) )

Ответить
0

Постараюсь все достижения разведать и получить чтоб навернека. Возможно вернусь когда на Knock harder будет наиграно часов 20 точно)) а сколько достижений в игре ты расчитаваешь сделать в полной версии?

Ответить
1

Пока точно не знаю... Но сейчас в игру будут начинать внедряться "пасхальные" признаки сна. То есть, относительно простые сны, но с отсылками. На это точно будут ачивки.

Ответить
1

Игра хорошая. Разве что я не ожидал что игра про одну квартиру.

Ответить
0

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

Ответить
1

Идея классная.

Ответить
0

Спасибо)

Ответить
1

Редкая игра, которая вызвала у меня ощущение "обалдеть, это реально нечто новое О_О"

Редкая игра, где мне приятно и выигрывать ("ага, я разгадал загадку!") и проигрывать ("опа, хитро придумано, надо запомнить, что и такое бывает").

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

Ответить
0

Спасибо, Дим) Но как показывает практика... НУЖНО БОЛЬШЕ БЕТА-ТЕСТОВ!!))

Ответить
0

Поиграл я немного, что могу сказать:

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

Ответить
1

Спасибо за информацию, посмотрел - и вправду, оказалось, что при очень больших проседаниях до 10-15 фпс поправочный коэффициент разгоняется настолько, что может выталкивать ГГ через стены. Я так понял, проблема у вас была связана с этим. Ограничил его. Правда не думаю, что кому-то будет комфортно играть с такими тормозами, но хоть сквозь стены вылетать не должен)

Ответить
0

При всём уважении, а как в принципе определять пределы нереального в мире, в котором нереальное происходит и в "реальности"?

Я имею в виду, если в игре само наличие зомби не является 100% гарантией того, что пора стреляться, то не происходит ли заведомая инфляция доверия к миру?

Вы сами пишете, что игроки готовы придумать обоснование любой фантастике. И при этом в этом сеттинге зомби ещё не являются маркером 100% нахождения во сне.

Ответить
0

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

Ответить
0

Стоп! Падажди! СТОП! То есть хата будет гораздо больше, чем две комнаты? 

Ответить
0

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

Ответить
0

Бож, это жостка)

Ответить
0

Хорошая демка, сама по себе задумка как фанату Доктора душу греет) Прошёл с интересом и даже не могу сказать, что было легко. При это я ни разу не застрелился зря, обычно просто не замечал что-то очевидное и потом такой "Да блин, как я мог не понять!?". Думаю примерно такие эмоции игра и должна вызывать. 

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

Из минусов могу назвать лишь глаза людей. Конечно информация о том, что есть норма - даётся в прологе... но отсутствие глаз это крипово. И далеко не до каждого дойдёт, что это норма для этого мира, когда он увидит фото. 

Ответить
0

Спасибо, рад что понравилось) К сожалению, это да, это некий негативный момент... Хотя я успокаиваю себя мыслью, что информация о глазах на самом деле есть в прологе и игрок типа должен был обратить внимание... Но, на самом деле, просто в первой реализации графики (сейчас это сно-вариант) у персонажей глаза были закрыты чёлками (так как я их рисовать не очень умею). Когда мы начали перерисовывать графику - не продумали этот момент и решили оставить для стилизации глаза пустыми. Сейчас же переделывать уже достаточно затратно. Остаётся, возможно, только разве что дать какое-то...ээммм... "Мистическое объяснение" ближе к концу.

Ответить
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" } } } ]
{ "jsPath": "/static/build/dtf.ru/specials/DeliveryCheats/js/all.min.js?v=05.02.2020", "cssPath": "/static/build/dtf.ru/specials/DeliveryCheats/styles/all.min.css?v=05.02.2020", "fontsPath": "https://fonts.googleapis.com/css?family=Roboto+Mono:400,700,700i&subset=cyrillic" }