Рубрика «game development» - 39

Содержание курса

Построение перспективного искажения

Четвёртая статья будет разбита на две, первая часть говорит про построение перспективного искажения, вторая про то, как двигать камеру и что из этого следует.Задача на сегодня научиться генерировать вот такие картнки:

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 4a из 6 - 1
Читать полностью »

image

Данная статья скорее всего будет иметь критический характер, но я попробую затронуть и хорошее. Буду использовать примеры известных стартапов. Пишу не для того, чтобы раскритиковать кого-то, а для повышения качества игр и поднятия фана для новичков.

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

Борьба с 2D-физикой в Unity на примере бесконечной игры - 1
Мой странный творческий путь занес меня в разработку игр. Благодаря отличной студенческой программе от IT-компании, название которой СостоИт из одной Греческой МАленькой буквы, сотрудничающей с нашим университетом, удалось собрать команду, родить документацию и наладить Agile разработку игры под присмотром высококлассного QA-инженера (здравствуйте, Анна!)

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

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

Удаление невидимых поверхностей.

Знакомьтесь, это мой друг z-buffer головы абстрактного африканца. Он нам поможет убрать визуальные артефакты отбрасывания задних граней, которые у нас оставались в прошлой статье.
Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 3 из 6 - 1

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

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

А помните, как вы просили меня про шейдеры написать? Помните? Нет? А вот я помню и даже написал. Милости просим, поговорим о прекрасном.

Сегодня я поведу речь о том, как я делал объемные вращающиеся планеты для нашей игры blast-off. Тоесть они, конечно, совершенно плоские, всего пара треугольников, но выглядят как объемные.

Объемные планеты в 2D через шейдер - 1

Заинтересовало? Прошу под кат. Картинок прилично.
Читать полностью »

Вместо предисловия.
Микширование в Unity 5.0 через AudioMixer это, наверное, очень круто.
Но мне нужно было решение здесь и сейчас (на тот момент — в 4.5.2f1).

Задач было три:

  • 1а. Плавное затухание эмбиента (или саундтрека, если хотите) предыдущего уровня при переходе на следующий.
    1б. Далее, звук удаляется через заданное количество времени.
  • 2. Плавное возникновение (усиление громкости звука от 0 до 1) эмбиента после загрузки уровня.
  • 3. Программное микширование эмбиента с самим собой — т.е. музыка, за ~10 секунд до своего финала, должна плавно затухать и плавно переходить с усилением в собственное начало.
    Читать полностью »

Привет, хабрапользователь! После небольшого перерыва можно опять браться за трехмерную графику. В этот раз мы поговорим о таком алгоритме глобального затенения, как Normal-oriented Hemisphere SSAO. Интересно? Под кат!

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

Flurry уже стала мастхевом для тех мобильных разработчиков, которые понимают важность анализа пользовательского поведения. Однако в тех метриках Flurry, которые касаются удержания пользователей, сориентироваться не так-то легко: тут и return rate, и rolling retention, и static retention… в общем, как говорит народная мудрость, без ста грамм не разобраться. Поправим — не разобраться без этой статьи, которую мы в Alconost отыскали и перевели специально для Хабра. А понимать, что к чему в показателях удержания пользователей, жизненно важно: иначе вы рискуете потерять и пользователей, и деньги на их привлечение, и радужные перспективы развития вашего приложения или игры.

Показатели удержания Flurry: очень важные и очень непонятные - 1
Читать полностью »

Часть 1
Часть 3
И так, приступим к изучению нашего руководства.

Часть 2: Тонкая настройка автомобиля

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

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

Главная сила Unity3d является его возможность тонкой настройки (tweakability) — как вы видели, все публичные переменные в скриптах показаны в инспекторе, так что вы можете изменить значения, не изменяя его в коде. И даже более мощные настройки: как только вы сделали изменения, вы можете сразу же увидеть результат изменений. Вам никогда не придется перекомпилировать игру, что бы увидеть результат изменений.
Читать полностью »

Давайте знакомиться, это я.
Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 2 из 6 - 1
То есть, модель моей башки, отрендеренная в программе, которую мы сделаем за ближайшие час-два.

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

Пожалуйста, если вы следуете этому туториалу и пишете свой код, выкладывайте его на github.com/code.google.com и им подобные и давайте ссылки в комментариях! Это может хорошо помочь как и вам (другие люди могут чего посоветовать), так и будущим читателям.

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


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