организовать момент создания нового матча для двух игроков в карточной онлайн игре. Вот у нас есть сервер (сами пишем его на ASP NET Core веб апи плюс SignalR скорее всего будет, то есть максимальная гибкость можем впилить что захотим) и есть клиенты игроков. Вот игрок нажимает кнопку "играть" и нужно создать матч из двух таких вот игроков которые прожали кнопку. На данный момент мы думаем реализовать это через два сервиса. Первый - это сервис очереди, когда игрок у себя на клиенте нажимает кнопку старт он отправляет сообщению на сервер, которое передается сервису "Очередь", этот сервис берет айдишник игрока и записывает в список, далее сразу проверяет длину списка, если в нем более одного айдишника то берет первые два и отправляет их сервису "Создание матча" который уже на основе сущности матча подтягивает по этим айдишникам всю нужную инфу из БД и содает матч и отправляет сообщения с айдишником матча обеим игрокам. Это нормальная практика? Просто хз первый раз делаю онлайн игру и хотелось бы сделать нормально, может есть какие то хорошие паттерны для этого момента ?
Чот вы сильно заморочились для первого раза, имхо
Звучит весьма разумно. Насчет паттернов/гайдов - как-то не нашлось ничего путнего конкретно в таком ключе, но и опыт - первый проект. Делали в связке go - protoc, так же методом проб/ошибок/замеров/идей, только пилили мультиплеер лобби + лока. Есть мысль, что для начального этапа будет достаточно своих мыслей, а уж по ходу дела либо тянуть бэка, либо самим подтягивать бэк
Обсуждают сегодня