JSPE — JavaScript Physics Engine

Чтобы иметь возможность немного отвлекаться от D и при этом делать что-то полезное, я решил начать писать двумерный физический движок на JavaScript и HTML5. Ничего серьезного не планируется — исключительно «just for fun».

https://github.com/gecko0307/jspe

Журнал «FPS» №24

Вышел 24 номер электронного PDF-журнала «FPS», посвященного разработке игр, программированию, компьютерной графике и звуку.

Читайте в этом номере:

> Авторы «FPS» — кто они?
> Blender: новости
> История Blender
> Проект «Лондон». Интервью с режиссером
> Тренд года — трехмерная печать
> Физический движок своими руками. Часть 1
> Новости игровой индустрии
> История компьютерных игр
> Демосцена: алгоритм как произведение искусства

Номер доступен для онлайн-чтения и загрузки на сервисе Issuu.com, Документах Google и Dropbox.

Последние новости по проекту вы можете узнать в публичной странице журнала в социальной сети Google+: http://gplus.to/fpsmag. Добавляйте нас в круги, оставляйте свои комментарии и отписывайтесь в нашем сообществе.

Повышение стабильности

Повышена точность солвера, улучшена стабильность объектов в стеке (в представленной демке вы можете наблюдать стопку из 10 боксов, устойчиво стоящих один на другом), реализованы упругие столкновения. Добавлена поддержка треугольников — идет работа над реализацией статичных trimesh’ей для игровых уровней.

Cборка для Windows (1,88 МБ)
Сборка для Linux (2,67 МБ)
Исходники (4,1 МБ)

Обновление демки

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

Сборка для Windows (1,87 МБ)
Исходники (3,48 МБ)

Цилиндры и MPR

В физическом движке реализован новый алгоритм проверки столкновений — Minkowski Portal Refinement (MPR), который позволяет ввести поддержку таких тел, как цилиндр, конус, пирамида, призма, капсула, октаэдр и т.д. Этот же алгоритм работает и для привычных сфер с боксами — самое замечательное в том, что список поддерживаемых тел можно расширить вообще любым выпуклым объектом, для которого определена функция экстремальной точки в заданном направлении (иными словами, геометрия должна знать, какая ее точка является «самой далекой» от центра в каждом направлении).

Сборка для Windows (1,62 МБ)
Сборка для Linux (2,48 МБ)
Исходники (3,11 МБ)

Сферы

Обновление физического движка. Реализованы сферы (полностью поддерживается проверка столкновений сфера-сфера и бокс-сфера), проделаны многочисленные улучшения архитектуры, кодовая база нового движка максимально приближена по интерфейсу к старой.

Сборка для Windows (1,66 МБ)
Cборка для Linux (2,46 МБ)
Исходники (2,7 МБ).

Обновление физики

Доступна новая сборка демонстрации физического движка. Были исправлены кое-какие мелочи, улучшена точность солвера, сведен к пренебрежимому минимуму джиттеринг (дрожание покоящихся тел). Каркасное отображение тел заменено сплошным.

atrium-physics2-testbuild2-win32.zip (1,57 МБ).

Новый физический движок

Началась разработка нового физического движка для Atrium. Реализован новый солвер контактов. Планируется поддержка всех стандартных геометрических тел (сфера, бокс, цилиндр, капсула), а также разных типов сочленений. Доступна тестовая сборка*, иллюстрирующая динамику боксов:

atrium-physics2-testbuild1-win32.zip (1,56 МБ).

* — В главном меню приложения выберите «Sandbox».

Фиксированный шаг времени

Доступна новая тестовая сборка Atrium: в физическом движке реализован новый таймер, который учитывает интерполяцию между кадрами с фиксированным шагом времени. Физика «не любит» нефиксированный шаг, поэтому время между двумя кадрами рендеринга разбивается на определенное количество шагов, а остаток просто линейно интерполируется.

atrium-physics-test5-linux-x86.tar.bz2

Atrium: интеграция физики

Доступна сборка Atrium со включенным физическим движком. Данная демонстрация показывает возможность создания игры от первого лица на основе физики: объект-игрок тоже представлен динамическим твердым телом (у которого просто отключена угловая скорость) массой в 80 кг. Перемещение игрока осуществляется путем приложения сил в нужных направлениях.

atrium-physics-test2-win32.zip (3.13 Мб)