webgl

Обзор WebGL фреймворков

27 июня, 2016
2 минут(ы) чтения

Если контент не отображается, включите VPN.

Давно хочу написать что-то трёхмерное и обязательно на WebGL. Все популярные браузеры, включая мобильные и даже на iOS, уже работают без флага экспериментальной фичи, а значит технология достаточно зрелая для чего-то мощного.

Помню, в универе мне было особенно интересно кодить на чистом OpenGL, но потом у меня с компьютерной графикой как-то не сложилось и я забил на неё. Сейчас дочитывая книгу WebGL Programming Guide, я понимаю, что писать на чистом WebGL нужно разве что сами фреймворки, столь хитро там всё устроенно. А так как собственные велосипеды я пишу на работе, для чего-то похожего на хобби, нужно взять проверенные инструменты.

Ниже приведу список всех самых любопытных WebGL-движков, на которые я наткнулся в сети.

Unreal Engine 4 

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

Хотя UE4 самый сложный движок из всех в списке, он не может не вызвать восхищение. С другой стороны, экспорт в WebGL это не его конёк. Когда я сделал публикацию простого демо, UE4 насоздавал 72МБ Emscripten-кода. Next-Gen! На этом мой энтузиазм с UE4 как-то поутих. 

Unity 5

У меня к Unity сложилось пожизненное отвращение, но не могу не добавить его в этот список. Так сложилось, что сейчас это один из самых популярных инди-движков, и к пятой версии созрел до конвертации исходных сорцов в WebGL. Разработчики явно смотрят на тренды, вот запилили версию под Linux, сделали более удобную работу с 2D, только вот Unity 5 имеет такие же проблемы в плане экспорта как UE4, хотя Unity 5 позиционируется как Mobile-way движок. Возможно, в будущем починят.

GooCreate 

Об этом движке я слышал ещё когда он звался Goo Technologies. Некоторое время я использовал его и могу сказать серьезные минусы: неудобный дебаг из-за странного кэширования, ES5 (в эпоху повсеместного ES6), неудобный контекст, сухая документация, малое коммьюнити, в следствии чего малое количество видео обучения, а еще State Machine урезана по функциональности и может использоваться только для чего-то совсем детского. К тому же нет нормальной версионности билдов. Хотя GooCreate и пытается выглядеть бодрячком, ему ещё нужно расти и расти. 

Three.js и Babylon.js 

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

Turbulenz

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

Не геймдевелоперское дело — с терминалом возиться!

PlayCanvas

Позиционируется как Web-way за развитием которого стоят серьезные дядьки из Mozilla, а значит на Firefox он движок заводится хорошо. Движок в целом приятен, браузерный IDE мне понравился даже больше GooCreate. Однако, расстраивает его ценник. За $15 в месяц хочется чего-то большего, например, раздачи бесплатных спрайтов, моделек и звуков раз в квартал.

Blend4Web

Интегрированный движок в Blender. Имеет легкий экспорт и редактор скриптов. Результат радует высокой скоростью и малым размером. К тому же, приятно, что делают российские разработчики.

Construct 2

Простой конструктор игр с мощными возможностями. Развитие идей Construct Classic. Работает исключительно на Windows. Construct 3 работает уже на всех платформах, но через веб-приложение.

Итог

В сухом остатке остановился на PlayCanvas, здесь есть бесплатная версия, а если совсем засосёт и найду людей способных и готовых делать браузерную AAA-игру, можно будет накатить движок (без IDE) на любую систему, благо сорцы хостятся на гитхабе и видно что прогресс идёт, недавно даже интегрировали WebVR.

Пока интереса ради изучаю этот движок и даже создал проект http://playcanv.as/p/63f76ae1. Чего и Вам советую.

Денис Сергеевич Басковский

Философ, изобретатель и поэт.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
Настройка Android CI
Предыдущая статья

Настройка Android билдов на Travis CI

BlockSite
Следующая статья

Низкоуровневая блокировка нежелательных сайтов