pohemu_by_i_net
@pohemu_by_i_net
разработчик мобильных игр

Как реализовать дурака онлайн?

Пришел для того что бы помогли продумать логику.
Делаю на unity
была идея отправлять запросы на сайт через wwwForm на сервер и там уже с бд взаимодействовать будет
вот только как продумать логику?
то есть будет ли проверка возможен ли ход на сервере или в игре сразу?
как и где запоминать чей ход и сколько у кого каких кард?
и подобные вопросы.

Не понятно можно ли будет просто хранить все это в бд
то есть создается игра и создается новая таблица и там все учитывать или как?

Буду раз если поможете разобраться с этим))
  • Вопрос задан
  • 246 просмотров
Решения вопроса 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Смотрите делаете сервер и делаете api
Я бы использовал NET 6. Все события на websockets + rest
1. регистрация, ну тут без вопросов
2. окно игровых столов, содержит список столов и кнопку создания нового стола.
3. при создании нового стола указываете количество игроков, время старта, приватный или публичный, ниже кнопка приглашения игроков
4. после старта игры, то есть когда все приглашенные онлайн появляется игровой стол
5. игровой стол прямоугольный, каждый игрок с аватаром, справа чат , снизу карты текушего хода и правее ваши карты, вы можете их перетащить мышью

Все вышеописанное храниться в бд.
таблицы такие
users - пользовательские данные
tables - игровые столы, хранятся игроки и статус игры
rounds - хранится номер партии и сделанные ходы игроков
chat - сообщения в чате
strokes - хранится игрок и карты которые он принял и отбил

вот в первом приближении что это может быть
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Ezekiel4
Охотник на пиратов и сборщик монолитов
Структуру описали выше, а насчёт самой логики. Разделите намерение сделать ход от реакции. Получив от игрока его намерение (нажатие, свайп и т.д.), вы не делаете изменений на клиенте, а шлёте запрос на сервер, а сервер уже реагирует (проверяет чей ход и рассылает обновления всем клиентам сессии).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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