Последние обновления и новинки библиотеки – на главной странице, а все обновления – в Дайджесте
|
В марте 2022 года, к 20-летию Бойцовского Клуба, Ангел Благодать опубликовал на форуме ряд баек.
Байка 1. Легкое дуновение ветерка приключений
Нежные лучи восходящего тайского солнца прогоняют утреннюю дрёму. Крепкий кофе, свежая выпечка, прохладный душ - всё это совершенно необходимо, чтобы полностью очнуться от неги. Окна виллы выходят на небольшую бухту. Судя по качающимся пальмам, сегодня будет отличная погода для серфинга. Но это потом, а сейчас работа.
Спускаюсь в гараж. Вчера я ездил на Корвете, сегодня, пожалуй, возьму Мустанг. Ехать недалеко, пара кварталов, и передо мной вырастает небоскрёб, верхние этажи которого занимает офис нашей компании. Некоторые коллеги купили себе апартаменты поблизости, но я верен себе - работу и дом нужно разделять. Плюс мне нравится под гулкий рык мотора, собираться с мыслями и прикидывать, чем я займусь в первую очередь. Лифт из стекла и металла бесшумно поднимает меня в небо. На входе в личный офис меня уже ждёт Тамара - выдающихся талантов девушка, одинаково хорошо делающая коктейли и отчёты. Вот и сейчас в одной руке у неё мой любимый Дайкири, а в другой - сводка новостей проекта. Благосклонно кивнув, принимаю подношения и иду в личный кабинет. Конечно, распечатки архаичны, а вся необходимая информация выводится в режиме реального времени на десяток мониторов, но мне нравится шелест бумаги и прилежность, с которой Тамара каждое утро делает отчёт. За долгие годы это превратилось в настоящий ритуал. Потягивая коктейль, смотрю данные. Что у нас сегодня? Хм, количество боёв выросло, баланс проигрышей в битвах с танками в норме, индекс цитируемости ангельских ответов на форуме в пределах допустимого. Активность срачей в чате повысилась на 12,5% - надо бы увеличить поголовье модераторов. Где-то за окном слышится стрёкот лопастей вертолёта. Значит через 10 минут ждать начальство. Снова будем обсуждать ввод зАмков и ежедневные фиксы магов. Под алкоголь и покер собрание рискует затянуться до вечера, поэтому спешно начинаю выдавать указания подчинённым, чтобы те не сбежали на пляж раньше обеда. Визг тревожного уведомления, словно бритвой по стеклу. Над финансовым монитором загорается красная лампочка. Значит один из пользователей нашего проекта больше трёх часов не тратил екры. Это ЧП, которое нужно исправлять, и срочно... Похоже начальству, сёрфингу и даже Тамаре придётся подождать... Именно так, скорее всего, большинство игроков представляет себе мой рабочий день. Всё здесь выдумка, исключая лишь кофе и твёрдое убеждение о перерыве между работой и домом. Добираюсь по утрам до ничем не примечательного офисного центра на окраине. Ехать приходится на общественном транспорте, а вместо Дайкири пить обычный чай с молоком. От соседних помещений с юристами, рекламщиками и продажниками, наше отличается только артом на стенах да более частыми матерными выкриками (попробуй сдержать эмоции, когда в админке из-за сбоя сервера сбрасывается почти готовый данж). Но соседи, вроде, уже привыкли. И до сих пор не понимают, чем там занимаются эти странные айтишники. Мой день? Он очень далёк от ваших идеализированных представлений о буднях богов и ангелов. Трудности перемежаются с рутиной, придумывание новых механик с археологическими исследованиями древнего кода. Границы профессий размыты, и чтобы работать в таком проекте, ты должен быть и геймдизайнером, и программистом, и художником, и даже немного писателем. А если к тому же умеешь жонглировать горящими бензопилами, то вообще замечательно, значит достаточно стрессоустойчив, чтобы влиться в коллектив! Но знаете что? Я не променяю работу в этом проекте ни на какую другую! Мне есть с чем сравнивать, довелось поработать над игрой для социальной сети. Ну, знаете, там, где Agile, pipeline, Big, мать его Data, маркетинговые исследования аудитории. Несмотря на четкие задачи и потоковую разработку, я понял, что это совершенно не моё - делать, как у больших ребят, чтобы не проиграть битву за пользователей. Шаг в сторону от уже проверенных рецептов - огромные риски, расстрельная статья. Единственное, где можно проявить фантазию - имена персонажей и их внешний вид. Да и то А вы учли объективацию женщин? Уверены, что наша аудитория оценит настолько большие молочные железы? И назовите Самантой, проект-конкурент ввёл NPC с таким именем, платежи возросли на 0,3%!. Дисциплина как на военном корабле - каждый в команде, от матроса до капитана, имеет чётко обозначенный круг обязанностей, маршрутный лист расписан на годы вперёд и может поменяться, только если на пути возникнет айсберг. БК же настоящая пиратская шхуна. Летучий голландец, много лет блуждающий по просторам интернета. Маршрут определяется ветром, желанием команды (эй, у нас здесь авторитарная демократия!) и выкриками пассажиров. Около десятка матросов во главе с лихим капитаном, который, если нужно, не чурается даже подраить палубу - вот и весь коллектив старейшего парусного судна в водах отечественного геймдева. Каждый из нас настолько сроднился с проектом, что стал живым воплощением девиза Часть команды часть корабля. Да, вокруг нас курсируют атомоходы, в ядерных топках которых сжигаются миллионы долларов. Авианосцы огромных проектов насмерть сражаются за каждого пользователя. Крохотные катера независимых студий стараются отожраться на офисном планктоне до размеров эсминца. Океан современного геймдева совершенно не похож на времена, когда шхуна БК только сошла со стапелей. Но вопреки прогнозам скептиков и здравому смыслу она всё ещё на плаву. Более того, не сбавляет ход и продолжает наращивать парусность, пока иные, более современные лайнеры, идут ко дну. А ведь всё что у нас есть сплочённая аудитория, преданная и терпеливая. Вместе с каждым из вас мы прошли огонь, воду и медные трубы. Брали на абордаж вражеские корабли и вычерпывали воду из трюма. Пережили не один десятибальный шторм. Всё это оставило след в наших сердцах. Одни пассажиры уже сошли на берег, но до сих пор вспоминают странное путешествие, травят о нём байки. А кто-то так и не смог променять пиратскую романтику на спокойную жизнь, и до сих пор с нами - значит пора поднимать весёлого Роджера! Свистать всех наверх! Благодаря духу авантюризма и чуйке старых мореходов, мы совершенно свободны в выборе идей, направлений и механик для ивентов. Очень часто задумки работают не так, как было запланировано изначально. Иногда это создаёт проблемы, но бывает и ровно наоборот, когда случайная ошибка или древний баг в коде делают из проходного квеста настоящий шедевр. Эх, если бы вы знали, сколько подобных случаев я наблюдал за годы моей работы, какие водовороты рандома избегали наши пользователи, как приходили в голову создателям те или иные механики... стоп, почему если бы? Юбилей в два десятилетия - отличный повод немного приоткрыть завесу тайны над разработкой БК. А чтобы окончательно всё запутать, сразу предупрежу - половина информации ниже истинна, половина - полуправда, а ещё 50% - чистый вымысел. Почему в результате получается 150%? Ну, это же БК! Привыкайте, здесь всё по-странному. Байка 2. Первое задание
Как я сюда попал? Если честно, довольно тривиально. Решив однажды в корне поменять род своей деятельности, я наткнулся на сайт с вакансиями в игровой сфере. Среди множества объявлений нашёл интересный вариант, выполнил предлагаемое тестовое задание - и вот я уже сижу на собеседовании. Мне объяснили, что сейчас проект находится на пике ("эх, жаль тебя не было в начале года, мы тут такую тусовку замутили, вот, посмотри фотки!"), поэтому расширяется штат. Уже наняли несколько программистов и даже художников. Полный комплект. А вот с отделом ГД прям беда. Пока геймдизайнеров трое, а нужно вдвое больше. Каждому "бывалому" по одному ученику. Нужно спешно ковать контент: аудитория нуждается в данжах, предметах, NPC, ивентах и диалогах! Всё понятно?
Это было странное собеседования. Вместо "почему вы выбрали нашу компанию" и "кем вы видите себя через пять лет", мы обсуждали вселенную Warhammer 40k и баланс Ultima. Я честно признался в своём небогатом опыте в БК, полагая, что на этом собеседование и закончится, но вместо этого начался разбор моего тестового. Как вы уже догадались, меня взяли. Не успел опомнится от собеседования, и вот я уже сижу с первой задачей, которая позже станет крещением для всех новичков - "найдите всё то, что вам в БК кажется неправильным, опишите всё это на бумаге, сверните в трубочку и...". Что примечательно, на всех этих бумажках встречаются примерно одинаковые вещи - запутанный интерфейс, перекрёстные ссылки, странные иконки, непонятный старт, старые описания, дизайн вразнобой. ТрадицииТрадиции никогда не меняются. Кстати, вместе со мной стажировку проходил ещё один человек. Он получил такое же задание - проанализировать проект, выявить его сильные и слабые стороны. Но этот падаван творчески переосмыслил подход к выполнении - скачал программу в стиле "Взломщик БК на деньги" и заразил часть общей сети офиса вирусом. Все попытки новичка оправдать своё поведение "максимальным вживанием в роль игрока" и "расширенным мета-опытом" не снискали успеха. Больше мы его не видели. Три дня - пока самая короткая стажировка на моей памяти. А моя история здесь только началась. Программистам поставили задачу: для ускорения знакомства с проектом выдать жетоны Луки новым геймдизайнерам. Мол, они потом пойдут в каналку, купят там себе хорошей экипировки и как начнут знакомиться! Быстренько прокачаются на пару уровней, без необходимости каждый день спускаться в подземелье и выбивать там эти гайки-болты. Задача была сформулирована буквально: сыпаните, сколько не жалко! Программисты у нас оказались щедрые, поэтому с барского плеча выдали мне девятьсот девяносто девять тысяч девятьсот девяносто девять жетонов. Да, просто зажали клавишу 9 и через пару секунд отпустили. С запасом, чтобы потом не отвлекаться на повторную выдачу. Правда они не учли один небольшой нюанс - каждый жетон тогда имел массу в 1, а "накоплений" ещё не было даже в проекте. Как вы уже догадались, передвигаться с таким перегрузом было просто невозможно. И выбросить жетоны я тоже не мог, банально потому, что обалдевший от такого количества предметов инвентарь открывался около получаса. И потом столько же подгружался после каждого удаления очередной пачки. Персонажа пришлось удалить из базы, он буквально погиб под грузом жетонов. Мне завели нового, без врожденного бремени. Когда он достиг 11-го уровня, стажировку пришлось свернуть. Пришла пора боевых заданий. И первым из них стало максимально ответственная миссия - пройти на тестовом сервере (мы называем его Китеж) новый данж. То была Гора Легиона. Первый этаж Как послушный стажёр, я пошёл выполнять задание. Убивать монстров, проверять квесты, собирать мусор и внимательно читать диалоги. Все до одного, с разными вариантами ответов и попытками выяснить, как же работает этот треклятый зомби-математик. Общий настрой проекта я окончательно осознал в тот момент, когда на мой тактичный вопрос: "слушайте, я там какой-то гадостью от жены Каркаша заразился" в ответ раздался громкий смех. Хм, культурные отсылки и утонченное чувство юмора здесь в почёте. Я попал в хорошую компанию, похоже, мы сработаемся! Байка 3. Тайны что хранит Рогач
Первый данж, который я выпустил - Грибница. Третий этаж. Большая ответственность, мои осторожные попытки общения с местными админками, не то чтобы недружелюбными, скорее очень разборчивыми в друзьях. Попытки разобраться во внутренних механизмах, и как оно будет выглядеть для игрока. Вдумчивый выбор стратегии разработки и панический страх ошибки Естественно, я грубо нарушил все законы геймдизайна, которые позднее для себя выстроил. Начиная с практически линейной истории данжа, и заканчивая подходом к наградам для самых активных пользователей.
Хм, вот у меня есть развилка в сюжете, что там можно давать за её прохождение? Это серьёзная дилемма в нынешних реалиях, а тогда всё было просто: на одной ветке пики точеные, в смысле, будет даваться здоровье, а на другой - параметры. Да, недели тестов первого этажа Горы Легиона не прошли для меня даром. Сюжет был под стать, разные NPC со своими историями. Но куда более важно то, что и этот данж достался мне в качестве наследия. БК - это вообще целиком о наследии. Один из старших геймдизов, работавший тогда над третьим этажом Грибницы, был вынужден отвлечься от работы по состоянию здоровья. Народ же ожидал развития душераздирающей истории хлюпов и грибковой моли. Поэтому мне предложили закончить начатое. Хотя слово "закончить" здесь не совсем уместно. Даже слово "продолжить" было некоторой натяжкой Передача наследства происходила следующим образом вот монстры, которых нарисовал наш художник, э-э-эм... ну, вот и всё. Давай, твори. Что? Да, это будет продолжением первых двух этажей. История на этом этаже? Ааа, точно... сюжет. Гм ну, допустим там проходил странный старик, и по дороге он даровал разум всем обитателям подземелья. Да, а этим старцем был... нет, не Альберт Эйнштейн (до рождения мема ещё примерно пара лет), его звали Ву-Цен. На этом моменте креатив "старшего" иссяк, пришла моя очередь что-то придумывать. Если честно, идея с Ву-Ценом мне не особо нравилась. Сильнее всего меня терзал вопрос, как этот старец пробился через всех монстров, и главное - зачем он забрался в глубины и там засел? Место, мягко сказать, далёкое от курорта. Но сначала надо было создать из разрозненных картинок полноценных монстров. Вот и рождались в моём воспалённом разуме странные Когтецы, Трутни и прочие Глашатаи. Если присмотреться и напрячь зрение, можно заметить, что боты и NPC в этом подземелье немного... разнятся по стилю исполнения. Противников рисовал художник, уже набивший руку на проекте. А диалоговых NPC создавал новый автор специально по моему заказу. Техническое задание я формулировал как мог: "слушай, у меня тут в подземелье умные членистоногие. Их надо нарисовать, вот я принёс разных референсов из энциклопедии насекомых. Представь, что вот эти жуки и сороконожки стали разумными." Творец почесал в затылке, что-то пробурчал по поводу злоупотребления грибами, но задачу принял. И нарисовал. Для него это был первый опыт работы в БК и общения с ГД. Для меня это был первый опыт работы в БК и общения с художниками. Именно поэтому обитатели третьего этажа получились такими... своеобразными. Ладно, будем говорить откровенно странными. Шизожук в цилиндре? Хищнец, у которого голова внизу, а тело непонятно где? Тогда это казалось отличной идеей, ведь голова ниже пояса, а модный цилиндр всегда считались признаком разума. Первый же запуск подземелья показал всю глубину моего планирования. Помните Трутня? Того самого, который призывает в бой монстров? С моей лёгкой руки Трутень вызывал себе в подмогу Трутней, которые вызывали Трутней, которые вызывали Трутней, которые ну, вы поняли. Пользователи не знали, как на это реагировать. С одной стороны - халявная экспа и возможность за один вход в данж довольно шустро закрыть лимит этажа полностью. С другой стороны - не каждый энтузиаст подземелий сможет просидеть несколько часов в одном бою, убивая орды трутней. Спасло меня только то, что этот, простите за каламбур, баг вылез в буднюю ночь, когда игроки ещё только начинали бороздить новый данж. Зависло тогда в боях, если мне не изменяет память, около десятка человек. Но вспоминали мне это довольно долго. Или вот Рогач. Мне требовалось создать неубиваемого моба, выкрутив до упора его параметры, я посчитал свою миссию выполненной. Однако, я тогда ещё слишком плохо знал игроков в БК, которые восприняли существование подобного противника как вызов. Кроме того, всем было интересно, какова будет награда за его убийство. Рогачу была объявлена настоящая война. И благодаря особо удачным сборкам находились те, кто умудрялся побеждать заведомо непобедимого врага! Что же ждало героев в награду? Разочарование. Рогач просто исчезал с карты, оставляя после себя издевательский грибочек - результат копи-пасты с другого монстра. Ожидавшие получить за его уничтожение как минимум чек на 1000 кредитов игроки были готовы к физической расправе над человеком, который это придумал. По счастью, меня невозможно было найти в том данже. Проверив десяток раз эту гипотезу и убедившись, что Рогач не обладает свободными средствами и ценным лутом (грибочек я убрал, кажется, после третьего убийства), игроки успокоились. Кстати, приём "Отдача" работал... тоже не совсем так, как задумано. Я хотел, чтобы он наносил урон тому, кто атаковал Рогача. Но я по неопытности напутал с целеуказаниями, и в результате Рогач бил сам себя. Когда я увидел это, пользователи уже считали, что это его нормальное поведение. Ну, должна же быть у крутого бота своя изюминка? Приём, помогающий игрокам в нелёгком бою, как раз стал ею. А кто я такой, чтобы лишать настолько харизматичного монстра случайной самобытной чёрточки? У меня рука не поднялась. Так и остался он с тягой к самобичеванию, полученной чисто благодаря ошибке. Байка 4. Знаки Бездны
Каждый игрок, который собирал в Бездне молот и потом открывал с помощью этого инструмента портал, хотя бы раз наталкивался в диалоге на фразу "И этот день явно не сегодня". Возникает логичный вопрос - а когда? Подозреваю, что кое-кто уже давно раскусил эту закономерность. Если вы не из их числа, я расскажу отличную историю о том, как проблемы с планированием порождают новые механики.
В жизненном цикле любого подземелья наступает момент, когда его конфигурацию пора менять. Как-то улучшить, добавить новые этажи, сюжетные линии. И вот пришёл черёд Бездны. Игрокам хотелось получить новый круг рыцарства, пройти свежие испытания, убивать монстров и, естественно, собирать неношеный лут. Вот тогда-то и появились Шпион и знаменитая фитоняша Гемайя*, а в дроп ботам завезли так любимые игроками листки книги. -- *Слушай, художник, а нарисуй мне такую женщину-викинга. Что-то вроде валькирии. Она будет охранять заповедник. Всё понятно? Ну ладно. Жду. Что? Уже готово? Так, и ты хочешь сказать, что я вот это просил? Ну... эм... ОК -- Но главное новшеством в этом данже должен был стать четвёртый этаж. Именно на него пришлась львиная доля работы. На форуме уже слишком активно требовали контент, поэтому было решено вводить данж... ну, чуть-чуть, капельку, самую малость недоработанным. Единственная причина по которой мы пошли на этот шаг - уверенность, что игроки не успеют до него дойти. Рассуждения наши были вполне логичны - чтобы открыть проход на этаж, пользователям необходимо некоторое время, так? Изучение новых заданий, сбор лута займёт... ну, дней шесть. На всякий случай возьмём четыре. Этого точно хватит для реализации задуманного. В общем, обнову выкатили, игроки рванули проверять, что там появилось в данже интересного. Строили теории насчёт странных страничек, общались со Шпионом. Разработчики и обновнятели Бездны внимательно следили за процессом освоения нового контента и попутно спешно допиливали четвёртый этаж, тестировали монстров, меняли им параметры. Буквально на следующий день выяснилось, что в нашем проекте есть реальные фанаты и энтузиасты копания пещер. Эти люди с упорством экскаваторов роют пещеру практически без остановки. К вечеру второго дня (!) они уже собрали все нужные для открытия портала детали.Один из игроков, назовём его Трирода, настолько активно носился по подземелью, что ему оставалось буквально пара походов. Вот уже завтра он зайдёт в новую часть подземелья, чтобы узнать его тайны и поведать их всему форуму. А у нас паника-паника: монстры ещё не накрашены для встречи. Нужно что-то делать, чтобы максимально оттянуть знакомство пользователей с незаконченным этажом. Решение оказалось простым - срочно требуется новая механика по открытию портала! Необходимо добавить ещё какой-то важный ингредиент, но сделать это так, чтобы первооткрыватели не взвыли. Невидимый и непостижимый. Сейчас в инфе персонажа уже нет этого параметра, а раньше он был знак зодиака. И вот в диалоге появляется проверка, что именно от дня рождения персонажа зависит успех или провал открытия портала. Все 12 знаков зодиака разделили по группам, каждой из них присвоили свои пару дней в неделю, когда персонаж мог открыть проход на четвёртый этаж. Чтобы игроки не запутались, другой NPC мог рассказать им - какие дни для них благоприятны и когда надо зайти в подземелье. Естественно, для знака зодиака, который был у Трироды, выбрали максимально отдалённые от текущей даты дни недели. Поэтому, когда Трирода пришёл к наковальне с готовым предметом и жаждой новизны, то обнаружил, что "И этот день явно не сегодня". Портал не открылся. Всё, что ему оставалось - просто подождать. А в это время я, с короткими перерывами на сон, спешно балансировал монстров. Шалость удалась - игроки, кажется, ничего не узнали. Так, стоп... Байка 5. Рождения и приключения Горы
Гора Легиона - прОклятая жемчужина, что покоится в на дне трюма нашего Летучего Голландца. Самое сюжетоориентированное подземелье. Разветвленная система принятия решений. Множество NPC. Путешествия во времени. Целых 12 этажей (а не шесть, как думает обычный игрок). Несколько репутаций и фракций, возможность перепрохождения. Если бы вы видели, как шла разработка этого подземелья! Вещи, которые вы, простые смертные, не сможете себе даже представить. Огромные листы ватмана разложены на составленных рядом столах. Сюжетные схемы, которые перекраивались десятки раз. Линейки длиной в полтора метра, цветные карандаши. Все эти моменты затеряются во времени, как слёзы в дожде... Удивительно, что обошлось без аппликаций, ниток и акварелей. Придя утром на работу, я обнаруживал доверху забитую очередными отвергнутыми вариантами мусорку, и лежащий на столах новый, белоснежный лист ватмана. Все взаимоотношения между временными линиями и квестами, все метания персонажей и потенциальные страдания игроков находили здесь отражение. Кажется, там были даже попытки ввести парадоксы из разряда: как заставить убийцу NPC изменить квест, как будто бы этого не случалось? В общем - титанический и эпический труд вылившийся в квадратные метры бумаг.
Еще в этом подземелье была попытка повторить меметичное событие из "WoW" - Чуму порченной крови (просто спросите Гугл). Для этого в Каналке поселили Полнолунного Рвуна, который заражал ликантропией всех, кто на него нападал. А те, в свою очередь, разносили инфекцию среди прочих пользователей. Очень скоро БК наводнили оборотни, которые активно атаковали своих соратников в бою. Вначале это казалось забавным и оригинальным. Но когда в дело вступила математика, а ГД вместе с программистами посмотрели статистику, выяснилось, что через пару дней Бойцовский Клуб можно будет переименовывать в Клуб Оборотней. Пользователи тоже начали грустить и рыдать, бои зараженных становились слишком непредсказуемыми, удара в спину мог ожидать любой. Поэтому вмешались ангелы и просто отключили первоисточнику возможность инфицировать, а уже заболевших исцеляли буквально локациями. Кстати, специально для ГЛ в проекте были создано множество технических инноваций. Например, возможность переодеваться и менять образ, воровать с помощью диалогов у NPC, построить собственный бордель и управлять им... а, нет, последняя задумка все-таки в релиз не пошла. Отнюдь не из-за избытка нравственности. Просто время уже поджимало, ввести полноценный симулятор публичного дома не успели. Хотя в некоторых диалогах до сих пор можно встретить упоминание об этом. С тех самых пор каждый новый программист в нашем проекте рано или поздно задаётся вопросом: "а что такое за ГЛ такая?". Иногда ему везёт, и кто-то из старой гвардии, пребывая в благодушном настроении, рассказывает неофиту о великом данже. Почему чаще всего этот вопрос задает именно программисты? При разработке этого данжа требовалось масса изменений в механиках, поэтому в самых неожиданных местах программного кода раскиданы комментарии в стиле: "только для ГЛ", "гребанное ГЛ", "исключение для ГЛ", "попросили, чтобы использовать в ГЛ". Почему Гора Легиона была жемчужиной проекта, мы разобрались. Но что же было в ней прОклятого? Масса запутанных сюжетов, километры диалогов, тонны исключений, что в народе зовут костылями. И всё это без какой-либо сопроводительной документации. Творилось все буквально на вдохновении, полностью переделывалось несколько раз, ошибки правили по мере их выявления. Потом вводили что-то новое, старые вещи убирали или, чаще, выключали. Внутри данж всё больше напоминал слоёный пирог, что готовило несколько поколений поваров, не все из которых были людьми. Попытки разобраться во всем этом хитросплетении мыслей могли свести неподготовленного человека с ума. Приоткрою завесу тайны над механиками ГЛ. Когда вы двигаетесь по диалогу, в некоторых блоках на вас могут повесить невидимую метку (бафф, заклинание, эффект называйте как угодно), которая не даёт ни бонусов, ни пенальти. Она нужна лишь для проверок в других диалогах - доказательство, что вы прошли предыдущий. То есть, поговорил с NPC, а другой персонаж, в своем диалоге понял, что разговор с первым состоялся. Так вот, диалоги Горы Легиона - настоящий рассадник подобных меток. По количеству оных Гора уделывает все остальные данжи как племенной бык морскую свинку. Потягаться с ГЛ в этом отношении могут, пожалуй, только ангельские задания. Присовокупите сюда баги с квестами и предметами, и вы поймёте, почему любое обращение в саппорт на тему: "Помогите, со мной Эммисар почему-то не разговаривает!" превращается во взрыв мозга. От обычных эффектов метка унаследовала такую особенность, как Длительность. Этот крохотный нюанс породил целую "проблему-694", отголоски которой до сих пор изредка прилетают в техподдержку. В чём же её суть? Игроки, которые пошли в ГЛ на момент её запуска и, потыкав в диалоги, отвлеклись на продолжительный срок (например, на армию), по возвращению обнаруживали, что некоторые NPC их буквально забыли! Склероз персонажей не был частью задумки ГД и блокировал многие квесты, поэтому пришлось перелопатить немало кода. Решение же было на поверхности. Чтобы зафиксировать метку на максимально долгий срок, ей просто ставилась предельная длительность в 999999 минут. Посмотрите на эту цифру. Почти миллион, целая прорва времени... казалось бы. Но если вспомнить школьный курс алгебры и поделить "почти миллион" на 60, то получится 16 тысяч часов. Всё ещё весьма внушительно. А сколько это дней? Уловили, да? 694 дня. Именно столько должна была висеть "вечная" метка - всего пару лет. Ох, сколько же нервных клеток нам стоило разобраться в этой проблеме, а потом восстанавливать статус-кво! Метки продолжали порождать казусы и в дальнейшем. Помните Шута Повелителя и его прием "Честная Игра"? На очередном витке ребаланса было решено добавить в этот прием снятие только появившихся на тот момент щитов. Ну тех, что урон впитывают. Для этого было достаточно добавить всего два параметра в прием - снятие эффекта и уточнение, какого именно. Один из ГД-неофитов, которому поручили отредактировать приём, умудрился добавить всего один параметр, забыв о втором. И теперь вместо щитов Шут стал снимать все "вечные" метки. Буквально за несколько часов обновленный Шут целиком уничтожил квестовую систему для сотни игроков. Выяснить, кто и когда что-то там делал, и на каком этапе находился, стало попросту невозможно. Форум разрывался от стенаний БКшников. Да уж, в те дни наша система по восстановлению игроков работала словно конвейер. Байка 6. Если тебя копируют - значит ты сделал что-то достойное
У нас своровали код. Как это случилось, я доподлинно не знаю. Технические детали мне были не особо интересны, а когда это произошло, я ещё не работал на проекте. В те далёкие времена, к сожалению, за сохранностью информации следили не так хорошо, как сейчас. И это привело к общеизвестному факту - похищение исходников проекта.
Об этом писали по всему интернету. После инцидента как грибы после дождя начали возникать проекты "только у нас, оригинальный Бойцовский Клуб - как раньше, тот самый, по которому вы скучали!" Некоторые клоны настолько не заморачивались в деталях, что напрямую тянули картинки с наших серверов. В качестве достойной мести мы заменяли все неиспользуемые у нас картинки на те, которые в приличном месте стесняются показывать. Это возымело эффект - пара "Настоящих" Бойцовских клубов после этого перенесла хранилище образов к себе на сервера. Так вот... код. Кажется, до сих пор на различных развалах можно найти исходники нашего проекта. Большая часть из них уже давно утратила актуальность, ведь с тех пор код продолжал модернизироваться и эволюционировать во всё более странное явление с собственным интеллектом, характером и непознаваемой логикой. Но одна характерная черта у нашего кода оставалась неизменной, а именно его специфическая архитектура. Очень неочевидные названия переменных. Модули, которые зачастую дублируют функционал друг друга, разбросанные по коду загадочные комментарии вроде: "пожалуйста, не пытайтесь в это лезть, и тем более понять, иначе вам понадобится новый мозг!"... и прочие радости жизни проекта с обширным legacy. Любое вмешательство в механики могло привести к непредсказуемым последствиям. Прямо как в том анекдоте, в котором Ржевский в следующей главе Войны и Мира облокачивается о столб, которого уже нет. Вернёмся к нашей истории. Однажды одному из ангелов в проекте написал не слишком высокоуровневый игрок, представившийся крутым программистом. Он с порога начал расписывать свои достижения: работал в Microsoft, имел дело с высоконагруженными проектами, мастерски кодит на Perl, Си шарп и Эсперанто. А ещё играет в БК и хочет сделать для нас мега-супер-приложение, от которого у всех просто сорвёт крышу! Игра не будет требовать даже подключение к интернету, там будет трёхмерная графика, поддержка всех возможных новых технологий. Продолжал он долго. Но скоро поток бахвальства начал прерываться робкими вопросами: а как это работает? Отчего здесь у вас так, а не иначе? А почему мастерство владения мечей называется "axe_mastery", а владение топоров "knife_mastery"? В чём разница переменных "klan_name" и "clan_name"? Может быть, k это для члена клана, а c это для всего клана? Нет? Но ведь, если судить по контексту, это именно так... Вопросы становились всё назойливее и страннее, а придумывать смешные ответы на них нам начало надоедать. С первой же фразы новоявленного эксперта мы поняли его истинные мотивы. Никакого "мега-супер-приложения" мы не получим. Просто очередной скачавший исходники нашего кода мамкин хакер не смог разобраться в его архитектуре. Не обладая талантами в программировании и анализе, он решил взять наглостью и обратился напрямую к разработчику за объяснениями особо сложных вещей. Это было даже в какой-то степени мило. Наверное, что-то подобное чувствовал да Винчи, когда к нему подсылали шпионов художники-соперники. После этого наши программисты на любую обнаруженную ошибку говорили, что это сделано исключительно на благо безопасности. Мол, представляете, скольких мы горе-взломщиков отвадим этим запутанным нововведением! Однако подход не прижился, уже очень давно мы стараемся не увеличивать количество хаоса в проекте, а держать его под контролем. В какой-то момент мы решили придерживаться принципа бритвы Оккама и стараться не плодить лишние сущности. Поэтому каждый раз перед тем, как ввести новую механику, мы опускаемся в бездны древнего кода чтобы проверить, не была ли она реализована кем-то из предшественников. Нередко оказывается, что подобный функционал уже существует, просто мы о нём забыли. Или не знали. Зато вот теперь это пригодилось. Спасибо, программисты прошлого! А что насчёт того парня? Судя по всему, даже несмотря на наши подсказки он так и не смог создать нормальный проект. Вскоре он перестал выходить на связь: отчаялся или догадался, что мы его раскусили. Так или иначе, мир не увидел проект "Original Oldest True БК". Иногда я даже чувствую вину за это! Байка 7. Энтузиасты и вызов ГД
Проблема горизонта планирования остро стоит в любом бизнесе. Но в игровых мирах она занимает едва ли не главное место в оперировании проектом. В тех самых мобильно-социальных флагманах, которые я упоминал до этого, аудиторию изучают, замеряют десятки, а то и сотни самых разнообразных параметров - от проведенного в игре времени и потраченных средств, вплоть до знака зодиака. Аналитики делят игроков на когорты, формулируют психотипы, моделируют поведение пользователей, чтобы выжать максимум из каждого, будь то "кит" или крохотная рыбёшка.
Нам не нравится относится к нашему игроку, как к строчке в таблице, кучке циферок в столбцах. Поэтому у нас в проекте существует своя, выработанная с годами классификация. Её вряд ли получится использовать где-то за пределами БК, кроме того она больше базируется на опыте и чуйке Ангелов. Благодаря тому, что сообщество игроков БК сложилось и давно устаканилось, у нас индивидуальный подход к каждому игроку. Среди различных моделей поведения игроков БК можно выделить особый тип, который можно назвать... энтузиастами. Те, кто всегда впереди и раньше всех. Начинается новый квест эти люди выполнили его уже вчера и с нетерпением спрашивают, что делать дальше. По заданию нужно убить 10 монстров? Они уничтожат 100, просто чтобы посмотреть, что дадут за это. Ничего? Тогда расправятся с 1000! Из-за таких активных деятелей очень тяжело строить прогнозы по времени прохождения того или иного квеста, подземелья. Вызов, стоящий перед разработчиком любого мероприятия в БК, непрост, с одной стороны, сделать так, чтобы обычный игрок не взвыл от завышенных требований, но одновременно не дать заскучать тем самым энтузиастам ("ну что это за задание такое уничтожить сто тысяч Болотных Троллей? Для меня это скучный вечер среды!"). Приходится идти на различные ухищрения. Например, вводить логарифмическую шкалу награды, лимитировать использование каких-то предметов, при этом пытаться не разрушить баланс. Иногда приходится создавать чуть ли не два параллельных ивента! Один для обычных игроков, которые предпочитают, не спеша, с чашечкой чая идти по уже проложенной дороге. Другой для тех, кто мечтает быть тем самым торителем троп, быть везде лучшим или хотя бы первым. Умение создавать подобные параллельные мероприятия приходит с опытом. Множество ранних вещей в нашем проекте делалось без учёта этого, подобные ивенты легко опознать по тому, насколько быстро всё это выполняет обычный игрок. Например, когда создавались подвиги, ответственный за них молодой разработчик насчитал, что на взятие некоторых из них людям понадобится приблизительно около года. Для этого он поднял общую статистику, разобрался с активностью игроков, посмотрел как часто они занимаются чем-то подобным. Получилось, что средний пользователь выполняет аналогичную задачу раз в день. То есть за месяц будет 30, за год 360. Если поставить пять сотен как конечную цель подвига то самые старательные его выполнят где-то в пределах года, just as planned. Вы уже догадались, что было дальше. После ввода подвигов поведение этого самого стандартного пользователя в корне поменялось. В нём проснулся энтузиазм! Вместо того, чтобы по привычке раз в день делать нужное по подвигу действие, они занимались этим всеми возможными способами сутки напролёт. Большинство умудрялось совершать это действие десятки раз в день, а особо преисполнившиеся энтузиазмом набивали до полусотни. Геймдизайнер ожидал, что игроки будут получать подвиг где-то на "заднем плане" - то есть, будут заниматься обычными делами и, сами не замечая, получать подвиг. Конечно прогнозы отправились в мусорку. Энтузиасты составили себе чёткое расписание и словно по будильнику выполняли нужные действия, не теряя ни секунды даром. И всё ради того, чтобы получить этот подвиг чуть раньше других! Вы бы видели лицо стажёра, когда через три недели ему сообщили, что игроки уже завершили всю линейку... это было крушением всего его аналитического аппарата. В общем, математика для геймдизайнера штука необходимая, но психология и социология в данном случае куда важнее. Предлагаете игрокам возможность получить что-то постепенно? Ожидайте, что они предпочтут взять все и сразу. Я же до сих пор вспоминаю, как при моей первой попытке устроить подобное, опытные товарищи, едва скрывая улыбку, сказали: "сколько-сколько предметов ты требуешь? Умножь это тысяч на десять, и будет в самый раз". Интуиция их тогда не подвела большинство бкшников из спокойных и неторопливых копателей превратились в электровеники, что буквально пылесосили подземелья и сдавали ресурсы сотнями за поход. Я не зря прислушался к старшим товарищам - игроки уложились, примерно, в нужные мне даты. Плюс-минус пара дней. Байка 8. Программисты и художники
В современной доктрине управления во главу угла ставятся отношения в коллективе. Без прикрас скажу - в нашем проекте с этим всё в порядке. Каждый участник команды обладает железным правом как высказать свое мнение, так и быть за него осмеянным. Голоса всех разработчиков обладают одинаковым весом, в обсуждении любой задумки учитываются интересы каждого, кто вовлечён в проект. Геймдизайнер может предложить добавить в очередную пещеру динамическое освещение и трёхмерные объекты. Программист в ответ имеет полное право послать геймдизайнера в края, где динамическое освещение ему точно не пригодится, так как солнце там не светит. Впрочем, и куда более обоснованные нововведения приходится обосновывать и отстаивать, ведь как известно, любой хороший программист должен быть в меру ленив, а значит прикладывает все усилия для того, чтобы не делать лишнюю (с его точки зрения) работу.
Вот пример из жизни - получение случайного числа. Совершенно тривиальная для обычного человека функция, повсеместно распространённая, а уж в геймдеве так вообще едва ли не основная. Однако, если взглянуть на неё с позиции программиста, оказывается, что для её реализации не всегда достаточно написать в коде random_variable, особенно когда требуются какие-то специфические условия. Поэтому, каждый опытный программист старается всеми способами избегать этих самых случайных чисел вообще и особых условий в частности. Но вот дизайнеру нужно сложить два случайных значения от 1 до 5. Программист, пожав плечами ("чудные эти геймдизы, честное слово..."), пишет один вызов от 1 до 10. Казалось бы, результат один и тот же, так зачем усложнять, да? Но нет. С точки зрения теории вероятностей эти два уравнения не тождественны. Странно, контринтуитивно, кажется нелогичным, но это так. В варианте, который реализовал программист (обычный рандом от 1 до 10) все значения равновероятны. А вот в задумке геймдизайнера число 6 будет выпадать в пять раз чаще, чем 2 или 10. А 1 не выпадет вообще - потому что итоговое значение получается из суммы двух бросков виртуальных костей (1+1). Как это доказать уверенному в своей правоте программисту? Создать в Excel таблицу и сделать график распределения. Наглядная демонстрация действительно стала последним аргументом в том споре. Другой случай - у одного из программистов появилась идея создать механику сражения на поле 3 на 3 клетки и выставление двух атак и четырёх блоков. Опытный геймдизайнер видит фундаментальные проблемы этой задумки уже на этапе концепта. Но как убедить программиста? Тут графиком уже не отделаешься. Нас рассудит плейтест: берём лист бумаги, чертим поле и играем по новым правилам. Спустя двадцать абсолютно безрезультатных ходов программист соглашается, что механика имеет свои недостатки... Программисты, которые работают с приёмами, вообще страшные люди. Они в своём познании настолько преисполнились, что попытка понять принцип работы созданных ими заклинаний, для простого человека может закончится психическим расстройством. Обычные приёмы в нашем проекте составляются из заранее заготовленных блоков, словно домик из кубиков. Кубик - это тип воздействия, вроде нанесения урона или снятия другого эффекта. И у этого эффекта будут параметры - тип урона, размер повреждений, будет ли игнорироваться броня и так далее. Из этих элементарных частиц собирают самые разнообразные механики. Но всё меняется, когда в дело вступает программист. Кубики в их приёме - это просто вещь в себе. Никаких настроек или параметров, всё скрыто глубоко в недрах кода, куда не всякий новичок рискнёт заглянуть. Кроме автора, никто в целом свете не может понять, как работает этот ящик пандоры, а в отдельных случаях внятно объяснить это не может и сам создатель. Конечно, почти каждый такой кубик является штучной разработкой, которая больше нигде и не используется, ведь любое вмешательство в его работу может привести к непредсказуемым последствиям: от невозможности использования лечения магами до отключения света в Воронеже. Понятие об удобном графическом интерфейсе у таких людей тоже своё. Они могут создать дизайн, где галочками будут выделяться параметры, которые НЕ НАДО включать. Пять кнопок, которые нужно последовательно нажать, чтобы получить подтверждение - это всё к ним. Показателен один пример разницы подхода ГД и программиста. Нужен приём, который уничтожает персонажа, ультимативно и безаппеляционно. Сделать это мы можем с помощью "кубика" под названием "убить". Однако, проблема: если у персонажа есть дух, после убийства он восстанет. А нам нужно, чтобы этого не происходило. Предложение программиста: "залезем внутрь профиля игрока, находим там параметр "возможность переворота" и стираем его! Но надо будет написать скрипт, проверяющий, что этот параметр действительно там есть, иначе может произойти коллизия с непредсказуемыми последствиями. Хм, можно сделать запрос в БД прямо во время боя... Интересно, мы такое сможем сделать? Нужно будет написать скрипт, который...". Предложение ГД: "Просто подряд используем два кубика со смертью!". И да, этот вариант сработал. Художники же - полная противоположность прагматичным программистам. Чистая фантазия и полёт вдохновения. Просишь их нарисовать защитницу, валькирию, сильную женщину, охраняющую границы заповедника - получаешь Гемайю. Требуется иллюстрировать походную сумку-узелок - получаешь картинку с двумя связанными верёвочками. Ты же узелок просил. Вот оно, какие проблемы? Помните знаменитого кровавого хомячка из первоапрельских масок? Он появился из простого технического задания - "нужна семейка зомби. Ну там папа, мама, сынок и всё такое". "Всё такое" художник понял по-своему. У любой же семьи есть хомячок? У него в семье, видимо, был. Значит, и тут пусть будет. Что с ним делать дальше? Ну, вы же Геймдизайнеры, вот и придумайте! И да, именно геймдизайнеры стоят между этими двумя крайностями. Мы все согласовываем, убеждаем, что вот так лучше не делать. Например, что игроки не поймут, если вместо строки с вводом значения, они получат выпадающего список из сотни пунктов. Или что образу зловещего воина не нужна железная метёлка, как бы это не было в тему. Но, как я уже сказал, в БК нет чистых "программистов", "геймдизайнеров" или "художников", каждый из нас нередко окунается в обязанности соседнего отдела. Мне вот приходилось рисовать несколько иконок для приёмов, когда художник был занят. Программисты часто делают дизайн интерфейсов (под чутким надзором). Ну а в придумывании и тестировании механик вообще принимает участие весь коллектив. Поэтому для нас БК - не просто узкая прослойка обязанностей по должностной инструкции, а настоящий сын полка, в комплексном воспитании которого каждый выкладывается на полную. Байка 9. Хомячки
Кстати, о кровавых хомячках. С этим зверьком связана ещё одна история о том, как пушистик получил свою минуту славы. После того, как художник создал Кровавого Хомячка, иллюстрация была отложена в долгий ящик. Образ просто лежал на сервере, радуя наш взгляд каждый раз, когда приходила пора заливать новые картинки. В конце концов мы решили, что арту пропадать, давайте его уже куда-нибудь пристроим?
Наступило 1 апреля. Для этого ивента мы сделали кучу масок, которые давали пользователям внешний вид монстров. Среди этих призов был специально создан секретный предмет, который позволял пользователям примерить образ этого самого хомячка. Люди это оценили. Брутальную харизму хомячка заметил один из геймдизов. Он, видимо, решил почувствовать себя менеджером звёзды и использовать все качества странного питомца на полную катушку, прославив образ среди игроков. Хомячок! Даже слово звучит смешно и лихо. И вот на сцену вышло Древнее Удилище. Игрок мог использовать этот предмет и получить целую кучу разных сувенирных вещей. В том числе и хомячка. Вначале хомячки были простым подарком, но, как говорится, в какой-то момент всё вышло из-под контроля... Пушистые комочки каким-то непостижимым образом завладели сердцами людей. Их начали активно собирать и коллекционировать. Люди покупали их и посылали друг другу. Эти сувениры стали популярными. На форуме начали появляться сообщения от игроков с вопросом - что это за ерунда такая и где мне можно найти подобного? Ещё больше обладателей этого раритетного зверька не писали на форум, но закидывали вопросами саппорт: чего это вдруг всем понадобились хомячки? Непонятно зачем, но раз они нужны всем, то нужны и мне! Здесь и сейчас! Вышлите, пожалуйста, если несложно! Инвентари игроков буквально ломились от хомячков. Хомяки сидели и смотрели на админов. Админы сидели и смотрели на хомяков, понимая, что шутка зашла уже довольно далеко. Люди сами придумали этим зверькам какую-то силу и ценность. Пора было брать ситуацию под контроль. Мы сделали хомяков модернизируемыми. Увидев, что теперь их можно было откармливать другими пойманными удилищем предметами, пользователи решили: этот процесс тоже должен к чему-то привести. Значит, у хомячка обязана быть какая-то финальная форма! Что-то вроде кровавого хомячиного Ангела, аватара самой хомячистости. Нужно просто скормить ему нужные предметы в определённой последовательности. И даже если хомяки будут дохнуть в процессе, нельзя на этом останавливаться. Найдём новых и опять накормим! Подобные теории подстёгивали хомячий пузырь всё сильнее и сильнее. Пользователи скупали сувениры, вылавливали новые и дарили их друзьям. Хомячья истерия подходила к своей кульминации. Хомяки начали умирать. Горе затопило проект. Сообщения на форуме - жалкая тень того, что творилось в саппорте. Боль пронизывала каждое из тысяч сообщений о смерти легионов хомячков. Всё, что пользователи собирали, копили, выигрывали и наживали непосильным трудом внезапно стало превращаться в ничто. В мусор. Самое обидное, никто так и не понял истинное предназначение этих сувениров. Чтобы хоть как-то подбодрить сообщество, мы решили сделать смерть хомячка не совсем бесследной. Теперь любой умирающий грызун превращался в надгробие. Кто-то не оценил эту шутку, но многие сообразили, что грызуны после смерти хуже не становятся - и тут же начали собирать надгробия. Единственная проблема была в том, что масса надгробия была примерно в сто раз была больше массы почившего хомячка. И некоторые люди столкнулись с проблемой того же рода, как мой первый персонаж с жетонами, то есть с "небольшим" перегрузом. Впрочем, ошибку быстро исправили, вернув надгробиям привычный пользователям вес. И теперь вместо весёлого зверинца, инвентарь игрока напоминал тихое кладбище где-то в провинциальном городке - крохотные надгробья, пустые бутылки от эликсиров, бумажки и мусор. Всё-таки с хомяками было веселее. Вернуть их, что ли? Байка 10. Вероятности
Что меня радует в людях вообще и в наших пользователях в частности - это их отношение к случайностям и понятию "повезло-не-повезло". Теория вероятности и человеческий мозг очень плохо сочетаются друг с другом. Конфликт, похоже, заложен где-то на уровне генетики. Поэтому средний пользователь считает, что событие с вероятностью в 30% довольно частое явление. Нет, ну подумайте сами, это же каждая третья попытка! Удар. Или сундук. Или... нет, ну подобное определённо должно случаться с завидным постоянством. И вот внезапно после пяти разменов приём не срабатывает, а в шестом сундуке подряд не попадается нужный предмет. Игроки начинают переживать. Как же так? Написано 30%, а я уже четыре раза... и ничего. Похоже, что админы опять ошиблись. Или обманули. Человек идёт на форум и начинает жаловаться, что "Удар не попадает". Или что на этого человека злобные ангелы повесили "Невидимые дебаффы" (к слову, их иконку нарисовал один ГД), которые заставляют вероятности работать не так как нужно.
За годы существования в БК накопились все возможные виды вероятностей. Вот, например, обычное бросание кубика - когда каждое событие происходит независимо от других. Самое сложное для понимания игроками и наиболее непостижимое для них. Ведь шанс на успех в 90% вовсе не гарантирует, что среди десяти событий будет хоть один выигрыш. Бессердечная случайность может попадать на те самые 10% неудачи, ведь это независимые события. Результат предыдущих проверок никак не влияет на последующие. Ещё есть нарастающая вероятность, оно же - контролируемый рандом: чем больше попыток, тем выше шанс срабатывания. Допустим, по +5% за каждое событие. И вот уже через 20 использований у тебя желанные 100%. Рост может быть и не линейный, а по экспоненте, суть останется той же. Но даже при такой системе находятся недовольные. Наконец, ещё есть такая замечательная штука, как обязательная вероятность. Очень интересный способ обмануть судьбу. Где он у нас используется, я вам, естественно, не скажу. Суть метода проста - каждые X итераций случайно определяются номера успешных событий в нужном количестве. Например, шанс выпадения предмета из сундука 3%. Система берёт 100 следующих сундуков и случайным образом определяет, что успех наступит на 5, 12 и 59 попытке. А следующие 100 сундуков - это могут быть 7, 9 и 87 попытки. Пожалуй, наиболее честный способ, но пользователи всё равно его не понимают. Особенно те, у кого вожделенный предмет падает на 97, 98 и 99 раз. Нельзя поднять тему вероятностей и не вспомнить один из самых странных и загадочных параметров в БК - Удаче. Многие игроки приписывают этому атрибуту почти сакральные свойства, но даже они не догадываются, насколько глубоко проникли его корни в проект. Признаюсь откровенно - едва ли существует человек, который полностью понимает место Удачи в архитектуре Бойцовского Клуба и принцип её работы. Несколько лет назад программисты дерзнули кое-что поменять в действии этой характеристики. В результате этого у нас...отвалилась часть функций форума. Как оказалось, там этот параметр тоже играл какую-то важную роль. Похоже, давным-давно создатели форума имели виды на этот параметр. Возможно, они хотели, чтобы неудачник не всегда мог отвечать на пост, то ли планировали давать случайное количество кредитов за каждое сообщение, сейчас уже трудно сказать наверняка. Если судить по форумной активности некоторых личностей, они явно слышали о последней фиче, но просто не в курсе, что её так и не ввели. В самой игре Удача тоже играет непостижимую роль. Кажется, что отцы-основатели проекта были явными поклонниками дикого, необузданного и непредсказуемого рандома. То тут, то там мы находим в коде следы этого параметра. Обычно Удача играет незначительную роль, добавляя половину процента, но иногда она способна даже удвоить эффект! Уже второй десяток лет мы пытаемся разобраться в хитросплетениях этой переменной, но, похоже, ей покровительствует сам Локи, или Апата, или Сунь У-кун, а то и все трикстеры разом. На текущий момент мы нашли 95% всех ниточек проекта, связанных с Удачей, как она работает и на что влияет. Но всегда остаются те самые 5%, которые привносят в проект перчинку Хаоса, делая его непредсказуемым даже для разрабов. Все непонятные обращения в саппорт мы опять же списываем на эти 5%. Байка 11. Мы строили, строили и наконец...
Кто впервые запустил Стройки и по чьему велению они были созданы, я, к сожалению, не знаю. Кажется, вначале строили хранилище эликсиров или что-то в этом роде. Это было настолько давно, что уже можно считать легендой. Из Великих Строек я застал только знаменитое строительство тёмного храма: Арелит, который игроки добывали в диалоговых рудниках и, конечно же "Копать", прочно вошедшее в фольклор БК и нашей команды. Но я расскажу вам не про них. Есть один связанный со стройками парадокс, незаметный для пользователей, но заставляющий беспокоится администрацию.
Начну издалека. Давным-давно в катакомбы, чисто для атмосферы, добавили разнообразные смешнявые записки. Мол, смотрите, вы здесь не первый человек, были люди и до вас. Вон, они даже оставили записки по всему подземелью, а вдруг там что-то ценное, какой-нибудь совет? Мы ожидали, что люди найдут, прочитают записку, улыбнутся и выбросят. Как бы не так! Вскоре образовалась широкая прослойка людей, которые собирали их сотнями. Просто на случай, а вдруг они где-то пригодятся? Может быть у них есть ценность, которую никто пока не понял? Вот появится какое-нибудь задание, куда всё это нужно будет принести. Просто другие игроки ещё не нашли тот самый квест с записками. Безуспешные попытки обнаружить искомое лишь подстёгивают бкшников - если задание так запрятано, награда за него будет поистине легендарной! Коллекционирование записок превратилось в самоцель. Вскоре людям уже становится приятно просто наблюдать, как растёт количество бумажек в инвентаре. А уж потенциальная награда за эту гору макулатуры вообще заставляла многих просыпаться по утрам. Когда мы поняли, что количество совершенно бесполезных вещей у игроков растёт в геометрической прогрессии, было принято волевое решение сделать записки из Катакомб исключительно подземными: выходя из подземелья персонаж терял все найденные там послания, как и сотни предыдущих, что лежали в рюкзаке мертвым грузом. Реакция игроков не заставила себя ждать. На службу поддержки обрушился настоящий шторм гневно-слезливых сообщений, проклятий, стенаний и просьб вернуть бесполезные фантики. Кое-как мы усмирили этот поток. Ангелы клятвенно убеждали всех в том, что вообще никак не будем использовать эти записки. И никогда не собирались. Вот прямо совсем-совсем. Однако не только записки засоряли инвентари пользователей и заставляли добела раскаляться наши серверные стойки. Помимо них были вещи, которые нужны игрокам для каких-то простых одноразовых квестов. Например - страницы в той же Бездне. Они требуются лишь для сбора одной книги и... всё. Но люди упорно продолжают их собирать в надежде, что однажды потекут екровые реки, из которых можно будет черпать исключительно подобными листками... И вот тут мы снова возвращаемся к стройкам. Одно из главных их достоинств заключается в том, что они позволяют игрокам массово избавляться от различных мусорных айтемов, про которые я писал выше. Тащите сюда весь мусор, который у вас есть! Отдавайте его нам, получайте за него очки репутации, открывайте новые подвиги или что-то ещё. Всё для вас! В чём профит администрации? Игроки без ненужного мусора в инвентаре занимают меньше места на дисках, их обсчёт происходит быстрее. Кроме того, появляется какая-то сюжетная подоплёка в квесте - вы уже участвуете в нашем ивенте, просто ещё не знаете об этом! Чем быстрее вы закончите стройку, тем раньше всё начнётся! И вот, наконец, мы вплотную подошли к упомянутому ранее парадоксу Строек. С одной стороны, они помогают очищать инвентарь игроков, но с другой стороны... Возможно, вы уже догадались. Этими же самыми стройками мы невольно даём игрокам надежду, что однажды вся эта коллекция из бумажек да камушков наконец-то может пригодиться. Теперь люди выбрасывают предметы, только если уж совсем невмоготу и кончились все расширители инвентаря. Игроки бродят по подземельям и как пылесосы собирают вообще всё подряд. Их греет надежда, что не сегодня-завтра откроется стройка, где за каждый мусорный предмет им будут насыпать тысячи опыта и миллионы екр. Понятно, что это не всегда оправдывается, но, как говорится, лучше сказать "я готовился к этому всю жизнь", чем остаться потом с носом. Байка 12. Противостояние
За двадцать лет жизни БК разросся до таких масштабов, что для некоторых удивительных историй ему даже не требовалось человеческое вмешательство. Однажды утром наш программист совершал рутинную проверку кода и случайно обнаружил настоящую закулисную войну.
За неделю до этого геймдизайнеры возжелали увеличить количество собираемой по проекту статистики. Больше метрик хороших и разных! Для их получения программисты завели нескольких тестовых персонажей. Они ничего не должны были делать, просто регистрировались и болтались в базе данных в качестве пустышек. Как вы знаете, у нас есть особый скрипт, который через несколько недель стирает из базы неактивного пользователя начального уровня. Логично, что электронный болванчик в БД сам себя себя не проапает, поэтому они оказались в зоне риска. Генерировать их сразу высокого уровня, чтобы они не стирались, это скучно. Да и потом, вдруг потом понадобится ещё больше ботов? А если будут нужны именно записи начального уровня? Поэтому набросали на коленке скрипт-"генерилку", он создавал десяток пользователей со скучными именами типа aaaaa_1 и потом проверял их состояние. Если перс "не откликался", то считалось, что он стёрт из базы данных как неактивный, а скрипт создавал нового, с таким же именем. Срабатывала это программа где-то раз в час. Её запустили на тестовом сервере, проверочная статистика потекла в наши загребущие ручонки. Отлично! Сейчас зальём на боевые и всё будет хорошо. Через пару дней на графиках стали замечать какую-то странную активность в определённое время суток. Статистика не очень сходилась, куда-то пропадали целые часы. Детектив-Программист, вооружившись средствами отладки, смело полез в дебри логов и кода, пытаясь понять, что же такое происходит. Вернулся он не просто с ответом, но с целой сагой. Как говорится, искал медь, а нашёл золото! Много лет назад, когда проект был на пике своей популярности, особо ушлые и продвинутые люди придумали создавать себе кучу аккаунтов для того, что среди модераторов называлось РВС - распространение вредоносных ссылок. Бот выпрыгивал в чат, кричал типа: Народ, если хотите получить 1000 екров - тыкайте сюда! После этого его обычно пристреливали модераторы, но появлялся уже второй персонаж и кричал то же самое. Среди пользователей находилась наивные души, что очень хотели себе 1000 екров и успевали тыкнуть в ссылку. А потом шли на форум жаловаться, что их персов угнали. Специально для модераторов программисты написали небольшой скрипт, который (вы уже начали догадываться?), ага - банил пачки персонажей, что регистрировались примерно в одно время и отличались лишь небольшими изменениями в никах. С тех пор много воды утекло. Спамеры давно сгинули, скрипт-антибот был всеми забыт за давностью лет. Но свой дозор он и не думал прекращать, болтался на задворках системы и оттуда наблюдал за порядком, как ему это когда-то внушили создатели. И когда программисты создали свою "систему статистики" его звёздный час настал. Ржавые скрипты заскрежетали, с логических цепочек посыпалась пыль, спамеры вернулись, подлые кожаные мешки вновь начали регистрировать новых персонажей целыми пачками. В этот раз они даже не стали заморачиваться с никами - те отличались одним лишь символом. Верх наглости! Пришла пора расчехлить банхаммер и проводить тотальную зачистку. И вот, пока разработчики пили дома чай и отдыхали, этот скрипт трудился изо всех сил: он банил очередную пачку ботов. А ещё через час создавалась новая порция персонажей для сбора данных. И буквально через несколько минут вся пачка гибла под ударами древнего бота, после чего цикл повторялся. Пользователи даже не подозревали, что за битва происходит за кулисами, где одинокий скрипт сражался с армиями... Спустя сутки программист обнаружил в проекте пару чрезвычайно довольных своей работой ботов. Страж радостно рапортовал, что он забанил целую орду спамеров. А скрипт статистики не менее счастливым тоном отчитывался, что работа идёт в штатном режиме - записи в базе данных создаются каждый час, их уже несколько сотен и ещё тысяча на подходе. Оба выглядели полностью удовлетворёнными и жаждали продолжать деятельность на благо проекта. Так как все тестовые записи в общей статистике не учитывались, заметили мы это лишь по возросшей активности серверных мощностей. Ну, зато пара кусков кода обрели наконец-то своё маленькое счастье, выполнив своё главное жизненное предназначение. Байка 13. Лич-Швея
Помните знаменитую цитату из Тёмного рыцаря? "Либо ты умираешь героем, либо живёшь до тех пор, пока не станешь негодяем". В нашем проекте каждый NPC сталкивается с похожей дилеммой - либо тебя забывают, либо превращают в чёртову новогоднюю ёлку. Новогодними Ёлками мы называем тех неигровых персонажей, на которых год от года навешивают все новые черты характера, подчас совершенно неожиданные.
Почему так происходит? Количество заданий и ивентов в проекте растёт, а новых NPC добавлять уже особо и некуда: БК и так довольно густо ими населён. Поэтому приходится ограничиваться добавлениями диалогов, что заставляют играть новыми красками старых знакомых. И вот персонаж, который был задуман эпичным и сумрачным, вскоре превращается чуть ли не в героя фельетона. Вон, возьмите, Мор'Лаэгха. Первый среди Личей. Хранитель Башни смерти. Его слова в диалоге падают подобно чугунным гирям, по одной в минуту. Пафосные фразы, высокопарные обращения. Только подумайте, это существо стоит между жизнью и смертью! Он побывал по обе стороны вечного барьера. Но стоило один раз связаться с ГД... Внезапно одному из геймдизов пришла в голову прекрасная мысль - нужно представить широкой общественности нового торговца Дария. Для того, чтобы новый герой органично вписался в мир БК, ему нужно было придумать взаимоотношения с другими персонажами, так сказать, навести мосты. Например, выяснить его отношения с соседкой по локации, коллегой по гильдии Шейлой. Была придумана романтическая линия, и началось создание того самого знаменитого квеста с веером. Задание изначально подразумевалось многовариантным и ветвистым. Разные исходы, несколько способов прохождения, проверки и прочее. В процессе появилась идея, что для одной из концовок был необходим подарок. Вместо букета жухлых цветочков, которые наш незадачливый ухажёр пытался ей всучить в самом начале, нужно было преподнести Шейле что-то действительно запоминающееся. Помните, что это был за предмет? Откуда же взялась эта пресловутая зелёная подушка-вымя? По задумке, подарком должно было стать нечто странное и одновременно забавное. Художнику чётко сформулировали техническое задание: "давай как ты умеешь, удиви нас какой-нибудь необычностью: чучелко кота, барабан с изумрудами, флакон духов в виде жабки! Что-то такое". Но художник, увы, был слишком занят, очередь на предметы была уже на пару дней вперёд. А квест надо было вводить безотлагательно - основа-то готова! Что же делать? Естественно, искать альтернативы. Как и всегда в подобных случаях, мы лезем в недра Бкшных архивов... А там порой можно обнаружить такое, от чего можно повредиться рассудком. Среди кучи нереализованных или забытых изображений мы, наконец, нашли искомое. Как вы помните (или нет), в 2009 году случился был год Быка. В магазины были завезены тематические сувениры. И у части из них отсутствовали условия продажи. Они появлялись на прилавках в декабре, а дата исчезновения из магазина была написана с ошибкой. Одним из таких сувениров была подушка в виде коровьего вымени. Она была доступна для покупки даже после окончания праздника Нового года. Люди к ней привыкли, поэтому убирать её не стали. Но ведь можно сделать так, чтобы подушка была нужна! Отличный вариант сувенира для Шейлы (худосочность алхимички никакого отношения к выбору этого подарка не имеет. Возможно). Сделать простой квест "иди и купи подушку" скучно, не наш метод. А вот заставить игроков немного побегать и поломать голову, это уже интереснее. По крайней мере, так казалось 13 лет назад. Поэтому требовался уникальный сувенир. Геймдизайнер расчехлил графический редактор и просто заменил цвета. Так на свет появилась зелёная подушка-вымя. К ней очень вовремя всплыл и баннер того же цвета. Квестовая цепочка уже готова практически полностью - купить подушку, купить баннер. Но этого мало, нужно найти того, кто сошьёт их воедино. Кого бы выбрать? Хм... В то время NPC было не так чтобы очень и много, поэтому выбор пал на... Лича. Да вы только взгляните на него! Какие изящные у него одежды, как горделив его взор! Явно он должен понимать в швейном мастерстве. Решено. Он-то и будет шить подушку. С тех пор несчастный Мор'Лаэгх прочно вошёл в лор всего БК как "главный швей". Шапки? Шью. Сумки? Конечно. Приделать на пояс самоцветы? Без проблем. Сшить тряпочного мутанта из разнообразных запчастей? Пока такого квеста нет, но вы уже знаете, кто будет этим заниматься. Великий и могучий Лич получил весьма неожиданное хобби, лишь потому что художник был слишком занят, чтобы нарисовать "какой-нибудь забавный сувенир", а геймдизайнер был вынужден собирать квест из того, что у него было под рукой. Зато персонаж вышел интересный и оригинальный! Байка 14. Самый непопулярный предмет
"Слушай, тут пользователь жалуется, что у него не работает XXXXX" - частая форма приветствия в нашей команде. И ХХХХХ - это все что угодно. Но всегда эта фраза означает одно - Детектив ГД только что получил лицензию на расследование. Вернее ему её всучили без права отказаться и условием, что поиск ответов не будет соперничать с основной работой.
Девяносто четыре процента заявок закрываются на этапе знакомства с логами. Игрок банально не понял, как правильно использовать купленный предмет, или не соблюдает условия его применения (требования определённого места для активации и т.п.). Еще пять - великое значение параметра "Удача". Но иногда в груде обычных сообщений попадаются настоящие перлы. У одного игрока почему-то не работал Регенерирующий подкорм. Да, тот самый который "всего за 40 тысяч кредитов ваша Корона Подземного Сияния больше не нуждается в периодическом кормлении". Сделали подкорм в 2013 году и тогда это казалось неплохой идеей. Пользователи, которые об этом попросили клялись и божились - это будет хит, который купят за любые деньги! Тем паче, что работы там на десять минут с перекурами. Код написали, предмет создали, Брута проинструктировали, что говорить пользователям. Ангелы проверили, что всё работает и дали добро на публикацию новости. Ещё один кусочек мира занял своё место в глобальной мозаике. Всем спасибо, возвращаемся к работе. И вот, через девять лет в саппорте появилась весточка, что подкорм не работает. Логично предположить, что проблема в игроке, раз за всё это время других жалоб на предмет не поступало. Но в Регенерирующем Подкорме нет никаких требований. Его функционал выполнен небольшой модификацией уже давно существующего предмета: теперь он требует цель, на которую будет использоваться. И Корона у игрока, казалось бы, соответствует всем требованиям. Или нет? Корона изучается вдоль и поперёк. Ничего. Проблемного персонажа копируют на тестовый Китеж. И внезапно оказывается, что здесь все работает без сучка и задоринки. Где отличия на боевых? Подкорм недавно потерял в цене. Но сам-то предмет ведь никак не модифицировался! Отредактировали лишь диалог, изменив там пару чисел. Как это могло повлиять на предмет? В чём причина его поломки? Думают ли андроиды об электроовцах? Столько вопросов и ни одного ответа. Детектив ГД вынужден признать, что следствие зашло в тупик. Пора обратиться к Детективу Программисту! Детектив Программист, даже не глядя в код, сразу же устанавливает причину - "опять ГД всё сломали!". Но доказательства непричастности дизайнеров достаточно убедительны, а настроение у программиста хорошее, поэтому он берёт это дело под личный контроль.Вскоре выясняется одна интересная особенность. На боевых серверах отсутствовал кусок кода, который был на тестовых серверах. Поэтому предмет работал на Китеже и не хотел функционировать в боевых условиях. Бинго! "Всё просто сказал Программист кто-то перезаписал код. Очевидно, сделал он это недавно, раз раньше предмет работал." Ангел, тестировавший его в незапамятные времена, подтверждает да, работал как часы! Он же его лично проверял, и как сейчас помнит тот октябрь ("май" автоматически поправляет программист) 2013 года. Да и записи в логах за это время подтверждает его слова. Остаётся только узнать, как давно был перезаписан код. Спустя пять минут копания в логах, ответ был найден. И в лучших традициях кликбейтных заголовков, он шокировал всех... Помните причину появления Регенерирующего прикорма? Игроки возопили: "Мы устали это терпеть! Сделаете предмет, который избавит нас от походов в Туманные низины, и продавайте пусть даже задорого! Его купит каждый игрок и будет счастлив, а вы озолотитесь! Тут уже очередь выстроилась из тех, кто готов выложить за это 40 000 кредитов!". Расследование показало, что с момента введения предмета в 2013 году до сломавшей его перезаписи кода прошло... десять минут. То есть ровно столько, чтобы Ангел успел проверить работоспособность, дать отмашку на новость и... всё. Человек, который написал нам в саппорт, был единственным, кто столкнулся с этой проблемой, потому что больше прикорм никто не покупал. За все девять лет. Похоже, не смотря на уверения просителей, очередь из желающих потратить 40 тысяч кредитов стояла куда-то в другое место. Байка 15. Война с Вуглускрами
Давайте признаем очевидное - Бойцовский Клуб эволюционировал из чата. Просто к нему прикрутили опцию, о которой мечтали все тогдашние пользователи интернета, теперь можно было без проблем набить оппоненту лицо, если его точка зрения не совпадала с вашей, пусть и в виртуальном мире. Потом эта часть разрасталась, модернизировалась и превратилась в полноценную игру, которая вышла на первый план.
Чат гордо перешёл в разряд браузерных игр. Но при этом само общение всё равно оставалось одной из главнейших составляющих. И пусть куча альтернативных мессенджеров несколько затмила внутриигровой чат, эта часть проекта всё равно была нужна и необходима. А там, где есть чат, сразу же заводятся разные любители материться, рекламировать сторонние проекты и вообще портить жизнь спамом и трешем. Чтобы как-то обуздать потоки этого цифрового шума, у нас, как и во всех нормальных проектах, есть фильтры чата. Именно они - первая линия обороны, которая запрещает писать отдельные слова и фразы в чат. Как вы понимаете, за время существования скрипта его расстрельный список стал включать в себя множество странных слов и сочетаний. Например, одно время под запретом было название небольшого сетевого общепита, оно заменялось на знаменитое <ВЦ>. Почему? Вы не поверите, но ходили слухи о том, что когда-то давным-давно, трое сотрудников БК после работы зашли в это заведение поужинать. За едой им надо было обсудить ряд важных мероприятий, над которыми тогда работали. Но после принятия пищи они почувствовали недомогание, и пару следующих дней были вынуждены провести в обнимку с троном Посейдона. В те времена "фактор автобуса" для нашего проекта был крайне мал. Без этих сотрудников несколько запущенных мероприятий затормозились практически на неделю. А вернувшиеся после боя с фаянсовым противником разработчики решили отомстить таким вот странным образом. Теперь его название приравнивалось к ругательству. Другой случай не менее примечателен. Однажды игроки заметили, что банальная фраза "Всем удачи", внезапно стала заменяться на <ВЦ>. Хотя до этого безобидное пожелание не считалось оскорблением. Что же произошло? Скрипт фильтра немного модернизировали - чтобы выискивать даже замаскированные оскорбления или спам, он научился "закрывать глаза" на пробелы. То есть, для него конструкции типа "В углу скреблась мышь" и "Вуглускребласьмышь" стали абсолютно идентичны. Ни один Вуглускр больше не угрожал спокойствию пользователей! Но благими намерениями, как вы знаете, вымощена дорога в ад. Благодаря этому апгрейду, обычное пожелание удачи всем находящимся в комнате, скрипт начал считать оскорблением: мол, все, кто вокруг меня и сидит в комнате - мудачи, кем бы ни были эти загадочные существа. Искусственный интеллект логично, что никого хорошего мудачом не назовут. Поэтому фраза автоматически вошла в бан-лист. А в команде стала небольшим мемом. До сих пор можно услышать её или прочитать в общем чате, когда кто-то заканчивает работу. Кстати, этому же скрипту мы обязаны проблемами для игроков, которые мечтали продать мебель для гостиницы. Ну или узнать, что делать со стеблем. Пришлось вносить эти слова в исключения. Иначе общение игроков было несколько затруднено. Вплоть до обращений к модераторам о том, что "от меня в приват требуют, чтобы я им продал <ВЦ>!". А один баг в чате так вообще заставил пересмотреть половину его кода. Пользователь написал в саппорт о странной вещи - он отсылал сообщения в чат, но те таинственным образом пропадали. Самое загадочное то, что остальные люди в чате их видели. Проблема была настолько странной, что мы начали подозревать мистическую подоплёку, тактично спрашивать, не обижал ли этот игрок недавно древних колдунов, не связывался ли с цыганами? Причина оказалась не связана с проклятиями. Человек случайно (или в рамках эксперимента, в чём он, конечно, не признавался) добавил в чёрный список... самого себя. Это мы выяснили буквально через десять минут после обращения. Что же такого особого в этом случае, раз я решил о нём написать? Дело в том, что этот баг уже был найден пару лет назад и в рабочем трекере значился как закрытый. Там же можно было найти ответственного за его исправление. Вот только найти этого программиста уже не представлялось возможным, он уже пару лет как уволился. Команду начали терзать смутные сомнения. Полезли анализировать всю его деятельность в проекте и в баг-трекере. Обнаружилось, что этот человек чести перед самым увольнением не смог уйти с проекта, оставив после себя незакрытые задачи. Благородный порыв! Но вот исправлять все эти баги ему не хватило то ли времени, то ли терпения. И вместо того, чтобы переназначить их на коллег, он взял и проставил им статус "решено". Пятьдесят с лишним багов разной степени критичности затаились у нас в коде. Пришлось срочно отвлекать от задач других программистов, чтобы они прошлись по всем "исправленным" ошибкам и выяснили их актуальность. Конечно, ни одна из них не утратила актуальности. Подозреваю, что в эти дни покинувший нас кодер скончался от икоты, так часто мы его вспоминали! Байка 16. Мифические подарки
Сейчас появление Ангела в игре уже не вызывает у игроков трепет. Это стало обычным, даже банальным событием. "О, ангел! - думает пользователь, когда натыкается на Повелителя Снов, - Пойду, поклянчу помощи. Он точно похож на того, кто просто спит и видит, как бы вручить мне Корону Цветов. Ну или чек на 1000 екров. Ну вдруг?".
А вот в былые времена народ куда интереснее реагировал на богоподобных аватаров. Помню как кто-то отыгрывал свою роль и высокопарно обвинял меня, светлого ангела, во всех бедах тёмной склонности: "твоё появление вдохновило моих противников, оно вселило храбрость в их сердца и укрепило веру в победу. Теперь мы проигрываем!" Другой атаковал смайликами и вопил "Изыди!". Иные просили выдать им индивидуальное задание, чтобы доказать свою преданность делу света. Приходилось экстренно импровизировать. Кажется, тогда и родилась небольшая система секретных квестов на написание стихов во славу света или на убийство каждого монстра в игре. Иногда поручения носили более... абстрактный характер. Иди туда, не знаю куда, принеси то, что выглядит как кусок слизи. Сам не знаю чего хочу, но в тебя я верю! Были игроки, которые наоборот, сами вручали подарки! Но куда больше людей, конечно, мечтали о сувенире от ангелов. Кое-кто даже их получал в разное время. Это стало очередным столпом мифологии проекта. Да, были стандартные подарки из сувенирного отдела магазина. Но были и особые, уникальные вещи. Например, сувениры которые давно вывели из продажи или даже те, что до тех пор вообще не встречались в мире. Большинство игроков свято верило, что ангельский подарок непременно должен нести в себе скрытые баффы. Это выросло из логичной, в общем-то, посылки, ведь есть же в проекте скрытые дебаффы? Значит должны быть и такие же баффы! Форум и чаты полнились удивительными небылицами, которые люди рассказывали о своих (и чужих, конечно) ангельских сувенирах. "Я вот с админ-кнопкой вчера зашёл в бой, и мне карта ка-а-ак попёрла. Всех пачками клал! Столько урона выбил. А ведь это я даже ещё без оружия и брони был!" Проигрыши в боях начинали оправдывать тем же способом: слишком уж увороты уворачиваются, а криты критуют (танки молодцы, к вам вопросов нет). Так, а что у этих подлых читеров в подарках? Ну вот, так и знал - сувенир от админов. Теперь понятно, почему я слил. Пойду себе попрошу такой же, а то и помощнее! Люди действительно во всё это верили. Я даже помню времена, когда в сети существовала страничка, где пользователи собирали информацию о том или ином "ангельском" подарке. Там даже были рассчёты параметров этого предмета! Откуда брали данные? Добывали эмпирическим методом: "вот, в том бою владелец кританул 10 раз, а вот в другом, где у него уже был сувенир целых 12. Разница видна невооружённым взглядом. Поэтому запишем, что на этом подарке модификатор крита увеличен на 20%". У меня часто просили "что-нибудь себе на память о встрече", а после получения спрашивали: на нём точно нет скрытых баффов? Подозреваю, что в этот момент сидящий по другую сторону монитора игрок мне хитро подмигивал. Если я честно говорил ему - "нет, обычный сувенир. Никаких баффов", с той стороны просто возрастала скорость подмигивания. Я хочу открыть вам великую тайну. Готовы? На админских сувенирах нет никаких скрытых баффов-дебаффов и прочих таинственных вещей, которые бы отличали их от обычных предметов. Это самые обычные сувениры, пусть иногда и с замысловатой картинкой.Ну может за исключением пяти штук на весь проект. Или десяти. Но точно не больше пары дюжин. Не помню точно. Байка 17. Обитель мертвых, насекомых и подкрадунов
Говоря начистоту, эта пещера родилась из текстуры. Нет, конечно же у неё был контекст возникновения и он был предельно четким. В его базисе лежала мысль, что игроки начального уровня уже видеть не могут опостылевшую Канализацию. Миазмы уныния и однообразия давно просочилась с форума новичков в наш офис. Убийство тысяч пауков ради путешествия в другие города ради убийства там тысяч зомби - удовольствие конечно сомнительное. Но в других городах хотя бы бестиарий разнообразнее, и помимо ходячих трупов игроков ждали гусеницы, големы, пустынники и прочие призраки. Не говоря уже о новых заданиях, локациях, предметах но до них ещё нужно было раскачаться. А делать это приходилось в одной и той же пещере.
В общем, паучий рацион низкоуровневых игроков необходимо было разнообразить. Добавить что-то простенькое, забавное, но не слишком зубодробительное. К тому же, хотелось отойти от данжей, расположенных ниже уровня грунта - на тот момент наземных локаций у нас было была всего одна, да - Туманные Низины. Поэтому единогласно было принято решение дать игрокам возможность выбраться на поверхность. Мы попросили художника набросать что-нибудь лесное. Что-то вроде жутковатой чащи с дикими зверями, монструозными барсуками и хомячками-зомби а, стоп, это уже было. Ладно, пусть будут разбойники! Мастер цифровой кисти понял установку и создал несколько текстур, одна из которых запала нам в душу. Это был ночной лес. Но со своей, особенной атмосферой - не сказочные светлячки и рулады лягушек, а мрачный, вязкий ужас древнего, заросшего кладбища. Фантазия начала дорисовывать детали: могилки, склепы, разграбление гробниц, бродячие трупы и хомячки-зомби (вы уже догадались - просто так мы этот образ не отпустим). Чаща обзавелась старой оградкой, надгробиями, а геймдизайнеры приступили к разработке концепции. Запускать игроков бродить по огромному кладбищу было скучно и банально. Идея гигантского погоста, конечно, бередила душу геймдизов и вызывала приступы творческого экстаза, но игроки вряд ли оценили бы путешествия среди однообразных могил выше путешествия среди однообразных труб в Каналке. Требовалось что-то более компактное, интересное. Тогда и появилась идея сделать несколько глубоких, но при этом тесных склепов. Пусть их обитатели, каждый со своей историей и легендой, сражаются между собой - строят различные козни, плетут интриги! "Глава фракции" будет давать какой-нибудь квест. Фантазию геймдизайнеров было уже не остановить - работа закипела. Художникам предстояло попотеть - такого огромного количества разнообразных монстров до этого не было ни в одном подземелье! Чтобы успеть, пришлось распараллелить работу по арту на несколько человек. Именно поэтому (вы наверняка замечали) стилистика монстров в Некровилле немного разнится от склепа к склепу. Специально для Некровилля было создано несколько технических новинок. Например, возможность использования двух разных текстур для стен. До этого на каждом этаже у нас была одна на весь данж. А в Некровилле один фон был для подземелья, а второй - для внешних стен склепов. Этого никто не оценил, конечно, но мы были горды. Еще чуть-чуть и до дорастем до рейтрейсинга! Здесь же появилась механика общего эффекта для всей группы - когда игрок активировал объект, все в этом же данже получали эффект. Вы бы знали, сколько крови мы попортили программистам этими запросами. Затем возникла мысль сделать два вида репутации. Первый накапливался только за выполнение заданий, второй - вообще за все действия подряд: убийство ботов, передвижение по локации, открытие сундуков и так далее. Зачем? Так теперь игроки могли сразу прикинуть, кто это подземелье излазил вдоль и поперёк, а кто просто время от времени выполнял квесты. Хотите найти проводника - обратите внимание на тех, у кого высока вторая репутация. Другая оригинальная по тем временам идея - амулеты, которые позволяли усилить один параметр за счёт другого (случайный факт: в их названиях использованы имена богов смерти из разных мифологий, но вы это и так знали, да?). Первый из амулетов был создан для энтузиастов копания: монстры сильнее, лута больше. Думали оставить его в гордом одиночестве и выдавать после всего прохождения. Но решили размахнуться и трансформировать его в целую систему печатей. Там как раз программисты решали проблему с текстурами и ГД особо делать было нечего. Уже после открытия подземелья дизайнерская душа затребовала финального босса в этот данж. Сражений с обычными боссами было много, но хотелось какой-то эпической вишенке на верхушке торта! Вишенкой стал злобный брат-близнец привратника, решивший обратиться к запретным знаниям. Специально для защиты от энтузиастов, которые любили выносить боссов в одно лицо, сделали особо хитрый способ проникновения в финальную локацию: чтобы туда попасть и поучаствовать в сражении с Амадеусом, требовалось пять игроков. Но признаться, это не сильно помогло: если человек не хочет социализации, фиг вы его заставите общаться с себе подобными и делиться лутом. Люди шли на различные хитрости, чтобы обмануть воздвигнутую на пути систему - полностью зачищали склепы, потом быстро пробегали по ним и активировали сразу все, пока эффект еще висел. Да и в бою с боссом они использовали множество технических особенностей нашей системы. Вроде небольшой задержки бота перед началом боя. Ну, что же, это тоже своего рода испытание. Зачистить в одно лицо целое подземелье и замочить босса - подобным можно гордится и даже восхищаться, поэтому, какие-то подобные баги мы гордо перенесли в разряд фич. Теперь их даже править не надо! Короче говоря, Некровилл мы постарались сделать интересным как новичкам, так и ветеранам. И, по нашему скромному мнению, получилось очень неплохо. Многие игроки отмечали не только красоту и атмосферность данжа, но и его продуманность. Вплоть до жалоб некоторых игроков старших уровней, на то что, они хотят что-то подобное на своих уровнях, только с наградами под стать игрокам. Пожалуй, это стало лучшим комплиментом для ГД. А пещера стала одним из эталонов на которые разработчикам надо ориентироваться. Но, кто знает, что будет дальше Байка 18. Спираль развития
Давайте снова вернемся к разговору о мутациях и эволюции контента. Как же с этим просто на молодых проектах! Все пользователи - новички: покажешь им ёлку с подарками, они в восторге. Тоже самое в проектах с миллионной аудиторий, которая обновляется каждый день. Приходит праздник, снова открываем ёлочку на главной площади и кладём под неё подарки. Через год будет всё то же самое. И еще через пару лет... Ведь мероприятие будет новым и оригинальным для тех тысяч игроков, которые пришли в этом году. Да, старые скажут - опять что-ли ёлка? Но кто их голос потонет в общей массе сообщества, ведь их там крохотный процент.
У нас - всё не так. Игрок в БК - настоящий кремень или даже алмаз. Он готов мириться с лагами и ошибками, может копать одну и ту же пещеру годами. Но один и тот же ивент без изменений он сочтёт личным оскорблением, поэтому нам постоянно приходится что-то изобретать: дополнения, улучшения, новые правила. Год за годом, с каждым ивентом. Нельзя просто так взять и опять поставить ёлочку на ЦП - каждый раз нужно навешивать на нее новые шарики. И здесь мы сталкиваемся с так называемым парадоксом Франкенштейна: улучшая что-то старое, мы можем его безвозвратно испортить. Люди хотят что-то новое, но слишком новое пугает их. Хотите пример? Хэллоуин. Изначальная идея была крайне проста: игроки надевают на себя тыквенные маски, получают от них положительные эффекты и ходят в таком виде в бои. Потом мы добавили семечки, которые падают с игроков - их можно было потратить на различные сувениры. Дальше - больше. Появлялись различные улучшения тыкв, менялись виды семечек, правила выпадения и так далее. Мероприятие ширилось и подминало под себя все новые аспекты нашего проекта. В цепочку ДНК Хэллоуиновского ивента постепенно встраивались городские мобы и новые NPC. Ивент обрастал мифологией, плодил новые сущности и механики. Но не все изменения игрокам приходились по вкусу. Особо ужасным оказались дополнения, позволяющие превратиться в Джекзомби. Нам это казалось вполне хорошей идеей - дать игрокам еще один тип боев, не зависящий от пантеона или клана. Два лагеря, асинхронный геймплей, разные возможности и правила. Возможности расширения в будущем. Но БКшникам не зашло совершенно. На этом этапе (после обработки обратной связи и чтения ругани на форуме) стало понятно, что мы явно переборщили со сложностью и комплексностью всего этого. Вместо того чтобы взять мраморную глыбу и отсечь все лишнее, мы при помощи скотча и клея начали приделывать к ней лишние сущности. Это не то, что хотелось бы пользователям. Сейчас у нас в проекте есть несколько мероприятий, в которых удалось достигнуть баланса. Например, 1 сентября. Давным-давно геймдизайнеры собрались, почесали в затылках и решили, что с праздником знаний в первую очередь ассоциируются книги. Книги - это странички. А еще - пузырьки, раз уж мы имеем дело с алхимиками. Пузырьки разделили по цветам и ценности, завезли в разные подземелья. С тех пор вам, дорогие наши игроки, приходится собирать по подземельям одни и те же бутылки и вспоминать, где какие цвета встречаются. Эволюция здесь тоже присутствует - появляются новые книги, меняются параметры старых, ивент становится все более и более дружелюбным к пользователям. Но резких смен механики больше нет.Здесь важно найти ту правильную дозу изменений, которая позволяет празднику протекать, с одной стороны, привычно, с другой - интересно, что там админы еще придумают?. Казалось бы, вот он секрет успеха! Или нет? Бывает, что срабатывает противоположный подход. Вы можете поменять механизм всему ивенту, выбросить старые правила и придумать что-то совершенно новое. Но пользователи все равно останутся довольны. Хотите пример? Вы не поверите это бонсайчик и все многообразие его инкарнаций. В 2016 году, когда это деревце впервые представили публике, оно всем очень понравилось. Концепция была очень простой: всё, что требовалось от игрока - просто его трясти. Как мы до этого раньше не додумались? Заходишь каждый день и просто щелкаешь по кнопочке использовать. А в ответ, деревце создавало что-то. Иногда крутое, иногда - не очень, а бывало и вообще бесполезную штуку. Это было не так уж важно. Самое главное - игроки получали положительное подкрепление и радовались. Затем, через год, в систему внесли небольшое изменение: чтобы использовать бонсайчик... а, стоп! Извините, это уже был Чудо-Инструмент Ведь первое мая, день труда! Так вот, Чудо-Инструмент надо было использовать в определенной локации определенного города. И это снова зашло игрокам. Да, бродить по городам каждый день было такое себе удовольствие. Но А вдруг там выпадет что-то полезное? Еще через год лопата ломалась об землю, нужно было что-то давать взамен. Идею с живым камнем отвергли сразу же, даже не озвучивая. А лягушка, ломающая шанцевый инструмент - это как минимум оригинально! По механике это была все та же лопата. Но теперь она требовала купания, при том исключительно в фонтанах. Земноводное создавало икринки и активно поощряло всех, кто исполнял его желания несколько дней подряд. Несколько степеней награждения, монетки, баффы, растущие счетчики. Пожалуй, это был самый успешный наш монструозно-превращательный ивент. Идея крохотной лягушки превратилась в нечто большее: появились аквариумы, в которых нужно менять водичку, возможность подселять к лягушке друзей, строить ей домики погодите, кажется я только что выдал секретную информацию! Хм, неудобно получилось. БК развивается согласно законам эволюции. Всё в нашем проекте движется по спирали - круги постепенно расширяются, захватывают все большие зоны влияния. Рано или поздно они становятся настолько широкими, что пользователям становится неуютно. Значит, вновь пришло время придумывать что-то совершенно новое. От простого к сложному, постепенно, каждый год, каждый сезон, каждый месяц. За 20 лет подобных рестартов у нас накопилась целая куча. Некоторые уже изрядно обросли мутациями. Другие только-только появились. Но задела хватит еще не на один десяток лет! Байка 19. Краткая история ГоГоГо
Не менее примечательна история ГоГо. Помните, вчера я рассказывал про спираль развития? Биография маленького гоблина - ещё одна отличная иллюстрация того, как из одного семечка задумки может вырасти целый лес идей.
Все началось с игры Golden Axe. Это артефакт ещё до БК-шной эпохи: рубилово Варвара, Амазонки и гнома сквозь толпы врагов, драки за ездового дракона а ещё мерзкие гномы, которые появлялись во время привала, бегали по полянке и воровали с трудом добытые припасы. Игроку предстояло в этой мини-игре подбежать к мелкому засранцу и пинком выбить из него украденное. Или не выбить - как повезет. Именно воспоминание об этих зловредных гномах подтолкнуло нас к мысли: давайте сделаем что-то подобное в Бойцовском Клубе! Идею подхватили и начали разрабатывать. Делать воришку в общаге - слишком уж жестоко по отношению к игрокам, поэтому решили, что тот будет выпрыгивал после битвы с боссом. Пусть он появляется на несколько разменов, и если игрок не успевает его убить, то и лута после смерти босса не получает! Программисты предложение геймдизайнеров не оценили и сказали, что текущая архитектура выдачи награды не предполагает подобных извращений. Переработка могла занять недели (и то, если у нас, совершенно случайно, завалялись где-то еще пара программистов) и не гарантировала, что после неё не отвалится форум или, например, игроки не начнут превращаться в кровавых хомячков. К тому же, начали появляться опасения, что оставшиеся без лута благодарные игроки возьмутся за вилы и факелы. В общем, игра не стоила свеч. Но от идеи мелкого проказника отказаться уже не могли. Тогда мы решили кардинально сменить тактику: давайте не отбирать у игроков награду, а давать бонус! Незадачливое существо прибегает в бой после смерти босса, пытается умыкнуть лут, но у него в любом случае это не получается. Если в этот момент мародёра шугануть, то игроки получат что-то хорошее. Так и родился Гоблин ГоГо. Кстати, зовут его так неспроста: это сокращение от Голден Гоблин. То есть, полное имя этого существа Гоблин Голден Гоблин. Живите теперь с этим. И вот он получил свое место в мифологии проекта. Похвастаться встречей с ним могли единицы. Но вторая "подработка" ГоГо сделала его по настоящему "народным NPC". Теперь с ним познакомились все любители спускаться в подземелье. И в этом карьерном росте отдельно взятого воришки виноваты автоботы. Нет, не те борцы за добро под предводительством Оптимуса Прайма и заядлые противники Десептеконов, а программы-копалки. В какой-то момент наши подземелья буквально заполонили игроки с однообразным поведением. Все они ходили одним маршрутом и совершали одни и те же действия. Угу - сказали надзирающие за подземельями - у нас опять где-то прорвало ботопровод Надо решать. Пока программисты искали способ фундаментального решения проблемы, ГД смастерили свой временный вариант из гоблина и диалогов. Задумка была гениальная в своей простоте. В начале данжа игрок получал метку, которая срабатывала через некоторое (ныне уже все прекрасно знают - какое) время. По триггеру выпрыгивал наш любимец ГоГо и начинал забрасывать игрока вопросами на определение образов. Если тот отвечал неправильно, то его выбрасывало из данжа. Да, автоботов можно было перенастроить и научить отвечать верно. Но большой объем вопросов и, самое главное, перепутанный порядок ответов делали задачу по модификации скрипта неподъёмной для большинства игроков. Теперь они были вынуждены или оплачивать новую версию копалки, или ходить в данжи самостоятельно. Однако было несправедливо из-за читеров заставлять страдать честных игроков. Поэтому тех, кто честно проходил тест, ГоГо награждал щепоткой мелких, но приятных вкусностей вроде положительных эффектов. Буквально через пару месяцев программисты нашли способ определения ботоводов и стали отлавливать их еще на подходе к пещере. ГоГо был больше не нужен. Но все настолько привыкли к вопрошающему гоблину, что у нас не поднялась рука его убрать. Так он и остался бродить по подземельям, бафая эрудитов и раздражая всех остальных. Через некоторое время в творческом коллективе наступил очередной кризис. Встал ребром вопрос: кто из NPC у нас еще не дает квестов? И снова ответом стал Гоблин. Пришлось ему осваивать очередную профессию - квестодатель. И он с ней достаточно неплохо справился. Сейчас ГоГо - гордый владелец собственной линейки квестов, участник еще нескольких заданий. А вскоре, возможно, пойдет на повышение - там, гляди, и родственников подтянет. Будет у нас в игре фракция "мешочников-эрудитов". Какая мораль у этой истории? Даже если ты всего лишь крошечный, вдохновленный древней игрой гоблин, в нашем проекте у тебя может быть стремительный взлёт по карьерной лестнице и безграничный потенциал роста! Байка 20. Эпилог
Многое хотелось бы ещё поведать про этот мир. У меня... у всех нас есть куча историй о славном прошлом. Не каждая из них настолько экстраординарна, как байка про сражающиеся скрипты или легенда о кровавом хомячке. Не каждый NPC может похвастаться карьерным взлетом ГоГо. Но любое воспоминание, будь то легенда об Ангелах или локальные разборки игроков - часть эпического гобелена под названием Бойцовский Клуб. История, которую мы творим вместе, друзья.
В проекте до сих пор сокрыто огромное количество тайн и загадок, которые игроки ещё не раскрыли. Множество задумок, что ждут полноценной реализации или просто внимательного пользователя. То тут, то там можно обнаружить намёки на будущие события и цепочки квестов - многие из них лежат буквально на поверхности. Осталось лишь найти тот маленький кончик ниточки, за который нужно потянуть. До сих пор никто не догадался, зачем Бродяга собирал коробочки в пустыне. Думаете - просто так? Отнюдь, у него есть задача эпических масштабов, способная встряхнуть и перевернуть смысл большинства подземелий. И в игре есть намек на его личность. Где-то там, в подвалах секретных военных лабораторий, скрывается Б.У.К.А.Ш.И.К v2.0. Он внимательно изучает поведение своих жертв и готов в любой момент выйти на улицы города. Трайн Бука всё ещё хранит в душе ненависть к Хаосу, который разрушил его город. И тлеющая месть может толкнуть его на странные и неожиданные поступки! Не стоит воспринимать его как простого торговца, банального потребителя монет героизма. Вы думаете - Лорд Хаоса был повержен после провала за битву в Ист-Сити? А если я вам скажу, что это не имя, а всего лишь звание, которое может носить не один одна сущность? Разрушитель кажется вам слабаком, раз он отступил? Вы ещё не сталкивались с теми, кто уже начал стирать границы между мирами. Скорее всего, вы это даже заметили - просто не придали этому значения. Ведь это только "младший" действует грубой силой, а новые они предпочитают более изящные способы добиваться своих целей. Где-то вдали от хоженых троп зарылся в песок потерянный дирижабль с таинственной экспедицией Алхимиков. Куда они направлялись и что перевозили? Та еще загадка. А под землёй, глубоко в пещерах, жрецы неведомой религии уже начали свои тёмные ритуалы, готовясь к тому, что игроки вооружённые L оружием (естественно с выгравированной на нём надписью -МегаПихарь-) бросятся на штурм забытых бастионов. Конечно, груз повседневных забот, багов и задач не даёт реализовать всё это одномоментно. Но у нас есть сложный и продуманный план развития мира, его истории. Каждое событие это лишь ещё один кусочек мозаики. В ней найдётся место всем: Кровавому Ордену, Становой Жиле, Хаосу, бессмертным сущностям, мне и вам. Потому что, как я уже говорил, Бойцовский Клуб - это в первую очередь люди. Те, кто его делает. Те, кто в него играет. С годами грань между ними практически стёрлась. Во время юбилейных событий мы немного приоткрыли завесу тайны над будущим. Кто-то уже догадался, что нас ожидает. Остальным же могу посоветовать внимательно следить за новостями. Их будет много, и мы не собираемся останавливаться. Мир продолжает жить, наш корабль следует курсу. Пусть кажется, что он движется в тумане, но мы четко видим свет путеводной звезды, ведущей нас к цели. Даже если сядем на мель, наша команда способна извлечь из этого пользу: почистим дно шхуны от налипших ракушек, приберёмся на палубе, а там очередной прилив, и мы двинемся дальше. В крайнем случае - вылезем сами и подтолкнём! Спасибо вам, что остаётесь с нами, что доверяете матросам, капитану и своим соседям по каюте. Давайте продолжать путь. Ведь впереди ещё столько тайн и приключений! Опубликовано: 30.06.2022 |
Новости Info Paladins
|
© Библиотека паладинов, 2015–2024
|