ghaiklor
@ghaiklor
NodeJS TechLead

Какими языками и инструментарией лучше пользоваться, чтобы написать браузерную игру?

Привет, Хабр!

Приношу извинения. На сонную голову опубликовал вопрос в хабы :)

В планах написать свою браузерную стратегию, в которой содержится понятие «реального времени». То есть поставил, например, здание строится и оно строится 20 минут, даже если игрок вышел.
В данный момент пишу в связке Js+PHP, но мне уже не нравятся «костыли», которые пришлось сделать для этого.
Можете посоветовать что лучше подойдет под эти цели?

P.S. JavaScript использую точно, менять его не собираюсь. Больше интересует серверная часть и какая-то замена PHP.
  • Вопрос задан
  • 6947 просмотров
Пригласить эксперта
Ответы на вопрос 10
lightsgoout
@lightsgoout
Бэкенд на nodejs, фронтенд на javascript, транспорт через websockets. Если потребуется база данных, возможно есть смысл взять mongodb/couchdb, т.к они хранят данные в json, что удобно, т.к и на фронте и на бэке яваскрипт.
Ответ написан
nadako
@nadako
Вместо php — node.js, т.к. сможете использовать один и тот же код для игровой логике и на клиенте и на сервере. Еще я бы рекомендовал писать не на голом JS, а на Haxe или хотя бы TypeScript.
Ответ написан
dizballanze
@dizballanze
Software developer at Yandex
Для игр node.js неплохо подходит. Асинхронный i/o и тд.
Ну или Erlang, если есть опыт :)
Ответ написан
simbajoe
@simbajoe
Удобнее всего, конечно, использовать тот же язык, что и на фронтенде, то есть node.js и websockets. Но для данных целей (небольшое количество запросов) будет более чем достаточно PHP в связке с Realplexor-ом.
Ответ написан
pomeo
@pomeo
html5gameengine.com чтобы свои велосипеды не изобретать
Ответ написан
turboNOMAD
@turboNOMAD
Мозгом нужно пользоваться, остальное приложится.
Ответ написан
Комментировать
swanrnd
@swanrnd
Издатель HTML5 игр
ASP.NET можно попробовать, лично я его использую в браузерных играх.
Ответ написан
Комментировать
А по большому счету без разницы, но начния сейчас писать браузерную MMORTS с нуля, то архитектура была бы такой:
Основа — какая-то готовая (а может и самописная, если не получится подходящего найти) система очередей запланированных событий с привязками к популярным на сервер-сайде языкам
Легковесный websocket-сервер (попробовал бы ноду для интереса, но имея в виду phpdaemon), мониторящий события из очереди для подключенных клиентов и оповещающий клиентов об этих событиях.
Тяжеловесный бэкенд, который по синхронному запросу клиента генерирует данные по прошедшим событиям, вытягивая их из очереди и добавляет новые события, если они инициированы запросом.
Ответ написан
AxisPod
@AxisPod
Как и большинство посоветую node.js, главное вкурить в него и понять механизм работы, в этом случае вы не словите проблем, которые сможете словить с PHP. Тут из больших бонусов:
— Отсутствие блокировок
— Один процесс обрабатывает множество запросов
— Возможность хранения одного экземпляра данных и взаимодействие с данными не потребуют блокировок
Ответ написан
bmmshayan
@bmmshayan
Я уже 8-й год пишу игру (World Of Rest).
Использую только PHP+MySQL ну и для украшательств JS, JQuery. Как мне кажется — вполне хватает этого набора.
Притом у меня кроссплатформенная игра: есть версия для КП и есть для мобильных устройств.
Если есть вопросы — задавайте.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы