• Шум Перлина, процедурная генерация контента и интересное пространство

    • Перевод
    Наверно худшее, что случилось в области процедурной генерации контента (если считать, что это действительно область процедурной генерации контента, в чём я уверен не полностью) — это шум Перлина. Шум Перлина невероятно хорошо подходит (по крайней мере, если не приглядываться слишком внимательно) для генерации интересных ландшафтов. В сабреддите /r/proceduralgeneration недели не проходит без того, чтобы кто-нибудь не опубликовал «систему процедурной генерации», которая оказывается визуализированным разными цветами шумом Перлина. (За время написания этой статьи появилось два таких поста!)


    Я не хочу унизить шум Перлина. Это невероятно полезный для процедурной генерации инструмент, ставший точкой входа в эту область для множества людей, в том числе и меня. Но в то же время он очень сбивает с толку, потому что подразумевает, что процедурная генерация намного проще, чем это есть на самом деле. Большинство еженедельных постов о «системах процедурной генерации» в /r/proceduralgeneration исчезают без следа, когда их авторы обнаруживают, что следующий шаг в процедурной генерации гораздо сложнее. Истина в том, что шум Перлина стал своего рода счастливой случайностью. Он отлично подходит для генерации интересных ландшафтов, но на то нет систематических или повторяемых причин.
    Читать дальше →
  • Пространство генерации и пространство возможностей

    • Перевод
    В этом туториале я расскажу о двух терминах, которые используются мной для описания процедурных генераторов: пространство генерации (generative space) и пространство возможностей (possibility space). Мы дадим определения этим двум терминам, а затем рассмотрим интерактивные примеры, чтобы понять разницу между ними. Эти термины действительно полезны для описания процедурного генератора и для того, чтобы понимать разницу между двумя генераторами. Давайте приступим!


    Представьте огромную книгу, в которой представлен скриншот каждого отдельного мира Minecraft. Каждый скриншот помечен случайным seed, уникальным числом, которое можно ввести в Minecraft и сгенерировать этот мир. На первой странице представлен мир, порождённый из seed = 0, на следующей — мир из seed = 1, и так далее. В целом генератор миров Minecraft содержит 264 случайных порождающих значений, и это огромное число: игра может сгенерировать 18 446 744 073 709 551 616 миров. Каждый раз, когда вы нажимаете на «New World», на основе одного из этих seed создаётся мир. Число 264 — это размер пространства генерации Minecraft, множество всего, что игра может сгенерировать.


    Теперь представьте, что мир Minecraft состоит только из обычной травы, бесконечно распространяющейся во всех направлениях. Под ней нет ни пещер, ни камня, нет деревьев и холмов, нет животных. Просто один слой тайлов травы. Кроме того, что это очень скучно, такой мир никогда не будет сгенерирован в Minecraft (если не использовать моддинг). Мы можем представить его, можем описать его, даже открыть Minecraft и создать его сами вручную — но Minecraft не может сгенерировать его.
    Читать дальше →
  • Передача данных между сценами в Unity — применение мультисценности в разработке простых игр

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

    Поговорим о статических классах для хранения данных, различных способах подгрузки сцен движком Unity, а также коснёмся кейса подключения Admob к проекту. Информация предоставлена официальной документацией и доброжелательным коммьюнити разработчиков.
    Читать дальше →
  • Как создавали Spore: интервью с разработчиками

    • Перевод
    image

    7 сентября 2008 года Maxis выпустила одну из самых амбициозных игр своего времени — Spore.

    Однопользовательская «игра в бога» в песочнице была поначалу воспринята со смесью одобрения и критики: многие фанаты были расстроены тем, что она не соответствовала ожиданиям, данным в демо-версиях из доклада Уилла Райта на GDC 2005 и различных показов на E3. Но со временем её признали проектом, ставшим пионером процедурной генерации, который даже спустя десять лет имеет активную базу игроков.

    В процессе разработки команда Maxis разрослась от идеи в голове Уилла Райта до более 100 разработчиков; каждый дизайнер, касавшийся отдельных аспектов Spore, знал, что это нечто потрясающее. Даже если первоначальной концепции придётся в течение работы измениться.

    «Когда я впервые говорил с ним, он хотел, чтобы эта игра была об уравнении Дрейка. О невероятности нашей вселенной», — рассказывает мне по Skype ведущий дизайнер Крис Тротье. «Он хотел, чтобы игроки прошли все эти этапы огромных неудач, чтобы они поняли, насколько невероятно то, что мы появились. Довольно быстро он отказался от этой идеи, но она даёт понять, насколько масштабной задумывалась игра с самого начала».

    Десять лет спустя участники проекта Spore хотят рассказать о сложностях, важных моментах и опыте разработки столь влиятельной игры. В статье представлены цитаты из интервью, проведённых по отдельности с ведущим дизайнером Крис Тротье, техническим художником Кейт Комптон, ведущим дизайнером Стоуном Либранде, инженером ПО Дейвом Кулибой, ведущим инженером геймплея Дэном Московицем и помощником продюсера Гийомом Пьером. (К сожалению, Уилл Райт от нас ускользает...)
    Читать дальше →
    • +26
    • 13,7k
    • 9
  • Искусственный интеллект Horizon Zero Dawn: индивидуальное поведение

    • Перевод
    В первой части исследования ИИ Horizon Zero Dawn я рассказал, как игра создаёт стада управляемых искусственным интеллектом животных-машин. Для этого требуется сложная система иерархии агентов, в которой каждая машина может принимать решения о том, как вести себя, пользуясь планировщиком сети иерархических задач, а групповые агенты совместно назначают машинам роли и обязанности как частям стада. Всё это является частью системы под названием «The Collective», которая поддерживает экосистему всех машин в мире, когда пользователь находится в игре.


    В этой заключительной статье мы подробнее рассмотрим системы, которые отдельные машины могут использовать как часть своего базового поведения. В них включены системы сенсоров, навигация для наземных и летающих машин, а также тесная связь ИИ-поведений с системами анимаций, обеспечивающая каждой машине опасное, но в то же время реалистичное поведение.
    Читать дальше →
  • Искусственный интеллект Horizon Zero Dawn

    • Перевод
    Horizon Zero Dawn находится в списке одних из лучших эксклюзивов для Playstation 4. В роли охотницы Элой игроки путешествуют по постапокалиптическим ландшафтам будущего, чтобы раскрыть тайны её прошлого и узнать о причинах разрушения мира. Упадок человечества привёл к расцвету «машин» — роботов разных форм и размеров, свободно живущих повсюду. Эти животные-роботы умны, скоординированы и смертельно опасны: чтобы выжить, нужно быстро думать, чтобы уничтожить их — тщательно готовиться и планировать.


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

    Предупреждение: в статье присутствуют спойлеры сюжета Horizon Zero Dawn.
    Читать дальше →
  • Генерация барьерных островов

    • Перевод
    В декабрьских новостях об урагане Флоренс часто упоминались Внешние отмели — ряд барьерных островов на побережье Северной Каролины:


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

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

    Чтобы понять, почему это так, давайте взглянем на «ванильную» карту острова:
    Читать дальше →
  • Что такое качественная idle-анимация? Разработчики делятся своими любимыми примерами

    • Перевод
    image

    Создание связи игрока с персонажем, раскрытие подробностей его личности, чтобы он был для игрока уникальным — сложная задача, и как решить её всего несколькими простыми движениями?

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

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

    Хотя очень немногие разработчики пришли к общему мнению о том, в каких играх есть наиболее запомнившиеся или интересные анимации ожидания (за исключением Earthworm Jim, которого, очевидно, любят все), они объяснили, почему из-за таких анимаций персонажи кажутся живыми, всего несколькими кадрами придавая своим мирам реалистичности.
    Читать дальше →
  • Мой путь начинающего разработчика игр

    Доброго времени суток, уважаемые пользователи!


    Хочу поделиться с Вами своей маленькой историей создания своей маленькой игры.

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

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

    Наступил 2019 год, и я решил: «Пора заняться чем-то новым!» Сел на диван первого января, открыл YouTube, как обычно, и включил фоном какой-то видос, параллельно размышляя чем бы заняться. И вот мне в голову пришла великолепная мысль, которой я решил сразу же заняться. Я решил выучить новый язык программирования! До этого знал только Python (о нем чуть позже) и pascal, который никому был не нужен, только для решения того же ЕГЭ. Вот сел я значит за ноутбук и думаю «Какой бы язык выбрать?». Мой выбор пал на Java.
    Читать дальше →
  • Сложное модульное архитектурное окружение в UE4

    • Перевод
    Тайлер Анлауф подготовил подробный анализ модульного окружения ROME: Church of Sant’Ivo созданного им в UE4 и 3ds Max. В статье он рассказывает о предварительном черновом плане (blockout), модульной сборке, освещении, постобработке и многом другом.


    ROME: Church of Sant’Ivo


    В данном анализе я поделюсь с вами своим процессом работы над ROME: Church of Sant’Ivo, хитростями, которым научился, трудностями, с которыми столкнулся во время работы, а также планами под дальнейшему усовершенствованию сцены, потому что она пока ещё не завершена.


    Цели проекта


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

    Полезно было выбрать место, которое бы находило во мне отклик и вдохновляло меня. Этот архитектурный шедевр периода раннего римского барокко имеет богатую историю, величественный архитектурный язык и масштаб, который я нахожу интригующим. Этот масштаб также вызывал сложности из-за ограничений времени, поэтому мне нужно было всё тщательно спланировать.
    Читать дальше →

Самое читаемое