Pull to refresh

Comments 7

По поводу 3-го способа — т.е. «Просто возьмите движок который это уже умеет». А какой-нибудь canvas/webgl движок такое умеет из коробки? Лично для меня, это как раз самый подходящий вариант, т.к. все эти шейдеры писать весьма не просто для среднего ума. Но вот Phaser 2/3 это не очень умеет, от остальных движков ждать большего не приходится.
Если честно, вот чтобы чисто canvas/webgl и чтобы игровой — сам не особо знаю.
Есть three.js, он вообще 3d-библиотека, но можно на ней и 2d попытаться делать — собственно в прошлой статье я его и прикручивал к phaser-у. Однако это не игровой движок, там только рендер.
Есть Godot и Unity, проекты из них можно экспортировать в WebGL-версию, и там тоже все это есть. Я сейчас хочу уйти от веб-движков и попробовать как раз Godot и Unity — по разным причинам.

Для фазера есть еще плагин к illuminated.js, я его как-то пробовал, и он довольно прост в использовании:
www.html5gamedevs.com/topic/17236-phaser-illuminatedjs-interface-library

Не скажу что у него с перформансом. Если я не ошибся с диагнозом по коду, он рисует все на canvas-е, что может быть затратно если игровой экран большой и источников света много. Но для начала может и подойти.
А почему вы хотите уйти от веб-движков? Есть какие-то веские причины? Я как раз начал делать вещицу на Phaser 3 и меня интересует эта тема. Поделитесь, пожалуйста, а то лучше учиться на чужом опыте, чем ждать пока свой появится.
Основных причин две:
  1. Сложности распространения на разных платформах. Вот решили мы продавать нашу игру в Steam. И чтобы это сделать надо поставлять ее вместе с браузером, заворачивая в nw.js или electron, что порождает определенные неудобства, да и попросту нелогично — ну на кой нам поставлять целый браузер, если от него используется 5% функциональности. А что делать, чтобы зарелизить игру на js на какие-нибудь консоли или мобильники — я вообще не знаю.
  2. Производительность. По всей логике игра на js добирается до железа через большее количество абстракций, чем игра скомпилированная для конкретной платформы. Ну и на практике мы упирались уже в проблемы производительности, которые в нашем коде уже не получается решить — просто начинает оттормаживать рендер Phaser-ом. Очень не хочется заниматься «экономией на спичках».


Это все безусловно решаемые вопросы, но есть гипотеза, что в движках типа Godot/Unity у нас получится больше тратить времени на игру, а не на войну с движком. Возможно, эта гипотеза ошибочна )
Спасибо за развёрнутый ответ. Будет здорово, если вы напишите по итогу, т.е. после того как перейдёте на Godot/Unity. Мне кажется, эта тема будет достойна целой статьи, т.к. может помочь многим начинающим.
Постараюсь, но это будет непросто.
Чтобы было честно, надо по-хорошему сделать два одинаковых проекта на обоих движках, причем проекта не уровня hello world и не искусственно раздутых. И сравнить числа.
А так, скорее всего, проект будет совсем другим, и выводы будут субъективными.
Sign up to leave a comment.

Articles