Raycast
В физическом движке dmech реализована поддержка пересечения тел с лучом (raycast). В качестве алгоритма для этого используется разновидность GJK. На данный момент есть возможность «стрелять» лучом в статические и динамические выпуклые тела, в ближайшем будущем появится также поддержка полигональных мешей.
Все изменения доступны в репозитории dmech на GitHub.
Угловое ограничение в dmech
- Добавлено угловое ограничение (AngleConstraint), которое заставляет два тела принимать один и тот же поворот относительно друг друга;
- Улучшено ограничение расстояния (DistanceConstraint), которое удерживает тела на определенном расстоянии друг от друга. Теперь можно ограничивать минимальное или максимальное расстояние между телами. Также этот вид ограничения может работать в качестве пружины с задаваемой жесткостью.
- Комбинация углового и скользящего (Slider) соединений дает призматическое, которое позволяет двум телам скользить вдоль оси между ними, но не позволяет им вращаться относительно этой оси. Также возможны другие комбинации — в будущем в движке планируется реализовать класс составных ограничений.
Все изменения доступны в репозитории dmech на GitHub.
Поддержка мешей в dmech
В dmech возвращена поддержка статических полигональных мешей. Она существовала и ранее, но ее на долгое время пришлось убрать по причине несовместимости с нынешней архитектурой движка — сейчас, наконец-то, ее код удалось адаптировать.Проверка столкновений с полигонами основана на все том же алгоритме MPR, но с оптимизацией за счет разбиения пространства (а именно, используется одна из разновидностей BVH — иерархии ограничивающих объемов).
Поддерживается проверка столкновений меша с любыми выпуклыми телами (включая боксы, цилиндры, конусы и т.д.) Единственное ограничение — в настоящее время полигональные меши могут быть только статичными телами.
Изменения доступны в репозитории dmech на GitHub.
Клон 2048
2048 — новый игровой феномен, пришедший на смену Flappy Bird. Изначально созданная итальянским программистом Габриэлем Чирулли на основе концепции другой аналогичной головоломки Threes, нехитрая 2048 намертво приковала к себе внимание как игроков, так и разработчиков. Сейчас в Интернете можно найти десятки ее клонов для всех мыслимых платформ!
Я тоже решил не оставаться в стороне и написал собственную версию игры — а если конкретнее, десктопный вариант 2048 для двух локальных игроков — 2048×2. Экран делится пополам: левое поле управляется WASD, правое — клавишами-стрелками. Игровой процесс, теоретически, может продолжаться бесконечно — пока не заполнятся оба поля. Побеждает тот, кто к концу своей игры наберет больше очков.
Исходники
Сборка для Windows
Сборка для Linux
Для компиляции игры из исходников нужен мой игровой движок DGL.
Обновление dmech
В физическом движке dmech реализована новая система кэширования контактов (persistent contact manifold), которая во многих случаях делает симуляцию более точной и правдоподобной. Также обновлен репозиторий dmech на GitHub. Кроме свежих изменений в кодовой базе самого движка, добавлены исходники демонстрационного приложения на основе OpenGL и SDL.
Винтажные фильтры — обновление
Обновилась коллекция винтажных фильтров для GIMP: добавлены три новых фильтра (Amaro, Brannan, Toaster), а также поддержка виньетирования. Все фильтры теперь объединены в один: при запуске скрипта выводится диалоговое окно с выбором фильтра и другими опциями.
Скачать можно здесь.
Составные тела в dmech
В физическом движке dmech реализованы составные тела (поддержка нескольких геометрий на тело). Корректировка позиции теперь основана на псевдоскоростях. Кроме того, устранен артефакт дрожания (jittering), возникающий в некоторых ситуациях.Также dmech теперь использует последнюю версию dlib.
Сборка для Windows
Сборка для Linux
Исходники
Репозиторий на GitHub будет обновлен в ближайшее время.
dlib 0.3
- Добавлены абстрактные потоки ввода/вывода (dlib.core.stream), независимые от Phobos, а также интерфейс файловой системы (dlib.filesystem) с готовыми реализациями для POSIX и Windows — этот интерфейс можно использовать, например, для построения виртуальных ФС.
- Добавлена начальная поддержка HDRI в dlib.image (реализация формата изображений с плавающей запятой в dlib.image.hdri). Кроме того, обеспечена поддержка распараллеливания обработки изображений (dlib.image.parallel), добавлена поддержка чтения форматов TGA и BMP. Чтение/запись графических форматов теперь основаны на потоках, поэтому имеется возможность загружать изображения, например, напрямую из архивов.
- Элементы матриц (dlib.math.matrix) теперь располагаются по столбцам, а не по строкам. Это серьезно нарушило обратную совместимость, но если вы не используете внутренние данные матриц и пользуетесь только внешним API, то это изменение не должно повлечь никаких проблем.
Более полный чейнджлог, а также исходники релиза вы можете найти на GitHub:
https://github.com/gecko0307/dlib/releases/tag/v0.3.0
Журнал «FPS» №28
А в этом выпуске FPS вы найдете следующие материалы:
- Подборка новостей по Blender
- Интервью с Ларри Гритцем, создателем OSL
- Рисуем фрактал на D
- Обзор альтернативных ОС
- Игровые новости из мира Linux
- Кому нужен Linux? Правда и вымыслы
- Культовые игры: The Elder Scrolls V
- Angry Birds в России
- Как создавались игры 80-х и 90-х
- Каково быть гиком в тюрьме? Исповедь Анонимуса
Журнал доступен для онлайн-чтения и загрузки на Документах Google, на Dropbox, а также на Issuu.com.
Последние новости по проекту вы можете узнать в публичной странице журнала в социальной сети Google+: http://gplus.to/fpsmag. Добавляйте нас в круги, оставляйте свои комментарии и отписывайтесь в нашем сообществе.
Архив номеров журнала вы можете найти здесь.

