·
Процессор от 2 Ядер (чем больше тем
быстрее смогут работать параллельно работающие программные сервера и
производиться расчеты системой ):
o
Нагрузка в покое CPU ~ 0,05% (load average 1, 5 и 15
минут): 0.07, 0.02, 0.01
o
Нагрузка 100 ходящий ботов (эмуляция игроков) CPU 4.7%
0.1, 0.09, 0.02
·
RAM (оперативная память) от 4ГБ, нужна в целом для работы
служб “железа” , сам программный сервер потребляет доп мощности по следующей
формуле:
o
1 Мб на запуска 1 экземпляра программного
сервера ( 1 карта = 1 сервер )
o
+ ~ 1 Мб данных на загрузку информации о где на
карте ходить можно, где препятствия
o
+ ~ 0.005 Мб на каждого монстра, объект, игрока
(в зависимости насколько много данных из базы будет браться)
При скорости интернета 0.22 Мбит/Сек при одновременной
действии 100 мобов (игроков) на карте игровой пакеты будут отправляться и
приходить в клиент игры и игра будет с начальными признаками freez’ов (критический порог
когда она начнет тормозить) тк Ping (разница между отправкой пакета и
получением назад данных) составляет 0.2 секунды (игра НЕ тормозит в 90% времени
за счет технологий интерполяции позволяющая игрокам с медленным интернетом
побыстрее выполнять действия в игре уравновешивая ситуацию)
В этот раз я расскажу как удалось реализовать открытый бесшовный мир в горизонтально масштабируемой 2D онлайн игре, а так же поделюсь идеей управления разведывательными беспилотными летательными аппаратами на огромных территориях.
Читать далееПосле успешной оптимизации клиентской части и серверной архитектуры пришла пора писать механики самой игры для взаимодействия по API — я называю их событиями (они вешаются на какой либо игровой объект на сервере, помещаются в очередь и срабатывают когда придет их время).
Суть работы взаимодействия сервера и клиентской части следующая:
Читать далееРазобравшись в архитектуре сервера, реализовав механизм простого расширения его функционала путем добавления пользовательского кода через WEB админ панель и игровых локаций захотелось наконец посмотреть как бы это все работало и выглядело в игре.
Т. к. сервер для игры является авторитарным, то клиентская часть должна была содержать.
Читать далееПродолжая рассказывать о своем пути создания ПО для догружаемого контента в играх в этой статье хотел бы остановится на игровых картах (локациях).
Читать далее