Спустя год армейки, множество непоняток в разработке, я всё же смог выпустить полную версию демки своего хоррора, почему было так сложно выпустить лишь демку? Потому что эта демка состоит из двух историй, каждая из которых отдельно могла бы продаваться в стиме за доллар, но я решил прыгнуть выше головы и сделать что-то немного другое.
Intown Nightmares это хоррор альманах из 7 историй, который выйдет в 2026 году, в Full Demo вам доступны первые две историй. В первой в роли Марий в 1974 году вы устраиваетесь на работу сборщиком странных грибов, растущих в окрестностях быстро растущего города Интаун, но очень скоро случается событие после которого Мария уже не выберется из леса. Собирайте грибы, подружитесь со свинкой Бренди и не дайте этому лесу свести вас с ума!
Во второй историй вы играете за Генри, обычного жителя города Интаун 1994 года, после бурной вечеринки вы возвращаетесь к себе в квартиру, но на следующий день вы уже не сможете выйти на работу из своего дома. Загадочная плесень начала захватывать дом и только вам решать как с ней бороться. Выбирайте соседа, чей подход к решению проблемы кажется вам наилучшим, но будьте готовы встретиться с последствиями! В этой части игры 6 концовок.
Добавьте Intown Nightmares в желаемое в Стим, чтобы не пропустить выход полной версий.
Флэшбэк. Давным-давно, года три назад, я сидел в отпуске и скучал по работе. Есть у программистов такая профессиональная болезнь. Лечиться пытался, играя в разные инди игры, и на глаза попалась Hook.
Зацепила визуалом и геймплеем, и тут как током прошило - а не вернуться ли в инди ненадолго, и не сделать ли своё. Так и родилась идея совместить стиль от Hook с электрическими схемами, которая за месяц реализовалась в Schematic (ссылка). Оно вышло сложным, стильным и никому не нужным. Правда на IndieCup`21 попал в номинацию, но это не сильно помогло игре, и она ожидаемо ушла на дно стима.
Реальность. Как-то давно, года полтора назад я сидел в отпуске и скучал по работе. Программерская болезнь навалилась снова. Лечился опять индюшатиной и в этот раз вставило после Pony Island.
Идея сделать необычную игру про разработку игр давно уже витала в голове и даже свила небольшой играбельный прототип, но была отложена в переполненный долгий ящик из-за сложности реализовать в одиночку в рамках непродолжительной жизни человека.
А тут неожиданно понял, что можно взять графику от Schematic и собрать ее не в банальную занудную головоломку, а во что-то ломающее четвертую стену, наполненное юмором и необычными поворотами сюжета.
На волне воспоминаний о There Is No Game за неделю был написан сюжет, а неожиданно навалившаяся температура добавила в сценарий дополнительных бредовых идей.
По сюжету игрок сталкивается с недоделанной игрой (по чистой случайности очень похожей на оригинальный Schematic). Но неожиданно игроку начинают помогать внутриигровые инструменты, которые позволяют проходить уровни нестандартными способами. Каждый уровень требует своего специального подхода, игра постоянно подбрасывает новые механики, мини-игры и необычные ракурсы.
Параллельно в игре раскрывается сюжет про разработчика игры и его прокрастинацию, который подается через забавные диалоги внутриигровых персонажей. Почти все истории взяты из реальной жизни (долгое время работал лидом в большом коллективе разрабов и знаю о лени и отмазке работников не понаслышке).
Игра нелинейна, и, открывая новые инструменты, приходится возвращаться на пройденные уже уровни, чтобы открыть там секреты или новые предметы. Как написал один из Экспертов на конкурсе ИГРОПРОМ, это почти что метроидвания. Неожиданно приятно, чувствую себя полым рыцарем, которого наполнили шампанским.
Классического инвентаря в игре нет, с этим неплохо справляется игровой экран, на котором предметы просто остаются валяться между уровнями.
По ходу разработки игры серьезная туповатая графика оригинальной Schematic всё больше начала казаться тяжелой и неподходящей под веселый настрой игры. Поэтому я поймал знакомого артлида, упал на колени (не к нему) и запросил "Помоги!". Артлид за полчаса разобрал всю графику и посоветовал мне думать в направлении комичного дудларта. Я начал думать в этом направлении, и чем дольше думал, тем больше преисполнялся. В итоге родилась забавная минималистичная графика, которую и рисовать приятно, и выглядит она подходяще для проекта.
Пациент ДО и пациент ПОСЛЕ
Музыку к игре нагенерил с помощью великих и ужасных нейросетей. Путем экспериментов удалось создать забавный и разнообразный плейлист, про который пока слышал только положительные отзывы. На стриме Нашых Игр даже писали, что похоже Куплинов игру озвучивал. Но нет, любые совпадения случайны, к сожалению.
Игра в разработке была два года, но с большими перерывами. То основная работа (в компании) полностью удовлетворяла желание творить, когда на код смотреть не хотелось уже. То вирусы вырубают на пару недель, а потом хочется просто сидеть и расслабленно смотреть на многогранный питерский дождь месяцами.
Во время одного такого перерыва решил отдать знакомому написать миниигру, чтобы разработка хоть как-то продвигалась. Он миниигру сделал, я ужаснулся, переписал ее полностью, и тут вставило так, что больше разработка уже не останавливалась.
Игра обросла новыми механиками, фишками и новой сюжетной линией. Наконец, в конце концов, я принял решение, что пора заканчивать наворачивать, и довел разработку до окончания.
1/3
Сейчас игра полностью готова и находится в стадии досконального тестирования.
Каждый Unity разработчик сталкивался с тем, что в его игре происходят периодические пролаги. Обычно это происходит из-за того, что программист при написании игровой системы мало заботился о рациональном использовании памяти и это приводило к проблемам с Garbage Collector.
Garbage Collector частая причина пролагов
Когда нужно создать какой-нибудь массив или List, под него будет выделена память. Если потом этот объект не будет использоваться, то им займётся Garbage Collector (GC). Он следит, за всеми объектами и, если объект становится не нужен, то GC освобождает память, которая использовалась объектом. Если создавать много таких объектов, а потом сразу переставать использовать, то у игрока появятся видимые пролаги, в моменты, когда GC освобождает память.
Одноразовые коллекции приводят к нагрузке на Garbage Collector
Ниже пример кода, который оставляет в словаре только те элементы, которые есть в массиве. В момент создания HashSet происходит аллокация и, если такая функция вызывается часто, то появятся проблемы.
Кешируй одноразовые коллекции
Есть много способов исправить эту проблему, начиная от переделки алгоритма и, заканчивая кешированием коллекций. Ниже, самый простой вариант, когда коллекция выносится из функции, в таком случае аллокация произойдёт только один раз:
Меня зовут Денис - я инди-разработчик, который с детства мечтал о том, чтобы сделать свою собственную игру. Ровно 9 лет назад я сделал свою первую игру платформер в 9-м классе и исполнил мечту. С тех пор, я интересовался геймдевом и программированием, но сталкивался с классической проблемой, когда забрасывал проект за проектом.
За это время я участвовал в разных джемах, пробовал себя в разных сферах разработки, набрался опыта и сейчас я амбассадор Игропрома, состою в сообществе развития видеоигровой индустрии и являюсь основателем общественного движения разработчиков игр на Дальнем Востоке "Девкит", пытаясь привлечь больше ребят в геймдев в своём городе, Хабаровске, через формат воркшопов и других мероприятий.
О себе рассказал, теперь расскажу про игру :) В 2024-м году я решил попробовать поучаствовать в конкурсе "Начни Игру". Познакомился с классной художницей и ещё одним программистом. Втроём мы сначала поучаствовали в джеме от Начни Игру, где необходимо было сделать полезную игру. Ещё было несколько тем на выбор и мы взяли здравоохранение. За 3 дня мы сделали а-ля симулятор работника регистратуры в духе "Papers, Please" и "That's not my Neighbor". В качестве движка взяли Unity, так как все с ним уже давно работали, а весь визуал был сделан в фотошопе на планшете.
Наша первая версия игры
Выглядело топорно, просто, но мы вышли в финал. Через несколько месяцев можно было подать заявку на участие во всероссийском конкурсе "Начни Игру", где финал проходил в Москве. Для меня, как человека, который ни разу не был в столице нашей страны и большую часть своей жизни проживший на Дальнем Востоке, это был классный шанс побывать в западной части страны и быть частью чего-то большего.
Я предложил художнице просто попробовать подать заявку, назвали команду "Каракули", немного доработав игру и в итоге... мы прошли в финал! Я был очень счастлив. Сам финал прошёл безумно классно, в программе конкурса было много разных активностей и лекций, а тем более - огромное количество молодых разработчиков со всей страны. Помимо этого было приятно посмотреть Москву, пускай и не так много времени было на это.
Кстати, вот так выглядела версия на финале конкурса
Это был офигенный старт, а про заряд мотивации и офигенных эмоций я вообще молчу. Конечно, в финале мы не выиграли, но зато победили аж в целых двух партнерских номинациях. При этом нас было всего двое, так как с вторым программистом нам, к сожалению, было не по пути.
После возвращения мы решили, что будет лучше, если сместим акцент нашей игры с полезной на веселую, добавив больше юмора, отсылки и интересные уникальные механики. Мы даже успели поучаствовать ещё в Siberian Game Jam.
Вот, кстати, что из этого вышло :)
Все шло хорошо, но с наступлением 2025-го я и художница столкнулись с множеством проблем в жизни, из-за чего мы надолго отложили наш проект. К сожалению, так иногда бывает.
Но мы не отчаиваемся и мы решили выпустить нашу игру, несмотря на все сложности.
Сейчас игра готова почти на 90%. В ней будет небольшая сюжетка и отдельный режим с разными заданиями. Но что самое, на мой взгляд, крутое, это персонажи из других очень известных отечественных игр, но о них я расскажу отдельно :)
1/3
Вот ещё несколько скриншотов, здесь немного тусклее получилось, но это уже переделано :)
Этим постом я хотел бы донести 2 вещи: первое - это рассказать вам о нашей игре и в идеале добавить в вишлист и на релизе опробовать :) второе - прозвучит банально, но не сдавайтесь, любая проблема решаема. Занимайтесь тем, что вам нравится и ищите способы раскрыть свой потенциал. Я решил специально не грузить вас тем, через что пришлось пройти нам, так как я предпочитаю такие вещи обсуждать при личной беседе, но поверьте, это было гораздо хуже, чем просто недостаток денег на развитие игры. Если вы делаете игру в одиночку - попробуйте найти единомышленников (поверьте, делать проект вместе с кем-то бывает гораздо интереснее и обычно классные идеи приходят после совместного обсуждения). Если вы боитесь, что ваша игра может не понравится и вы готовы её бросить, просто зайдите на любую площадку, где публикуют браузерные игры и вы поймёте, что не всё так уж и плохо и в вашу игру обязательно поиграют. Если вам нужны деньги на развитие вашей игры, то попробуйте начать с малого, например, сделать маленькую демку, вкладывая по копеечке в неё, а потом попробуйте её предложить издателям или попробовать для начала "продать" её своими силами. Даже если издатель попросит большой процент, для вашего старта успехом будет уже то, что её согласились издать.
Если с издателями не получилось, ничего страшного, ведь даже самостоятельно можно вполне успешно заинтересовать людей купить вашу игру. В наше время важно понимать, как устроен маркетинг. Для начала подумайте про инфоповоды, которые можно было бы вбросить о вашей игре, пообщаться с микроинфлюенсерами о сотрудничестве, попросить рассказать о своей игре кого только можно. Да много способов есть, самое главное здесь - чем зацепить. Лично мы сделали ставку на многим известный стереотип о больничных регистратурах, персонажей из разных известных мемов, а также немного отсылок на известных личностей и персонажей других известных игр. Конечно, мы понимаем, что наша игра больше рассчитана на русскоязычную аудиторию, но у нас есть некоторые идеи, как это решить, а если вспомнить, с чего все началось, то мы и представить не могли, что будем публиковать эту игру :)