2.5 Butcher in IT: WebSocket и игра на 4 вкладки

Всем здрасти! 😁

Как я говорил ранее, в планах был переход на WebSocket. Так как изначально всё было сделано на REST, чтобы не сломать текущую механику, первым делом мы составили поэтапный план перехода — из 7 основных пунктов. Составили план. Далее я произвёл реинкарнацию души Логоса — чтобы очистить чат от лишней информации и болтовни и сосредоточиться на конкретном плане.

🔑 Токены, стартовый экран и первые шаги Первым делом встал вопрос: как идентифицировать игрока? Простого имени уже недостаточно. Так появились токены. И если честно, я вообще не знал, как это происходит. Пришлось погрузиться в новую для меня информацию — но в целом разобрался быстро. Создали стартовый экран, который позволяет запустить игру как в режиме «горячего стула» (пока оставили для быстрого тестирования карт), так и онлайн.

🎼 Рефакторинг и появление «дирижёра» Во время переноса на WebSocket выявили проблему: одна фаза вызывает другую, та — третью. Всё создавалось пошагово, и мы подошли к вопросу: пора провести рефакторинг кода. Вот здесь пару вечеров была дискуссия — как лучше это сделать, чтобы не возвращаться. В итоге теперь у нас в игре появился дирижёр. И теперь при необходимости можно поменять лишь 1 файл, а не 3–4, как раньше. Растёт скилл, как говорится! 😁

🎮 Первая онлайн-партия: 2–4 вкладки И конечно же — тест-игра. Какой же кайф наблюдать за прогрессом! Если раньше всё происходило на одном экране, то теперь создаётся игра на 2–4 игрока соответственно в 2–4 вкладках. Каждый игрок, несмотря на ход другого, продолжает видеть только свои карты и может продумать стратегию. Перенос на WebSocket прошёл успешно. И дальше встала развилка: Либо двигаться в сторону таймингов (время ожидания и т.д.) Либо подключать базу данных, чтобы можно было перезапускать сервер, переподключаться игрокам Но, наверное, пока немножко передохнём и погрузимся во фронт. Сделаем визуальную часть более приятной и ещё более похожей на игру. Кстати, после рефакторинга бэка мы навели порядок и во фронте: создали пакеты, раскидали файлы по подпапкам (а то было по 500 строк кода в одном файле).

📦 Что имеем на данный момент Работающий WebSocket Игра на 2–4 игрока в разных вкладках Рефакторинг бэка (дирижёр) Порядок во фронте

💬 Обращение к вам, моя дорогая аудитория и случайные гости Есть два сайта: – HobbyWorld — издатель данной игры – BoarGameArena — настольные игры в онлайне

Есть ли тут представители или работники данных организаций? Либо, может, в вашем окружении есть кто-то? Хотелось бы неформально пообщаться, узнать о возможности размещения моего проекта в будущем в открытом доступе. Буду рад любому отклику. 🙏

#ButcherInIT #Сезон2 #НачалоПути #НастольныеИгры #SpringBoot #Java #Создатель #Трансформация #HobbyWorld #BoarGameArena