Как работает берсерк?

· На чтение уйдёт 2 минуты · (300 слов)

Смотрел только что статистику поисковых запросов, - неимоверно понравился один из запросов, по которому пришли почитать этот блог. Запрос звучит следующим образом - "Как работает Берсерк"?..

В зависимости от того, что имел в виду автор, ответ, конечно же, будет разным... Но - попробую ответить :-)

1) Берсерк не работает - Берсерк рубится, сражается, побеждает!.. Работать - не путь Берсерков.

2) Коллектив Берсерк Онлайн - работает, как большинство людей, 5 дней в неделю по 8 часов, хотя бывает и чаще.

А 3) - описание реализации Берсерк-Онлайн - в продолжении статьи :-).

3) Принцип работы игры Берсерк-Онлайн - состоит в следующем:

За состоянием игры, подключением игроков, действиями карт, и прочая-прочая-прочая, внимательно следит бдительный игровой сервер. Да, иногда он может подтормаживать (во время бэкапов базы), или глючить... Но большую часть времени - он действительно бдит, неотступно следя за всеми играми, всеми игроками, всеми картами.

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

Игровой сервер Берсерк Онлайн поддерживает многопоточность (да и довольно странно было бы, если бы не поддерживал - работает он на 2х процессорном сервере). Благодаря этому, медленные запросы к серверу не мешают выполнению быстрых.

Игровой сервер - написан на Java, с использованием концепций объектно-ориентированного программирования. Впрочем, есть и огромные изъяны в архитектуре - например, сервер не модульный, нет поддержки включения/выключения модулей на лету (кроме Клановых войн) и обновления модулей без перезапуска сервера (нету вообще).

В дистрибутиве сервера - 1801 класс и/или интерфейс, не считая библиотечных. Активно используются концепции абстракции.

Рефакторинг игровой логики производится примерно раз в 1 год, во время подготовки новых карт. Тогда же реализуются новые игровые механики, и иногда - под них адаптируются существующие карты (редко).

Полезное