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

 

Отчет с Game Design meetup 4 февраля - 1

В первую субботу февраля состоялась первая неформальная игровая встреча Game Design meetup. И сегодня мы хотим поделиться материалами выступлений, под катом вас ждут презентации и видеозаписи четырех докладов.
Читать полностью »

Офис Plarium Kharkiv: здесь мы разрабатываем игры - 1

Вертолетная площадка, солнечные панели, 800-килограммовый робот, Harley-Davidson, батут, студия Motion Capture, кинотеатр, допросная, штатный повар, инструктор по йоге и ручной барнакл. Что из этого действительно есть в студии Plarium Kharkiv — смотрите под катом.
Читать полностью »

Использование покадровых анимаций в Unity3D

Наверняка вы заметили, что создав новую анимацию в Unity 5 сразу размещается ссылка на спрайт компонента SpriteRenderer. Unity так и зовёт выделить заготовленные кадры и перетащить их в окно Animation.

Оптимизация анимаций в Unity3D - 1

Пара движений мышкой и новая анимация украшает вашу игру. Но на 1 секунду ролика нужно 12 — 30 кадров. А если персонаж выполняет десяток различных движений: бегает, читает, сажает, поливает, играет, загорает, и т. д. то продолжительность всех анимаций переваливает за минуту, а кадров за тысячу. А персонаж не единственный анимированный объект на уровне. Вот мы и получили что не особо сложная сцена грузится дольше минуты, а Unity начинает слетать из-за перерасхода оперативной памяти. Да, конечно можно используя встроенный в Unity SpritePacker упаковать спрайты в атласы, но это даёт лишь незначительный результат и улучшение производительности на 10 — 20%.

Оптимизация анимаций в Unity3D - 2

Замена покадровых анимаций скелетными

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

Оптимизация анимаций в Unity3D - 3

Анимация получается за счет движений этой модели. Не пугайтесь, на самом деле всё просто! Есть несколько инструментов для создания скелетных 2d анимаций для юнити: Spine, DragonBones, Anima2D, Adobe Flash и др.
Т.к. наш художник делал все анимации во Flash для нас лучше всего подходил GAF.

Импорт анимаций из Flash в Unity3D

  1. Импортируем GAF из Unity AssetStore;
  2. Перетаскиваем файл *.swf в окно конвертора;
  3. Создаём объект и настраиваем его. Все настройки интуитивно понятны:

Оптимизация анимаций в Unity3D - 4

Анимации создаются автоматически, по разметке сделанной во Flash.
Читать полностью »

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

GameDev с нуля: От хакатона до собственной студии разработки игр - 1
Читать полностью »

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

Отправная точка

По мере развития игры игровых объектов становится все больше и больше, компании растут и обсчитывать игровую ситуацию становится все сложнее и сложнее. Транзакции повисали по таймауту и игровые объекты сохраняли свое состояние с ошибками, что приводило в свою очередь к другим ошибкам. В логах сервера с завидной регулярностью писалось о следующей проблеме:
Lock wait timeout exceeded; try restarting transaction
Google явного решения не давал, общая рекомендация заключалась в прочесывании бизнес-логики.
Ночные звонки о проблемах, бессонные ночи, сорванные выходные. В какой-то момент мы дошли до состояния перманентной тревоги, и перестали удивляться происходящим ошибкам. Также на некоторые действия игроков сервер реагировал непозволительно долго.
Данная ситуация провоцировало логичное негодование игроков, это приводило к постепенному оттоку игроков и падению выручки.
В общем — ситуацию надо было спасать. Засучив рукава, мы начали с чистого листа искать решение.
Читать полностью »

image

В 1998 году Looking Glass Studios выпустила стелс-игру Thief: The Dark Project. В то время аппаратное 3D-ускорение только зарождалось, поэтому в процессе разработки оно не использовалось, игра рендерилась только программно.

Я был основным автором базовой технологии рендеринга Thief (хотя я и не писал рендереры объектов и персонажей), а также связанных с ней элементов. Тот же движок рендеринга, модифицированный другими людьми для использования аппаратного 3D-ускорения, также использовался для рендеринга System Shock 2 и Thief 2.

Движок был написан примерно в одно время с Quake (хотя игра вышла намного позже), и общий внешний вид сильно напоминает Quake. Многие технологии были скопированы из Quake или вдохновлялись им, но часто их работа немного или значительно отличалась.
Читать полностью »

image

Эндрю Уиллэнс (Andrew Willans) уже долгое время работает в индустрии игр. Перед приходом CCP Games для работы над Eve: Valkyrie он успел поучаствовать в таких проектах, как Watch Dogs и Grow Home before joining to work on.

На VRDC в Сан-Франциско он рассказал об игре, запуск которой на Oculus Rift, PSVR и HTC Vive научил его очень многому.

Уиллэнс начал работу уже после создания прототипа Valkyrie, но до начала полномасштабной разработки, поэтому его рассказ может быть полезен разработчикам, стремящимся превратить VR-прототип в законченную игру.
Читать полностью »

image

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

Функции шума и генерирование карт - 1

Когда я изучал обработку аудиосигналов, мой мозг проводить аналогии с процедурным генерированием карт. В статье излагаются принципы, связывающие обработку сигналов с генерированием карт. Не думаю, что открыл что-то новое, но некоторые выводы были для меня в новинку, поэтому я решил записать их и поделиться с читателями. Я рассматриваю только простые темы (частоту, амплитуду, цвета шума, использование шума) и не затрагиваю другие темы (дискретные и непрерывные функции, фильтры FIR/IIR, быстрое преобразование Фурье, комплексные числа). Математика статьи в основном связана с синусоидами.

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

image

В последнюю среду февраля мы организуем второй Unity Moscow Meetup. Встреча состоится в офисе Mail.Ru Group. Приглашаем разработчиков обмениваться опытом использования Unity, идеями и современными подходами, а также заводить новые контакты. В программе встречи два доклада, подробности читайте под катом.
Читать полностью »