Новости‎ > ‎

Быстрый обзор игровых фреймворков на WebGL

Отправлено 26 июн. 2016 г., 22:45 пользователем Denis Baskovsky
Давно хочу написать что-то трёхмерное и обязательно на WebGL. Все популярные браузеры (включая мобильные и даже на iOS) уже работают без флага экспериментальной фичи а значит технология достаточно зрелая для чего-то мощного.
Помню, в универе мне было особенно интересно кодить на чистом OpenGL, но потом у меня с компьютерной графикой как-то не сложилось и я забил на неё. Сейчас дочитывая книгу WebGL Programming Guide понимаю, что в действительно писать на чистом WebGL нужно разве что сами фреймворки, столь хитро там всё устроенно. А так как собственные велосипеды я пишу на работе, для чего-то похожего на хобби нужно взять проверенные инструменты 😂.

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

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

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

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

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

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

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

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

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

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