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

imageПривет! Мой сегодняшний пост — это руководство для начинающих программировать графику на Apple Metal API. Когда я начал разбираться с этой темой, то обнаружилось, что помимо документации от Apple и примеров от них же и смотреть особо нечего. Сегодня я расскажу о том, как создать простое приложение на Metal, которое отображает трехмерный куб с освещением. Затем мы нарисуем несколько кубов с использованием одной из главных фишек Metal — рендеринга в нескольких потоках. Заинтересовавшихся прошу под кат.
Читать полностью »

Игровой мир WebGL или Three.js vs Babylon.js - 1

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

Введение
1. Базовые элементы
2. Группировка
3. Движение
4. Частицы
5. Анимация — 1
6. Анимация — 2
7. Простой ландшафт
8. Статические коллизии
9. Динамические коллизии
10. Импорт моделей
11. Встраивание физических движков
12. Тени, туман
Читать полностью »

Как я игру про SEO писал - 1

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

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

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

Привет, дорогой читатель!

Сегодня мы продолжим изучение графического конвейера, и я расскажу о таких замечательных вещах, как Compute Shader и Geometry Shader на примере создания системы на 1000000+ частиц, которые в свою очередь являются не точками, а квадратами (billboard quads) и имеют свою текстуру. Другими словами, мы выведем 2000000+ текстурированных треугольников при FPS > 100 (на бюджетной видеокарте GeForce 550 Ti).

GPU Particles с использованием Compute и Geometry шейдеров - 1
Читать полностью »

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

Сегодня мы заканчиваем с ликбезом по геометрии, в следующий раз будет веселье с шейдерами!
Чтобы не было совсем скучно, вот вам тонировка Гуро:
Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 4б из 6 - 1
Я убрал текстуры, чтобы было виднее. Тонировка Гуро очень проста: добрый дяденька-моделёр дал нам нормальные вектора к каждой вершине объекта, они хранятся в строчках vn x y z файла .obj. Мы считаем интенсивность освещения для каждой вершины треугольника и просто интерполируем интенсивность внутри. Ровно как мы делали для глубины z или для текстурных координат uv!

Кстати, если бы дяденька-моделёр был не таким добрым, то мы могли бы посчитать нормали к вершине как среднее нормалей граней, прилегающих к этой вершине.

Текущий код, который сгенерировал эту картинку, находится здесь.

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

Во многих типах игр, не только стратегических, у вас есть участок земли, и на нём нужно что-то строить. Знакомая схема, не правда ли?

image

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

Но что, если вы хотите более тонкие анимации, чтобы было видно, как здание постепенно растёт к небу?
Читать полностью »

imageВажной частью работы над универсальной игровой системой является систематизация правил. За тысячи лет своего развития, человечество придумало невероятное количество настольных игр. Их правила, по большей части, похожи, но некоторые могут поставить разработчика в тупик. Эти правила столь же важны, как и все остальные. Здесь не действует принцип Парето — либо мы реализуем игру полностью, на все 100%, либо…  
это будет совсем другая игра. В процессе работы над проектом Dagaz, я решил составить свой рейтинг правил, наиболее неожиданных или неудобных для разработчика. Встречайте... 
Читать полностью »

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

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

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

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

image

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

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

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

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

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


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