Карточный бой, который сервер может переиграть: детерминированный движок браузерной MMO на TypeScript


Мы делаем «Зархолд» — браузерную MMORPG, в которой любой бой, от первого кобольда до рейдового босса, — это пошаговая карточная дуэль. Клиент написан на React и PixiJS 8, сервер — на Fastify и PostgreSQL, а между ними лежит пакет shared с движком боя на TypeScript. Один и тот же код движка работает в браузере игрока и на сервере.В статье расскажем, как мы устроили движок, чтобы сервер мог переиграть бой ход в ход, как включали серверную проверку, не задев честных игроков, и на каких граблях учились. Код — настоящий, из репозитория, местами сокращён. Читать далее

https://habr.com/ru/articles/1096208/?utm_campaign=1096208&utm_source=habrahabr&utm_medium=rss
Просмотры: 11
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти