• Создание следов на снегу в Unreal Engine 4

    • Перевод

    Если вы играете в современные AAA-игры, то могли заметить тенденцию использования покрытых снегом ландшафтов. Например, они есть в Horizon Zero Dawn, Rise of the Tomb Raider и God of War. Во всех этих играх у снега есть важная особенность: на нём можно оставлять следы!

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

    В этом туториале вы научитесь следующему:

    • Создавать следы с помощью захвата сцены для маскировки объектов, близких к земле
    • Использовать маску с материалом ландшафта, чтобы создавать деформируемый снег
    • Для оптимизации отображать следы на снегу только рядом с игроком
    Читать дальше →
    • +25
    • 2,7k
    • 1
  • Ultima Online: взгляд из-за кулис

    • Перевод
    image

    Эта статья является переводом нескольких фрагментов книги Braving Britannia: Tales of Life, Love, and Adventure in Ultima Online (www.bravingbritannia.com). Кроме бесед с десятками игроков об их опыте игры в эту прабабушку всех MMO, в книге представлены интервью с некоторыми из первых программистов, дизайнеров и продюсеров игры, в том числе с Крисом Майером (Fallout 76), Рафом Костером (Star Wars Galaxies), Старром Лонгом (Shroud of the Avatar), Гордоном Уолтоном (Crowfall), Ричем Фогелем (DOOM) и другими.

    Прежде чем прийти в Origin Systems на должность ведущего программиста, Крис «Faceless» Майер экспериментировал с Ultima Online как один из первых игроков. Майер работал инженером-разработчиком ПО в Остине, штат Техас, используя быстрый Интернет на своём рабочем месте для игры в Ultima Online в обеденный перерыв или после работы.

    Майера всегда интересовало создание игр и он надеялся когда-нибудь заняться им профессионально. На самом деле, он готовился к этой возможности всю свою юность.
    Читать дальше →
  • Реверс-инжиниринг эмулятора NES в игре для GameCube

    • Перевод
    image

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

    В дополнение к играм NES/Famicom, которые можно получить внутри игры, можно загружать новые игры NES с карты памяти.

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

    Введение — объекты консоли NES


    Обычные игры для NES, которые можно получить в Animal Crossing, представляют собой отдельные элементы мебели в виде консоли NES с лежащим на ней картриджем.

    Расположив этот объект в своём доме и взаимодействуя с ним, можно запустить эту единственную игру. На рисунке ниже показаны Excitebike и Golf.

    Читать дальше →
    • +19
    • 3,4k
    • 2
  • Создание мультяшного шейдера воды для веба. Часть 3

    • Перевод
    image

    Во второй части мы рассмотрели плавучесть и линии пены. В этой последней части мы применим как эффект постобработки подводные искажения.

    Преломление и эффекты постобработки


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

    Постобработка


    В общем случае эффект постобработки — это любой эффект, применяемый к всей сцене после её рендеринга, например, оттенки цвета или эффект старого ЭЛТ-экрана. Вместо рендеринга сцены непосредственно на экран, мы сначала рендерим её в буфер или текстуру, а затем, пропустив сцену через свой шейдер, выполняем рендеринг на экран.
    Читать дальше →
  • Создание мультяшного шейдера воды для веба. Часть 2

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

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

    • Добавил модели маяка и осьминога.
    • Добавил модель земли с цветом #FFA457.
    • Добавил камере цвет неба #6CC8FF.
    • Добавил в сцену цвет подсветки #FFC480 (эти параметры можно найти в настройках сцены).

    Моя исходная сцена теперь выглядит так.

    Читать дальше →
  • Создание мультяшного шейдера воды для веба. Часть 1

    • Перевод
    В своём туториале «Создание шейдеров» я в основном рассматривал фрагментные шейдеры, которых достаточно для реализации любых 2D-эффектов и примеров на ShaderToy. Но существует целая категория техник, требующих использования вершинных шейдеров. В этом туториале я расскажу о создании стилизованного мультяшного шейдера воды и познакомлю вас с вершинными шейдерами (vertex shaders). Также я расскажу о буфере глубин и о том, как использовать его для получения дополнительной информации о сцене и для создания линий морской пены.

    Вот как будет выглядеть готовый эффект. Интерактивное демо можно посмотреть здесь.


    Этот эффект состоит из следующих элементов:

    1. Просвечивающий меш воды с разбитыми на части (subdivided) полигонами и смещёнными вершинами для создания волн.
    2. Статичные линии воды на поверхности.
    3. Имитируемая плавучесть лодок.
    4. Динамические линии пены вокруг границ объектов в воде.
    5. Постобработка для создания искажений всего, что находится под водой.

    В этом эффекте мне нравится то, что он затрагивает множество различных концепций компьютерной графики, поэтому позволит нам использовать идеи из предыдущих туториалов, а также развить техники, которые можно будет применить в новых эффектах.
    Читать дальше →
  • Моё участие в разработке Uncharted 4

    • Перевод

    После выпуска Uncharted 4 я уже могу рассказать о том, над чем работал в этом проекте. В основном я разрабатывал ИИ для напарников игрока в однопользовательском режиме и помощников в многопользовательском, а также немного работал над геймплейной логикой. Я опущу те аспекты, которые не добрались до готовой игры и некоторые мелкие детали.

    Итак, приступаем:

    Система постов


    Прежде чем начать, я хотел бы рассказать о использованной у NPC системе постов. Я не работал над ядром логики этой системы, а помогал писать клиентский код, который её использовал.

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

    Читать дальше →
  • Создание крюка-кошки в Unity. Часть 2

    • Перевод
    image

    Примечание: этот туториал предназначен для продвинутых и опытных пользователей, и в нём не рассматриваются такие темы, как добавление компонентов, создание новых скриптов GameObject и синтаксис C#. Если вам нужно повысить навыки владения Unity, то изучите наши туториалы Getting Started with Unity и Introduction to Unity Scripting.

    В первой части туториала мы научились создавать крюк-кошку с механикой оборачивания верёвки вокруг препятствий. Однако мы хотим большего: верёвка может оборачиваться вокруг объектов на уровне, но не отцепляется, когда вы возвращаетесь обратно.
    Читать дальше →
  • Dead Cells: использование 3D-конвейера для 2D-анимации

    • Перевод
    image

    Можно сказать, что девиз почти всех инди-разработчиков — это «Большие мечты при ограниченных ресурсах». Когда я начал работать над первой игрой Motion Twin для Steam Dead Cells, эта фраза стала и моим девизом.

    Меня зовут Тома Вассёр, в течение целого года я был единственным художником Dead Cells. Я занимался дизайном и анимациями каждого аспекта игры. В одиночку мне пришлось создавать графический стиль, персонажей, монстров, анимации, спецэффекты (FX) и большинство фонов Dead Cells… Пока, к счастью, мне на помощь не пришёл мой злой брат-близнец Генель Массе. Количество художников Dead Cells удвоилось.

    Однако нехватка рабочих рук в нашем секторе является частой ситуацией, поэтому я расскажу, как мне удалось не сойти с ума, работая в одиночку всё это время (конечно же, если я ещё не умер и это всё не иллюзия).
    Читать дальше →
  • Извлекаем уровни из Super Mario Bros с помощью Python

    • Перевод

    Введение


    Для нового проекта мне понадобилось извлечь данные уровней из классической видеоигры 1985 года Super Mario Bros (SMB). Если конкретнее, то я хотел извлечь фоновую графику каждого уровня игры без интерфейса, подвижных спрайтов и т.п.

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

    На первом этапе проекта мы изучим язык ассемблера 6502 и написанный на Python эмулятор. Полный исходный код выложен здесь.
    Читать дальше →
    • +24
    • 6,1k
    • 1