Привет! Мой сегодняшний пост — это руководство для начинающих программировать графику на Apple Metal API. Когда я начал разбираться с этой темой, то обнаружилось, что помимо документации от Apple и примеров от них же и смотреть особо нечего. Сегодня я расскажу о том, как создать простое приложение на Metal, которое отображает трехмерный куб с освещением. Затем мы нарисуем несколько кубов с использованием одной из главных фишек Metal — рендеринга в нескольких потоках. Заинтересовавшихся прошу под кат.
Читать полностью »
Рубрика «game development» - 39
Игровой мир WebGL или Three.js vs Babylon.js
2015-01-26 в 8:54, admin, рубрики: babylon.js, blender, game development, javascript, three.js, WebGL, Веб-разработка, Работа с анимацией и 3D-графикой 
Когда я начинал писать свою первую игрушку на three.js я и не думал, что на самом деле three.js это верхушка айсберга в мире WebGL и что есть десятки разнообразных фреймворков и у каждого из них свой специфический уклон, а three.js просто один из них.
Введение
1. Базовые элементы
2. Группировка
3. Движение
4. Частицы
5. Анимация — 1
6. Анимация — 2
7. Простой ландшафт
8. Статические коллизии
9. Динамические коллизии
10. Импорт моделей
11. Встраивание физических движков
12. Тени, туман
Читать полностью »
Как я игру про SEO писал
2015-01-25 в 21:45, admin, рубрики: game development, Gamification, mobile games, unity3d, планирование, симулятор 
Привет! Мобильные обучающие игры — это как раз то, что я хотел видеть среди приложений. Сиди себе в метро-маршрутке и учись чему-нить полезному, набивай шишки на тренажере в телефоне.
Перед нами стояла задача привлечь новых вебмастеров в нашу партнерку.
Однако знания необходимые вебмастеру — это минимум 2 курса института. Случайных людей здесь нет.
Новичков это пугает, а ветеранов — можно пересчитать по пальцам.
Поэтому мы решили сделать обучающий тренинг для новичков на мобильных телефонах.
GPU Particles с использованием Compute и Geometry шейдеров
2015-01-24 в 21:25, admin, рубрики: compute shader, game development, geometry shader, gpgpu, gpu, Работа с анимацией и 3D-графикойПривет, дорогой читатель!
Сегодня мы продолжим изучение графического конвейера, и я расскажу о таких замечательных вещах, как Compute Shader и Geometry Shader на примере создания системы на 1000000+ частиц, которые в свою очередь являются не точками, а квадратами (billboard quads) и имеют свою текстуру. Другими словами, мы выведем 2000000+ текстурированных треугольников при FPS > 100 (на бюджетной видеокарте GeForce 550 Ti).
Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 4б из 6
2015-01-24 в 17:25, admin, рубрики: game development, gouraud shading, геометрия для пятого класса, Программирование, Работа с анимацией и 3D-графикой, тонировка гуроСодержание курса
- Статья 1: алгоритм Брезенхэма
- Статья 2: растеризация треугольника + отсечение задних граней
- Статья 3: Удаление невидимых поверхностей: z-буфер
- Статья 4: Необходимая геометрия: фестиваль матриц
- 4а: Построение перспективного искажения
- 4б: двигаем камеру и что из этого следует
- Статья 5: Пишем шейдеры под нашу библиотеку
- Статья 6: Чуть больше, чем просто шейдер: просчёт теней
Сегодня мы заканчиваем с ликбезом по геометрии, в следующий раз будет веселье с шейдерами!
Чтобы не было совсем скучно, вот вам тонировка Гуро:

Я убрал текстуры, чтобы было виднее. Тонировка Гуро очень проста: добрый дяденька-моделёр дал нам нормальные вектора к каждой вершине объекта, они хранятся в строчках vn x y z файла .obj. Мы считаем интенсивность освещения для каждой вершины треугольника и просто интерполируем интенсивность внутри. Ровно как мы делали для глубины z или для текстурных координат uv!
Кстати, если бы дяденька-моделёр был не таким добрым, то мы могли бы посчитать нормали к вершине как среднее нормалей граней, прилегающих к этой вершине.
Текущий код, который сгенерировал эту картинку, находится здесь.
Как делать простые анимации строительства в стратегических играх
2015-01-23 в 18:08, admin, рубрики: game development, анимация строительства, изометрия, никто не читает теги, Работа с анимацией и 3D-графикой, стратегические игрыВо многих типах игр, не только стратегических, у вас есть участок земли, и на нём нужно что-то строить. Знакомая схема, не правда ли?

Как только вы перетаскиваете постройку из «магазина» на участок, она некоторое время строится. Обычно в это время там видна одна картинка, похожая на стройплощадку. Чтобы сэкономить память и бюджет, во многих играх нарисовано три таких «стройплощадки», под разные здания: маленькая, средняя и большая. Как только строительство закончено, стройплощадка превращается в готовое здание.
Но что, если вы хотите более тонкие анимации, чтобы было видно, как здание постепенно растёт к небу?
Читать полностью »
Dagaz: Пинки здравому смыслу (часть 1)
2015-01-23 в 11:38, admin, рубрики: game development, настольные игры, шахматы
Важной частью работы над универсальной игровой системой является систематизация правил. За тысячи лет своего развития, человечество придумало невероятное количество настольных игр. Их правила, по большей части, похожи, но некоторые могут поставить разработчика в тупик. Эти правила столь же важны, как и все остальные. Здесь не действует принцип Парето — либо мы реализуем игру полностью, на все 100%, либо…
это будет совсем другая игра. В процессе работы над проектом Dagaz, я решил составить свой рейтинг правил, наиболее неожиданных или неудобных для разработчика. Встречайте...
Читать полностью »
Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 4a из 6
2015-01-22 в 20:50, admin, рубрики: game development, геометрия для пятого класса, Программирование, Работа с анимацией и 3D-графикойСодержание курса
- Статья 1: алгоритм Брезенхэма
- Статья 2: растеризация треугольника + отсечение задних граней
- Статья 3: Удаление невидимых поверхностей: z-буфер
- Статья 4: Необходимая геометрия: фестиваль матриц
- 4а: Построение перспективного искажения
- 4б: двигаем камеру и что из этого следует
- Статья 5: Пишем шейдеры под нашу библиотеку
- Статья 6: Чуть больше, чем просто шейдер: просчёт теней
Построение перспективного искажения
Четвёртая статья будет разбита на две, первая часть говорит про построение перспективного искажения, вторая про то, как двигать камеру и что из этого следует.Задача на сегодня научиться генерировать вот такие картнки:

Данная статья скорее всего будет иметь критический характер, но я попробую затронуть и хорошее. Буду использовать примеры известных стартапов. Пишу не для того, чтобы раскритиковать кого-то, а для повышения качества игр и поднятия фана для новичков.
Как мне кажется, в последнее время очень трудно найти хорошую игру, в том числе для смартфонв. Это, в принципе, происходит из-за двух вещей.
Читать полностью »
Борьба с 2D-физикой в Unity на примере бесконечной игры
2015-01-22 в 17:05, admin, рубрики: box2d, game development, unity, unity скачать бесплатно, unity физика, unity3d, разработка 
Мой странный творческий путь занес меня в разработку игр. Благодаря отличной студенческой программе от IT-компании, название которой СостоИт из одной Греческой МАленькой буквы, сотрудничающей с нашим университетом, удалось собрать команду, родить документацию и наладить Agile разработку игры под присмотром высококлассного QA-инженера (здравствуйте, Анна!)
Без особо долгих размышлений, в качестве движка был выбран Unity. Это замечательный движок, на котором действительно быстро и легко можно сделать очень плохую игру, в которую, в здравом уме, никто и никогда не будет играть. Чтобы создать хорошую игру, все же придется перелопатить документацию, вникнуть в некоторые особенности и набраться опыта разработки.
Наша игра использовала физический движок неожиданным для него способом, что породило множество проблем с производительностью на мобильных платформах. В этой статье, на примере нашей игры, описана моя борьба с физическим движком и все те особенности его работы, которые были замечены на пути к жизнеспособной бета-версии.
Читать полностью »


