Рубрика «разработка игр» - 47

Впервые Джофф Кайли побывал в офисе Valve ещё в 1998 году, когда готовилась к выходу первая игра серии Half-Life. Будущая звезда документалистики видеоигр на тот момент был второкурсником в университете. Тогда Кайли связался с руководством Valve и студия пригласила подающего надежды журналиста к себе. Так на свет появилась длинная статья The Final Hours of Half-Life.

При выпуске Half-Life 2 и Portal 2 ситуация повторилась: Кайли выпускал подробные материалы про разработку этих игр. На этот раз настал черед The Final Hours of Half-Life: Alyx — интервью про игру серии Half-Life для виртуальной реальности. Джофф Кайли пообщался с тремя разработчиками из Valve — Дэвидом Спейрером, Робином Уолкером и Дарио Касали.
Читать полностью »

image

Примечание: полный исходный код этого проекта можно найти [здесь]. Так как он является частью более масштабного проекта, я рекомендую смотреть коммит на момент выпуска этой статьи, или файл /source/helpers/arraymath.h, а также /source/world/blueprint.cpp.

В этой статье я хочу подробно рассказать о принципах использования цепей Маркова и статистики для процедурной генерации 3D-зданий и других систем.

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

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

Игра InvaderZ генерирует врагов в стиле Space Invaders генетическим алгоритмом - 1
Иллюстрация: Smithsonian Magazine

Пользователь GitHub под ником victorqriberio показал свою версию классической аркады Space Invaders. Его вариант называется InvaderZ. В нем всё так же нужно отстреливать появляющихся вверху экрана пришельцев, но каждая волна «вторженцев» уникальна. Victorqriberio использовал генетический алгоритм, который изменяет форму каждого нового пришельца.

Читать полностью »

Нарратив и «подземелья»: как геймдизайнеру связать локации с сюжетом - 1

Много раз задумывался, что повествование в играх с открытым миром — отдельное искусство геймдизайна. Надо вовлечь игрока в исследование локаций, разнообразить все сайд-квестами, не слишком отвлекать от основной линии, и так далее. И нашел статью, где описывается один такой инструмент — концепт «подземелий» для последовательного перехода между важными частями сюжета. Всё на примерах Metroid, Zelda, Control и с общими выводами.
Читать полностью »

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

image

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

На прошедшей неделе в ночь с четверга на пятницу на конференции X019 в Лондоне произошло долгожданное событие — компания Microsoft показала геймплей продолжения знаменитой стратегической серии Age of Empires IV. На первый взгляд проект, окруженный «туманом войны» на протяжении вот уже нескольких лет, напоминает выполненный в 3D ремейк Age of Empires II — самой популярной части серии, в которую до сих пор играют миллионы любителей RTS и истории. Предупреждаем: «кидать деньги в монитор» пока ещё рано — игровые издания называют ориентировочной датой релиза 2020 год.

Под катом вас ждет рассказ о том, почему выхода новой Age of Empires пришлось ждать целых 15 лет, максимум известных подробностей про четвертую часть легендарной стратегической серии, а также обзор закрытого показа игры, основанный на показаниях свидетелей и игровой прессы.
Читать полностью »

Всем привет! Меня зовут Александр, я уже более 5 лет работаю с Unreal Engine, и почти все это время — с сетевыми проектами.

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

Расширяем возможности UObject в Unreal Engine 4 - 1

На самом деле, статью я написал скорее как справочник. Большую часть информации крайне сложно найти в документации или сообществе, а тут можно быстро открыть ссылку и скопировать нужный код. Решил заодно поделиться и с вами! Статья ориентирована на тех, кто уже немного знаком с UE4. Будет рассмотрен С++ код, хотя знать его не обязательно. Можете просто следовать инструкциям, если вам нужно то, о чем пойдет речь. Более того, не обязательно копировать все, вы можете вставить код из раздела с нужными свойствами и он должен работать. Читать полностью »

Игры FPS (first-person shooter, шутер от первого лица) стали неотъемлемой частью видеоигровой индустрии ещё с момента появления в 1992 году популярнейшей Wolfenstein 3D. С тех пор жанр эволюционировал: улучшалась графика, увеличивались бюджеты на разработку, развивалась экосистема киберспорта. Но что насчёт их фундамента — механики стрельбы? Как проходило развитие на этом фронте? Почему в некоторых играх оружие кажется реальными, а в других похоже на игрушки?

Hitscan

В предыдущую эпоху многие игры для рендеринга 3D-сцен в 2D-изображения использовали технику под названием raycasting («бросание лучей»). Raycasting позволяет движку определять первый объект, с которым пересечётся луч. Но потом разработчики задались вопросом: «Что, если выпустить луч из ствола оружия, чтобы имитировать пулю?» Благодаря этой идее родился hitscan («сканирование попадания»).

Как работают пули в видеоиграх? - 1

Пример raycasting

В большинстве реализаций оружия с hitscan при выстреле игрока физический движок выполняет следующие операции:

  • Определяет направление, в котором указывает оружие.
  • Выпускает из ствола оружия луч на заданное расстояние.
  • Использует raycasting для определения того, попал ли луч в объект.

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

image
Фото: www.tradeinpost.com

Историк музея Atari Курт Вендел обнародовал 50 страниц инженерных спецификаций Atari 7800. Ранее эти документы передавались между частными лицами и впервые стали общедоступными. Читать полностью »

image

В этом посте описывается алгоритм, используемый в Generate Worlds — инструменте, позволяющем пользователям создавать и исследовать процедурные миры построением небольших множеств воксельных тайлов. Я приведу краткое описание алгоритма, а в следующих постах расскажу о его преимуществах в скорости и гибкости по сравнению с другими методами. Чтобы подробнее узнать о том, что такое процедурная генерация на основе ограничений (constraint-based procedural generation) и о том, чем она интересна, рекомендую прочитать мой предыдущий пост.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js