Я планирую поэкспериментировать с разработкой игр в реальном времени с использованием html5 и node.js.
Ранее я создавал игру, используя опрос для имитации обновлений в игре в реальном времени.
Моя игра в реальном времени использует AJAX для синхронизации игры между несколькими клиентами. По сути, всякий раз, когда происходило изменение состояния игры, я обновлял поле last_updated в соответствующей строке базы данных. Всякий раз, когда клиент опрашивал сервер, он проверял наличие любых обновлений, произошедших с момента его последнего опроса, возвращая все соответствующие обновления (делая это путем сравнения времени предыдущего опроса с полями last_updated).
В моей новой версии игры, где я вместо этого использую node.js (и веб-сокеты), я бы хотел избежать такого механизма, когда мне приходится постоянно выполнять поиск в базе данных, чтобы найти, были ли обновления. Мне было интересно, существуют ли альтернативные методы хранения важной информации о состоянии игры без использования базы данных в этом случае.
Мне бы очень хотелось иметь возможность настраивать события для всех клиентов при изменении состояния игры, вместо того чтобы постоянно проверять изменения, поскольку это сэкономило бы большое количество обработки / запросов. Я действительно не знаю, можно ли отправить событие, запущенное на одном клиенте, другим клиентам, также подключенным к моему работающему серверу node.js. Я всегда использовал базу данных для такого рода вещей, но я действительно надеюсь, что есть и другие лучшие альтернативы?
Ура, Джош