пятница, 1 марта 2013 г.

HTML5 игра Bombermine Inside

Bombermine Online

Bombermine Будьте бдительны ! Эта игра способна украсть ваш рабочий день без остатка!

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

Bombermine состоит из клиентской html5 части и сервера. На клиенте для пользовательского интерфейса и реализации Single Page Application задействован AngularJS, что достаточно неожиданно, т.к. Angular не отличается высоким быстродействием. Однако авторам этого явно хватило. Остальная же часть реализована с помощью GWT, что тоже не укладывается в мою голову. Оказывается на GWT можно писать дочтатоно оптимальный код.

Miško Hevery (автор AngularJS) согласен, что AngularJS нужен в первую очередь для CRUD приложений, но т.к. во многих играх CRUD достаточно, значит и использование AngularJS оправданно.

Вопрос же: Что использовать для оставшейся части игры - игровой логики, компонентного движка?. Остается открытым.

Есть и другая точка зрения Colt McAnlis (game евангелист из Google) - не следует вообще использовать какие либо DOM движки, достаточно и специализированных, вроде http://impactjs.com/. ImpactJS неплох, однако платен. Буду искать что-то еще.

Для визуализации используется один из двух адаптеров - на Canvas или WebGL, в зависимости от возможностей клиентского железа. Ivan Popelyshev говорит, что за счет этого трюка удалось получить прирост производительности почти в 2ое.

На серверной стороне у bombermine : java, jetty, gradle. Коммуникация между клиентом и сервером осуществляется по средствам WebSocket.



Опрос

free polls

Комментариев нет:

Отправить комментарий

Press Any Key...