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

image

Почти любой игре необходим взаимодействующий с пользователем искусственный интеллект (AI), чаще всего в виде враждебной игроку силы. В некоторых случаях ИИ должен помогать игроку, в других — бороться с ним, но у всех управляемых компьютером персонажей существует некоторое сходство. В зависимости от требований проекта ИИ может использовать простые или сложные поведения. Такими требованиями могут быть дипломатия с другим игроком или простое блуждание вперёд-назад по платформе. Как бы то ни было, необходимо сделать так, чтобы ИИ качественно выполнял свою работу.

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

AMD открыла исходный код V-EZ, оболочки кроссплатформенного низкоуровневого Vulkan API - 1Vulkan API — это низкоуровневые кроссплатформенные программные интерфейсы, которые выдают более высокую производительность 3D-графики за счёт снижения издержек по сравнению с другими API типа OpenGL, особенно при наличии специальных функций GPU (API подходит также для рендеринга 2D). При грамотной реализации Vulcan обеспечивает «от маргинального до полиномиального повышения скорости по сравнению с другими API на том же оборудовании».

Разработчик Khronos Group представил Vulkan API в рамках конференции GDC 2015, а первый релиз состоялся в феврале 2016 года. Первоначально Vulkan API носили название «следующее поколение OpenGL» или просто glNext, но потом название сменили на Vulkan.

Многие с нетерпением ждали выхода этой революционной технологии, которая сильно ускоряет 3D-графику и снижает нагрузку на процессор по примеру Direct3D 12, Metal и Mantle. Но проблема была в том, что Vulkan API требует от разработчика гораздо больше усилий, в то время как API более высокого уровня, как OpenGL и DirectX 11 упрощают многие вещи, например, управление памятью. Чтобы помочь работать с Vulkan, компания AMD разработала обёртку (враппер) и слой абстракции V-EZ, а теперь опубликовала исходный код этого инструмента под свободной лицензией MIT (репозиторий на GitHub).
Читать полностью »

Компания Valve представила проект Proton — запуск Windows-игр на Linux.

image
Иллюстрация wccftech.com

Valve решила не останавливаться на выпуске SteamOS, своей игровой версии Linux, и объявила о выходе бета-версии сервиса Steam Play с модифицированной версией Wine, под кодовым именем Proton. Новая версия программного обеспечения позволяет, ни много ни мало, запускать Windows-игры на Linux прямиком из Steam. В целом, проект Proton ставит перед собой весьма амбициозную цель — обеспечить возможность запуска всех Windows-игр каталога Steam под Linux, что называется «из коробки».

На данный момент объявлено о полной поддержке 26 игр. Кроме того, энтузиасты могут попробовать запустить любую игру, задействовав опцию Enable Steam Play for all titles в настройках. Все результаты попыток запуска игр записываются в google-таблицу. Читать полностью »

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

Дайджест интересных материалов для мобильного разработчика #267 (20 августа— 26 августа) - 1Читать полностью »

Привет, геймдевы и не только!

Это наш первый пост на Хабре и сразу с приглашением. Завтра, 24 августа вместе с Lua in Moscow организуем митап для разработчиков игр на Lua с использованием движка Corona.
Митап о написании приложений на Lua с помощью движка Corona - 1
Мы хотим сделать этот митап полезным, поэтому перехваливать движок не планируем, даже наоборот. В программе три доклада от экспертов отрасли, основанные на личном опыте разработки, факапах и боли. В перерывах между выступлениями, конечно, будет пицца, кофе и нетворкинг. Если у вас накопились вопросы, советы и просто нет планов на вечер пятницы, заглядывайте.

Программа и спикеры – ниже.
Читать полностью »

Почему персонажи видеоигр почти никогда не раздеваются - 1

Видеоигры быстро становятся изумительным симулякром реальности. Мы можем блуждать по невообразимым мирам, общаться с правдоподобными персонажами и наносить нацистам убедительно выглядящие побои. Тем не менее, видеоигры всё ещё испытывают проблемы со снятием одежды.

Посмотрите на сцену из игры 2010 года Mass Effect 2 с раздевающимся Джейкобом. На первый взгляд кажется, что он стянул рубашку, как это сделал бы любой человек, демонстрируя невидимому оператору заработанные в боях кубики пресса. А теперь приглядитесь внимательно: к моменту, когда его руки движутся по телу, «снимая» рубашку, её уже нет. Игра переключилась с одетой на раздетую модель с помощью иллюзии, заставляющей игрока подумать, что он снимает рубашку.
Читать полностью »

image

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

Мне не очень нравится подход с voxelized / marching cubes при рендеринге воды (см. например, рендеринг симуляции жидкости в Blender). Когда объём воды находится в том же масштабе, что и используемая для рендеринга сетка, движение получается заметно дискретным. Эту проблему можно решить, увеличив разрешение сетки, но для тонких струй на относительно длинные расстояния в реальном времени это просто непрактично, потому что сильно влияет на время выполнения и занимаемую память. (Есть прецедент использования разреженных воксельных структур, улучшающий ситуацию. Но я не уверен, насколько хорошо это работает для динамических систем. Кроме того, это это не тот уровень сложности, с которым я бы хотел работать.)

Первой альтернативой, которую я исследовал, были меши экранного пространства Мюллера (Müller’s Screen Space Meshes). В них используется рендеринг частиц воды в буфер глубин, его сглаживание, распознавание соединённых фрагментов похожей глубины и построение из результата меша с помощью marching squares. Сегодня этот способ, вероятно, уже стал более применимым, чем в 2007 году (поскольку теперь мы можем создавать меш в compute-шейдере), но он всё равно связан с бОльшим уровнем сложности и затрат, чем бы мне хотелось.

В конце концов я нашёл презентацию Саймона Грина с GDC 2010 «Screen Space Fluid Rendering For Games». Она начинается точно так же, как и Screen Space Meshes: с рендеринга частиц в буфер глубин и его сглаживания. Но вместо построения меша получившийся буфер используется для затенения и композитинга жидкости в основной сцене (с помощью записи глубины явным образом.) Именно такую систему я и решил реализовать.
Читать полностью »

Эта статья о том, что и сейчас (в 2018 году) маленькая инди команда из трех разработчиков может создать игру, которая выиграет приз в 40 000 евро (~2 800 000 руб.) в рамках национальной государственной поддержки отечественных разработчиков игр [1]. Общий призовой фонд данного конкурса на все номинации составил 560 000 евро. И он существует в Германии вот уже 10 лет, с 2009 года.

Tinytouchtales in German Games Award 2018

Tinytouchtales при награждении в German Games Award 2018 [2]

0. Цели статьи

  • Удовлетворить любопытство — кто получает такие призы? Насколько большой у них должна быть команда, и насколько амбициозным должен быть проект?
  • Получить представление о способах развития игровой индустрии, применяемых (в том числе на государственном уровне) в странах, занимающих заметное положение в данной отрасли.
  • Чтобы, поглядывая на эти суммы в конкурсе, можно было более обоснованно говорить о серьезности этого не всегда серьезного занятия.
  • И даже, быть может, у нас тоже появится что-нибудь подобное официальное с надежной, доверенной системой отбора и судейства. Ведь у нас периодически перенимают западные традиции.

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

Тут, кстати, засветилась и многими любимая Piranha Bytes
Читать полностью »

image

Введение

Эта статья познакомит вас с широким диапазоном концепций искусственного интеллекта в играх («игрового ИИ»), чтобы вы понимали, какие инструменты можно использовать для решения задач ИИ, как они работают совместно и с чего можно начать их реализацию в выбранном движке.

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

Что же такое «игровой ИИ»?

Игровой ИИ в основном занимается выбором действий сущности в зависимости от текущих условий. В традиционной литературе по ИИ называет это управлением "интеллектуальными агентами". Агентом обычно является персонаж игры, но это может быть и машина, робот или даже нечто более абстрактное — целая группа сущностей, страна или цивилизация. В любом случае это объект, следящий за своим окружением, принимающий на основании него решения и действующий в соответствии с этими решениями. Иногда это называют циклом «восприятие-мышление-действие» (Sense/Think/Act):

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

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

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

И если в текстовом формате мы не первый раз рассказываем истории из разработки, то теперь решили организовать митап в сентябре вместе с друзьями из DevGAMM, где будем на реальных кейсах разбирать архитектуру в глобальном понимании — от системных решений и приложений до архитектурных паттернов и стилей. И в этот раз мы решили уйти от традиционного стиля «митапов», поэтому — всего 222 отобранных приглашенных, актуальные темы и крутой нетворкинг на митапе (А|а)рхитектура.

А для тех, кто заинтересовался — под катом FAQ и подробности.

(А|а)рхитектура: почему это нестандартный митап для разработчиков высоконагруженных систем - 1
Читать полностью »


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