Vue.js + phaser.js как браузерный клиент для онлайн игры?
Предисловие
Всем привет. Раньше никогда не писал игры для браузеров. Но, т.к. браузерные игры - это универсальный вариант, зайти сможет каждый, поэтому захотел попробовать. Собственно, в чем заключается вопрос:
Суть
Игра - можно сказать, пошаговая стратегия, чем-то похожа на монополию. Есть виртуальные комнаты, где комната - это отдельная игра со своим сетапом.
Бэкенд - Spring, java. Клиент - это сайт, в котором можно создать свою учетную запись, добавлять друзей, иметь статистику по играм итд. Пока неигровая часть пишется на js с использованием фреймворка vue.js. Проблем нет, все устраивает.
Я уже вплотную подхожу к тому, чтобы реализовывать саму игру, геймплей, механику. И собственно непонятно как его делать. В частности, что использовать? Игра не динамичная, пошаговая, там не нужно ходить, стрелять итд. Максимум всякие анимашечки каких-нибудь объектов, онлайн чат, всплывающие окошки, таблички, графики.
Мое чутье говорит, что использовать чистый vue.js для этого, - это как писать игру под андроид на android sdk (тот еще бдсм). Наткнулся на вариант игровой библиотеки Phaser.js. Пока неясно как соединить vue и Phaser, насколько это правильное и разумное решение при текущих требованиях и задачах и нужен ли этот дополнительный фреймворк вообще?
Вопрос
В общем, прошу совета, что лучше использовать в данном случае? И если есть пример интеграции vue и игровой библиотеки, то прошу скинуть)
P.S. Страница с просмотром комнат реализована так же на vue.js с использованием websocket'ов. Не знаю, насколько это была важная инфа, но на всякий случай, чтобы вы могли представить что вообще используется и как.
Phaser судя по описанию игры вам лучше не брать там много лишнего, возьмите только PixiJS который используется для отрисовки. Соответственно интерфейс игры, чат, менюшки и т.д. можно пилить на vue.js, а сам игроковой процесс будет отрисован в canvas на webgl. Вот тут есть пример как юзать PixiJS в Vue.
P.S. Сам начинал переписывать игру с flash на Vue + PixiJS, но пока времени не хватает, но в целом серьезных проблем не возникало.