Пятничные факты #314 – Стабильная 0.17

Поделиться

опубликовали Klonan, kovarex

Привет,
технически этот пост – «ПИ-Пятничные факты», но, к сожалению, мы не можем придумать ничего особенного … может быть, кто-то может сделать торт Combinator … который может вычислить Пи?

Стабильная 0.17 Klonan

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

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

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

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

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

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

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

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

Разработка, новая функция, новый графический интерфейс и т. Д. – это, как правило, длительный творческий процесс. Новые системы должны быть созданы из чистого мышления, идеи для реализации должны быть оценены и определены, и это также включает в себя много «фоновой обработки». Разработка функций всегда имеет больше возможностей для расширения, и очень сложно сказать «она закончена». Это также довольно субъективный результат, поэтому иногда трудно понять, хорошо ли вы сделали.

Исправление ошибок, с другой стороны, очень короткая форма и ориентирована на вызовы. Это похоже на расследование тайны убийства и действительно похоже на полную историю. Отслеживание проблемы внутри игрового движка задействует логическую часть вашего мозга, пытаясь собрать воедино и отследить, где произошла ошибка. Как правило, ошибка имеет очень четкое «условие победы», и вы можете закрыть игру и позволить своему разуму успокоиться. Результат исправления ошибок строго основан на объективных измерениях, поэтому вы можете быть достаточно уверены, что «хорошо поработали».

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

Есть также несколько прагматичных причин, по которым я думаю, что более менее быстрые выпуски будут способствовать плавному движению:

  • Исправления ошибок после стабильной версии будут выпущены в короткие сроки.
  • Поток входящих ошибок будет менее экстремальным, не будет более массивных волн с каждым крупным выпуском.
  • Будет меньше «блокировок», когда незавершенные функции задерживают выпуск. Они просто будут запланированы на другой релиз.
  • Обратная связь будет более сфокусированной, поэтому нам будет проще ее оценить.

В начале года я прочитал книгу Кларка Чинга «Rolling Rocks Downhill». Это книга об управлении программными проектами, она была довольно приятной для чтения и вдохновила меня на попытки оптимизировать наши усилия по разработке. В то время мы просто заканчивали 0,17, так что не было много места, чтобы внести изменения в то, как мы работаем. Теперь, когда мы стабилизировали 0,17 и завершили «традиционный» цикл, появилась возможность для нового подхода. Я думаю, что на следующей неделе я прочту книгу еще раз …

В World of Warcraft есть несколько хороших идей kovarex

Как вы, наверное, знаете, я провел довольно много времени, играя в классику World of Warcraft последние несколько недель. Я нахожу очень интересным, что многие люди (включая меня) находят эту версию игры лучше, чем современная, есть много причин, по которым я вижу (и некоторые, которых я не вижу), но она заслуживает небольшого анализа как всегда лучше учиться на чужих ошибках. Под этим я подразумеваю, что я не хотел бы тратить следующие 10 лет, работая над улучшенными версиями Factorio, просто чтобы выяснить, что старые почему-то были лучше.

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

Одна из вещей в WOW хорошо проиллюстрирована в этом видео. Когда людям приходилось собирать группы для подземелья в те времена (а теперь и в классическом), они должны были делать это вручную. Они должны были спамить каналы LFG (* Looking for group), спрашивать в гильдиях или находить давних друзей, с которыми можно поиграть. В современном мире, они сделали поиск подземелий, который позволяет вам просто выбрать роль и автоматически телепортировать вас в данж с соответствующими людьми. Это кажется большим удобством. Но на самом деле, он удаляет так много, что многие считают его одной из самых ненавистных функций.

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

Еще один большой пример – масштабирование уровней. Идея опять хороша, чтобы было удобнее. С масштабированием уровней монстры удобно масштабируются до вашего уровня в зоне, где вы находитесь, так что вы можете выполнять квесты в любом месте, без необходимости избегать областей с слишком высоким или низким уровнем относительно вашего уровня. Но я считаю, что это на самом деле чума любой игры, где это появляется. Вместо зон, их уровней и вашего уровня, что-то значащего, и прогресса, отчетливо видимого на каждом уровне, внезапно все это исчезает. Мир – это не место для исследования, а скорее аркадное место, где все вокруг вас. Ваш уровень не имеет большого значения, так как его слишком низкий уровень больше не является проблемой. Моменты того, что вам нужно бежать из областей, где вы слишком слабы, чтобы вернуться позже, являются одними из самых важных в РПГ, и внезапно они исчезают. Прогресс, который вы видите в играх, подобен взгляду из окна поезда, если поезд движется и пейзаж движется одинаково, вы не будете чувствовать, что движетесь вообще.

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

  • Получение первого средства передвижения на 40 уровне за 100 золотых? Вам нужно много ходить, прежде чем вы получите это, и это может иногда раздражать. Но когда вы на самом деле получаете это, это значит, много. Подобно тому, как это меняет правила игры, чтобы получить строительных роботов / логистических роботов / силовую броню. Добраться туда непросто, и, безусловно, есть много моментов, когда вы / мы чувствуем, что иметь их раньше может быть удобнее. Но это только уменьшило бы, насколько это большое и ценное обновление.
  • Мы думали об инструменте для строительства конвейеров, похожем на инструмент для строительства рельсов. Он просто соединяет концы и даже находит подземные соединения и т. Д., Чтобы добраться до пункта назначения. Было бы супер удобно. Но внезапно решение головоломки с конвейером не будет иметь большого значения, а наличие фабрики по производству конвейеров будет означать гораздо меньшее достижение.

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


Поделиться

Комментарии: