Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
#Круги добра
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр Уникальная игра, объединяющая популярные механики Match3 и пошаговые бои!

Магический мир

Мидкорные, Ролевые, Три в ряд

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • Animalrescueed Animalrescueed 36 постов
  • Oskanov Oskanov 7 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
25
CyberCook
1 год назад
Игровые скидки и раздачи

Раздача зомби экшн-шутер Zombusters на Itch.io до 2-го ноября⁠⁠

Раздача зомби экшн-шутер Zombusters на Itch.io до 2-го ноября Не Steam, Инди игра, Gamedev, Windows, Mac Os, Linux, Раздача, Разработка, Инди, Itchio, Экшн, Шутер, Изометрия, Зомби, Хоррор игра, Казуальные игры, Гифка, Видео, YouTube, Длиннопост
Раздача зомби экшн-шутер Zombusters на Itch.io до 2-го ноября Не Steam, Инди игра, Gamedev, Windows, Mac Os, Linux, Раздача, Разработка, Инди, Itchio, Экшн, Шутер, Изометрия, Зомби, Хоррор игра, Казуальные игры, Гифка, Видео, YouTube, Длиннопост
Раздача зомби экшн-шутер Zombusters на Itch.io до 2-го ноября Не Steam, Инди игра, Gamedev, Windows, Mac Os, Linux, Раздача, Разработка, Инди, Itchio, Экшн, Шутер, Изометрия, Зомби, Хоррор игра, Казуальные игры, Гифка, Видео, YouTube, Длиннопост

ЗАБРАТЬ

Классический шутер с двумя палками, в котором вам придется сразиться со множеством зомби и других существ, используя все, что у вас есть. Остерегаться!

от разраба : "Пожалуйста, помогите нам, оценив эту игру!"

КОГО ВЫ ПОЗОВЕТЕ?

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

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

Функции

  • Крутое оружие и усиления

  • Таблицы лидеров

  • Оригинальный инди-саундтрек (12 треков)

  • 10 разных карт

  • 4 игровых персонажа

  • Ввод: клавиатура, мышь и геймпад (Xbox360).

  • Потрясающая пиксельная графика

  • Дорожная карта

Мы работаем, чтобы предоставить вам лучший опыт, и нам еще многое предстоит сделать:

  • Улучшите контроль.

  • Удалить блокирующие места.

  • Больше оружия.

  • Онлайн-таблицы лидеров

  • Разные враги

  • Больше музыки

  • Повысить производительность

Если вы хотите узнать больше о ходе работы, посетите нашу страницу проекта на Github.

  • Обновлено : 25 ноября 2021 г.

  • Опубликовано : 12 ноября 2017 г.

  • Статус : выпущен

  • Платформы : Windows, macOS, Linux

  • Дата выхода : 26 октября 2020 г.

  • Оценка: 3,3 из 5 звезд

  • Автор : Retrowax

  • Жанр : Боевик, Шутер

Сделано с помощью Audacity, MonoGame, XNA, GIMP.

  • Теги : 2D, Казуальные игры, Хоррор, С открытым исходным кодом, Пиксель-арт, Рогалик, Короткая, Для одного игрока, Зомби

  • Лицензия на код : Лицензия Apache 2.0

  • Лицензия на активы Creative Commons Attribution_NonCommercial v4.0 Международная

  • Средняя сессия : Несколько минут

  • Языки : немецкий, английский, испанский; кастильская, французская, итальянская

  • Ввод : Клавиатура, мышь, контроллер Xbox

  • Мультиплеер : Локальный мультиплеер

  • Количество игроков : 1–4

Ссылки : Steam, Homepage

ЗАБРАТЬ

Показать полностью 1 1
Не Steam Инди игра Gamedev Windows Mac Os Linux Раздача Разработка Инди Itchio Экшн Шутер Изометрия Зомби Хоррор игра Казуальные игры Гифка Видео YouTube Длиннопост
17
684
monobogdan
monobogdan
1 год назад
TECHNO BROTHER

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля?⁠⁠

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали бы даже на железе 20-летней давности. Полтора года назад, в мае 2022 года, я написал демку гоночной игры с очень знакомым всем нам сеттингом — жигули, девятки, десятки, и всё это даже с тюнингом! В этой статье я расскажу вам о разработке 3D-игр практически с нуля: рендерер, менеджер ресурсов, загрузка уровней и граф сцены, 3D-звук, ввод и интеграция физического движка. Интересна подробнейшая статья формата "старого Пикабу" о разработке игры с нуля? Тогда добро пожаловать!

❯ Предыстория


На момент написания статьи, я всё ещё остаюсь достаточно юным — буквально 5 дней назад мне исполнилось 22 года. Но если откатиться на 4 года назад и вспомнить момент наступления моего совершеннолетия, то на ум приходят сразу два значимых события: отец приходит в один день и говорит «открывай юлито, будем смотреть авто за 40 тыщ рублей». Понятное дело, что за эту сумму (~700$ по тому курсу) особо не разгуляешься, поэтому мой выбор пал на карбюраторную «семерочку», свою ровесницу (2001 год) синего цвета. Приехали с батькой смотреть на машину, обкатали и приняли решение — надо брать!

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



С тех пор я ездил на своем «тазе» и горя не знал — машинка не ломалась, ни разу не подводила, вложений в себя не требовала, а я начал все больше увлекаться автомобилями и изучать тематический материал. Со временем я полюбил и другие российские модели автомобилей, но особенно мне нравился АвтоВАЗ. В один момент, вспомнив про популярный и провальный некогдаLada Racing Club, мне захотелось написать «гоночки на жигулях» самому, причём полностью с нуля. А поскольку нормального арта для города у меня не было, игру я решил назвать просто и понятно: «Ралли-кубок ТАЗов» :)

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост


Поём всем Хабром!

Но с чего начинать писать такой объемный проект самому? Тут нам, конечно же, нужен план. У меня уже был готовый самопальный 3D-фреймворк для игрушек, который я использовал в одной из прошлых демок: арена-шутер от первого лица с модельками из модов для Quake. Фреймворк был вполне рабочим, но требовал некоторой доработки для использования в «кубке тазов».

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



На момент начала разработки гоночки у меня уже были готовы следующие фишки:

  • Рендерер: Direct3D9, причём полностью FFP — для того, чтобы игра запускалась даже на встройках Intel, где нормальной поддержки шейдеров до HD-серии вообще не было. Практически все текстурные техники работали через комбайнеры — дальний предок пиксельных шейдеров, где программист оперировал целыми стадиями пиксельного конвейера, а не писал программу напрямую, что накладывало множество ограничений. Поддерживались: многослойные материалы, однопроходной сплат-маппинг для плавного текстурирования ландшафтов, отражения в кубмапах, плавный морфинг (вершинная анимация) с линейной интерполяцией между кадрами, MSAA (это заслуга GAPI), отсечение невидимой геометрии по пирамиде видимости и примитивный альфа-блендинг с ручной сортировкой.

  • Звук: 3D-звук на DirectSound с позиционированием относительно источника звука, ускорением и т. п. Тут моей заслуги особо нет, кроме загрузчика wav-файлов я ничего не писал.

  • Ввод: WinAPI + DirectInput. Клавиатура опрашивалась с помощью классического GetAsyncKeyState, в то время как геймпады с помощью DirectInput. Была и абстракция осей ввода — дабы не адаптировать управление под кучу разных контроллеров.

  • Менеджер ресурсов: достаточно примитивен. К менеджеру ресурсов я отнесу и загрузчики — фреймворк поддерживал модели в форматах SMD (не анимированные меши, формат Half-life) и MD2 (анимированные меши, формат Quake 2, строго один материал на один меш), звуки — wav и простенький самопальный формат конфигов. Стандартный набор: трекинг ресурсов на слабых ссылках, пул ассетов для исключения дублирующейся загрузки и т. п.


Фреймворк выдавал не слишком крутую графику:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



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

Игрушка даже на VIA UniChrome работала — последователе всем известного S3 Savage/S3 Virge!

Минимальное приложение выглядело примерно так:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

Приведённый выше код нарисует модельку с текстурой перед лицом игрока. Всё просто и понятно. Однако, как это всё работает «под капотом»? Давайте попробуем разобраться:

❯ Основа и рендерер


В своих играх я стараюсь придерживаться одной архитектуры: есть условный класс Engine, который управляет созданием платформозависимых окон, организацией главного цикла игры и инициализацией подсистем. Поскольку в одном процессе обычно запущен только один экземпляр игры (исключение — выделенные авторитарные серверы с комнатами, на манер Left 4 Dead), сам по себе Engine является синглтоном и содержит в себе ссылки на все необходимые подмодули.

Game.Initialize(new GameApp());

Game.Current.Run();

Как я уже говорил выше, сам по себе рендерер построен на базе графического API Direct3D9. Выбор DX9 обусловлен его распространенностью на железе прошлых лет, хорошей совместимостью (DX9 легко запускается на железе времен DX8 и даже DX7) и иногда лучшей производительностью на видеочипах от ATI. По сути, всё начинается с создания контекста или устройства в терминологии DirectX: в параметрах создания контекста указывается ширина и высота вторичного буфера, желаемый уровень сглаживания MSAA, видеорежим и частота желаемая частота обновления экрана.

https://pastebin.com/uba62bhu

При создании контекста есть свои нюансы, которые необходимо учитывать — например, большинство встроенных видеокарт не поддерживают аппаратную обработку вершин (D3DCREATE_HARDWARE_VERTEXPROCESSING), из-за чего создание контекста будет заканчиваться ошибкой без соответствующего флага, разные видеокарты поддерживают разные форматы буфера глубины и трафарета (сейчас видеокарты нативно даже 24х-битный RGB для рендертаргетов не умеют использовать, только выравненный XRGB), а видеокарты до GF5xxx-GF6xxx не поддерживали Pure режим D3D, который предполагает, что программист возлагает всю обработку ошибок на себя, при этом количество проверок в самом GAPI уменьшается, благодаря чему мы получаем небольшой выигрыш в производительности.

Важно так же отметить такой аспект, как управление ресурсами. К ресурсам видеокарты в терминологии старых GAPI относятся текстуры и буферы (как вершинные, так и индексные). В OpenGL особо нет такого понятия, как Device Lost. Если пользователь сворачивает ваше приложение из полноэкранного режима, или, например, видеодрайвер крашится — то GL сам должен позаботится о перезагрузке ресурсов обратно в видеопамять (исключение — Android и iOS, на мобилках контекст не уничтожится, но ресурсы будут выгружены и их хендлы станут некорректными). У D3D есть событие Lost, которое вызывается при потенциальной потере контекста — и его тоже нужно грамотно обрабатывать. Поэтому в D3D есть несколько пулов:

  • Managed: D3D9 сам сохраняет копию текстуры или геометрии в ОЗУ, а затем при потере контекста пересоздаёт аппаратные буферы и перезагружает нужные данные сам.

  • Default: данные загружаются напрямую в видеопамять (в терминологии D3D — AGP memory), или, если видеопамяти не хватает — в ОЗУ, если видеокарта, конечно, поддерживает Shared Memory Architecture.

  • System: загрузка ресурсов только в ОЗУ. Этот пул обычно не используется в играх — слишком медленно.


И грузить данные желательно в пул Default. Иначе при относительно большом количестве ресурсов, игра начнет «жрать» ОЗУ не в себя (пример — Civilization 5). При потере контекста, ресурсы нужно перезагружать с диска «на горячую»!

Переходим к самому важному — отрисовке геометрии. Для задания внешнего вида объектов на экране, используются так называемые материалы, которые содержат в себе данные о том, какая текстура должна быть наложена на объект, насколько объект отражает свет, какая техника должна использоваться и т. п. В современных движках система материалов обычно гибкая, поскольку шейдеры могут принимать самые разные параметры. В нашем случае шейдеров нет вообще, набор параметров фиксирован и зависит от видеокарты: стандартные техники типа повершинного затенения по Фонгу/Гуро, цвет объекта, туман и т. п.

Формат материалов в фреймворке выглядит вот так:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

Однако даже без шейдеров была возможность сделать относительно гибкую систему материалов — с помощью комбайнеров, как это делала Quake 3. Самые первые 3D-ускорители не поддерживали смешивание нескольких текстур за один вызов отрисовки, поэтому некоторые игры шли на ухищрение: к примеру Quake вручную сортировал геометрию по отдаленности без использования буфера глубины, он просто… накладывал альфа-блендингом ту же самую геометрию с затененной текстурой освещения (лайтмапа). Это называется многопроходной рендеринг. Комбайнеры, которые появились ближе к концу 90-х, позволяли смешивать несколько текстур с помощью различных операций (Add, Sub, Mul, Xor и т. п.), а также умножать финальный цвет на определенный коэффициент. Именно комбайнеры я использовал в своём фреймворке для реализации некоторых относительно сложных эффектов — например, плавное смешивание текстур на ландшафте:

https://pastebin.com/X6vA76CU

Основная проблема комбайнеров — каша из стейтов, поэтому код выглядит не особо презентабельно. Входная текстура-маска выглядит вот так:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Переходим к отрисовке. По сути, за рисование полигональной геометрии отвечает один метод — DrawMesh, с несколькими перегрузками (в идеале — основной должен принимать матрицу трансформации, а остальные принимать обычные World-space координаты, из которых будет построена матрица трансформации). В оригинале метод рисует геометрию с помощью DIPUP, поскольку практически вся геометрия в игре была анимирована (и анимация, само собой, обрабатывалась для каждой вершины софтварно, на ЦПУ, поэтому я не видел разницы между перезаливкой геометрии на GPU каждый кадр и DIPUP), однако в одном из бранчей фреймворка я переписал отрисовку статику на обычный DIP. Обратите внимание, что DIPUP для комплексной геометрии на старых GPU будет слишком медленным — когда-то этим страдал графический движок Irrlicht.

https://pastebin.com/L0GYCkmt

В более позднем бранче добавилось отсечение по дистанции от «глаз» игрока и по пирамиде видимости.

Переходим к анимации. Есть три основных метода анимации геометрии в играх:

  • Скиннинг: анимация вершин относительно скелета модели. Очень хорошо подходит для различных персонажей. Весь скелет является иерархией, где каждый элемент трансформируется относительно позиции родителя, что позволяет легко интегрировать «скелетку» в граф-сцены самого движка (Unity — самый яркий пример). Иногда скелетку используют и для «неоживленных» предметов — например, анимация подвески авто.

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

  • Object-Transform: классический метод иерархической анимации, очень похож на скиннинг, только трансформируются не сами вершины, а привязанные к ним объекты. Применялась, например, во многих играх на PS1 и в GTA III (замечали отсутствие плавности в местах сочленений персонажей — это и есть OT).


Я не умею нормально работать с скиннингом моделей в 3D-редакторах и обычно не юзаю скиннинг в своих игрушках — для небольших демок хватает обычного морфинга с интерполяцией. Если интерполяцию не использовать, то анимация будет выглядеть топорно (в Quake 1 при отключении CVar'а такая и была):

https://pastebin.com/Y5r9eDAk

Работа с анимациями выглядела вот так:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

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

❯ Звук и ввод


Реализация звука в играх задача не шибко сложная, если дело не доходит до программной реализации микшера, 3D-позиционирования и различных эффектов. Большинству игр хватает обычного не-сжатого wav, звук в котором хранится в виде PCM-потока.

В качестве API для звука я выбрал DirectSound. Очень удобное API, хотя сейчас его фактически вытеснил XAudio. DirectSound поддерживает любые звуковые карты, сам занимается микшированием звука, а в некоторых старичках типа AC97 умеет даже аппаратное ускорение! На современных машинах обычно микширование реализовано полностью софтварно, дабы не упираться в количество каналов/память на борту звукового адаптера, но в прошлом это помогало снизить нагрузку на процессор.

В DirectSound есть два основных объекта: сам IDirectSound8, представляющий интерфейс к звуковой карте и управлению её ресурсами и буфер — который может быть подкреплен как собственными данными, так и данными из другого буфера. В играх, они делятся на три базовых понятия:

  • Слушатель: описание позиции и иных параметров «слушателя» — позиции ушей в игровом мире. Обычно позиция слушателя совпадает с позицией игрока.

  • Источник: описание источника звука в 3D-пространстве. Например, если мимо нас проносится машина, то звуковому API необходимо знать позицию, ускорение и дальность звука, дабы правильно скорректировать звук в пространстве.

  • Поток: поток, который содержит в себе звук. Может быть как обычным буфером, куда звук уже предварительно загружен, так и потоковым буфером, куда загружается часть музыки или другого длинного трека.


Переходим к реализации примитивного звука:

https://pastebin.com/jrG2iaiT

Теперь мы можем воспроизводить звуки в нашей игре!

Однако, нам нужно чтобы пользователь мог взаимодействовать с нашей игрой. Для этого в разных системах есть различные API для взаимодействия с устройствами ввода. В случае Windows — это DirectInput для обычных USB-геймпадов и рулей, и XInput для геймпадов, совместимых с Xbox 360/Xbox One. Нажатия с клавиатуры можно обрабатывать двумя способами: с помощью событий WM_KEYDOWN и WM_KEYUP и функции WinAPI GetAsyncKeyState.

Пока что мне нужна только клавиатура и мышь:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

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

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

❯ Редактор уровней


Поскольку у фреймворка нет какого-либо своего графа сцены, я реализовываю механизм загрузки уровней в каждой игре с нуля — под конкретные нужды. В какой-то игре нужен стриминг для открытого мира, в другой — быстрая загрузка уровней, где есть множество объектов с разными параметрами. Изначально я использовал Blender в качестве редактора уровней и экспортировал карты небольшим скриптом, который сохранял основные параметры в файл.

Однако блендер (особенно 2.79 и ниже) не очень удобный редактор для работы с достаточно большими картами. Поэтому в определенный момент встал вопрос с организацией графа сцены и собственного редактора карт.

Граф сцены и графом то не назовешь — это просто линейный список объектов, которые присутствуют на сцене. Каждый объект наследуется от базового абстрактного типа Entity, если это «невидимый» объект, или PhysicsEntity, если объект должен интегрироваться с физическим движком. У базового объекта есть только имя и флаг выборки в редакторе.

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

Вообще, для редактирования уровней можно хоть редактор Unity использовать, предварительно написав экспортер в самопальный формат. Однако я решил реализовать свой редактор: как обычное Windows Forms приложение + панель, в которую движок рендерит картинку. В его реализации нет ничего необычного: он точно также загружает уровень, как и основная игра, но при этом не создаёт игрока и ботов и имеет свободную камеру.

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Формат уровней примитивный донельзя. В процессе разработки небольших игрушек я обычно следую принципу KISS и не люблю распыляться сложными сериализаторами/десериализаторами и прочими заморочками, реализовывая лишь самые необходимый функционал. Формат карт — текстовый, одна линия на один объект:

p ferns 0 0 10.8 0 0 0 1

Где p — «класс» объекта, в случае p — это Prop, «декорация».
ferns — модель пропа. При этом сами пропы описаны в отдельных текстовых файлах, где в виде key-value значений хранятся настройки коллизии, материала, текстуры и т. п.
XYZ — позиция в мире.
XYZ — поворот в мировых координатах, задаётся в углах Эйлера (это только для статики, которая не подвержена Gimbal Lock, под капотом вся работа идёт с кватернионами).

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

❯ Физика автомобилей


После того, как граф сцены был готов, я приступил к реализации физики автомобилей. Но как я уже говорил, физический движок я использовал готовый — т. е. вся работа по резолвингу столкновений, распаралелливанию вычислений и Joint'ам сводилась чисто к нему. Я лишь использовав физику колеса, реализовал поведение машинки, внеся в него некоторые изменения: в основном — вынес в публичные свойства параметры трения колеса.

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Само колесо реализовано по классическому принципу рейкастинга — колесо пускает под себя лучи и определяет трение относительно поверхности, на котором стоит, при этом двигая остальное тело используя собственное ускорение. Сейчас в играх для более точной симуляции используется Pacejka Magic Formula — формула, позволяющая рассчитать физически корректное поведение покрышки с различными диаметрами.

Поскольку класс сущности машинки слишком большой и требует контроля самых разных аспектов (коробка передач, аспекты тюнинга, отрисовка и материалы), я вынес часть физики в отдельный класс CarPhysics:

https://pastebin.com/k9KXtreT

Как можно видеть из метода Move, наша машинка полноприводная и имеет две управляющие оси (передние, само собой). Конфигурацию привода легко можно модифицировать в будущем.
Коллизия кузова машинки — обычный OBB прямоугольник, ну или «коробка».

А вот как это работает на практике:

Пока что гонки на утюгах. Но ездит же. :))
Но с кем мы гоняемся?

❯ Боты


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

  • Вейпоинты с поиском путей: довольно комплексный метод, который позволяет сделать, например, гонки в открытом городе, где боты сами смогут находить путь к чекпоинтам. Подобный способ используется для гонок в GTA, например. Строго говоря, сам по себе поиск путей — это тоже набор чекпоинтов и преград, поэтому для такого метода навигации необходимо довольно большое количество информации (пути для трафика, светофоры и т. п).

  • Вручную раставленые вейпоинты: классика. Левелдизайнер вручную расставляет вейпоинты и задает им параметры: например, на этом повороте нужно притормозить, а на этой прямой можно поддать газку.

  • Заранее записанные пути: способ с вейпоинтами, где разработчики сначала сами катаются по трассе, стараясь выбить лучшее время, а затем используют записанный набор вейпоинтов для противников.


При этом некоторые разработчики не стесняются красивых фейков: реализация реалистичного входа в поворот с крутой физикой может быть сложной, особенно когда боты «тупые», поэтому в некоторых играх ботам намеренно подкручивали управляемость или максимальную скорость. Помните, как быстро нагоняли соперники в NFS Underground? Вот то-то же. :)

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

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

private Vector3 WorldToLocalSpace(Vector3 worldPoint)

{

Matrix transform = Matrix.Invert(Matrix.RotationQuaternion(Rigidbody.Rotation) * Matrix.Translation(Rigidbody.Position));

Vector4 vector4 = Vector4.Transform(new Vector4(worldPoint, 1f), transform);

return new Vector3(vector4.X, vector4.Y, vector4.Z);

}

Если очень условно, то это выражение эквивалентно a — b с учетом поворота. Поскольку мы вычислили локальные координаты вейпоинта, нам остаётся только вычислить угол между ними с помощью классического atan2 и перевести радианы в градусы:

private float AngleBetween(Vector3 v1) {

return (float) Math.Atan2((double) v1.X, (double) v1.Z) * 57.29578f;

}

Полностью логика бота выглядит так:

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост

Легко и просто, да?

❯ Гараж и гонки


Какой интерес в гонках без… гонок? Поскольку у меня не было особо ассетов для создания пригорода, я решил сделать пересеченную местность. А на пересеченной местности у нас есть как кольцевые гонки, так и спринт — от точки до точки.

Помимо этого, в игре должен быть гараж, где игрок мог бы купить новую машину или тюнинговать текущую. В начале игры выдавалась бы старая дедова копейка (модельки Оки не нашел), а то и Москвич, а потом игрок выигрывал бы в гонках и получал возможности про прокачке тачек и покупке новых. Эээх, лавры Lada Racing Club не дали покоя!

Начал я с реализации гаража. Сам по себе гараж — отдельный уровень, который обрабатывается своим контроллером, также в гараже применяется самый первый доступный UI в фреймворке — меню со списками. Сам гараж поделен на множество подменю: тюнинг, гонки и автосалон.

https://pastebin.com/dakm4AvbПараллельно с гаражом, была проработана система тюнячек — они тоже описывались в простых текстовых файлах и так или иначе влияли на ходовые качества машины. Правда, визуального тюнинга не было предусмотрена — некому моделлить апгрейды. :(

Сам написал, сам погонял: Как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля? Gamedev, Инди, Игры, Программирование, Графика, Directx, Видеокарта, Железо, Жигули, АвтоВАЗ, Лада, Windows, Видео, YouTube, Длиннопост



Сами гонки можно было начать, обратившись к RaceManager и передав структуру RaceParameters:

public struct RaceParameters {

public string Name;

public string Mode;

public int NumOpponents;

public int Difficulty;

public int Prize;

public int ProgressAffection;

}


После этого, игра загружала уровень, создавала ботов на месте spawnPoint (игрок оказывался, как обычно, последним) и запускала гонку.

https://pastebin.com/mgQJjyJL

А затем каждый кадр просчитывала позиции каждого участника гонки:

https://pastebin.com/0ExwDZaY'

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

Вот мы и дошли до этапа, когда простенькая, но рабочая демка игры у нас уже есть! Игра запускается на GF4, однако работает не совсем корректно — но оптимизировать её под видеокарты тех лет не составит труда (в основном — пережать текстуры, убрать некоторые техники на комбайнерах и запечь статические пропы в батчи).

❯ Заключение


Вот так я и написал гоночки за неделю. Время разработки демки с нуля до состояния, которое вы видите в статье — всего неделю. Да, за это время реально написать прототип гоночной игры. И я ведь знаю, что в комментариях игру будут сравнивать с Lada Racing Club и шутить о сроках её разработки — ведь в этом и суть! Слишком мало реально прикольных ламповых гоночек на жигулях. Вот что у меня получилось в итоге:

Исходниками игры я конечно же поделюсь: тык на GitHub.
А вот линки на загрузку демки:

Гоночки

Шутан

Ну а для меня это был своеобразный челлендж. И я его выполнил — у меня получилась рабочая демка на выходе! Я вижу что вам, моим читателям, интересна тематика самопальной разработки игр. Судя по комментариям, вам нравится тематика геймдева, программирования графики и разработки игр. Темой одной из следующих статей может стать описание архитектуры графических ускорителей конца 90х, история их API (без D3D) и написание 3D-игры для 3dfx Voodoo с нуля, на базе Glide!

Кроме того, я хотел бы рассказать о графическом API известного многим «3D декселератора» S3 Virge. Интересна ли вам такая рубрика? Пишите в комментариях!

Статья подготовлена при поддержке TimeWeb Cloud. Подписывайтесь на меня и @Timeweb.Cloud, , чтобы не пропустить новые статьи каждую неделю!

Показать полностью 16 5
[моё] Gamedev Инди Игры Программирование Графика Directx Видеокарта Железо Жигули АвтоВАЗ Лада Windows Видео YouTube Длиннопост
66
30
CyberCook
1 год назад
Игровые скидки и раздачи

Раздача Инди Игры в Жанре визуальная новелла Paws & Effect на itch.io⁠⁠

Раздача Инди Игры в Жанре визуальная новелла Paws & Effect на itch.io Не Steam, Инди игра, Gamedev, Раздача, Халява, Аниме, Казуальные игры, Комедия, Собака, Photoshop, Easy Paint Tool SAI, Windows, Mac Os, Linux, Itchio, Видео, YouTube, Длиннопост

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

Загружаемая игра для Windows, macOS и Linux.

Раздача Инди Игры в Жанре визуальная новелла Paws & Effect на itch.io Не Steam, Инди игра, Gamedev, Раздача, Халява, Аниме, Казуальные игры, Комедия, Собака, Photoshop, Easy Paint Tool SAI, Windows, Mac Os, Linux, Itchio, Видео, YouTube, Длиннопост
Раздача Инди Игры в Жанре визуальная новелла Paws & Effect на itch.io Не Steam, Инди игра, Gamedev, Раздача, Халява, Аниме, Казуальные игры, Комедия, Собака, Photoshop, Easy Paint Tool SAI, Windows, Mac Os, Linux, Itchio, Видео, YouTube, Длиннопост
Раздача Инди Игры в Жанре визуальная новелла Paws & Effect на itch.io Не Steam, Инди игра, Gamedev, Раздача, Халява, Аниме, Казуальные игры, Комедия, Собака, Photoshop, Easy Paint Tool SAI, Windows, Mac Os, Linux, Itchio, Видео, YouTube, Длиннопост

ЗАБРАТЬ

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

Как гласит старая поговорка, будьте осторожны со своими желаниями.

-------------------------------------------------- -------------------------------------------------- --

В Paws & Effect представлен небольшой, но красочный состав персонажей, включая, помимо прочего, следующих:

Невольная героиня

(Имя по умолчанию: Сэди)

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

Лучшие друзья

(Навсегда Имя: Дия)

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

Бывший парень

(Навсегда Имя: Винсент)

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

Одинокий принц

(Имя по умолчанию: Персики)

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

Королева Воинов

(Имя по умолчанию: Пекан)

Чрезвычайно преданный и явно нуждающийся, Пекан — лучший друг девушки, пока вы держитесь подальше от ее военной тропы. Ее одержимая любовь к Сэди может сравниться только с отвращением к Персику, но ее истинная привязанность — небо и все зло, которое оно таит в себе. Знаете, птицы, самолеты, космос.

-------------------------------------------------- -------------------------------------------------- --

Много! С момента представления на NaNoRenO 2016 игра Paws & Effect претерпела существенные изменения, в том числе:

  • Полная перестройка внутри нового движка (от Novelty до TyranoBuilder)

  • Совершенно новые, нарисованные от руки фоны

  • Новый логотип и брендинг

  • Полностью перерисованные спрайты персонажей.

  • Полностью обновленная музыка и звуковые эффекты.

  • Множество анимированных деталей

  • Новые персонажи

  • Переработанные и расширенные сцены

  • Целенаправленное количество вариантов выбора, которые существенно влияют на внутриигровые события.

  • Более 50 000 слов в разных вариантах и 5 различных концовок.

  • Надежная функция выбора эпизода и выбора.

  • Улучшена техническая стабильность

  • Несколько сотен «легких» голосовых роликов от профессиональных актеров озвучки.

  • Большее распространение платформ (браузер, Windows, Mac и, надеюсь, мобильные устройства)

И список продолжается! Но не верьте на слово — попробуйте новую версию, чтобы увидеть результаты долгого труда в действии.

Мы благодарим всех, кто поддерживал нас последние три года! Мы рады представить новую улучшенную игру Paws & Effect и надеемся, что игра покажется вам интересной, душевной и веселой. Как всегда, мы приветствуем ваши мысли и отзывы.

ПРИМЕЧАНИЕ от разработчиков. 20 % всех доходов будут пожертвованы ASPCA. Мы будем предоставлять квитанции здесь и через нашу учетную запись Twitter для целей бухгалтерского учета. Так что веселитесь и одновременно помогайте животным!

Обновлено : 28 августа 2020 г.

Опубликовано : 7 апреля 2016 г.

Статус : выпущен

Платформы : Windows, macOS, Linux

Дата выхода : 21 ноября 2019 г.

Оценка : 4,6 из 5 звезд

Автор : Shimmersoft

Жанр : Визуальный роман

Сделано с помощью Adobe Photoshop, TyranoBuilder, Paint Tool SAI.

Теги : Аниме, Казуальная игра, Комедия, Милые, Собаки, Женщина-протагонист, бесплатно, Смешно, юмор, TyranoBuilder

Средняя сессия : Около получаса

Языки : английский

Ввод : Мышь

Специальные возможности : Субтитры

Ссылки : Steam, Домашняя страница, Twitter, Сообщество

ЗАБРАТЬ

Показать полностью 3
Не Steam Инди игра Gamedev Раздача Халява Аниме Казуальные игры Комедия Собака Photoshop Easy Paint Tool SAI Windows Mac Os Linux Itchio Видео YouTube Длиннопост
2
31
CyberCook
1 год назад
Игровые скидки и раздачи

Раздача Инди Игры Miasma в Жанре Атмосферного Survival Horror-а itch.io⁠⁠

Miasma - в связи с открытием раннего доступа на стим идет раздача игры на itch.io. По возможности напишите отзыв/мнение в комментах на странице проекта miasma. Разработчики смогут улучшить игру с учетом замечаний. Раздача до субботы 00:00 МСК

Раздача Инди Игры Miasma в Жанре Атмосферного Survival Horror-а  itch.io Не Steam, Раздача, Инди игра, Gamedev, Халява, Windows, Survival Horror, Атмосферно, Itchio, Гифка, Длиннопост, Хоррор игра
Раздача Инди Игры Miasma в Жанре Атмосферного Survival Horror-а  itch.io Не Steam, Раздача, Инди игра, Gamedev, Халява, Windows, Survival Horror, Атмосферно, Itchio, Гифка, Длиннопост, Хоррор игра
Раздача Инди Игры Miasma в Жанре Атмосферного Survival Horror-а  itch.io Не Steam, Раздача, Инди игра, Gamedev, Халява, Windows, Survival Horror, Атмосферно, Itchio, Гифка, Длиннопост, Хоррор игра


ЗАБРАТЬ

Цена обычно : 2.70 $

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

*В игре присутствуют страшные сцены и скримеры, которые могут показаться неприятными некоторым игрокам.

Можете поддержать разработчиков на Patreon.

Так же есть дискорд сервер

Раздача Инди Игры Miasma в Жанре Атмосферного Survival Horror-а  itch.io Не Steam, Раздача, Инди игра, Gamedev, Халява, Windows, Survival Horror, Атмосферно, Itchio, Гифка, Длиннопост, Хоррор игра
Раздача Инди Игры Miasma в Жанре Атмосферного Survival Horror-а  itch.io Не Steam, Раздача, Инди игра, Gamedev, Халява, Windows, Survival Horror, Атмосферно, Itchio, Гифка, Длиннопост, Хоррор игра
Раздача Инди Игры Miasma в Жанре Атмосферного Survival Horror-а  itch.io Не Steam, Раздача, Инди игра, Gamedev, Халява, Windows, Survival Horror, Атмосферно, Itchio, Гифка, Длиннопост, Хоррор игра
Раздача Инди Игры Miasma в Жанре Атмосферного Survival Horror-а  itch.io Не Steam, Раздача, Инди игра, Gamedev, Халява, Windows, Survival Horror, Атмосферно, Itchio, Гифка, Длиннопост, Хоррор игра

Обновлено :80 дней назад

Опубликовано :89 дней назад

Статус В разработке

Платформы : Windows

Автор : GhostMasaki

Жанр : Выживание

Теги : Атмосфера, Ужасы, Психологический хоррор, Короткометражка

Ссылки Steam


ЗАБРАТЬ

Показать полностью 7
Не Steam Раздача Инди игра Gamedev Халява Windows Survival Horror Атмосферно Itchio Гифка Длиннопост Хоррор игра
8
30
CyberCook
1 год назад
Игровые скидки и раздачи

Раздача Pinfall платформера с шарикомиз игры Пинбол⁠⁠

pinfall - пиксельный платформер, если коротко то - это приключения шарика из пинбол

Раздача Pinfall платформера с шарикомиз игры Пинбол Не Steam, Gamedev, Инди игра, Раздача, Халява, Pico, Windows, Mac Os, Linux, HTML, Itchio, Головоломка, Видео, YouTube, Длиннопост
Раздача Pinfall платформера с шарикомиз игры Пинбол Не Steam, Gamedev, Инди игра, Раздача, Халява, Pico, Windows, Mac Os, Linux, HTML, Itchio, Головоломка, Видео, YouTube, Длиннопост

Настоятельно рекомендуется загрузить, так как в противном случае данные сохранения основаны на файлах cookie и могут быть легко потеряны!

Jump King с ядром SMW, подвергшимся сильному влиянию хакеров — 32 экрана плотно упакованных высокоточных платформеров с высокими ставками. Первое прохождение ~6-8 часов; мой личный рекорд — 12 минут.

Изначально это была местная игра-джем, созданная пару лет назад, и я решил ее доработать и закончить. Пожертвования очень приветствуются, и заплатив 1 доллар или больше, вы получите доступ ко ВСЕМ версиям игры на протяжении всей ее разработки, включая некоторые старые материалы, из которых она была создана, и несколько дополнительных изображений. Вам понадобится копия PICO-8 для запуска исходного кода, но внутри есть несколько сборок, и я буду продолжать обновлять его, если наткнусь на что-нибудь новое.

Если вы пройдете игру, напишите мне сообщение:

Твиттер: @theonetruegarbo | Дискорд: .garbo

Спасибо за игру!

Застряли?

ПИНФАЛЛ Праймер

Полное прохождение

Обновлено : 1 день назад

Опубликовано : 83 дня назад

Статус : выпущен

Платформы : Windows, macOS, Linux, HTML5.

Дата выхода : 83 дня назад

Оценка : 5,0 из 5 звезд

Автор: garbo111

Жанр : Платформер

Сделано с PICO-8

Теги 2D, Сложные, прыжки, PICO-8, Пиксельные игры, Для одного игрока

Код лицензии : Лицензия MIT

Лицензия на активы : Creative Commons Attribution v4.0 International

Средняя сессия : Несколько часов

Ввод : Клавиатура

Доступност : Бестекстовый

ЗАБРАТЬ

Показать полностью 2
Не Steam Gamedev Инди игра Раздача Халява Pico Windows Mac Os Linux HTML Itchio Головоломка Видео YouTube Длиннопост
0
25
CyberCook
1 год назад
Игровые скидки и раздачи

Раздача игры Alone глава 1 и 2 в жанре ужас-головоломка на Itch.io⁠⁠

Alone II и Alone I у второй части оценки выше, рекомендую начать с неё...

Раздача игры  Alone  глава 1 и 2 в жанре ужас-головоломка на Itch.io Не Steam, Инди игра, Gamedev, Раздача, Разработка, Ужас, Приключения, Головоломка, Itchio, Photoshop, Unity, Audacity, Windows, Mac Os, Видео, YouTube, Длиннопост
Раздача игры  Alone  глава 1 и 2 в жанре ужас-головоломка на Itch.io Не Steam, Инди игра, Gamedev, Раздача, Разработка, Ужас, Приключения, Головоломка, Itchio, Photoshop, Unity, Audacity, Windows, Mac Os, Видео, YouTube, Длиннопост
Раздача игры  Alone  глава 1 и 2 в жанре ужас-головоломка на Itch.io Не Steam, Инди игра, Gamedev, Раздача, Разработка, Ужас, Приключения, Головоломка, Itchio, Photoshop, Unity, Audacity, Windows, Mac Os, Видео, YouTube, Длиннопост
Раздача игры  Alone  глава 1 и 2 в жанре ужас-головоломка на Itch.io Не Steam, Инди игра, Gamedev, Раздача, Разработка, Ужас, Приключения, Головоломка, Itchio, Photoshop, Unity, Audacity, Windows, Mac Os, Видео, YouTube, Длиннопост

Alone II

[ Alone ] — это сюжетная игра в жанре ужасов, в которой вам нужно решать головоломки и как можно быстрее покинуть территорию?

В предыдущей главе он вышел из дома!! Теперь он думает, что снаружи уже не так безопасно. Он звонит своей подруге и решает поехать к нему домой недалеко от ее родного города. Но главная проблема в том, что он не знает, где я?

Время игры: 30-60 минут!

Особенности

  • Управление: [ASWD].

  • Взаимодействие: [Е].

  • Внутриигровое обучение.

Геймплей

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

В игре есть мигающие огни, JumpScars и невероятная кровь, которая может отпугнуть некоторых зрителей.

Разработчики : Нишад

Обновлено : 76 дней назад

Опубликовано : 10 июня 2023 г.

Статус : выпущен

Платформы : Windows, MacOS

Оценка : 4,0 из 5 звезд

Автор : НИШАД

Жанр : приключения, головоломка

Сделано в Adobe Photoshop, Unity, Audacity.

Теги : Атмосфера, Жуткий, Темное фэнтези, Ужасный, Ужас, психоделический, Психологический хоррор, Жуткий, Хоррор на выживание

Средняя сессия : Около получаса

Ввод : Клавиатура, Мышь

Специальные возможности Субтитры, высокая контрастность, интерактивное руководство

ЗАБРАТЬ Alone II ,

Alone I

Показать полностью 3
Не Steam Инди игра Gamedev Раздача Разработка Ужас Приключения Головоломка Itchio Photoshop Unity Audacity Windows Mac Os Видео YouTube Длиннопост
0
29
CyberCook
1 год назад
Игровые скидки и раздачи

Раздача серии игр в жанре экшн-головоломка The Door! 1, 2, 3, 4 на Itch.io⁠⁠

Раздача The Door! 1, 2, 3, 4 рекомендую начать с последней там графика прокачана в остальных постепенно от первой к третьей улучшается. Самый вырви глаз в первой части для хардкорных фанов бродилок- головоломок.

Раздача серии игр в жанре экшн-головоломка The Door! 1, 2, 3, 4 на Itch.io Itchio, Раздача, Gamedev, Инди игра, Халява, Не Steam, Разработка, Головоломка, Экшн, Приключения, Windows, Mac Os, Linux, Видео, YouTube, Длиннопост

Дверь! 4

Дверь! 4

Дверь! 3

Дверь! 2

Дверь! 1

Одинокий мальчик в своей комнате спит, вдруг случается гроза, и он просыпается. Он оказывается совсем в другой комнате, теперь ищет какой-нибудь способ вытащить его из этого дома, но нашел неизвестную комнату со стенами и крышей, покрытыми ПЛИТКОЙ. И он встретил...

посмотрите видео разработчика на YouTube: - Нитиш Томбре (YouTube )

DISCORD: - Нитиш, но в Discord

Следите за разработчиком в Instagram: @nitish_thombre_in.dev

Если вы не делаете пожертвования, пожалуйста, проверьте этот блог, это очень помогает разработчику : - Блог Нитиша Томбре

Поддержите разработчика на Patreon

Следи за разработчиком на itch

Специальная Благодарность:

  • Blender guru

  • Brakeys

  • Unity

  • Blender

За их программное обеспечение и знания.

Обновлено : 75 дней назад

Опубликовано : 26 мая 2023 г.

Статус : выпущен

Платформы : Windows, macOS, Linux

Дата выхода : 83 дня назад

Оценка : 5,0 из 5 звезд

Автор : Нитиш Томбре

Жанр : Экшен, Головоломка

Сделано с Unity, Blender

Теги : 3D, Атмосфера, Хоррор, Для одного игрока

Средняя сессия : Несколько часов

Языки : английский

Ввод : Клавиатура, мышь, джойстик

ЗАБРАТЬ игры тут :

Дверь! 4

Раздача серии игр в жанре экшн-головоломка The Door! 1, 2, 3, 4 на Itch.io Itchio, Раздача, Gamedev, Инди игра, Халява, Не Steam, Разработка, Головоломка, Экшн, Приключения, Windows, Mac Os, Linux, Видео, YouTube, Длиннопост

The Door! 4

Дверь! 3

Раздача серии игр в жанре экшн-головоломка The Door! 1, 2, 3, 4 на Itch.io Itchio, Раздача, Gamedev, Инди игра, Халява, Не Steam, Разработка, Головоломка, Экшн, Приключения, Windows, Mac Os, Linux, Видео, YouTube, Длиннопост

The Door! 3

Дверь! 2

Раздача серии игр в жанре экшн-головоломка The Door! 1, 2, 3, 4 на Itch.io Itchio, Раздача, Gamedev, Инди игра, Халява, Не Steam, Разработка, Головоломка, Экшн, Приключения, Windows, Mac Os, Linux, Видео, YouTube, Длиннопост

The Door! 2

Дверь! 1

Раздача серии игр в жанре экшн-головоломка The Door! 1, 2, 3, 4 на Itch.io Itchio, Раздача, Gamedev, Инди игра, Халява, Не Steam, Разработка, Головоломка, Экшн, Приключения, Windows, Mac Os, Linux, Видео, YouTube, Длиннопост

The Door! 1

Показать полностью 5
Itchio Раздача Gamedev Инди игра Халява Не Steam Разработка Головоломка Экшн Приключения Windows Mac Os Linux Видео YouTube Длиннопост
0
24
CyberCook
1 год назад
Игровые скидки и раздачи

Раздача хоррора-выживания Shady Mission на Itch.io⁠⁠

Раздача хоррора-выживания Shady Mission на Itch.io Itchio, Gamedev, Раздача, Инди игра, Халява, Mac Os, Windows, Survival Horror, Ужасы, Видео, YouTube, Длиннопост, Не Steam
Раздача хоррора-выживания Shady Mission на Itch.io Itchio, Gamedev, Раздача, Инди игра, Халява, Mac Os, Windows, Survival Horror, Ужасы, Видео, YouTube, Длиннопост, Не Steam
Раздача хоррора-выживания Shady Mission на Itch.io Itchio, Gamedev, Раздача, Инди игра, Халява, Mac Os, Windows, Survival Horror, Ужасы, Видео, YouTube, Длиннопост, Не Steam

ЗАБРАТЬ

В отдаленном городе произошел вирусный эксперимент, вызвавший хаос

и город был отрезан, исследуйте город и постарайтесь выжить долго

достаточно, чтобы завершить миссию… если осмелитесь.

Два агента были отправлены для сбора вируса, размещенного правительством

коллекционеров, и о них никто не слышал. Назначено на восстановление

Задача отряда и команды — найти пропавших агентов и восстановить вирус.

образцы, чтобы ученые могли заняться их нейтрализацией.

Вздохнув, команда шагнула в вертолет…

Функции:

У вас есть два персонажа, Алиса и Бен, если вы убьете обоих, игра закончится. В игре открытый мир без временных рамок, есть несколько станций сохранения, которые позволяют вам продолжить в другой раз или вернуться в меню и переключить персонажа.

Элементы управления:

  • ДВИЖЕНИЕ — клавиши WASD

  • ПОСМОТРИ - мышь

  • СПРИНТ – Левый Шифт

  • ПРЫГАТЬ - Пробел

  • ЛЕВАЯ кнопка мыши – взаимодействие/стрельба.

  • С – присесть

  • Г - граната

  • Z - масштабировать

  • Ф - фонарик

  • В - пистолет

  • Я - HUD

  • М - сообщение

  • ESC - меню паузы

  • Поддерживает контроллер PS4 (игра и меню)

Лестницы могут быть непростыми: наведите указатель мыши вверх/вниз и W для подъема/спуска по лестнице.

ЦП: минимум двухъядерный, рекомендуется четырехъядерный

КАРТА GFX: минимум Intel HD630 (низкая частота кадров), рекомендуется GTX 1050.

Обновлено : 14 дней назад

Опубликовано : 3 января 2021 г.

Статус : выпущен

Платформы : Windows, macOS

Оценка : 3,7 из 5 звезд

Автор : 8080

Жанр : Выживание

Теги : Атмосфера, Жуткий, Мрачный, Ужасы, страшный, Хоррор на выживание

Средняя сессия : Несколько часов

Ввод : Клавиатура, Мышь

ЗАБРАТЬ

Показать полностью 2 1
Itchio Gamedev Раздача Инди игра Халява Mac Os Windows Survival Horror Ужасы Видео YouTube Длиннопост Не Steam
4
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии