Ахиллесова пята Haven and Hearth, на мой субъективный взгляд – это пользовательские клиенты. Бесспорно, без них мы бы сегодня не имели всех тех невероятных удобств, которыми пользуемся ежедневно, уже даже не замечая. Сетка поверхности для терраформинга, быстрое перемещение большого количества предметов из инвентаря и обратно, отображение качества и многое другое – все это ускоряет или упрощает наши ежедневные действия и служит примером хорошего пользовательского интерфейса, а иногда просто незаменимо, как в случае с упомянутой сеткой поверхности.
Seatribe довольно хитро решили проблему улучшения собственного клиента, отдав его развитие на откуп энтузиастам, конкурирующим друг с другом. Но энтузиасты – просто люди, не лишенные слабостей. А что еще важнее – они просто игроки, иногда довольно циничные. Поэтому в свои клиенты некоторые из них добавляют все, что можно вытянуть из получаемой от сервера информации, и автоматизируют все, что только можно. В нашей команде не утихают споры по поводу того, что допустимо, а что – нет. Что разрушает игру, а что ее улучшает. Но сложно спорить с одним простым аргументом – как только разработчики отдали клиент на откуп энтузиастам, объективно, все, что там появляется, с игровой точки зрения допустимо. Впрочем, так как у нас здесь леворезьбовое руководство, я все равно буду вас отговаривать от следования прямым и незатейливым инструкциям.
Но сначала я объясню, почему буду это делать. Из-за пользовательских клиентов на моей памяти в игре умерло, как минимум, две очень крутые механики. Первой пала тьма в пещерах. Ох, я не могу передать, насколько атмосферным было исследование пещер раньше. Ведь когда вы входили туда, вас ждал абсолютный мрак, которому позавидовал бы даже Риддик. Без организации освещения, без факелов в руках, без разведения костров на месте рудной разработки, нечего было и думать о том, чтобы что-то увидеть. А уж какой популярностью пользовался шахтерский шлем со встроенным в него подсвечником, чем освобождал руки для двуручной кирки и убирал необходимость таскать с собой факел, не передать. Но, естественно, сначала часть игроков в шахтах просто выкручивала яркость своих мониторов до неприличных значений, а затем и пользовательские клиенты научились игнорировать тьму. В новую версию Haven and Hearth в результате пещерная тьма просто не попала.
Зачем в новой версии Haven and Hearth шахтерский шлем — решительно непонятно.
Можно назвать это решение разработчиков неудачным, раз столько игроков старалось его обойти. И я даже в целом мог бы с вами согласиться, если бы не помнил тех эмоций, которые во мне вызывала атмосфера пещер в то время. Тем, кто их не застал, мои соболезнования.
Как и тем, кто не застал внутриигровую картографию. Эта механика вызывала во мне такой восторг, что до сих пор за десять лет моего личного стажа в ММО для меня картография ХиХа входит в пятерку самых ярких впечатлений. Для того, чтобы нарисовать карту, вам нужен был пергамент, чернильница, перо и чернила. Затем вы выходили на местность и выбирали функцию «зарисовать карту». В итоге один из квадратиков появлялся на пергаменте в виде кусочка карты. Вы сравнивали его с тем, что видели вокруг, определяли границы зарисованного, двигались на юг, на север, на восток или на запад, выходили за границу уже зарисованного, и повторяли действие. В итоге появлялся еще один квадратик по соседству. Или не появлялся, если вы промахивались и оставались в уже зарисованном квадрате. Тогда вы просто тратили чернила, расходовали ресурс пера и, чертыхаясь, двигались за границу уже обозначенного на карте. Для всего этого вам нужно было много бродить, изучать местность, видеть все ее детали. И это было прекрасное, медитативное, познавательное занятие, за которым я провел множество дней.
Постепенно паззл собирался, и вы видели окружающие территории по-новому. У вас была возможность скопировать карту и передать, подарить, продать ее другим. У вас была возможность собрать законченные базовые карты в большую региональную карту. И снова увидеть картину по-новому, в другом масштабе.
Но вот беда – клиент кэшировал у себя миникарты, отображающиеся у игрока. Пользовательские клиенты быстро научились их складировать и правильно размечать для последующей склейки. Дальше подоспели специальные программы. Мы и сами сегодня используем эти возможности для того, чтобы собрать собственную карту в интерфейсе googlemaps, но, клянусь, это не дает даже десятой доли тех эмоций, которые давала оригинальная механика. Исчез процесс не только подготовки необходимых для картографии материалов, но и осмысленного изучения пространства. Сегодня, когда Hardsun задает вопрос о перспективах картографии в Haven and Hearth, jorb отвечает:
Ну, я даже не знаю. Многие люди просят картографию, но это выглядит настолько бессмысленным…
Все это я рассказываю не для того, чтобы вы почувствовали, насколько зеленее была раньше трава (она не была зеленее, поверьте), а для того, чтобы вы подумали о том, что есть у вас сегодня. Возможно, завтра вы это можете потерять. Поэтому очень вас прошу – подумайте, что из функций пользовательских клиентов для вас лично обеспечивает удобство, а что мешает получить от игры эмоции, превращая ваш экран в набор циферок, стрелочек, автоматизированных звоночков о приближении игрока и прочих разрушителей игры. Я ни на чем не настаиваю. Все это субъективно. Я понимаю. Но только очень прошу — отправляйтесь в форумный раздел The Wizards' Tower, где публикуют пользовательские клиенты, с пониманием того, что при помощи галочек в настройках вы дирижируете собственными впечатлениями от игры.
Я не готов советовать вам использовать базовый клиент, потому что считаю многие интерфейсные решения пользовательских клиентов настолько удобными, что игра без них многое потеряет, может превратиться в раздражающую рутину или содержать слишком много неочевидных моментов.
Приведу всего один пример незначительного улучшения: индикатор прогресса в виде песочных часов. На мой взгляд, это очень несовершенная штука, лишенная множества полутонов. Так как интерфейс отвечает за визуализацию того, что вы физически не можете ощутить, его наглядность для нас очень важна. Именно поэтому числовые значения передают куда больше информации, чем небольшая динамическая иконка, в которой песок из одной секции пересыпается в другую. Сыпется ли песок быстрее? Может, вам просто показалось? Но для этого нужно сравнить с предыдущим темпом. А вернуться к той ситуации возможности нет. И вот вы занимаетесь добычей руды в условиях существования невидимых карт прочности породы. Одни и та же порода может добываться с разной скоростью, но изменения эти очень плавные. Мы неплохо воспринимаем контрастные вещи, но постепенные изменения заметить куда сложнее. Будь это настоящая порода, вы бы ощутили изменение ее свойств, а по сравнительно небольшим песочным часам это сделать крайне сложно. И вот простое появление в песочных часах числового индикатора сразу существенно добавляет наглядности – меняются диапазоны.
Возможно, кто-то сейчас меня разгромит в пух и прах за то, что я призывал чуть ранее отключать числа, а теперь их расхваливаю, но для меня лично эта часть относится к чистому и ненавязчивому интерфейсу. Тогда как, к примеру, включение индикаторов прочности предметов превращает для меня экран в кашу, разрушает атмосферу, и эту галочку я почти сразу отключил. Но если у вас есть сомнения в стопроцентной прочности предмета или сооружения, всегда можно на секунду активировать эту функцию. Что тоже удобно.
И я перехожу к самым вредным советам – какой пользовательский клиент использовать. Вы же понимаете, что я порекомендую вам сейчас не самым популярный, правда? Не потому что мне нужно держать марку, заданную в заголовке. И не потому что EnderWiggin , автор моего любимого клиента, оказался ММОзговедом. Мы использовали его клиент еще в далекие годы, когда и ММОзговеда-то не было. А все почему? Потому что этот клиент самый аккуратный, стильный и удобный. Не верите? Тогда дождитесь следующей части руководства, в которой я буду рассматривать азы интерфейса игры, с учетом возможностей Ender-клиента.
Постскриптум: К руководству это не относится, и я очень тепло отношусь к EnderWiggin, но все же мечтаю о том дне, когда пользовательские клиенты к Haven and Hearth если не исчезнут, то хотя бы будут проходить обязательную сертификацию у разработчиков на предмет того, что можно, а чего нельзя в них добавлять.
23 комментария
В вопросе отображения тьмы, а также, например, персонажей в режиме невидимости, меня всегда интересовало, что именно мешает просто не передавать клиенту данные о том, чего он видеть не может.
А если важные вещи оставлять на расчет клиенту, придется его защищать от подкрутки. Ставить системы защиты максимального уровня. А вот иметь сторонние программы, запускающиеся только от администратора, не хочу и не люблю лично я.
Зачем проверять? Источник накладывает АоЕ-эффект освещенности, игрокам отсылаются как заспавнившиеся только освещенные.
В общем, однажды придется (говорю об игрострое вообще). Просто кто-то сделает это раньше, а кто-то позже.
В этом и проблема. Как только предмет попадает в поле зрения, серверу надо проверить есть ли источник света в радиусе. Для этого надо перебрать все объекты на локации и проверить дают ли они свет и доходит ли он до предмета. При этом если источник света пропал (костер догорел, факел спрятали) — надо перепроверить не должен ли пропасть какой-то предмет рядом.
Еще раз, я предлагаю обратный порядок: источник света накладывает вокруг себя на объекты эффект (бафф, если хотите) освещенности. АоЕ-ауры в играх встречаются нередко. Про попадании в поле зрения просто проверяется значение освещенности. Что еще? Можно ограничить расчет источников, во-первых, попадающими в радиус базовой дальности обзора, т.е. теми, на которые приходит запрос отрисовки, а во-вторых, не просчитывать те, на которые падает прямой солнечный свет (предполагая, что от этой точки само солнце в любом случае ярче освещает). Можно задуматься, до какой частоты допустимо снижение «тиков» источников — опять же, во избежание злоупотреблений, не более ГКД включения-выключения персонального источника.
Ну и добавлю, что по моим субъективным ощущениям этот человек и так ненавидит заниматься клиентом как таковым, и отдает предпочтение серверу. Что наверное не удивительно.
Я вижу дилемму иначе. Первый шаг: специальные клиенты, заточенные на максимальное срезание углов и автоматизацию, используются, прежде всего, в решении конфликтов силовыми методами. Второй шаг: жертвы, втянутые в это противостояние, вынуждены выбирать между тем, использовать им аналогичные методы или проиграть. Проиграть в этой игре означает лишиться всего. Третий шаг: часть людей начинает использовать такие клиенты в качестве упреждающей меры. Четвертый шаг: использование клиентов, разрушающих атмосферу, игнорирующих геймплейные задумки авторов, становится чуть ли не стандартом де-факто. Пятый шаг: Через клиент разрушена и сама игра, и ее атмосфера, превратившись в загончик для ганкеров, потому что все остальные неэффективны по умолчанию.
Если разработчики хотят снова пустить все это на самотек, то вынужден буду признать, что печальный опыт Салема ими не усвоен.
Почему? Просто процитирую loftar'a:
И я бы предпочел чтобы они занимались этим, а не изобретением серебряной пули от специальных клиентов.
Ну и, как мне кажется, скорее надо как-то исправлять механики, которые эксплуатируются в таких клиентах.
Например, возможно, что на данный момент самое большое зло в кастомных клиентах — это фича «autostudy», которая дает слишком большое преимущество, чтобы ей не пользоваться. Преимущество это вызвано недостатком в «геймплейной задумке авторов», когда невозможно, не играя активно, сменить слишком быстро изучаемый курьез. И не думаю, что запрет клиентов как-то сделал бы это преимущество меньшим для «ганкеров», способных играть 24/7, в отличие от нормальных игроков. Зато теперь можно ткнуть разработчиков в эту «фичу» с большим шансом на то, что это будет замечено и исправлено.
А почему сервер не может проверять наличие сертификата и отказывать в подключении, если его нет?
Я вот ни разу не специалист в этом вопросе, но ведь как-то контроль целостности клиента осуществляется в других ММО.
Проблема в том, что у Seatribe нет возможности (да и желания) усложнить модификации клиента настолько, чтобы их было не выгодно делать. Но есть возможность усложнить так, что публичные клиенты пропадут, а приватные останутся.
Я считаю, что лучше пусть будут публичные клиенты, чем полный их уход в тень, так как публичные клиенты дают шанс простым игрокам, которые не состоят в группе у которой есть свой «колдун».
Многие интересные решения в геймдизайне HnH были сделаны именно благодаря развитию пользовательских клиентов.
кхм, на правах игрового старожила, разрешите вмешаться в обсуждение
На мой взгляд проблема с клиентами связана в первую очередь с функционалом игры.
Да, безусловно, атмосферность игры когда ты только что родившийся нубик в темном лесу дрожащими руками зажигаешь факел и пытаешься понять куда же ты попал зашкаливала. Да, безусловно, выскочивший из-за ближайшего дерева медведь (а заметить его задницу торчащую из-за елки было делом проблематичным даже и для опытного игрока) добавляла дикого адреналина и неописуемо распаляла ненависть к медведям, елкам, разработчикам и неведомо кому еще. Конечно смастерить заветный шахтерский шлем, воткнуть в него свечку и напевая down and down into the deep с киркой на перевес вгрызться в стены шахты было желанной мечтой (хотя конечно down and down появилось много позже, а изначально это было просто дальше и дальше от входа).
Но! Три факела выданные персонажу на старте игры очень скоро заканчивались, а для того чтобы сделать новый требовалась ткань. Т.е. нужно было вырастить коноплю или лен, построить ткацкий станок и в конце концов потратить 5 фибров на тряпочку, а фибры в первую очередь были нужны на столики. К тому моменту когда дефицит на фибры исчезал, простите меня, освещать нужно было уже весьма большую территорию обустроенную даже и одним игроком, не говоря уже о коллективе и освещать нужно каждую ночь коих в сутках аж три штуки. А, повторюсь, три стартовых факела заканчивались в большинстве случаев еще до постройки первого домика, не говоря уже о появлении первых семян, и никаких гарантий того что лен и конопля будут в числе первых полученных семян нет и не было.
Играть в клиенте с разрешением меньше чем 800х600 тоже не доставляло никакого удовольствия. Более того радиус на котором медведь или кабан могли напасть на персонажа был больше видимой области, т.е. напасть они могли из-за экрана, когда игрок попросту не подозревал о том что они там… смотрят на него своими голодными глазенками.
А одевать шлем вместо медвежьей накидки, жертвуя скоростью добычи руды? А затем и вообще возможностью добычи в некоторых случаях?
Первый клиент решал ровно одну задачу, делал приемлемым разрешение игры. Вторая появившаяся функция была «ночным виденьем». И практически на целый год это был единственный функционал добавленный игровыми клиентами. Было ли это оправданно? На мой взгляд — да, безусловно! Будь у клиента человеческое разрешение, будь рецепт факелов доступен для новичка, будь возможность воткнуть факел на стену дома или шахты, так называемые кастомные клиенты появились бы много и много позднее. Так, например, третья функция, X-ray — просветка деревьев и построек появилась чуть ли не в конце года третьего мира.
На этом я завершу свой комментарий, хотя простор для продолжения у меня еще имеется. Как по старым версиям игры, так и по текущей и этому можно посвятить не одну страницу текста.
Лично я считаю что автор этой статьи прав, практически во всем. Но, увы, изменения геймплея вызванные функциями модифицированных клиентов происходят вовсе не из-за наличия этих самых модификаций.