Готовый перевод I wrote a bug, and it became a feature / Я написал баг, а он стал фичей: Глава 039 - Вне конкуренции

Глава 39: Вне конкуренции

Гу Фань украдкой взглянул на сидевшую рядом Лилит.

Та, однако, не рвала и не метала, а лишь растерянно моргала.

— О чём они говорят? — на лице Лилит читалось полное недоумение. Судя по всему, она до сих пор ничего не понимала.

Гу Фань тоже изобразил крайнее замешательство, а затем развёл руками, как бы говоря: «Понятия не имею».

— Откуда мне знать? Разве не ты дизайнер этой игры? Почему меня спрашиваешь?

Актёрский талант Гу Фаня раскрылся во всей красе. Не дать ему «Оскар» за лучшую мужскую роль было бы просто несправедливо.

— Так, погоди, дай-ка я всё обдумаю.

Лилит нахмурилась, всё ещё ничего не понимая. Казалось, она изо всех сил пыталась мысленно восстановить слова членов жюри.

— Значит, корень всей проблемы в том, что этот блок при вращении можно засунуть в щель?

— Но в других играх так не работает?

— Гу Фань! И как ты это объяснишь?!

Лилит, похоже, внезапно всё осознала. В ярости она вскочила с массажного кресла и гневно уставилась на Гу Фаня.

Тот тут же поднял руки: — Невиновен! Я писал все функции в точности по твоему дизайну!

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

— Если найдёшь, я возьму твою фамилию!

Она упёрла руки в бока и впилась в Гу Фаня взглядом, который ясно говорил: «Ну, посмотрим, как ты теперь будешь выкручиваться».

Гу Фань со вздохом отыскал дизайн-документ, который Лилит написала ранее.

— Смотри, здесь написано, что ты хотела, чтобы падение блоков выглядело как свободное падение. С одной стороны, чтобы соответствовать реалистичному стилю игры и сделать движение блоков более естественным. С другой — чтобы за счёт постепенного ускорения заставить игрока паниковать и вызывать у него больше негативных эмоций.

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

Лилит растерянно моргнула. — Да, это я придумала. Но какое отношение это имеет к багу?

Гу Фань вздохнул. — Самое прямое!

— Думаешь, в игре сорокалетней давности можно было реализовать такой эффект? Разве её базовые логика и код это поддерживают?

— Даже если бы я мог внести изменения в существующий шаблон игры, правок было бы слишком много. Мне было проще всё переписать с нуля!

— Поэтому я и решил начать с чистого листа, переписав в том числе и базовые физические правила.

— Я добавил блокам параметры гравитации, а также физические эффекты падения и столкновения, идеально реализовав твои задумки: «постепенное ускорение при свободном падении» и «дрожание при приземлении».

Лилит всё ещё хмурилась. — Какой ты молодец, мне тебя похвалить? Но я повторяю вопрос: какое отношение это имеет к багу?!

Гу Фань с лёгким сожалением покачал головой. — Дай мне договорить.

— Чтобы реализовать эту функцию и придать блокам эффект гравитации, мне, естественно, нужно было задать им центр приложения силы, верно? То есть центр тяжести. И я, само собой, разместил этот центр тяжести в центральном кубике каждого блока.

— Вращение блоков тоже происходит вокруг этого центра тяжести.

— У остальных кубиков в блоке нет объёма столкновения. При вращении система проверяет только, достаточно ли свободного места после поворота...

— Вот так всё и вышло.

Глаза Лилит слегка расширились. — А? — в полном шоке произнесла она. — Так почему ты не сделал столкновения для остальных кубиков?

Гу Фань выглядел совершенно беспомощным. — Но в твоём дизайн-документе и не было требования делать столкновения для остальных кубиков!

— Я в совершенстве реализовал все нужные тебе функции. Зачем мне было по своей инициативе добавлять что-то ещё?

Лилит начала злиться. — Но я же в конце этого пункта написала! В скобках! «Если будет сложно, можно не делать!» В скобках же!

— Если бы ты просто использовал готовый шаблон, то никаких проблем бы и не было!

— Я программист, — серьёзно ответил Гу Фань. — Если ты ставишь задачу, я должен постараться её выполнить.

— К тому же, реализовать только эффект гравитации было действительно нетрудно, вот я и сделал!

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

Лилит ошеломлённо смотрела на Гу Фаня.

Гу Фань с невинным видом смотрел на Лилит.

Наконец он тихо добавил: — Скажи, какую строчку кода я написал не по твоему заданию?..

Лилит снова сникла. Она раздражённо опустилась в массажное кресло и, подперев лоб рукой, погрузилась в раздумья.

— Подожди, дай-ка я всё разложу по полочкам...

Она быстро прокрутила в голове слова членов жюри и с ужасом обнаружила, что, кажется, винить Гу Фаня и впрямь было не в чем...

Все её дизайнерские решения, включая «Сошествие ангела», сетевой режим, снижение шанса появления длинного блока и так далее, действительно должны были мучить игроков.

Но из-за появления «Вращательного удаления» все эти элементы неожиданно превратились в источник удовольствия!

Однако «Вращательное удаление» появилось из-за того, что Гу Фань реализовывал её же требование о «гравитации и столкновениях». Корень проблемы был в её собственном дизайн-документе...

Предположить, что Гу Фань всё это заранее просчитал? Бессмыслица. Откуда он мог знать, что она напишет в своём дизайне?

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

И если уж искать виноватого, который дёргал за ниточки...

То это могли быть только могущественные Ангелы. Как обычный человек мог провернуть такое?

С какой стороны ни посмотри, Гу Фань был добросовестным работником, который строго следовал дизайн-документу при реализации каждой функции.

И хотя порой возникали отклонения и нелепые недоразумения, у всех них были вполне объяснимые причины.

Придя к этому выводу, Лилит раздражённо взъерошила волосы.

— Чёрт!

— Ладно, забудем об этом! Я возвращаюсь, чтобы готовить дизайн-документ для следующей игры!

— А ты побыстрее набери людей. Через пару дней мы немедленно приступаем к разработке!

С этими словами Лилит сердито исчезла.

...

...

Вечером следующего дня.

По первоначальному плану сегодня должна была состояться церемония награждения победителей Конкурса по разработке мини-игр.

Однако по какой-то необъяснимой причине она превратилась в вечер восхваления «Антирайских блоков».

Ничего не попишешь: разрыв в уровне между работами-победителями был слишком велик. Все остальные проекты, вместе взятые, не стоили и мизинца «Антирайских блоков»!

В глазах жюри «Антирайские блоки» были практически чудом геймдизайна. Они и представить не могли, что на Конкурсе по разработке мини-игр может появиться нечто подобное.

В голосовании игроков «Антирайские блоки» также лидировали с огромным отрывом!

Конечно, «Вращательное удаление» было довольно продвинутой техникой. Она требовала от игрока создавать пустоты особой формы, что было гораздо сложнее, чем примитивное «ожидание длинного блока», и освоить её за один день было невозможно.

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

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

В одночасье все ветераны «Вращающихся блоков» в стране ринулись скачивать «Антирайские блоки», желая освоить новейшую технику «Вращательного удаления».

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

А что до негативных эмоций...

Каких ещё негативных эмоций?

Гу Фань отчётливо видел: количество негативных эмоций, производимых «Антирайскими блоками», стремительно падало, постепенно приближаясь к нулю и в итоге достигнув странного равновесия.

Нельзя сказать, что их не было совсем, но, как говорится, и на том спасибо.

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

Когда объявили окончательные результаты, «Антирайские блоки» практически без какой-либо интриги завоевали главный приз Конкурса по разработке мини-игр.

Денежная премия составляла 300 тысяч — сама по себе сумма незначительная, но куда важнее было то, что организаторы предоставили эксклюзивное место для продвижения и позволили выставить «Антирайские блоки» на продажу по цене 18 юаней!

Цены на такие мини-игры устанавливались официально: чем выше качество, тем выше цена.

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

И даже при цене в целых 18 юаней продажи «Антирайских блоков» среди всех конкурсных работ были абсолютно вне конкуренции!

http://tl.rulate.ru/book/148167/8231499

Обсуждение главы:

Еще никто не написал комментариев...
Чтобы оставлять комментарии Войдите или Зарегистрируйтесь