Онлайн игра на Java #4: расчёт позиции игрока на сервере и передача данных на клиента

preview_player
Показать описание
Java это язык и платформа не только для разработки enterprise решений, а универсальная экосистема для решения любых проблем. В том числе и создание мультимедиа контента.

С помощью библиотеки LibGDX можно создавать кроссплатформенные мультимедиа приложения и игры. На последних мы и сосредоточимся в этой серии видео.

С помощью Spring Framework можно создавать сложные серверные приложения, обслуживающие тысячи пользователей. При этом разработчику не приходится писать слишком много сложного кода, потому что Spring изначально содержит множество реализованных механизмов, которые остаётся только настроить под конкретную задачу. После чего разработчик реализует только логику приложения, специфичную для его конкретной задачи

Выполняем следующий шаг: получив на сервере данные о пользовательском вводе игрока, мы рассчитываем положение всех активных игроков и рассылаем полученный стейт по всем активным соединениям. Также мы отслеживаем присоединение новых игроков и их оключение.

Код из видео (клиент):

Код из видео (сервер):

Сайт библиотеки LibGDX:

Видео про горячие клавиши IDEA:

Видео про HTTP протокол:

Видео про создание сервера для игры с помощью Spring Boot:

Видео про отладку в браузере:

Мерч

Поддержать проект:

➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖➖

Рекомендации по теме
Комментарии
Автор

Ура! Почти онлайн!
Круто, жду продолжения

wdeath
Автор

Немного флуда. Очень нравится направленность канала и его качество. Много есть академичных видео - как в теории правильно строить сферические программы, а тут всё в полевых условиях для ентерпрайза... начинал с шарпа, где всё низкоуровневое программирование было удобно как тапочки. А сейчас промышленную разработку джавы штудирую, но цельной картины, чтобы это было навыком, пока не складывается. Как я понял - больше всего раздражает, когда из-за какой-то мелочи пропущенной, тратится по незнанию очень много времени, а если отложить проблему, то ещё больше. Уйма фреймворков и библиотек... даже тут приходится часто брать код с гит, чтобы продолжать следовать за материалом - возможно, здесь сравнение коммитов одно из решений... я ещё отдельно попробовал обработку xml (наверное, не очень популярная работа), но понял, что это для меня ещё хуже - как нуб не могу там понять контекст шаблона и отдебажить его.

ГеоргийСлавин-рп
Автор

просто супер. Но мой бедный мозг просто кипит от такого кода )))

ruslanzubkov
Автор

Сейчас надо быть осторожнее с разработкой игр. А то вдруг майкрософт тебя купит.

wodzimierzletov
Автор

Поставил лайк, уже подписан, комментарий писать не буду.

alexnovik
Автор

Вот у меня возник вопрос. Можно же просто передавать вектор направления, а не нажатые клавиши, так же меньше всякого передаем

tamerlan
Автор

А почему бы нажатые кнопки не массивом передавать?

sivrvs
Автор

speed триста! Запрограммируй танкиста! (Сегодня дурно веселюсь, прошу не судить 😁)

kolob
Автор

в online играх json очень жирный - protobuf выход

reznic.a