Haven and Hearth: Руководство по игнорированию инструкций: клиенты
Ахиллесова пята Haven and Hearth, на мой субъективный взгляд – это пользовательские клиенты. Бесспорно, без них мы бы сегодня не имели всех тех невероятных удобств, которыми пользуемся ежедневно, уже даже не замечая. Сетка поверхности для терраформинга, быстрое перемещение большого количества предметов из инвентаря и обратно, отображение качества и многое другое – все это ускоряет или упрощает наши ежедневные действия и служит примером хорошего пользовательского интерфейса, а иногда просто незаменимо, как в случае с упомянутой сеткой поверхности.

Seatribe довольно хитро решили проблему улучшения собственного клиента, отдав его развитие на откуп энтузиастам, конкурирующим друг с другом. Но энтузиасты – просто люди, не лишенные слабостей. А что еще важнее – они просто игроки, иногда довольно циничные. Поэтому в свои клиенты некоторые из них добавляют все, что можно вытянуть из получаемой от сервера информации, и автоматизируют все, что только можно. В нашей команде не утихают споры по поводу того, что допустимо, а что – нет. Что разрушает игру, а что ее улучшает. Но сложно спорить с одним простым аргументом – как только разработчики отдали клиент на откуп энтузиастам, объективно, все, что там появляется, с игровой точки зрения допустимо. Впрочем, так как у нас здесь леворезьбовое руководство, я все равно буду вас отговаривать от следования прямым и незатейливым инструкциям.

Но сначала я объясню, почему буду это делать. Из-за пользовательских клиентов на моей памяти в игре умерло, как минимум, две очень крутые механики. Первой пала тьма в пещерах. Ох, я не могу передать, насколько атмосферным было исследование пещер раньше. Ведь когда вы входили туда, вас ждал абсолютный мрак, которому позавидовал бы даже Риддик. Без организации освещения, без факелов в руках, без разведения костров на месте рудной разработки, нечего было и думать о том, чтобы что-то увидеть. А уж какой популярностью пользовался шахтерский шлем со встроенным в него подсвечником, чем освобождал руки для двуручной кирки и убирал необходимость таскать с собой факел, не передать. Но, естественно, сначала часть игроков в шахтах просто выкручивала яркость своих мониторов до неприличных значений, а затем и пользовательские клиенты научились игнорировать тьму. В новую версию Haven and Hearth в результате пещерная тьма просто не попала.

Haven and Hearth: Руководство по игнорированию инструкций: клиенты
Зачем в новой версии Haven and Hearth шахтерский шлем — решительно непонятно.

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

Как и тем, кто не застал внутриигровую картографию. Эта механика вызывала во мне такой восторг, что до сих пор за десять лет моего личного стажа в ММО для меня картография ХиХа входит в пятерку самых ярких впечатлений. Для того, чтобы нарисовать карту, вам нужен был пергамент, чернильница, перо и чернила. Затем вы выходили на местность и выбирали функцию «зарисовать карту». В итоге один из квадратиков появлялся на пергаменте в виде кусочка карты. Вы сравнивали его с тем, что видели вокруг, определяли границы зарисованного, двигались на юг, на север, на восток или на запад, выходили за границу уже зарисованного, и повторяли действие. В итоге появлялся еще один квадратик по соседству. Или не появлялся, если вы промахивались и оставались в уже зарисованном квадрате. Тогда вы просто тратили чернила, расходовали ресурс пера и, чертыхаясь, двигались за границу уже обозначенного на карте. Для всего этого вам нужно было много бродить, изучать местность, видеть все ее детали. И это было прекрасное, медитативное, познавательное занятие, за которым я провел множество дней.

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

Но вот беда – клиент кэшировал у себя миникарты, отображающиеся у игрока. Пользовательские клиенты быстро научились их складировать и правильно размечать для последующей склейки. Дальше подоспели специальные программы. Мы и сами сегодня используем эти возможности для того, чтобы собрать собственную карту в интерфейсе googlemaps, но, клянусь, это не дает даже десятой доли тех эмоций, которые давала оригинальная механика. Исчез процесс не только подготовки необходимых для картографии материалов, но и осмысленного изучения пространства. Сегодня, когда Hardsun задает вопрос о перспективах картографии в Haven and Hearth, jorb отвечает:

Ну, я даже не знаю. Многие люди просят картографию, но это выглядит настолько бессмысленным…

Haven and Hearth: Руководство по игнорированию инструкций: клиенты
Все это я рассказываю не для того, чтобы вы почувствовали, насколько зеленее была раньше трава (она не была зеленее, поверьте), а для того, чтобы вы подумали о том, что есть у вас сегодня. Возможно, завтра вы это можете потерять. Поэтому очень вас прошу – подумайте, что из функций пользовательских клиентов для вас лично обеспечивает удобство, а что мешает получить от игры эмоции, превращая ваш экран в набор циферок, стрелочек, автоматизированных звоночков о приближении игрока и прочих разрушителей игры. Я ни на чем не настаиваю. Все это субъективно. Я понимаю. Но только очень прошу — отправляйтесь в форумный раздел The Wizards' Tower, где публикуют пользовательские клиенты, с пониманием того, что при помощи галочек в настройках вы дирижируете собственными впечатлениями от игры.

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

Приведу всего один пример незначительного улучшения: индикатор прогресса в виде песочных часов. На мой взгляд, это очень несовершенная штука, лишенная множества полутонов. Так как интерфейс отвечает за визуализацию того, что вы физически не можете ощутить, его наглядность для нас очень важна. Именно поэтому числовые значения передают куда больше информации, чем небольшая динамическая иконка, в которой песок из одной секции пересыпается в другую. Сыпется ли песок быстрее? Может, вам просто показалось? Но для этого нужно сравнить с предыдущим темпом. А вернуться к той ситуации возможности нет. И вот вы занимаетесь добычей руды в условиях существования невидимых карт прочности породы. Одни и та же порода может добываться с разной скоростью, но изменения эти очень плавные. Мы неплохо воспринимаем контрастные вещи, но постепенные изменения заметить куда сложнее. Будь это настоящая порода, вы бы ощутили изменение ее свойств, а по сравнительно небольшим песочным часам это сделать крайне сложно. И вот простое появление в песочных часах числового индикатора сразу существенно добавляет наглядности – меняются диапазоны.

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

И я перехожу к самым вредным советам – какой пользовательский клиент использовать. Вы же понимаете, что я порекомендую вам сейчас не самым популярный, правда? Не потому что мне нужно держать марку, заданную в заголовке. И не потому что EnderWiggin , автор моего любимого клиента, оказался ММОзговедом. Мы использовали его клиент еще в далекие годы, когда и ММОзговеда-то не было. А все почему? Потому что этот клиент самый аккуратный, стильный и удобный. Не верите? Тогда дождитесь следующей части руководства, в которой я буду рассматривать азы интерфейса игры, с учетом возможностей Ender-клиента.

Постскриптум: К руководству это не относится, и я очень тепло отношусь к EnderWiggin, но все же мечтаю о том дне, когда пользовательские клиенты к Haven and Hearth если не исчезнут, то хотя бы будут проходить обязательную сертификацию у разработчиков на предмет того, что можно, а чего нельзя в них добавлять.

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

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

В вопросе отображения тьмы, а также, например, персонажей в режиме невидимости, меня всегда интересовало, что именно мешает просто не передавать клиенту данные о том, чего он видеть не может.
  • +1
avatar
Конечно можно не присылать клиенту в темноте ничего что не видно. Но это сильно усложняет расчеты на сервере что присылать, а что нет с учетом множества источников света. Дополнительных лагов никто не хочет. Что можно сделать, так это например не присылать клиенту никаких грибочков и мхов если у него нет факела. И летучих мышей не присылать пока они не нападут. Но это криво — проверяется не то освещен ли предмет, а есть ли у игрока факел. А проверять все источники света может быть накладно.
  • +2
avatar
Но это сильно усложняет расчеты на сервере что присылать, а что нет с учетом множества источников света. Дополнительных лагов никто не хочет.
По-моему, опасное злоупотреблениями и должно рассчитываться на сервере. Лаги можно скрыть нечеткой границей видимости с постепенным обретением силуэтом свойств. Другое дело, что объекты в играх часто прибиты гвоздями, напрочь неинтерактивны и потому заранее зашиты в локацию еще в клиенте, но не везде же так.

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

А проверять все источники света может быть накладно.
Зачем проверять? Источник накладывает АоЕ-эффект освещенности, игрокам отсылаются как заспавнившиеся только освещенные.

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

Зачем проверять? Источник накладывает АоЕ-эффект освещенности, игрокам отсылаются как заспавнившиеся только освещенные.
В этом и проблема. Как только предмет попадает в поле зрения, серверу надо проверить есть ли источник света в радиусе. Для этого надо перебрать все объекты на локации и проверить дают ли они свет и доходит ли он до предмета. При этом если источник света пропал (костер догорел, факел спрятали) — надо перепроверить не должен ли пропасть какой-то предмет рядом.
  • +3
avatar
Здесь клиент и так ничего без сервера не знает. Совсем.
Погодите, только что же говорили, что клиенту присылаются объекты, которых не должно быть видно из-за темноты, и их отображение выбирает клиент.

Как только предмет попадает в поле зрения, серверу надо проверить есть ли источник света в радиусе. Для этого надо перебрать все объекты на локации и проверить дают ли они свет и доходит ли он до предмета.
Еще раз, я предлагаю обратный порядок: источник света накладывает вокруг себя на объекты эффект (бафф, если хотите) освещенности. АоЕ-ауры в играх встречаются нередко. Про попадании в поле зрения просто проверяется значение освещенности. Что еще? Можно ограничить расчет источников, во-первых, попадающими в радиус базовой дальности обзора, т.е. теми, на которые приходит запрос отрисовки, а во-вторых, не просчитывать те, на которые падает прямой солнечный свет (предполагая, что от этой точки само солнце в любом случае ярче освещает). Можно задуматься, до какой частоты допустимо снижение «тиков» источников — опять же, во избежание злоупотреблений, не более ГКД включения-выключения персонального источника.
  • 0
avatar
Ну вы замудрили. Fog of war был придумал ещё до того как появилась технология динамического освещения. Не нахожу причин почему он не может быть воплощён здесь.
  • -1
avatar
А я вот не считаю что это так сильно усложняет что делает невозможным все эти расчеты. Уверен исходить здесь необходимо из вопроса нужно ли это.
  • 0
avatar
Что до сертификации клиентов — это будет влиять только на публичные клиенты. Что само по себе не мало и не плохо (если ограничения по функционалу в «белых» клиентах будут адекватными). Но этого скорее всего никогда не будет — loftar не захочет следить за кодом других клиентов.
  • 0
avatar
Значит, будут бесконечные злоупотребления, фактически, одобренные разработчиком. На самом деле, loftar может чего-то хотеть или не хотеть, но когда в следующий раз он скажет, что денег недостаточно, я жалеть его не буду. Потому что, чтобы деньги были, нужно хотеть.
  • +2
avatar
Основная проблема, как мне кажется, в том, что фактически заниматься разработкой и сервера, и клиента может только один человек (loftar) и не думаю, что это изменится в ближайшем будущем. Также сомневаюсь, что он может одинаково фокусироваться и на том, и на другом одновременно. Поэтому думаю, что для нас игроков дилемма состоит в том, хотим ли, чтобы он занимался такими вот «низменными» вещами, или разрабатывал интересный контент. Причем есть ещё намного более банальные вещи, вроде общей нестабильности клиента, которые никто не торопится исправлять.

Ну и добавлю, что по моим субъективным ощущениям этот человек и так ненавидит заниматься клиентом как таковым, и отдает предпочтение серверу. Что наверное не удивительно.
  • +1
avatar
Поэтому думаю, что для нас игроков дилемма состоит в том, хотим ли, чтобы он занимался такими вот «низменными» вещами, или разрабатывал интересный контент.

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

Если разработчики хотят снова пустить все это на самотек, то вынужден буду признать, что печальный опыт Салема ими не усвоен.
  • +5
avatar
Это тема для другой дискуссии, но скажу, что считаю, что и старый H&H, и Salem стали загончиками для ганкеров далеко не из-за клиента.

Почему? Просто процитирую loftar'a:
The life of the LARPer, crafter, hermit, carebear or merchant are just as valid playstyles in my mind as is that of the raider, and that the game does not manage to cater better to them is something I consider a failure and would like to improve on.
И я бы предпочел чтобы они занимались этим, а не изобретением серебряной пули от специальных клиентов.

Ну и, как мне кажется, скорее надо как-то исправлять механики, которые эксплуатируются в таких клиентах.

Например, возможно, что на данный момент самое большое зло в кастомных клиентах — это фича «autostudy», которая дает слишком большое преимущество, чтобы ей не пользоваться. Преимущество это вызвано недостатком в «геймплейной задумке авторов», когда невозможно, не играя активно, сменить слишком быстро изучаемый курьез. И не думаю, что запрет клиентов как-то сделал бы это преимущество меньшим для «ганкеров», способных играть 24/7, в отличие от нормальных игроков. Зато теперь можно ткнуть разработчиков в эту «фичу» с большим шансом на то, что это будет замечено и исправлено.
Комментарий отредактирован 2015-10-30 23:24:13 пользователем k-t
  • +4
avatar
Ну Атрон. Лофтар, к сожалению, не знает русский. Но при этом читает форум, где самыми активными участниками являются рейдеры, в том числе такие, которые цинично и последовательно убивают нубов на спавне с выкладыванием роликов в ютубе. Не знаю насколько сильно такое влияние на восприятие игры и того что хочет комьюнити у Лофтара, но бесспорно такое влияние существует.
  • 0
avatar
Всё изложено просто один в один из истории MUD'ов. К концу 90-х для них были созданы клиенты, позволяющие сидеть у монитора и смотреть, как персонаж развивается и сражается с другими игроками. Когда появилась графика некоторое время было спокойно, но теперь боты почти дотянулись до уровня ботов из текстовых игр.
  • 0
avatar
Что до сертификации клиентов — это будет влиять только на публичные клиенты.

А почему сервер не может проверять наличие сертификата и отказывать в подключении, если его нет?
  • 0
avatar
А в чем проблема получить сертификат на нормальный клиент, а потом им подписывать и нормальный и «читерский»? Как сервер узнает о подмене?
  • 0
avatar
Я считаю, что надо выдавать всем оплатившим подписку игрокам красиво оформленный USB-ключ. Присылать его в маленьком сундучке, чтобы необходимость использования ключа вызывала не раздражение, а радость от участия в ритуале. :)
  • +1
avatar
А в чем проблема получить сертификат на нормальный клиент, а потом им подписывать и нормальный и «читерский»? Как сервер узнает о подмене?

Я вот ни разу не специалист в этом вопросе, но ведь как-то контроль целостности клиента осуществляется в других ММО.
  • 0
avatar
Да. Тотальным шифрованием и установкой всяких гвардов которые требуют админских прав, следят за всем подозрительным и иногда параноят без причины. Плюс команда модераторов в игре которые расследуют все жалобы на подозрительное поведение других игроков. Но и это не 100% защита. Пока клиент запускается на стороне игрока — всегда есть возможность мухлежа. Вопрос только в том насколько сложно мухлевать по сравнению с преимуществами от мухлежа.
Проблема в том, что у Seatribe нет возможности (да и желания) усложнить модификации клиента настолько, чтобы их было не выгодно делать. Но есть возможность усложнить так, что публичные клиенты пропадут, а приватные останутся.
Я считаю, что лучше пусть будут публичные клиенты, чем полный их уход в тень, так как публичные клиенты дают шанс простым игрокам, которые не состоят в группе у которой есть свой «колдун».
  • +9
avatar
Хороший довод.
  • 0
avatar
В Tibia были подземелья где нужно было с собой таскать факелы или магией поддерживать освещение. И это было очень неудобно со всем этим возиться. Неудобно настолько что даже писал программную примочку включающую свет в клиенте (известный в узких кругах Тибот). А если уж начал модифицировать клиент под свои удобства, то остановиться уже тяжело.
  • 0
avatar
Но энтузиасты – просто люди, не лишенные слабостей. А что еще важнее – они просто игроки, иногда довольно циничные.
А иногда довольно принципиальные чтобы не переступить грань. Опыт старых миров еще свеж в воспоминаниях.

Многие интересные решения в геймдизайне HnH были сделаны именно благодаря развитию пользовательских клиентов.
  • 0
avatar
Давным давно, когда клиентов был ровно один и качали его с главной страницы…
кхм, на правах игрового старожила, разрешите вмешаться в обсуждение

На мой взгляд проблема с клиентами связана в первую очередь с функционалом игры.
Да, безусловно, атмосферность игры когда ты только что родившийся нубик в темном лесу дрожащими руками зажигаешь факел и пытаешься понять куда же ты попал зашкаливала. Да, безусловно, выскочивший из-за ближайшего дерева медведь (а заметить его задницу торчащую из-за елки было делом проблематичным даже и для опытного игрока) добавляла дикого адреналина и неописуемо распаляла ненависть к медведям, елкам, разработчикам и неведомо кому еще. Конечно смастерить заветный шахтерский шлем, воткнуть в него свечку и напевая down and down into the deep с киркой на перевес вгрызться в стены шахты было желанной мечтой (хотя конечно down and down появилось много позже, а изначально это было просто дальше и дальше от входа).

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

Играть в клиенте с разрешением меньше чем 800х600 тоже не доставляло никакого удовольствия. Более того радиус на котором медведь или кабан могли напасть на персонажа был больше видимой области, т.е. напасть они могли из-за экрана, когда игрок попросту не подозревал о том что они там… смотрят на него своими голодными глазенками.

А одевать шлем вместо медвежьей накидки, жертвуя скоростью добычи руды? А затем и вообще возможностью добычи в некоторых случаях?

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

На этом я завершу свой комментарий, хотя простор для продолжения у меня еще имеется. Как по старым версиям игры, так и по текущей и этому можно посвятить не одну страницу текста.
Лично я считаю что автор этой статьи прав, практически во всем. Но, увы, изменения геймплея вызванные функциями модифицированных клиентов происходят вовсе не из-за наличия этих самых модификаций.
  • +2
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.