Перед вами мой взгляд на проблему обнищания современных MMORPG по части игровых механик. И, забегая вперед, происходит это отнюдь не из-за всепоглощающего доната.

Еще недавно, запуская какую-нибудь онлайн-игру, мы видели примерно это:


Теория MMO: Сложная простота и простая сложность
Простая изометрическая проекция, действия происходят на одной плоскости, а даже если и есть перепад высот, то на стороне сервера это организовано как ряд параллельных нумерованных плоскостей. В общем, технически все как будто довольно примитивно, но сколько было видов взаимодействия между игроками и миром, какие трагедии происходили в этом «простом» мире!

А сейчас, при запуске среднестатистической MMORPG мы видим вот такое:

Теория MMO: Сложная простота и простая сложность
Красота! Все почти как настоящее, только лучше! Однако же, что же (ну кроме визуальной красоты) принесли нам современные игры в плане взаимодействия как между игрой и игроками, а также между самими игроками? Гусары, молчать! Про 20 видов разнообразного доната мы тут не будем.

Рискну выдвинуть предположение, почему так происходит.

Теория MMO: Сложная простота и простая сложность
Со стороны сервера всякая онлайн-игра выглядит как бесконечный цикл, между итерациями которого проходит сколько-то времени (несколько миллисекунд, или даже микросекунд), и в каждой итерации проверяется множество всяких взаимодействий между игровыми объектами, произошедших за прошедший интервал времени. Одними из самых ресурсоемких являются расчеты механических взаимодействий – столкновений, перемещений одних тел по другим, и так далее. Когда у тебя по сути плоский мир (даже если в клиенте он трехмерный), то расчет взаимодействий довольно прост.

Теория MMO: Сложная простота и простая сложность
Если же на сервере мир трехмерный, то расчетов становится намного больше — вместо взаимодействий по четырем границам объектов (ну или шести, или даже восьми) нужно начинать рассчитывать между собой пространственные коллизии. Например, пересечения сфер вокруг игровых объектов между собой. Также немедленно появляются взаимодействия между объектами и поверхностью мира: если персонаж стоит на крутом склоне, он должен заскользить вниз, и надо еще силу трения рассчитать, иначе с любой поверхности с мельчайшим уклоном все заскользит куда-то вниз.

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

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

Теория MMO: Сложная простота и простая сложность
Те же сложности возникают и при создании клиента игры. Пока у нас изометрия, нарисовать несколько спрайтов довольно просто. И оперировать с ними просто: где надо, один спрайт заменил на другой, где надо – просто убрал спрайт, а где надо – добавил новый.

Теория MMO: Сложная простота и простая сложность
Но простые игроки требуют реалистичности – а значит, дадим им реалистичность! И вот у нас уже игровые клиенты весят по 20 гигабайт, потому что там внутри текстуры в 4K-разрешении, и модели по миллиону полигонов со скелетом из 300 сочленений.

Однако же в получившейся красоте появляются свои сложности. Разработчики трехмерных игр знают, что наилучшим способом повысить быстродействие при отрисовке 3D-сцены – это преобразовать множество трехмерных объектов, соприкасающихся друг с другом, в единую громадную криволинейную поверхность, состоящую из треугольников (так называемый три-меш, ну или просто меш). При всей своей кажущейся сложности, отрисовываться она будет довольно быстро, так как существует большое количество разработанных специально для этого методов. Но объединение всего ландшафта в меш приводит к тому, что ландшафт становится совершенно статичным. Дерево не срубить, камень не поднять, травку не выдернуть. Если же каждое дерево делать отдельным объектом (не говоря уже о камнях и травинках), то клиент немедленно задохнется во фризах. Достаточно вспомнить Archeage и мероприятие по захвату Золотых Равнин. Сотня собравшихся в одном месте персонажей приводила к сильной просадке fps (число кадров в секунду) именно потому, что надо было отрисовывать много отдельных объектов, а не один большой меш. А с точки зрения клиента, любое отдельно стоящее дерево или камень – почти как персонаж (ну разве что полигонов поменьше). В Archeage вышли из ситуации, сделав только некоторые деревья игровыми объектами, равно как и рудные жилы.

Теория MMO: Сложная простота и простая сложность
А в H&H, ввиду крайне низкой полигональности, возможно стало сделать каждое дерево отдельным объектом. Но травы там нет совсем, кроме отдельных собираемых элементов. Да и про визуальную красоту в H&H, я думаю, говорить излишне :)

Теория MMO: Сложная простота и простая сложность
Настоящий же разгул интерактивности, как это ни странно звучит, происходит там, где никакой графикой и не пахнет. Именно в Dwarf Fortress путем отказа от любой попытки выглядеть красиво достигнуто крайне высокое качество симуляции. В игре происходят исключительно те расчеты, которые нужны для реализации геймплея, а расчетов для графики не производится совсем.

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

Разумеется, это всего лишь моя точка зрения, и могут существовать и другие точки зрения на эту проблему. Критика принимается.

43 комментария

avatar
Неужели ни у одной «красивой» игры нет шансов? По моим ощущениям, графонистость игры вполне может заменить пару-тройку отсутствующих механик в плане восприятия игры целиком, другое дело что не всем доступна эта графонистость, учитывая нынешние цены на новые видеокарты. Я сам не являюсь графопоклонником (нашёл новое слово взамен популярному), но мои глаза и мозг не могут принять откровенно слабые по графике игры без сильного лора. Может мне банально не хватает воображения и я являюсь среднестатистическим игроком…
  • 0
avatar
«Красивая», «Вариативная», «Окупаемая» — я думаю, что это как тот прикол про «быстро», «качественно», «недорого». Просто представить, чего стоит срубить дерево в 2D, и в 3D. Даже не срубить, а просто падение дерева. В 3D тебе надо нарисовать само дерево, отработать его анимацию падения, сделать реакцию окружения на это, записать соответствующие звуки, желательно еще и анимаций разных сделать, чтобы не выглядело все это слишком однообразно — чтобы деревья не падали все с одинаковой скоростью, с одинаковым звуком и т.д. В изометрии можно нарисовать три-четыре промежуточных состояний падения (которые представляют собой уже нарисованное дерево под другим углом), несколько серых облачков, которые будут визуализировать столкновение с землей, да и все.

А потом еще слушать от игроков, что «графика не оч» :)
  • 0
avatar
Игра Stronghold с тобой сильно не согласится. Рисованная, изометрическая, но с шикарной анимацией ветвей на ветру, роста и цветения садов и много чего еще. Рисованная первая часть давала 100500 очков форы по графике трехмерной второй, и сейчас смотрится очень хорошо.
  • +1
avatar
Да потому, что дело не в графике. Большинство механик того же ХиХ можно совершенно безболезненно перенести в игру с другой графикой, потому что хтоническая мощь ХиХ — это идеи, креатив, безумие, а не запредельно сложные в обсчете механики, которые ну никак не осилит даже компьютер NASA, если добавить игре текстур и шейдеров.

Опять же, в ХиХ каждое дерево — объект? Прелестно. Но кто-то реально считал, больше ли этих деревьев на локацию, чем в АА? На скрине натыкано несколько сиротливых объектов, что ж, в АА может быть столько же плюс деревья, которые объектами не являются, но создают красивость. В чем разница? И там, и там есть объекты, с которыми можно взаимодействовать. От того, что добавлены невырубаемые деревья — кстати, вполне возможно, исключительно ради того, чтобы игроки не превратили совсем уж все вокруг себя в голую пустыню — как-то пострадала интерактивность «настоящих»? Мне тут нужен смайлик «nope», право слово.

При этом игры с «красивостями», похоже, способны не только привлечь больше игроков (да-да, они все примитивные субъекты, которые жаждут только картинки, но не механик), но и удержать их, вот ведь сюрприз. А в ХиХ люди как приходят, так и уходят, и дело, сдается мне, вовсе не в графике.

Кстати, впервые услышала о том, что Dwarf Fortress — ММОРПГ.
  • +3
avatar
Объекты могут быть разными. Список [2, 3, 6, 7] — объект. Трехмерная модель дерева с заложенной анимацией, звуками — тоже объект. Единственное, что общего между деревом в H&H и деревом в AA — это деревья, т.е. название.
  • 0
avatar
Сиротливые деревья — это как раз то, что ввиду крайне упрощенной графики, проходит в H&H, но не сможет пройти в AA. Зато эти деревья могут появиться где угодно (в том числе и быть посажеными самими игроками). А создающие красивость, но не являющиеся игровыми объектами деревья в АА создают атмосферу, однако из-за них (чтобы не пересекаться) приходится размещать точки респа деревьев — игровых объектов в фиксированных местах. А сажать силами игроков деревья можно только фиксированный набор разрешенных к посадке деревьев.

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

И кстати, Dungeon Keeper тоже не ММОРПГ. Но вместе с Dwarf Fortress, они были приведены просто как пример изометрической графики и отсутствия графики вообще.
  • 0
avatar
В АА игроки высаживали целы парковые комплексы. Проблем с механиками, производительностью и взаимодействием не было.


То, что некоторые объекты были жестко прикручены это больше проблема дизайнерского замысла.
Комментарий отредактирован 2018-02-28 10:26:30 пользователем Lavayar
  • +2
avatar
Я помню, елки сажали в дальних углах, чтобы громовую древесину получать :) Но если Вы обращали внимание, деревья при приближении к ним прорисовывались не сразу. Вот в верхнем левом углу этой плантации виден уже переход на упрощенную модель дерева, а теней нет начиная с третьего ряда. А в верхней правой четверти скрина в ущелье виден кусок дерева, растущего в расщелине, которое прибито там гвоздями разработчиком, и оно за счет того что включено в общий меш, видно со значительного большего расстояния. А так да, вопрос производительности клиента больше проблема игрока, у кого видеокарта похуже — пусть страдает, настройки на минимум ставит, одинаковые доспехи включает…

И это мы еще терраморфинг не рассматривали, который есть в H&H, но в AA его нет.
  • 0
avatar
Терраморфинг это уже вопрос концепции мира. Вы понимаете что фичи ради фич лишь приводят к полной каше в игровом мире? (а делать фичи ради фич это первый грех программиста)

P.S. Терраморфинг есть в Life is fuedal, которая по графической части даже выше Archeage.

P.S.S. Технические проблемы с графикой Archeage вообще по большей степени лежали в изначально неправильном выборе движка Cryengine 3, который для ММО вообще не оптимизирован.
  • +1
avatar
А создающие красивость, но не являющиеся игровыми объектами деревья в АА создают атмосферу, однако из-за них (чтобы не пересекаться) приходится размещать точки респа деревьев — игровых объектов в фиксированных местах.
А кто сказал, что это плохо? Обычно сосну ищут в сосновом лесу, а не посреди города или болота. То, как и где растут деревья в ХиХ — чистой воды игровая условность. В АА другие условности. Такое случается. На реализм обе игры особо не претендуют. Кто вообще сказал, что наличие атмосферы портит геймплей?

А сажать силами игроков деревья можно только фиксированный набор разрешенных к посадке деревьев.
А в ХиХ количество видов деревьев ничем не ограничено? Это круто, конечно.

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

А что касается ценности — давайте поговорим о том, как выхолащивание территории в ХиХ может иметь «ценность». В игре, которая дышит на ладан именно потому, что живет циклично, от вайпа до вайпа, потому что игроки выжимают из окружающего мира максимум, доходят до условного капа развития и теряют к игровому процессу интерес. Я все же хотела бы увидеть какие-то более жизнеспособные примеры такое ценности. В ММОРПГ.

И кстати, Dungeon Keeper тоже не ММОРПГ. Но вместе с Dwarf Fortress, они были приведены просто как пример изометрической графики и отсутствия графики вообще.
Тогда простите, но это все некорретный разговор. Синглы могут позволить себе большее. Они могут позволить себе построиться вокруг любой механики. Они не страдают от главного — от избытка людей, которые должны постоянно взаимодействовать внутри игры. Я уверена, если мы пороемся в синглах, то найдем примеры игр с интересными и сложными механиками и сейчас. Я не специалист, но я категорически не верю, что со времен Dwarf Fortress синглплееры не предлагали аудитории ничего интересного и оригинального. Майнкрафт, например, не считается?

ММО — это совершенно другая область. Здесь все тривиальные механики игры должны быть подчинены социальным, а игровая часть — адаптирована под массовое взаимодействие и постоянную доступность механик всем и каждому. Естественно, это создает совершенно другую нагрузку, и я не только о технической нагрузке говорю. Сложно увязать все эти механики в одно, сделать цельный «организм», и где растут деревья — для ММО уже совсем не первый вопрос.
  • +3
avatar
ММО — это совершенно другая область. Здесь все тривиальные механики игры должны быть подчинены социальным, а игровая часть — адаптирована под массовое взаимодействие и постоянную доступность механик всем и каждому. Естественно, это создает совершенно другую нагрузку, и я не только о технической нагрузке говорю. Сложно увязать все эти механики в одно, сделать цельный «организм», и где растут деревья — для ММО уже совсем не первый вопрос.

Яростно плюсую! Именно что в ММО (и ММОРПГ особенно) первично именно взаимодействие игроков. Но чтобы оно не оставалось только навороченным 3D-чатом, нужно побуждать игроков с помощью игровых механик к социализации. Какой-нибудь поход за редким лазуритом за тридевять земель — это вызов! И даже если есть карта местности, по которой понятно — в каком направлении идти, лучше, чтобы это была какая-то область без фиксированных точек расположения лазурита. Манор в L2, при некотором его улучшении, мог бы тоже быть прекрасной механикой объединения игроков (и вообще, манор и спойл — это было интересное решение проблемы добычи ресурсов без тераморфинга, веселой фермы и веселого рудокопа).
  • +1
avatar
Объединение игроков слабо зависит от того, случайно респится лазурит или закономерно :)

Вообще собирательство — сложная механика для социализации. Обычно собирать удобно одному. То есть нужно придумать механики для объединения, причины, и вряд ли это будет технически сложно. Тут вызов скорее для интеллекта :)
  • +2
avatar
Я не специалист, но я категорически не верю, что со времен Dwarf Fortress синглплееры не предлагали аудитории ничего интересного и оригинального. Майнкрафт, например, не считается?
Времена Dwarf Fortress и не прошли — игра до сих пор даже не близка к релизу и развивается постоянно. И нет, как я уже неоднократно говорил, такой глубины симуляции нет больше ни в одной компьютерной игре, онлайн или офлайн. Здесь проработана геология, минералогия, здесь есть тени дождя и довольно подробная анатомия с возможностью потерять даже отдельный палец. Игровые механики тоже на высоте: ни в Майнкрафте, ни в любых клонах такого взаимодействия не найти. Причём тут дело даже не только в том, что игре не приходится обсчитывать графику. Честно говоря, ей отсутствие графики идёт на пользу уже потому, что всё то, что она даёт, графически при современных технологиях реализовать либо очень сложно, либо просто невозможно.
ММО — это совершенно другая область. Здесь все тривиальные механики игры должны быть подчинены социальным, а игровая часть — адаптирована под массовое взаимодействие и постоянную доступность механик всем и каждому.
Безусловно. Но сейчас у нас есть интересный пример именно ММО (пусть и в скромных масштабах) с развитыми механиками взаимодействия между игроками и окружающим миром. Я, разумеется, про Eco. Очень жаль, что со временем у меня сейчас такой напряг, даже сюда удаётся заходить только в коротких перерывах между работой — иначе я бы тоже посмотрел на этот мир своими глазами. Но я надеюсь, что он никуда не денется в ближайшие несколько месяцев :)
Просто развивать исключительно социальные взаимодействия тоже не выход — мы по сути переизобретём чат. Безусловно, я могу ошибаться, но интересный интерактивный контекст социальным механикам не вредит.
  • +5
avatar
Так в Eco и графика неплохая. Не в моем вкусе, но неплохая :)

Речь не идет о «чистом» социальном взаимодействии, скорее о том, как социализацию вплести в геймплей. Я выше писала — это сложно не в техническом, а в интеллектуальном плане. Пример: АА, в которой очки работы должны были, по идее, повысить значимость игроков друг для друга, развить диверсификацию и т.д., а на практике послужили причиной для разъединения и универсализации. Не сработало. Не в механиках дело было, а в логике игры, и этот момент банально не додумали.
  • +3
avatar
Пример: АА, в которой очки работы должны были, по идее, повысить значимость игроков друг для друга, развить диверсификацию и т.д., а на практике послужили причиной для разъединения и универсализации. Не сработало.

А поясни этот момент, пожалуйста. Просто мы ведь не видели концепцию в ее изначальном замысле. Только монетизационную эксплуатацию, извратившую ее кардинально. Там, где игрок должен был получить лимит и отсутствие очков работы, он получал приглашение в магазин.
  • 0
avatar
На самом деле система начала сбоить еще до появления в магазинах разливного имбиря. Вернее, как: пока речь шла об артели ремесленников-фермеров, система показывала себя просто отлично: ты куешь, я шью, а вот он пироги печет. Сказка! А что, если речь идет о разделении на воинов и ремесленников? Где один воюет, а другой печет пироги? Помните наши мечты о диверсификации общественных функций, о том, как одни будут крафтить и везти грузы, а другие — благородно (или не очень, а за твердую монету) их защищать? Вот эта идея сдулась на самом старте. Причина просто — у всех было ровно одно и то же количество ОР. У пекаря, у лесоруба, торговца, благородного рыцаря и бесчестного головореза. Я решаю стать тыловым работником — замечательно, мои товарищи могут доверить мне свои огороды, поставить на свой лимит станки или производственные дома, но… очков работы у меня больше не становилось. И на то, чтобы обшить, обковать и обпечь гильдию, усилий нескольких преданных делу ремесленников не хватало. При этом наши боевые товарищи могли сколько угодно выбирать войну, а не ферму — они все равно оставались владельцами невероятно ценного актива: очков работы.

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

Конечно, многие пошли по пути наименьшего сопротивления и выбрали… правильно, торговые грузы, одну из немногих механик в АА, которая не была привязана к игровому сообществу на стадии окончательной реализации товара. Деньги почти что из воздуха. А для того, чтобы скрафтить торговые грузы, нужен был огород. А потом, в очередном обновлении — дом с торговым складом. И вот вокруг таких индивидуальных предпринимателей закрутилась целая производственная цепочка, и зачем таким людям объединяться? Культура, при которой каждый «гуляет на свои» ОР, сформировалась окончательно. Те, кого укачивало от трактора или не привлекали кубинские круизы, осваивали другие ремесла. Буквально перековывали мечи на орала. Потому что когда у тебя в руках сверхценный ресурс — очки работы — нельзя же просто так их выбросить? Вот все и «сливали», кто во что горазд.

И это я сейчас без конст, без гильдий-достигателей, без прочих крайних полюсов формирования жесткой «корпоративной» культуры с барщиной на морковке. Понятно, что это локальные перегибы. Но они появились не на пустом месте, система, в которой у воина и ремесленника очков работы поровну, и передать их нельзя, и ценность их огромна — она на самом деле не оставляет возможностей для реальной диверсификации. Возможно, именно это пытались сбалансировать, когда ОР начали тратиться на каждый чих, включая открытие мешочков с лутом. Но получилось только хуже: пул ОР все равно оставался у всех одинаковым, просто если раньше фермер, потратив весь суточный запас на своем участке, мог хотя бы мобов побить, теперь оказывался полностью выключенным из игры. А пвпшники уже не могли отучиться водить тракторы :) И это не говоря о манящем Острове Свободы, который давно уже стал частью местной ПвП-активности. Как же туда паки-то не водить? Да и монетизацию через имбирный напиток уже подвезли, так что исправлять ситуацию было поздно.
Комментарий отредактирован 2018-02-28 19:17:05 пользователем Chiarra
  • +8
avatar
Спасибо. Да, одинаковый пул и невозможность передать очки работы — действительно проблема. Но ведь проблема решаемая, по идее. Как думаешь?
  • 0
avatar
Думаю, более чем. Я даже вижу очевидные пути решения этой проблемы, правда, одни мне видятся рискованными, а вторые чреваты серьезными эксплойтами :)
  • +1
avatar
С некоторых пор в Dwarf Fortress есть многопользовательский режим, кажется пока довольно кривой.
  • 0
avatar
Мысль конечно интересная. Но это лишь осколок картины. Проблема в том что сейчас акцент делается на том, что бы как можно лучше продать игру. Я не раз слышал и читал утверждения разработчиков что на маркетинг нужно выделять половину бюджета вашего ААА тайтла. Но и это еще не все. Что бы продать игру как можно более широкой аудитории она должна подходить под критерии такой аудитории. Что в итоге вызывает повсеместное упрощение и вырождение. Ну и графики побольше, конечно! И побольше обьективизации!
  • +4
avatar
Сами по себе данные обработать можно с использованием двух базовых подходов. Первый подход характеризуется тем, что мы все время проверяем наличие данных и обрабатываем их по мере поступления. Второй подход характеризуется ожиданием данных и обработкой их только в момент поступления.

Реактивность — это свойство корректироваться в зависимости от изменений окружающей среды.
Рефлекс — это стереотипная реакция в ответ на некоторое возбуждение.

Первый подход так и называется — реактивным. Второй — рефлексивным.

Так вот. Что я видел раньше в серверах? Они были рефлексивными. Это было главным свойством.
Появился игрок на локации, в зоне его интереса от каждого движения начинают считаться варианты. Если игрок движется по зоне спауна мобов, то от каждого перемещения на периферии зоны интереса начинает работать спаунер, выбрасывая мобов с равномерной вероятностью распределения по всей зоне спауна.
Встретились два игрока, пересеклись их зоны интереса, для них начинают считаться механики ближнего действия.
Любое действие, как правило, представлено таймером, который не тикает назад, а сразу говорит время, когда ему сработать. Каст скилла — это таймер. Куллдаун — таймер. Эффект скилла — таймер. На самой локации тоже есть таймер, который подсовывает некоторые события игрокам на тот случай, если все они разом замрут, чтобы локация выглядела живой. Четко оговоренные границы активной работы дают возможность экономить ресурсы и тратить их только по делу.
А когда последний игрок вышел с локации, все ее ресурсы почистились, мобы удалились, ненужные эффекты удалились и локация перешла в спящее состояние.
Это буквально система реального времени, использующая ресурсы только по мере возникновения событий.
eAthena была способна с успехом содержать до 10к активных игроков РО всего на одном ядре с частотой 4ГГц, не загружая его на 100%. А в РО механики далеко не так просты, как может показаться.

Что я вижу в серверах все последнее время. Сервера сплошь и рядом реактивные.
Xeon-Phi на 72 ядра? Нам этого мало! Нам нужен юнит на 4 зеона и 288 ядер! Но и этого будет мало, когда к нам начнут подключаться игроки.
Обозначенный Эльфом бесконечный цикл крутится для каждой локации отдельно. При старте локации, на ней сразу создаются все мобы, все НПЦ, все активности, всё возможное, что для этой локации возможно. Старт локации, при этом, занимает чумовое количество времени. И это еще только цветочки.
После старта локации, для нее безусловно начинает работать цикл обработки событий, а события генерируются вот всем тем, что было в локацию загружено. Мобы ходят, НПЦ скучают, триггерные зоны ищут игроков… От 10 до 100 раз в секунду. Игроков еще нет, а ресурсы уже сожраны под ноль. Кайф!

1 секунда — безумно короткий отрезок времени, в нем всего 1000 миллисекунд.
Если локация работает со скоростью 10 тактов в секунду, то на один ее такт может быть отведено не больше 100 миллисекунд. Но 10 тактов в секунду — это слишком мало для качественной симуляции. Тактов должно быть от 60, лучше 100.
Однако же, 60 тактов означают что на один так не может быть потрачено больше 16.6 миллисекунд. А если тактов нужно 100, то каждый такт надо впихнуть в 10 миллисекунд.

И за эти 10 миллисекунд надо посчитать все то, что накапало в событиях. И это вне зависимости от того, есть игроки на локации или нет. Точнее, если игроков нет, то еще пол беды, а если есть, то хоть вешайся. Помимо НПЦ, триггерных зон, кустиков, колодцев, мобов и прочего контента локации, теперь еще и игроков с их безумными выкрутасами надо считать.

Вот такая вот история выходит. Я не знаю почему при разработке игрового сервера люди стали идти в стороны реактивных систем. Но что это шаг в болото, я всегда догадывался.
Да, создание рефлексивной системы сложнее, требует большей подготовки и более широкого набора навыков.
Является ли это достойным ограничением? Не думаю.
  • +15
avatar
Мне кажется что рефлексивный подход приводит к статичности мира? Или по крайней мере восприятия его игроком как статичного?
  • +1
avatar
Если делать, например, как хотели разработчики Seed, живой мир (чтобы у НПЦ в нем были свои нужды и чаяния, а не стояние столбом и раздача квестов «убивай волков за околицей, принеси мне 10 шкур, и я подарю тебе фамильную брошь» каждому проходящему), то симулировать действия придется все равно, даже если в локации нет ни одного игрока. Хотя бы и упрощенно.
  • +2
avatar
Lavayar , я сюда тебе тоже ответ закину, чтобы не дублироваться. :)

Самым ярким примером хорошей рефлексивной системы на данный момент является Factorio. Это не просто полностью рефлексивная система, это настоящий, полноценный клеточный автомат. Полный клеточный автомат, согласно классификации.
Думаю, на этом этапе все становится понятно. :)

Живой мир тоже может быть построен на основе рефлексивных систем обработки данных. Более того, клеточные автоматы являются именно и рефлексивными, и живыми в одно и то же время.

А даже если и пойти дальше по этому тонкому льду скептицизма, то сразу встанет вопрос такого рода. Ну зачем что-то считать на локации, где НПЦ гвоздями прибиты к месту, где игроков еще нет, где нет никаких полезных активностей? Всякие там SEED, Rimworld и.т.д. понятно, там надо. А когда из неигровых и живых только мобы да кустки (и триггерные зоны, но их ни кто еще не видел, так что это секрет что они живые), зачем их значимость приравнивать к игрокам и тратить на них ресурсы реального времени?
  • +6
avatar
Спасибо за пример. Надо поиграть в Factorio прочувствовать как оно.
  • +1
avatar
Заметку.
Напиши об этом заметку.
Пожалуйста!
  • +3
avatar
Постараюсь пустить заметку в разработку. :)
  • +2
avatar
Мда. Всё в кучу смешали( Графика отдельно, логика отдельно. Когда в EVE:online в одной системе присутствует несколько тысяч игроков, то лаги начинаются далеко не из за графики и отрисовки.

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

ДФ кстати нехило так начинает лаговать при длинной сессии.
  • +2
avatar
Графика отдельно, логика отдельно
Да, отдельно. Я ж и писал про клиентскую сторону, и про серверную. Просто хорошая графика на клиенте (особенно трехмерная) требует и серверной поддержки тоже. В Lineage 2 Prelude, например, на сервере не было геодаты, а потом ее ввели, чтобы сервер мог контролировать перемещение игроков по поверхности. А в AA геодаты, судя по всему и сейчас нет, и вводить ее не собираются.
  • 0
avatar
Хм… погодите. Вот тут у меня старый скриншот из Life is Feudal:



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

Проблема Life is Feudal, да и Haven an Hearth — это растерянность на дальних дистанциях. Что со всем этим счастьем делать, когда целина освоена, долина превратилась в город и главные события в преображении пространства, на которые богата игровая механика, позади? Вопрос глубоко философский, он относится к геймплейной конструкции — стимулам и долгосрочным целям. Кажется, что мысль дизайнера сосредоточена на первых ярких этапах освоения девственно чистого мира, а дальше, условно, у нас маячит финал. Отсюда постоянные вайпы в Haven and Hearth. И, боюсь, через год мы услышим нечто подобное в контексте Life is Feudal.

При этом я не могу сказать, что по механикам эти игры беднее, чем UO. Мне кажется, что они богаче и сложнее. ХиХ так точно. Их проблема в том, что этап цивилизации здесь, это этап занятых, с точки зрения новичков, территорий, упущенного этапа романтичной колонизации, обретение скуки сторожилами, а не то, что должна дарить цивилизация — новые намного более богатые и интересные возможности. Хотя даже на их фоне еще у Фенимора Купера множество раз в произведениях сквозила тоска по ранней колонизации.
  • +7
avatar
Хм… погодите. Вот тут у меня старый скриншот из Life is Feudal
Я так понимаю, это скриншот из LiF:YO, в котором мир небольшого размера, и расчитан на 64 человека максимум. А LiF:MMO пока еще в глубоком тестировании (за большие деньги :) ), и ее указанные параметры (21 км на 21 км, больше 10000 человек на сервере) — это пока еще светлые мечты. Поэтому все то, что сейчас работает хорошо в LiF:YO не обязательно заработает хорошо в LiF:MMO.

И я не писал, что H&H беднее по механикам. Как раз с механиками у него все прекрасно.
  • 0
avatar
А LiF:MMO пока еще в глубоком тестировании (за большие деньги :)

Просто для уточнения: не такое уж и глубокое, открытый безвайповый тест. Ну и деньги обычные.
  • +1
avatar
И как там, деревья растут, или всех обманывают и всё не так, как в YO? :)
  • 0
avatar
Ох, ну я играл на ранних тестах ММО версии (до премиум магазина и иксоллы), так вот тогда росли достаточно корректно. Это вообще отдельный геймплей на ранних стадиях игры — пойти в лес и искать побеги хорошего качества, потом вернуться в клайм и посадить рощицу на заранее подготовленной земле хорошего качества. Потом ждёшь пока всё это добро вырастет и застучат топоры, потом выкапываешь пеньки и всё по новой.
  • +1
avatar
Так это ведь вопрос кластерной конструкции, которую LiF: MMO все равно неизбежно использует. Считай, что у тебя просто склеенные LiF:YO — пространство подгружается и выгружается. Ну, и, опять же, вот вчера вечером мы как раз обсуждали манор с ребятами. И пришли к выводу, что проблема манора была напрямую связана с перенаселенностью серверов. Больше далеко не всегда означает лучше.

Но ты прав в том, что даже в H&H сейчас заняты переписыванием рендеринга, потому что игра при скоплении игроков начинает лагать.
Комментарий отредактирован 2018-02-28 11:45:53 пользователем Atron
  • +1
avatar
Мир LiF:MMO построен на системе кластеров (нод) и потому, насколько я знаю, ничего не потерял из возможностей LiF:YO.
  • +1
avatar
истина, как говорится, где-то рядом. думаю, тут изначально нужно задавать вопросы геймдизу, какую игру он хотел сделать ))
  • 0
avatar
Сделать 3D модели. Прикрутить анимацию к моделям. Написать диалоги квестов и просто реплики персонажей. Озвучить хоть что-то в них. Создать локацию, где все это происходит. Продумать механики взаимодействий игроков с игроками и игровыми объектами. Продумать развитие персонажа (обычно банальный рост уровня), продумать чем занять игрока во время прокачки, и чем он будет заниматься по достижению капа уровня. [Опционально] Локализация на несколько других языков и тест качества перевода.
Это все тратит время, и чем больше деталей в реализации будет сделано, тем больше времени требует. Плюс тестирование всего этого — тоже время.

Сервер? А что сервер? Игроки разве видят, какое железо там и софт? Нет. Они видят результат его работы. Частоту багоюзов, лагов и фризов.
Игровые механики? Безусловно, сервер их выполняет. В том качестве, с которым этот сервер написан.
Игроки видят реакцию сервера и адмнистрации игры.
Быстрый кик с сервера за спидхак и почти мгновенное после этого письмо на привязанную к аккаунту почту — «Низзя повторять! Будет бан».
Или полный игнор сервером того факта, что игрок прыгает по десятикилометровому континенту как зайчик по лужайке.
Прочие «прелести» и чудеса.
Игроки это видят, и поступают так, как посчитают нужным в такой ситуации. Соотношение честной игры и нечестной будет зависеть напрямую от этого видения.

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

Почему же тратится так мало времени на проработку? А банально — играми сейчас занимаются все кому не лень. Рынок забит, причем однотипно наштампованными играми. Разработчики в основном небогаты, и игры делают в расчете на быструю окупаемость. Графика — да. Анимация — норм. Озвучка — да. Квесты — на старте игры обычно норм. Реклама — да, да и еще раз да. Геймплей — на старте норм, а дальше — бог знает. Абузоустойчивый сервер? А зачем? Нате вам сторонний античит, авось в этот раз читеров поменьше будет.
Через годик-два игру прикроют по нерентабельности.
Так и живут.
  • 0
avatar
Соглашусь. Поразительно, но играть в плоском мире для меня было всегда удобнее и увлекательнее. Возможно, от 3D я быстрее устаю.
  • +2
avatar
Возьмём для примера Source Dedicated Server (SRCDC) и кратко рассмотрим в чём его главная проблема. Особенно учитывая то, что на оптимизацию игр от Valve никто не жалуется, напротив это образец быстродействия работающий даже на «калькуляторах». После запуска своего сервера очень быстро выясняется, что для расчёта физики он может использовать только центральный процессор CPU, а видеокарты GPU, которые многократно быстрее, нет. Это само по себе очень печально, но ещё печальнее, что движок сервера однопоточный.

Получается не только сам движок, но и скриптовая логика на языке программирования Lua и даже физика крутятся на одном физическом ядре процессора. Из-за этого на форумах рекомендуют выбирать процессор с высокой производительностью на ядро. Если это серверный Intel, тогда под требования подходит четырёхядерный Intel Xeon E3 с частотой выше 4GHz. С декстоповой версией процессора тоже самое, всё это нужно для достижения онлайна в 100 игроков вместо, например, 64-ёх.

Понятное дело нижний порог условен и зависит от используемого процессора, скриптов и прочего, а вот верхний нет, то есть вряд ли кто будет ставить на карту 200 игроков. Особо смелые могут поставить 128, но даже без реальных игроков, а простое создание большого числа неписей приводит к неприятным последствиям, причём не столько для сервера, сколько для клиента.

Другое дело пропы или по другому простые динамические объекты, вот их может быть гораздо больше. Фишка же в том, чтобы всё это ещё не находилось в одной области видимости, тогда можно поместить ещё больше объектов. Момент истины наступает, когда поворачиваешь камеру и начинаешь на это смотреть, вот тогда то всё и вылазит.

TCP или UDP? Для передачи данных игры используется UDP. Так же графическая и физическая модели разделены, то есть графических моделей может быть зашито много и выбираемых посредством того же LOD (Levels Of Detail), вот только это проблема видеокарт клиента, а не единственного работающего потока сервера, потому графику можно прокачать без проблем, главное чтобы у клиентов были не «калькуляторы».

Но сам собой напрашивается вопрос, а зачем делать такой серверный движок, когда топовые физические движки уже давно умеют считать на GPU. Между тем на форумах давалось объяснение или предположение помимо нежелания вкладывать огромные деньги в перепрограммирование. Хотя серверные решения в которые можно добавить видеокарты давно уже являются стандартом, в принципе покупать сервера с процессором дешевле, да и мороки с настройкой меньше.

И действительно такое решение потребует всего лишь укороченных серверов высотой в 1U. Предположим берём процессор с 4-мя физическими ядрами на воздушном охлаждении и получаем 4-е карты уровней с онлайном каждой 100 человек, а это уже 400 человек на серверный компьютер. Можно взять и с большим количеством физических ядер, меньше человек на физическое ядро, зато больше запущенных процессов SRCDC.

Хотя логика висит на сервере, проблема не только в ней. Ниже изображение, где я сижу на своём сервере перед телевизором показывающим youtube. Еду можно съесть, она заскриптована. Можно в неё стрелять, взорвать в центре гранату и она разлетится. Главное не спамить предметы друг в друга, те же любимые школьниками вагоны.

Разрушаемость это тоже не проблема, есть такие параметры как минимальный засчитываемый предмету урон, прочность самого предмета и многое другое, включая графические, физические, логические (вроде включения звука) свойства материала. Если же это браши, то есть простейшие статические объекты, то после компиляции карты происходит двоичное разбиение пространства (binary space partitioning). Сами карты хранятся в файлах с расширением bsp. Стоит ли после этого жаловаться на оптимизацию.

Возьмём число Данбара, утверждается, что человек способен одновременно поддерживать от 100 до 230 социальных связей, а чаще всего 150 и это всего по жизни, а не в одной игре. Нужен ли открытый, но пустой, то есть не насыщенный событиями, мир. Нужны ли тысячи игроков на одной локации не имеющие друг к другу никакого отношения.

Можно изначально до компиляции покрыть карту разрушаемыми объектами, кафельные плитки из камня, деревянный паркет, металлическая крыша, стеклянные окна, всё это будет разрушаться с характерным материалу звуком. В практическом же плане это не очень интересно. Обставить свою комнату разрушаемыми предметами, да пусть даже посадить деревья во дворе и то занимательней.

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

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

Людям не нужны сложные механики, им нужны игры простые в освоении и не требующие больших мозговых затрат. Индустрия предлагает подобное в том числе и в MMORPG, но донат действительно убивает такие проекты, особенно у российских локализаторов. И многие уже даже не пытаются оспаривать платную кастомизацию, а уж получить все костюмы с самого начала и вовсе из разряда невозможного.

Есть ещё такая тема, как игра в ожидание. Очень ждёшь покупки какого-то реального предмета, получаешь его и быстро теряешь интерес. Тоже самое и с играми, для некоторых ожидание игр и механик с сомнительными характеристиками гораздо желаннее самого игрового процесса. Опять же можно иногда понастольгировать, но многие долго не выдержат получив вырвиглазную графику, потому что к хорошему быстро привыкаешь, а вот отвыкать сложнее.



  • +3
avatar
Людям не нужны сложные механики, им нужны игры простые в освоении и не требующие больших мозговых затрат.

В контексте MMO это спорно даже в общих случаях, потому что приводит к быстрому «выгоранию». Вот уж где есть время на неспешное плавное изучение. Иначе мы рискуем заявить «людям не нужны сложные книги» или «людям не нужны сложные фильмы». :) Мне нужны. А на несложное мне жалко своего времени. Жизнь же не бесконечная.
  • +2
avatar
Нужен ли открытый, но пустой, то есть не насыщенный событиями, мир.
Не нужен, но в большинстве штампованных ММОшек событийность на капе уровня (до которого обычно неделя неспешной игры) представляет собой именно что ненасыщенное ничто.

Нужны ли тысячи игроков на одной локации не имеющие друг к другу никакого отношения.
Очень мало игр, где сейчас не так. Не можешь в одиночку кого-то прибить — ждешь пока подбежит кто-то, выпиливаешь с ним эту цель, и вновь разбегаетесь. Кто там рядом был, игроки забывают уже через минуту. Такой сейчас ленивый геймдизайн, отклонения от него редки.

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

Людям не нужны сложные механики, им нужны игры простые в освоении и не требующие больших мозговых затрат.
Неа, это разработчикам не нужна морока со сложными механиками. Если бы людям сложноть была не нужна, не было бы пираток с классической линейкой или вов. Либо было бы в разы меньше как таких серверов, так и числа игроков на каждом из них.
  • 0
avatar
Неа, это разработчикам не нужна морока со сложными механиками. Если бы людям сложноть была не нужна, не было бы пираток с классической линейкой или вов. Либо было бы в разы меньше как таких серверов, так и числа игроков на каждом из них.

В случае с постепенным упрощением существующих MMO, мне кажется, дело не в том, что разработчикам не нужна сложность. В конце концов, именно они и сделали изначальные версии своих проектов. Дело, по-моему, в попытке расширить аудиторию или вообще искать другую. «Эти у нас уже есть», или «эти уже всё равно наигрались», или «эти всё равно недовольны». Почему если мы признаем баг в голове игроков, когда ожидание игры или воспоминания об игре у них бывают сильнее, чем впечатление от того, что есть, мы не можем признать точно такой же баг в голове авторов по поводу собственной аудитории? :)
  • 0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.