Дамир Коблев
февраль 2018.
5539

Сколько места на сервере онлайн-игры занимает игрок?

Ответить
Ответить
Комментировать
0
Подписаться
1
3 ответа
Поделиться

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

Во первых, надо как-то отрисовывать лицо. Если вы играете, к примеру, в Lineage II, где лица персонажей выбираются из уже заготовленных, то там выбирается, скорее всего, какой-то id лица, и все на том. Если же дело доходит до игр с полноценным редактором персонажа, типа Perfect World или The Elder Scrolls Online где можно и лицо, и тело ползунками выставить, то, наверное, сколько этих ползунков - столько и численных значений будет у одного персонажа в базе данных. Плюс еще раса, класс... И это все - создание персонажа!

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

Ну и самое лакомое - это инвентарь и характеристики героя. И если с характеристиками все понятно (как с ползунками при создании персонажа), то инвентарь - это самый, наверное, настоящий захламитель баз данных. Давайте учтем, что каждый предмет, по идее, можно зачаровать, и при этом уже получается совершенно другой предмет, нетипичный, а тот, который сделан самим игроком. Учтем, что один и тот же гипотетический "стальной топор" может иметь разные характеристики в зависимости от уровня героя. Таким образом, в базе данных у каждого предмета должен быть свой уникальный id, который присваивается вообще не пойми кому: то ли тому, кто имеет этот предмет, то ли просто чему-то - не понятно. Но штук этих просто дохрена.

Таким образом, можно сказать, что и весит один игрок так же дохрена. Думаю, это число точно будет превышать мегабайт, что уже является довольно затратной единицей для любой игры, в которую ежедневно играют до миллиона человек.
Вот и ругайте потом игры за их бесконечный "донат". Самому что-то как-то пришло осознание, что это все сделано не для того, чтобы нажиться, а для того, чтобы поддержать игру, да еще и добавить туда что-то новое. Ровно так же пришло осознание того, что закрытие серверов того или иного проекта (как, к примеру, Marvel Heroes) - это жуткая экономия. Поэтому, нужно с определенным пониманием относиться к компаниям, которые принимают и без того непростые финансовые решения.

8
-2

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

0
Ответить
Прокомментировать

Процессор: Intel Xeon E5-1660 v3.
Оперативная память: 128GB DDR4 ECC 2133 MHz.
Жесткий диск: 2x 480GB SSD Soft Raid.
ОС: Linux Debian 8.
Интернет канал: 500 мбит/с. на 9500 игроков сервер WOW/

1
0
Прокомментировать

На счет предметов - добавлять каждому отдельному типу предмета отдельный ID - расточительство.
Оптимальный вариант - ID того же железного топора (образно) - 111.00.00.00.00.00 - где 111 - собственно топор, первые нули - редкость, потом - набор статов (сила+крит - 01, мана+хп - 02, и т.п.), потом зачарование, потом заточка... А ID стального топора - 112.00... и так далее. И перед каждым - количество. В итоге инвентарь на 100 слотов и займет эти самые 100 строчек, а поскольку хранить их проще в шестнадцатиричной, строки будут не особо длинными.
Конечно, когда смотришь на все это добро со стороны - кажется, что объем данных огромен, но стандартизация решает очень многое.

1
0
Прокомментировать
Ответить
Читайте также на Яндекс.Кью
Читайте также на Яндекс.Кью