Войти
ПрограммированиеФорумСеть

Посоветуйте книженцию по архитектуре игровых серверов.

Страницы: 1 2 Следующая »
#0
20:03, 21 янв. 2019

Посоветуйте книженцию по архитектуре игровых серверов.

Желательно с примерами на Java, но не обязательно.

Интересует направление браузерных и мобильных игр. Предположу что это что-то на основе WebSocket.

За ранее спасибо.


#1
9:13, 22 янв. 2019

Подпишусь, я такого не находил, только обзорные статьи

#2
9:31, 22 янв. 2019

может хоть статей толковых посоветуйте....

Из того что лично я находил, это "Многопользовательские игры. Разработка сетевых приложений.  - 2017" , там есть что почерпнуть но к сожалению этого мало. в ней основной упор, как я понял, на не большие проекты... с достаточно не большим числом подключений... и очень мало про архитектуру серверов.

а хочется более масштабного )) , хотя-бы теория + предложения основных технологий для разработки...

#3
11:40, 22 янв. 2019

Книжек нет, пока посоветовали вот это:
http://ithare.com/chapter-via-server-side-mmo-architecture-naive-… rchitectures/

На хабре еще какие-то были.

#4
12:33, 22 янв. 2019

joub
Так архитектура или примеры на java? ;)
Архитектура это одно.. а имплементация другое.
По моему можно начать с чтения просто архитектур для работы в кластере, одна фигня будет и балансер и мемкеш и шина и тд - что игра, что бизнес приложение , если нагрузка и куча клиентов.

Ну и архитектуры шутера и карточной игры имхо разные

#5
12:59, 22 янв. 2019

itx
так а где вы шутеры браузерные видели? )))
Java тут не критична, просто в ней больше шарю.
вообще смотрю в сторону ВебСокетов, а бизнес-приложения в основном нацелены на работу с REST (ну я других не встречал).

Общее представление как должно есть, но не более.
По сути клиент подключается к сокету и обменивается данными в асинхронном режиме (передача действий, получение данных об изменение на игровом поле, чат...)

#6
13:20, 22 янв. 2019

joub
Зачем вебсокеты то? Они для реалтайм общения и пушей со стороны сервера, так как рестом токо полить можно.
Для каких целей они нужны? От этого надо плясать рест или вебсокеты.
У Реста есть ряд преимуществ - нет постоянно открытых соединений(точнее есть, но можно выключить) , из коробки в Томкате будут шариться объекты сессии в кластере.
Меньше нагрузка - если трафика нету , то и сокетов нету.

#7
(Правка: 13:27) 13:22, 22 янв. 2019

Имхо каждому свои задачи
Чат, передача ходов.. можно и вебсокеты, но не обязательно.
Таблички, логины , всякая фигня - рест

Ну и вообще - с вебсокетами вы огребете с масштабированием.
Пример
3 ноды за балансером, вы шатдауните первую ноду ;)
Клиенты по быстрому переподключаются ко второй и третьей... Вы запускаете первую ноду опять... Ииииииии ;) она стоит грустит без клиентов, перебалансировки не произойдет.
Все это вам придется решать самому

#8
13:31, 22 янв. 2019

Наверное, стоит почитать про конкретные решения, типа netty. В книгах, скорее, общая инфа.
Попробуй node.js. Яваскрипт, конечно, такой себе яп, но довольно быстро можно сделать по примерам что-то не слишком сложное на вебсокетах.

#9
(Правка: 13:37) 13:34, 22 янв. 2019

MAXIM
Netty это просто имплементация ip , а он спрашивает за архитектуру.
А так да... Netty рулит ;) и вебсокеты есть, я юзал для пуш нотификации, 500к клиентов на ноду.
Она единственная которая показала адекватную скорость.
P.S. Netty есть и для java и для scala.. вот токо прострелить себе ногу в ней как нефиг делать

#10
13:37, 22 янв. 2019

и опять начинаем углубляться в детали...

меня больше интересует общая концепция, а не частные случаи, ЛИТЕРАТУРА, книги и статьи по этой тематике.
только изучив общее можно понять как действовать с частным.

с передачей всякой фигни (статика, логины, таблички) - полностью согласен, тут чистый REST, но есть и другое...

но если вам охота поломать голову вот частное:
поле 128х128 нужно отслеживать передвижение юнитов (игроков + ботов) в режиме онлайн, т.е. передавать только uid и координаты...
вот для таких целей и надо сокеты

#11
13:38, 22 янв. 2019

joub
Так это уже шутер ;)

#12
13:39, 22 янв. 2019

MAXIM

да нужна все-же архитектура, а не частное решение. )))

#13
13:40, 22 янв. 2019

itx

да в каком он месте шутер ???  8/

#14
13:41, 22 янв. 2019

joub
Так это уже шутер ;)joub
Ты хочешь отслеживать перемещение в реалтайме. Это шутер.
Да тогда вебсокеты. Со всем проблемами с масштабированием.

Страницы: 1 2 Следующая »
ПрограммированиеФорумСеть