Если JavaScript будет использоваться для реализации онлайн-игр, ему потребуется нечто большее, чем просто трехмерная графика WebGL, на которой можно строить — ему нужен игровой движок. Итак, Mozilla усердно работает над созданием Gladius.
Современные браузеры, за исключением Internet Explorer, имеют систему трехмерной графики — WebGL. В принципе, вы можете использовать это для создания любой игры, которую только захотите, но это будет тяжелая работа. WebGL — это тонкая оболочка JavaScript для OpenGL. Другими словами, это достаточно низкий уровень. Что вам нужно для создания игры, так это игровой движок, который использует низкоуровневую трехмерную систему для отображения элементов игры и позволяет вам определять объекты, составляющие игру, более абстрактным образом.
Некоторое время назад Mozilla начала работу над таким игровым движком и только что достигла версии 0.1. Он все еще находится на стадии раннего прототипа, но его можно использовать, если вы готовы узнать, как он работает, прочитав код. Есть вводное руководство, но оно не очень хорошо объяснено и заканчивается очень быстро.
Новый выпуск включает структуру стиля сущности / компонента для игровых ресурсов, а рендеринг выполняется библиотекой CubicVR. Хорошая новость заключается в том, что команда Mozilla не пытается изобретать велосипед — она повторно использует существующий код, чтобы быстро запустить движок.
На данный момент нет 3D-физического движка, но box2D включен для 2D-физики. Также имеется новая автономная математическая библиотека.
В качестве проверки работоспособности демо-версия 3D-игры разрабатывается одновременно с движком, основанным на демо-версии No Comply WebGL.
Если вы хотите принять участие в опробовании Gladius, вашей главной задачей будет найти путь через недокументированный код. Как и во многих проектах с открытым исходным кодом, документация отстает от кода. В этом случае в настоящее время нет даже списка объектов, включенных в API. К счастью, код написан в отличном стиле, и это облегчает его чтение, но даже фрагмент документации может вызвать некоторый энтузиазм у потенциальных пользователей. Мой совет — посмотреть документацию CubicVR, чтобы понять, как работает Gladius.