Серия «Coin-Op VICE путешествие в золотую эпоху видеоигр»

Самый слабый босс в игре, 6х30, монохром, 3 кадра, постобработка - реально мало пикселей

Нужно было сделать самого слабого босса в игре. Что может пойти не так? Монстры у меня в игре антропоморфные. Сделал мелкого босса, собрал демку и получил претензию: "Не хотим бить детей".

Игра у меня не про это, поэтому нужно было убрать эту ассоциацию. Боссы должны оставаться самыми щуплыми и при этом стать высокими. Размер спрайтов в игре кратен шести (особенность постобработки и эффектов). Поэтому, как не крути, а размер щуплых монстров должен быть 6х30.

Мало пикселей + вытянутая форма - пришлось повозиться. На анимации: исходные пиксели, постобработка и двое с эффектом.

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

Показать полностью

Набор монохромных спрайтов (для мини-игр в стиле ZX Spectrum) + постобработка + эффект

Всем привет! Позвольте мне показать вам набор монохромных спрайтов для платформерных мини-игр в моем проекте. Сам проект 2.5D с видом сверху, а вот мини-игры - с видом сбоку.

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

Если вам нравится такой стиль, то заходите на страничку в Стиме с бесплатной демкой.

Показать полностью

Нарисовал новый баннер игры на Steam и понял, на что он похож

Нарисовал новый баннер игры на Steam и понял, на что он похож Gamedev, Разработка, Инди, Инди игра
Показать полностью 1

Из ASCII в Pixel Art и обратно

Из ASCII в Pixel Art и обратно Gamedev, Разработка, Ретро-игры, Инди, Инди игра, Unity, Unreal Engine, Pixel Art, ASCII, Гифка, Длиннопост

Новую игру Coin-Op Vice я делаю на своем старом движке текстового режима. Однако это псевдотрехмерная (2.5D) пиксельная игра с перспективой. Оказалось, что символьный ASCII движок может справиться с этой задачей, нужно только сделать пару апгрейдов.

Апгрейд первый: кастомный шрифт

Каждый символ шрифта - это просто картинка. В моем случае пиксельная. Если символы заменить на произвольные картинки, то можно создавать крутой Pixel Art из этого шрифта. В таком методе есть два ограничения:

  1. Шрифт у меня изначально монохромный. Буква может состоять из пикселей только одного цвета. Информация о цвете символа есть, но информации о цвете каждого пикселя внутри символа - нет. Это связано со способом создания шрифта в движке. Эту часть движка я решил не менять.

  2. Набор символов ограничен. Если в шрифте символ «/» заменить на спрайт правой ноги, то теперь все символы «/» на экране станут правой ногой. И если с помощью этого символа сделана рука (как на анимации ниже), то она превратится в ногу. На данный момент я уже использую символы из всего диапазона ASCII для формирования картинки и частично залез в символы кириллицы. Например, символы «ф», «ч», «я», «ы» участвуют в формировании ускоряющих дорожек в уровне (как в аэропортах).

Из ASCII в Pixel Art и обратно Gamedev, Разработка, Ретро-игры, Инди, Инди игра, Unity, Unreal Engine, Pixel Art, ASCII, Гифка, Длиннопост

Сделал эту анимацию в подарок будущей жене

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

Из ASCII в Pixel Art и обратно Gamedev, Разработка, Ретро-игры, Инди, Инди игра, Unity, Unreal Engine, Pixel Art, ASCII, Гифка, Длиннопост

Апгрейд второй: несколько алфавитно-цифровых слоев с переменным размером сетки

Представим, что сейчас 1978 год, и вы сидите перед алфавитно-цифровым дисплеем (VT100, например). Допустим, он может отображать 24 строки по 80 символов. Символы располагаются строго по сетке с фиксированным и одинаковым для каждой ячейки размером.

Из ASCII в Pixel Art и обратно Gamedev, Разработка, Ретро-игры, Инди, Инди игра, Unity, Unreal Engine, Pixel Art, ASCII, Гифка, Длиннопост

Теперь создаем несколько алфавитно-цифровых слоев, как если бы несколько компьютеров (или видеоадаптеров) передавали сигнал на ваш дисплей. Сигналы складываются, и вы видите совмещенное изображение - несколько текстовых слоев.

Позволим теперь каждому текстовому слою иметь свое собственное плавное смещение на экране, а также свой собственный размер ячейки под символы. Все. Теперь можно делать 2.5D Top-Down игру с перспективой. Нужно только правильно рассчитывать смещения алфавитно-цифровых слоев и задавать размеры их сеток.

Апгрейд третий, не аутентичный

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

Из ASCII в Pixel Art и обратно Gamedev, Разработка, Ретро-игры, Инди, Инди игра, Unity, Unreal Engine, Pixel Art, ASCII, Гифка, Длиннопост

Обратно в ASCII

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

Из ASCII в Pixel Art и обратно Gamedev, Разработка, Ретро-игры, Инди, Инди игра, Unity, Unreal Engine, Pixel Art, ASCII, Гифка, Длиннопост

Решил сделать специальный режим. Если подойти к терминалу в игре, то можно переключиться в такой режим «матрицы». Поскольку название «Матрица» лучше не использовать, то назвал режим «Нео-Н». Есть отсылка к главному герою фильма, а так же название подчеркивает, что все светится неоном. Жена придумала.

Нахождение в этом режиме дает много преимуществ: монстры не наносят урон (а я им еще как могу), становятся видны скрытые проходы, и можно собирать специальные картриджи для построения колоды. После 15 секунд происходит автоматическое «выныривание» из этого режима.

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

Из ASCII в Pixel Art и обратно Gamedev, Разработка, Ретро-игры, Инди, Инди игра, Unity, Unreal Engine, Pixel Art, ASCII, Гифка, Длиннопост

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

Пока!

Показать полностью 7

Чувак с дробовиком, 24х30, монохром, 2 кадра, постобработка

Почти все текстуры спрайтов у меня в игре создаются программно во время загрузки. Вот несколько этапов: Изначальный => Постобработка под эффект CRT монитора => Динамическая постобработка для эффектов игры (появился, побегал, умер, выдал лут).

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

Показать полностью

Хаос и эффект бабочки - новая фича в игре

Хаос и эффект бабочки - новая фича в игре Gamedev, Разработка, Инди, Ретро-игры, Инди игра, Демо, Unity, Процедурная генерация

Наверняка вы слышали про эффект бабочки. В рассказе Бредбери + фильм такой есть + это термин в науке. Когда незначительные изменения в начальных условиях (в прошлом, например) приводят к большим и непредсказуемым последствиям.

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

А как упаковать здоровенную карту с многоэтажными зданиями и кучей разных объектов в один, желательно короткий код? Тут и проявляется эффект бабочки.

Алгоритм конструирования (5к строчек на C#) якобы случайный, но на самом деле реализуется детерминированный хаос. Вроде все задано точно по алгоритмам, но возникает хаос из-за того, что алгоритм чувствителен к малейшим изменениям начальных условий.

Бабочкой в моем случае и будет такой спецкод, который определяет начальные условия генерации карты. Стоит только дунуть, поменять хотя бы один жалкий бит, и алгоритм создаст совершенно другие здания и объекты. Такой код называют Seed.

Сделал эту фичу в игре и залил новую версию демки в Steam. Мне, например, понравилась карта, где второй этаж с ускоряющими дорожками создался над дорогой. Можно ездить по дорожкам и смотреть на машинки снизу. Код этой карты:

61.A9.9E.02.52


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

Показать полностью

Запилил новый геймплейный трейлер к выходу демо-версии Coin-Op Vice - понятно, что там вообще происходит на видео?

Сбор ништяков в глючном режиме игры

Всем привет! Зацените новую фишку в моей игре Coin-Op Vice: ценные предметы, которые можно собрать только в специальном режиме игры Нео-Н. Это такой режим, как будто в матрице. Насобирал там всего, а когда возвращаешься в обычный режим, то собранное выдается. На видео, например, я успел собрать два картриджа.

Таким образом, режим Нео-Н позволяет:

  1. Собирать ценные предметы

  2. Безнаказанно мочить монстров (они не наносят ущерба)

  3. Видны скрытые проходы на первом этаже

Думаю, что теперь у игроков будет достаточно мотивации использовать это режим. Надеюсь, по крайней мере.

Чтобы было проще находить бонусы в «матрице», сделал видимым место, где лежит вещь. Вот так выглядит:

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

Надеюсь, что будет интересно. Залил на Стим новую версию бесплатной демки с этой фичей. Заходите поиграть на страничку в Стиме, кстати.

Показать полностью 2
Отличная работа, все прочитано!