Дневники разработчиков. Игра «Незваный»
Последние приготовления перед DevGamm
15.05.2018

Приветствую, любезнейшие мои.

 

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

Итак, начнем, пожалуй.

 


Пишу я данный пост, сидя в белоснежном, махровом халате, в номере отеля, т.к. вчера прилетел в стольный град Москву. Прилетел, ибо, около десяти дней назад я получил радостное известие о том, что моя заявка на участие прототипа игры "Незваный", в DevGamm 2018 Showcase, была одобрена. Мне выделили стенд с номером, и время показа - весь день (в первый и второй поток), 17 мая 2018 года. Мероприятие DevGamm 2018 Moscow, проходит в этом году, в Москве 17-18 мая.

Сегодняшний день прошел в беготне и подготовке к мероприятию. Докупил небходимого оборудования (наушники, мышь, коврик, удлиннитель/фильтр, на всякий случай и прочую канцелярскую мелочь). Заказал в типографии недостающие промо-материалы. Огромный постер мне изготовили еще во Владивостоке, и надо было видеть мои "страдания", как я пытался бережно везти свернутый в рулон постер, мои тёрки на контрольно-пропускном пункте в аэропорту, ведь постер хоть и свернут в рулон, тем не менее, "палка" получилась очень длинной и не проходила в самолет по габаритам, как ручная кладь. В багаж его тоже нельзя было сдать, т.к. вещь очень хрупкая и ее нельзя помять, сломить и т.п. Глупой тётке, мне пришлось долго объяснять, что такое постер/плакат, зачем и куда я его везу, и хвала небесам, они не заставили меня распаковывать и разворачивать огромный двухметровый постер в аэропорту. Иначе не смог бы его там нормально свернуть и снова упаковать в пленку. В общем, все удалось и постер я довез благополучно. Завтра, 16-го числа, вместо приветственной вечеринки с пивом, которая проходит в отличном от мероприятия месте, я отправляюсь на застройку, чтобы оформить свой стенд и как минимум - повесить постер, чтобы ночь он повисел и хоть немного выпрямился.

 

Также, хочу выразить благодарность московской компании "Типография ОФСЕТ", за оперативную и качественную работу в изготовлении и доставке промо-материалов.


 



Это были организационные моменты. Теперь расскажу собственно о проекте.

Получив зеленый свет на Showcase, я продлил свой кранч-тайм, вплоть до последнего дня перед вылетом. Главной задачей было - представить на DevGamm Showcase билд, с максимально задуманным контентом. Поэтому я взялся за реализацию геймплея с погоней. К сожалению, на графику времени почти не было, поэтому локация "Станция" так и осталась "пустой", без задуманных на ней NPC и без архитектуры. Таким образом, я сконцентрировался на погоне и на самом важном в геймдеве - БАГФИКСАХ. Как это обычно водится, в самый последний момент, начали вылезать такие серьезные баги, что я просто удивляюсь, как они не проявляли себя прежде. Ведь в различные версии, играли люди из определенного круга и никто не выявил ни одного сколь нибудь серьезного бага. В общем, погнали, по списку:

 

Новое
  • Погоня. Да, друзья. Получив зеленый свет на DevGamm Showcase, я собрался с духом и силой, и продлил свой кранч-тайм с одной лишь целью - к началу мероприятия (оставалось две недели) внедрить в прототип ПОГОНЮ! Те игроки, кто участвовал в тестировании той версии прототипа, которую я собирал для подачи заявки на Showcase, хорошо знают, как уныло заканчивался прототип. Пройдя боевую локацию, мы попадали на карту кампании, где появлялся чекпоинт "Погоня". Кликнув на него, игрок попадал на локацию погони и там его ожидало большое разочарование в виде концепт-арта с погоней и сообщением "Спасибо что поиграли в прототип". Однако на самом Showcase, игроки будут удивлены, когда попав на локацию с погоней, я предложу им совершенно другой геймплей с другим управлением (WASD), которое конечно же серьезно разбавляет "унылый" кликер боевой механики. Немало помучавшись с "поведением" всех деталей саней, эффектами, озвучкой и прочими моментами, я получил в итоге (на мой взгляд) интересную и более динамичную локацию. К тому же, это последняя локация, задуманная и описанная мной в диздоке прототипа. В итоге, после утомительной и однообразной битвы, я дам вам вдоволь погонять по заснеженной тайге, управляя лошадью, запряженную санями. Разумеется не обойдется и без заданий, которые нужно выполнить, проходя уровень.
  • Лампа. Полностью переделана механика лампы. Теперь это не статичный объект в руках Генки. Теперь свет от нее анимирован и помигивает, все-таки это керосинка а не электрический фонарь. Поведение лампы зависит от ситуации в которой та находится. Например, в руках Генки она спокойно себе висит, но вот во время погони, ее надо было куда-то деть, ведь Генка уже сидит на своем месте извозчика и погоняет лошадь обеими руками. Немного погуглив, я обнаружил, что лампы крепили к оглоблям, чтобы освещать дорогу в темноте, как извозчику, так и самой лошади. Так же и я, в локации с погоней, цепляю лампу к оглоблям и лампа ведет себя соответственно - интенсивно раскачивается во время бега лошади и "успокаивается" при остановке. В общем, казалось бы - мелочь, а поработать над деталями пришлось изрядно.
  • Управление. Как я уже упомянул выше, в погоне, я предлагаю игрокам другой тип управления. На самом деле, это не очень хорошая идея для любителей однокнопочных игр, но с другой стороны, прототип приобретает все более полноценный и законченный вид серьезного проекта. Не обошлось без очередных мучений. Ради динамичной "гонки" и возможности управлять упряжью, всем привычными клавишами WASD, мне пришлось написать совершенно иной контроллер. Очень надеюсь, что вам понравится.
  • Чит-коды. Следуя советам бывалого геймера, геймдевелопера и DevGammщика, я внедрил в игру чит-коды. Клавиша "0" уменьшает таймеры и длительность катсцен в игре до нуля. Таким образом, теперь можно легко пропустить длинную заставку с полетом камеры над лесом и сразу приступить к игре на карте кампании. В бою с волками, 0 - сбросит таймер задания "Продержаться отведенное время" и волки перестанут спауниться. И еще парочка моих, девелоперских читов.
  • Пауза. Наконец-то у меня дошли руки до паузы. Прежде, нельзя было ставить игру на паузу. Всегда откладывал эту мелочь до последнего момента. Я объединил Паузу и Туториал, т.е. последний мы всегда можем посмотреть поставив игру на паузу клавишами "Esc" или "P".
  • Туториал. Опять же, по советам бывалых, туториалу я уделил больше внимания, т.к. прежний вид (вначале локации всплывало маленькое окошко, которое само исчезало через 3 сек.), никуда не годился. Он пересекался с анимацией появления интерфейса, в это же время уже спаунились враги и играла тревожная музыка. В общем, первые пять секунд боя, на экране творился хаос, из-за которого легко можно было упустить важную информацию по управлению персонажем. Теперь "бой" и "погоня" стартуют с паузы, где в центре экрана показан туториал и игроку нужно нажать на кнопку, чтобы закрыть туториал и снять игру с паузы.
  • Анимации и эффекты. Наконец дошли руки до анимации спауна врагов. Теперь они не материализуются внезапно под носом, делают это а со спецэффектами, звуками и анимациями, вылезают из под снега или из преисподней, кому как нравится.
  • Лут. Вываливающийся из фрагов лут, теперь не спаунится на месте фрага, а разлетается в рандомную точку, определенного радиуса. Таким образом, уменьшается вероятность эффекта, когда только что рожденный лут мгновенно поднимался героем. Из-за этого, иногда возникало впечатление, что пистолет сам каким-то чудом заряжается, здоровье восполняется мгновенно и т.п..
  • Концепт-арт. Наконец я опубликовал давно обещанные новые концепты персонажей, Прасковья (NPC), и Анна - главный герой третьей части игры (если таковая будет).
     

      

Тюнинг
  • Таймер. В локацию с битвой, по просьбам трудящихся, я добавил отображение таймера нападения волков, в виде прогресс барчика. Соответственно, добавилось еще одно задание - "Продержаться отведенное время". По истечении данного времени, волки перестанут появляться на локации и игроку остается только выполнить задание, требующее уничтожить всех (уже существующих на локации) волков.
  • Задания. Теперь все три задания в бою НЕ зависят друг от друга, и можно выполнять их в любом порядке. В предыдущей версии билда, задание "Отбить атаку" активировалось после выполнения задания "Найти извозчика". Иногда это приводило к очень долгой игре, особенно у малоиграющих в игры игроков. Однако теперь, боюсь, для хардкорных игроков, миссия с боем может оказаться слишком легкой и быстрой.
  • Саундтрек. Тревожный саундтрек на боевой локации теперь плавно затухает и больше не воспроизводится, если мы выполнили "боевые" задачи: "Продержаться отведенное время" и "Уничтожить всю нежить". Задание "Найти извозчика" игрок уже будет выполнять в более спокойной атмосфере.
  • Цвет. Поигрался немного с эффектами пост-процесса и подправил цветовую гамму локаций, сделал их более насыщенными. Привел к единому знаменателю цветовую гамму всех графических элементов интерфейса.
  • Комиксы. Увеличена область нажатия на стрелку для показа следующего слайда до полного экрана. Теперь, игрокам не придется целиться в стрелку, чтобы сменить слайд, достаточно кликнуть в любом месте экрана.

    Полностью переделан принцип отображения комиксов. Теперь в локации не загружаются комиксы, они находятся в отдельной псевдо-локации. Это положительно скажется на производительности, т.к. во время игры, мы не держим в памяти все виджеты с комиксами, а обращаемся к ним только тогда, когда они нужны и после просмотра сразу уничтожаем. Так же этот принцип полностью исключает повтор "не воспроизводимого" бага, когда один игрок умудрился добиться странного эффекта - прямо во время боя, клик на пустоту (область где была кнопка перелистывания слайдов комикса), отображал и воспроизводил анимацию перелистывания комикса.
  • Анимации. Подправил анимации выстрела, и "пустого" выстрела Алексеем, когда в пиковый момент, рука была направлена немного в сторону. С некоторых ракурсов этого совершенно не было заметно, но с некоторых - выглядело смешно.
  • Геймплей. Теперь все враги, отстающие от персонажа на определенное расстояние (в разных режимах игры по-разному), уничтожаются. Это должно снизить моменты, когда можно было бесконечно убегать от волков.
Баланс
  • Уменьшено количество пуль, выдаваемых за фрага. Некоторые игроки жаловать на скучный геймплей из-за того, что пули вываливаются слишком часто и их много. Однако тут кроется подводный камень. В связи с тем, что выпаданием лута заведует банальный Random, то могут возникнуть ситуации (и это не раз у меня случалось), когда без патронов совсем тяжко, они не вываливаются, жизнь тает на глазах, а пуль все нет и нет. Поэтому я уделил немало времени следующим ниже правкам в балансе, которые, на мой взгляд, сделали боевую часть прототипа еще более динамичной и не скучной.
  • Уменьшено расстояние определяющее, будет ли ближний бой, либо бросок кинжала. Меньше пинков - больше кинжалов.
  • Увеличен наносимый Алексеем урон в ближнем бою.
  • Увеличен урон от брошенного кинжала.
  • Увеличена скорость атаки Алексея в ближнем бою.
  • Уменьшено время "пустого" выстрела Алексея.
  • Уменьшено время ожидания между "пустыми" выстрелами бою.
  • Уменьшено время ожидания между ударами в ближнем бою.
  • Уменьшен наносимый волками урон Алексею.
  • Увеличена скорость перемещения и ускорение волков. Теперь, у ленивых игроков, не получится от них все время убегать. Тем не менее, такая возможность остается при критически низком уровне здоровья, для того, чтобы восстановиться автопополнением здоровья, до следующей схватки.
Багфиксы
  • Исправлен баг с кнопками, когда при наведении, текстурка отображалась сильно замыленной. Спасибо моему консультанту, Фёдору, безотказно помогающему мне в вопросах по UnrealEngine, в которых я еще пока полный профан.
  • Обнаружен и исправлен жуткий баг, когда волки, получившие критический урон от ближнего боя не умирали и продолжали свою деятельность с пустым барчиком здоровья.
  • Вроде бы (что-то поправил и повторно воспроизвести не удалось) исправил баг, когда диалог с извозчиком мог начаться прямо во время боя.
  • Обнаружен, но так и не воспроизведен баг в боевой локации, когда кликая в пустоту, можно было вызывать вступительный экран комикса. Новая система показа комиксов, исключает повторение подобного.
  • Исправлен баг, и странно, что никто из игравших (включая меня), его прежде не заметил, когда волки спаунились всегда задом к персонажу.
  • Исправлен баг, когда оттолкнутый враг мог улетать совершенно в непредсказуемую, и порой, до смешного нелепую сторону, вопреки законам физики. Теперь враги отлетают строго в по направлению движения ноги/кулака. Также враги теперь не разворачиваются в сторону героя во время "полета", а отлетают в той ориентации, в которой были оттолкнуты.
  • Наконец-то разобрался и беспощадно пофиксил баг, когда пнув волка при зажатой ЛКМ, он постоянно пытался отлететь, но так и не мог этого сделать до конца.
Важные объявления!
  • "Незваный" теперь на Discord. Присоединяйтесь! Ваши отзывы, комментарии, пожелания являются очень важным фидбэком для меня, и напрямую влияют на развитие проекта.
Поиграть?
  • Когда же уже можно поиграть? Да хоть сейчас! Пройдите на главную страницу игры "Незваный", и обратите внимание на кнопку "Загрузить игру". К сожалению, поиграть пока можно только на Windows. Приношу свои извинения Mac-обладателям.

 

 

Следите за проектом в соцсетях: