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

Всем привет! Хочу рассказать про историю своей победы в ежегодном соревновании по написанию игровых ботов Russian AI Cup, в 2017. В финале бот выиграл 98% игр, что, как оказалось, наивысший результат по финалам среди всех годов проведения чемпионата. Также занял 1-е место в песочнице по завершению её работы, в пике переходя за 4000 очков рейтинга.

История победы на ежегодном соревновании Russian AI Cup 2017 - 1

Эта статья может быть интересна участникам, болельщикам и просто интересующимся тематикой AI и написанием игровых ботов. Надеюсь вы сможете почерпнуть для себя что-то новое. В свою очередь и мне бы хотелось почитать статьи от участников, сравнить подходы и ход мыслей.
Читать полностью »

Туториал по Unreal Engine. Часть 7: звук - 1

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

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

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

  • Воспроизводить музыку и зацикливать её
  • Воспроизводить звуковой эффект в определённых точках анимации
  • Модулировать тон звука при каждом воспроизведении
  • Перемещать их регулировать громкость звука в зависимости его местоположения в 3D-пространстве
  • Управлять с помощью UI громкостью музыки и звуковых эффектов по отдельности

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

image

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

Но что, если вы не хотите признавать, что функцию или проект нужно менять или даже отказаться от них полностью?

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

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

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

Болтовня ничего не стоит. Покажите мне код.
— Linus Torvalds

Всем привет! Я работаю программистом в маленькой (но гордой) gamedev-конторе. В последние несколько лет фирма выпускает casual игры под мобилки в жанре match3. Пишем мы на C# (что не может не радовать) и не используем Unity (ну почти). Так сложилось, что основная зона моей ответственности — gameplay и UI. А ещё я без ума от C#’а и его экосистемы. Сегодня хочу рассказать, как у меня получилось применить инструмент анализа и модификации кода Roslyn для редактирования игрового контента. Кому интересно — прошу под кат.

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

image

Исключительно хорошая новость: совместными усилиями компаний Ubisoft и шведской Massive Entertainment, в открытый доступ выложен рабочий сервер для игры World in Conflict. Данная стратегия в реальном времени (RTS) вышла в 2007 году; её официальный сервер Massgate был закрыт в 2016, после чего коммьюнити massgate.org решило вернуть игру к жизни, чем и вдохновило Ubisoft на данный шаг — теперь любой сможет поднять свой собственный сервер для мультиплеера и другого онлайн-функционала.

Исходный код бэкенда доступен по ссылке на Github по лицензии GPL-2.0. Сам игровой сервер написан на С++, поэтому для компиляции вам потребуются CMake и Visual Studio. Для запуска вам также понадобятся MySQL (в оригинале использовался MySQL 4.2.1, но всё должно работать и на более свежих версиях) и любой простейший веб-сервер (авторы рекомендуют SimpleHTTPServer).

Кстати, саму игру можно сейчас получить абсолютно бесплатно до 23 декабря по ссылке — правда, для этого вам может потребоваться завести аккаунт в Uplay.
Читать полностью »

image

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

К счастью, Unreal позволяет быстро и удобно анимировать персонажей!

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

  • Импортировать меш со скелетом
  • Импортировать анимации
  • Создавать Animation Blueprint для переходов между разными анимациями
  • Выполнять плавные переходы анимаций

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

Как я слил 1000$ в продвижение игры и что из этого получилось - 1

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

Для многих знакома ситуация, делал-делал, а кроме друзей так и никто и не увидел игру, а ведь так старался! Под катом не будет расплывчатых формулировок или предположений по продвижению. Конкретно ссылки — конкретно результат. Поехали!
Читать полностью »

image

В прошлом году немецкий разработчик Mimimi Productions привлёк большое внимание к своей игре в жанре тактического стелса реального времени Shadow Tactics: Blades of the Shogun, вдохновлённой такими старыми проектами, как Desperados и Commandos.

Shadow Tactics имеет интригующий дизайн (см. эту статью о механике динамического распознавания). Она стала огромным успехом для Mimimi — несмотря на то, что в процессе выпуска компания едва не развалилась. Подробнее о том, как это произошло (и о том, какие уроки извлекли разработчики) можно прочитать в этом честном постмортеме игры, написанном коллегами-основателями Mimimi Иоганнесом Ротом и Домиником Абе.

Около года назад Mimimi была ещё мало кому известна. Наша предыдущая трёхмерная экшн-адвенчура The Last Tinker: City of Colors показала себя хорошо, но не собрала большой аудитории.

К декабрю 2016 года наши самые большие мечты осуществились: Shadow Tactics: Blades of the Shogun, наше признание в любви к Commandos и Desperados, наконец вышла и завоевала признание игроков и прессы.

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

В этом постмортеме два основателя Mimimi Доминик Абе (креативный директор) и Иоганнес Рот (управляющий директор) подробно расскажут о том, в чём они были правы, а в чём (ужасно) ошиблись.
Читать полностью »

Наконец-то я доделал игру, которая работает на видеокарте. Она несколько месяцев повисела в раннем доступе на стиме, и теперь я её окончательно выпустил. Основная фишка игры в том, что она представляет собой физическую симуляцию, которая выполняется на графическом процессоре. Основной код игры — это огромный compute shader, 6 тысяч строк на HLSL. Десятки тысяч взаимодействующих частиц обрабатываются параллельно, и выходит довольно быстро. Всё в игре сделано из этих частиц. Вот несколько гифок о том, как это работает:

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

image

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

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

  • Бесконечно перемещать игрока вперёд
  • Генерировать препятствия, которые игрок должен избегать
  • Рандомизировать препятствия для создания вариаций
  • Создавать кнопку перезапуска, которая отображается, когда игрок сталкивается с препятствием

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


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