Месяц назад Andre связался со мной и сказал: «Дима, мы с ребятами едем в Чехию, и я решил встретиться с Коварексом и взять у него интервью. Ты знаешь про Факторио больше меня, можешь подкинуть несколько вопросов?»
В этот момент я слегка растерялся, ведь примерно месяц назад в честь миллиона продаж игры Коварекс дал интервью (на чешском) и провёл серию «вопрос-ответ» Ask Me Anything на Реддите, где ответил на самые волнующие вопросы. Спрашивали о разном: про планы, про игровые особенности и предпочтения, про устройство кода игры и про то, как достичь такой же популярности. В свете этого мне было тяжело придумать что-то, о чём он ещё не говорил. Поэтому логически этот перевод должен был выйти раньше статьи Андре, но уж как есть.
Вы планируете когда-нибудь добавить высоты на плоскую карту? Например, фейковые обрывы как в C&C 1 или разные уровни базы под и над землёй. У вас есть планы добавить космос и орбитальные платформы в качестве логистических хабов, чтобы можно было перемещать избыточные ресурсы с одной планеты туда, где их не хватает?
Мы много раз думали добавить фейковые обрывы, особенно этого хотел графический отдел, ведь они сделают карту гораздо разнообразнее. Но нам пришлось отбросить эту идею, по крайней мере для базовой игры, из-за множества проблем, которые она принесёт (наклонные конвейеры/рельсы/поезда). Ещё есть проблема чертежей: игроки всё равно захотят сделать всё плоским, чтобы расставлять чертежи предсказуемо. В начале игры подстраиваться под ландшафт может быть интересным, но на поздних стадиях это обернётся головной болью.
Настоящую многоэтажность, вроде подземных пещер, легко добавить, но тогда игроки не смогут видеть несколько уровней разом. Будет сложнее понять планировку, если её невозможно окинуть одним взглядом. А ещё, вероятно, это уменьшит роль логистического челленджа в игре.
Космос — это логичный ход для развития игры, который мы можем добавить в будущем. Или нет. :)
Как долго вы планируете работать над игрой? В одном из последних Factorio Friday Facts сказано, что к релизу осталось добавить не так много запланированного контента — артиллерийский поезд и, может быть, паукотрон. Будете ли вы добавлять контент и новые механики после релиза? Или, может, у вас есть планы на новую игру?
Мы не хотели бы связывать себе руки обещаниями. Проблема в том, что я не знаю ни одного инди-разработчика, который бы после того, как выпустил хит, смог бы повторить успех в другом жанре. Обычно лучший способ продолжать дела для таких компаний — выпускать экспаншены и сиквелы, как способ продолжения своей уникальной идеи. С другой стороны, мы наверняка захотим попробовать что-то новенькое; мысль делать Факторио-7, когда мне стукнет шестьдесят, не очень греет душу. :)
У вашей игры один из самых положительных рейтингов по отзывам среди не ААА-тайтлов. Есть ли у вас планы экстенсивно ускорить разработку? Или вы планируете продолжать в своём ритме в текущем составе команды? Майнкрафт имел ошеломительный успех, но является ли его бизнес-модель образцом для вас? Как вы считаете есть ли у Факторио такой же потенциал?
Что вы имеете ввиду под «экстенсивно ускорить разработку»? Если это значит нанять 50 человек и стать крупнее, то нет. У нас есть конкретные планы по завершению разработки Факторио, и найм кучи людей в штат не ускорит этот процесс. Факторио определённо не обладает сравнимым с Майнкрафтом потенциалом. У нас более специализированная игра для менее обширной аудитории. И мы более чем довольны этим фактом.
На какой платформе вы решили изначально построить и протестировать идею Факторио, и как вы пришли к текущей реализации? Если я помню верно, на ранних скриншотах игры были значки LWJGL. Это значит, что сначала игра была написана на JAVA, как и Майнкрафт, и чтобы масштабировать её, вам пришлось переключиться на более системно ориентированный подход? И как вам чувствуется там же, где и Нотч?
Переход с Java случился ещё до того, как возникли проблемы с производительностью. Я исследовал Java на предмет структуры данных и менеджмент памяти, тогда я и решился на переход на другой язык.
Я не там же, где Нотч. Мы намного меньше, хотя, возможно, наш опыт схож. Чувствуется прекрасно. Это здорово, что хорошая идея, преданность ей, правильная работа со временем и много удачи могут переродиться во что-то настоящее. У меня всегда были проблемы с уверенностью в себе, и я их маскировал тем, что стремился казаться уверенным. Проблема сильно уменьшилась, хотя и не исчезла совсем.
Какие заметные фишки, которые выходили за пределы основного геймплея, пришлось вырезать из игры? Я часто слышу что игроки предлагают добавить разные возможности, объясняя, что это будет «очень простым добавлением», и, возможно, так оно и будет, но я боюсь, что это всё может сильно захламить интерфейс. Были ли у вас с этим проблемы, и как вы их решали?
Кучу раз были. Большинство идей отбрасываются — это естественный ход дел. Иногда было сложно. Мы стараемся выжать максимум возможностей из минимального набора фич и машин в распоряжении игроков. Именно поэтому мы не включили «погрузчик» в игру, учитывая, что уже есть «пакетный манипулятор». Ещё мы отбросили маленький электрический столб для логических сетей, хотя уже даже нарисовали для него графику.
Погрузчики всё же есть в файлах игры, их просто нельзя скрафтить!
Да, их можно использовать в модах, я просто не хотел удалять их, раз они уже запрограммированы.
Как разработчик, я восхищён, как невероятно отполирована игра в плане архитектуры, иначе было бы просто невозможно так быстро исправлять столько багов. Можете рассказать немного о процессе разработки и ваших лучших практических решениях?
По моим меркам, мы делаем всё не так хорошо, как должны бы. Большинство багов очень простые в исправлении, поэтому 20 багфиксов за 2 дня на несколько человек — не то чтобы достижение. Мы стараемся реорганизовывать даже те системы, которые работают, но которые нам кажутся корявыми. Важно отметить момент, когда исправление одной проблемы в системе уже недостаточно, и надо переделывать всю систему. Часто это происходит с графическим интерфейсом, его мы чаще всего недооцениваем, и его никто не хочет переделывать. Я потихоньку начинаю обращать внимание коллег на это. Интерфейс не кажется мне надёжным, и очень часто он подводит.
Если бы вы завтра начали работать над Факторио 2 с нуля, что бы вы сделали иначе технологически и геймплейно?
А что плохого в LUA?
Странные структуры данных, странная индексация, странный объектный биндинг, нельзя полностью сериализовать состояние скрипта.
За несколько лет Факторио прошла несколько этапов заметного улучшения производительности с помощью оптимизации кода. Ваши советы — как сделать код легко оптимизируемым?
Не думаю, что в коде может быть что-то конкретное, что легко оптимизировать. Очевидно, что чем более структурный и чистый код, тем лучше, особенно когда нет повторений и избыточности. Некоторые способы оптимизации делают код сложнее, так что лучше сразу делать чисто. Что касается самой оптимизации, основная мысль такова — «Если бы я выполнял код вручную, какая часть была бы самой утомительной и повторяющейся?»
Что бы вы сделали иначе, если бы знали, что Факторио станет такой популярной?
Мы бы не пользовались Allegro. Аллегро комьюнити очень приятное, не хочу сказать ничего плохого, но эта библиотека предназначена, скорее, для хобби-проектов. Хороший графический движок спас бы нас от множества проблем, вроде «Я запускаю игру на системе X, видеокарте Y и графических настройках Z, а у меня чёрный экран.»
Есть какие-нибудь смешные глупые штуки, которые было бы слишком сложно добавить, но всё равно хочется?
Я бы хотел улучшить логику логистической сети роботов (в том числе строительных ботов). Хотелось бы исправить ситуации, когда ближайшие боты выполняют задачу за 5 секунд, но на эту работу также назначаются и летят несколько минут боты с другого конца базы. Местные же роботы могли бы справиться с оставшейся частью работы за ещё 5 секунд. К сожалению оказалось, что исправление этой части изменит и, возможно, сломает множество других вещей в системе.
Привет! Факторио — первая игра, с которой я испытал эффект Тетриса. У вас есть советы как сделать так, чтобы мне перестали сниться сны о том, как транспортировать карандаши и грязные тарелки с помощью синих экспресс-конвейеров? Я бы хотел хоть немного выспаться. Спасибо заранее.
Вообще нам бы хотелось больше акцента на эффекте Тетриса. Маяки немного помогли, но не так, как я представлял себе. :)
Иногда я представляю, что хочу собрать обычного робота-пылесоса, можешь тоже помечтать об этом. :)
Мне очень нравится новая система с космическими научными пакетами. Есть планы отодвинуть её дальше в энд-гейм? Например, сделать так, чтобы игрокам надо было сесть в ракету и построить лунную базу (нет воды, гравитация меньше, больше солнечной радиации, нет ДВС и так далее), в новом окружении делать новые научные пакеты.
Если мы будем делать экспаншен с космической тематикой, это будет естественной частью продолжения.
Какое самое классное творение игроков вы видели?
Определение «классного» менялось на протяжении разработки игры. Сначала это были игроки, которые делали базы крупнее моих. Потом базы с более крупными железнодорожными сетями. Затем появились конвейерные балансеры. Кто-то придумал систему магистральной шины. Автомобили на конвейерах, грузовые вагоны вместо сундуков, фабрики, оптимизированные для ходьбы по ним, просто красивые фабрики, эффективные железнодорожные пересечения, безумства с логическими сетями, много всего.
Есть ли что-то, из-за чего вы горды/рады за своё сообщество? Вроде первого человека, сделавшего фабрику с эффективностью 1 ракета/минуту?
Я видел множество фабрик, которые мне присылали для исправления багов, чтобы на них можно было воспроизвести ошибку. Много раз я был восхищён. Меня всегда посещает гордость за то, как игроки проводят своё время за созданием этих вещей в игре. Если честно, по большей части, я учусь как строить эффективно у других людей.
Вы сами играете в Факторио в свободное время? Я знаю, что множество разработчиков перестают играть в свои игры через какое то время, так как это им начинает напоминать работу.
Я построил две больших базы в синглплеере и одну в мультиплеере на версии 0.15. По-моему, это много. Я не играю через Стим, по понятной причине, так как мы играем на живых версиях игры, поэтому Стим не регистрирует моё время, но, думаю, там много наиграно. Я планирую построить огромный завод, потребляющий 16 полных экспресс-конвейеров железа. :)
Вы начали с Факторио после того, как вам не ответили в Mojang. Нотч уже прислал вам своё резюме? ;D
А если серьёзно, вы с ним связывались? Он давал какие-то советы или рекомендации о том, какое направление лучше взять для Факторио?
Неа, один раз я написал ему, что ему надо бы начать упражняться. Он ответил, что уже нанял личного тренера. И всё. Больше ничего не ответил. Наверное он уже переживает, что не стал упорствовать. :)
«Эй, Нотч, ты, может быть, и миллионер, но ты всё равно жирный» LOL
Не совсем так. Я не про внешний вид, а про самочувствие: занимаешься → чувствуешь себя лучше → жизнь прекрасна.
А ты сам занимаешься? Как много? Не троллинг, просто интересно.
У меня свой тренер, и я занимаюсь по часу по утрам пять раз в неделю. Иногда я пропускаю (болезни, каникулы), так что я бы сказал в среднем по 4 раза. Это не достаточно чтобы похудеть, но достаточно, чтобы чувствовать себя хорошо. А ещё так я заставляю себя вставать рано утром и соблюдать здоровый распорядок дня.
В FFF #189 вы упомянули об артиллерийском поезде. Понятно, что идея ещё на ранней стадии, поэтому тут мало о чём говорить. Но какой в нём смысл в целом? Это будет ещё одно транспортное средство под управлением игрока или что-то автоматическое? Он будет останавливаться на станциях, чтобы с них открывать огонь по врагам?
Это будет способ автоматически уничтожать базы жуков.
Какой ваш любимый мод для Факторио?
Я не так чтобы много играю с модами, но планирую поиграть с ними, когда у меня будет больше времени. Обычно, когда я пробовал мод, и он мне нравился, я включал его в ваниллу так или иначе. Чертежи, ссылка на чертёж, прокладчик путей, ж/д цистерна — всё это сначала были моды. Следующее, что я хочу попробовать, это Модернизатор (Upgrade tool mod).
Классно, что вы не боитесь делать так. Множество разработчиков (см. Майнкрафт) часто пытаются добавить в игру вещи, которые никто ещё не сделал, и выпускают никому не нужные обновления. Моды нужны для того, чтоб игроки могли улучшать игру. Обновления нужны для того же. Так что если мод значительно улучшает игру, то почему бы его не включить в игру?
Согласен. Цель не в том, чтобы доказать, что у тебя есть лучшие и оригинальные идеи. Цель в том, чтобы сделать хорошую игру. Слишком большое эго приносит в мир слишком много разрушений.
Вы говорили о том, чтобы замкнуть цикл с помощью космической науки. А есть ещё идеи замкнутых циклов? Сейчас запуск ракет представляет из себя масштабную чёрную дыру, куда уходят ресурсы, в то же время существует ядерная электроэнергия, которую чаще всего просто некуда девать. Есть идеи добавить что-то очень энергозатратное для оправдания огромных ядерных станций?
Плюс, Дерево → уголь, пожалуйста.
Замыкание этого цикла сравнимо с созданием новой игры. Может быть, это будет колонизация новых планет с ограниченным запасом вещей, которые можно будет взять с собой.
Почему на конвейерах два ряда? Как появилась эта особенность?
Это было случайностью. Первые версии конвейеров не имели закруглений на поворотах, поэтому вещи на них кучковались по одну сторону ленты после поворотов. Через какое-то время мы стали использовать это, но чтобы это стало по-настоящему удобным, нам пришлось сделать правильные закругления.
Совет для тех, кто начинает играть в Факторио?
Пройти кампанию, хотя бы первые пять миссий. Помогает новичкам понять основы. Не тратить время в ожидании пока вещи сделаются, лучше работать над улучшением и оптимизацией продуктивности. Не копировать слепо свой первый дизайн снова и снова — экспериментировать и стараться делать его модульным, чтобы можно было масштабировать. Поезда. :)
Привет! Вы думали над тем, чтобы добавить ж/д тоннели (по аналогии с подземными конвейерами)? Это сделало бы строительство баз намного более простым.
Знаете что ещё лучше? Мосты! Они помогут с пересечениями и сделают заводы намного красивее. Если мы сделаем экспаншен, я рассмотрю такую возможность, у меня уже есть планы, как это сделать.
А разве мосты не загородят за собой вид? В любом случае — вам решать. Пожалуйста, пожалуйста, сделайте так, чтобы можно было делать пересечения без сигналов <3<3
Мы сделаем их лёгкими. Да, они заслонят кое-что, но зато они выглядят классно! Это стоит того. :)
В Чехии есть какая-то особенность, в смысле обучения, культуры или социальной поддержки, которая, по-вашему, внесла свой вклад в успех вашего начинания?
Плюс в Чехии в том, что здесь довольно дёшево, по сравнению с западной Европой, США или Австралией. Это помогло нам прожить на доход от продаж игры на старте разработки, и этого не хватило бы в более богатых странах. Есть ещё более дешёвые для проживания страны, но и уровень жизни в них ниже, а возможностей для образования меньше. Мы не использовали никаких государственных грантов или пособий социального страхования и гордимся этим.
Какие «хаки» есть в коде, чтобы сделать стабильную версию? Или код полностью чист от них и проработан?
Множество их. По большей части они связаны с GUI и тайлингом. По непонятной причине мозаичные спрайты не всегда точно прилегают друг к другу. Думаю, это проблема плавающей запятой в видеокарте. Поэтому некоторые вещи в игре отрендерены в масштабе 1,001.
В Факторио очень много детализированной симуляции (например, симуляция движения руки манипулятора в определённую позицию каждый такт вместо простой анимации движения). Это намеренное решение или просто практическое?
Когда манипулятору надо взять вещь с движущейся ленты, нужна процедурная анимация, так как ему надо иметь возможность двигаться во все возможные точки в своей доступности.
Вы думали когда-нибудь ввести самолёты в игру? Не знаю почему, но у меня есть идея автоматических самолётов, которыми можно также управлять вручную. Ещё, я думаю, крушения в ручном режиме должны быть практически неизбежными при посадке.
Много раз думали. Если они будут действительно быстрыми и требующими подобающую взлётно-посадочную полосу, это может быть круто. Это ещё одна из тех тысяч вещей, о которых мы задумывались. :)
Какие мысли о том, чем заняться после того, как закончится разработка Факторио? Новая идея для игры? Пенсия? Может стать фермером?
Я начинаю семейную жизнь, так что больше времени с семьёй как вариант. Но, зная себя, рано или поздно я захочу продолжить креативную деятельность.
Есть планы изменить жуков? Я бы хотел разные способы взаимодействия с ними: войны, торговля и т.д.
Пока таких планов нет, но мы думаем в том же ключе. Правда наши идеи могут быть чуть более злыми и кровожадными.
Есть планы по расширению ядерной энергетики (до 1.0, либо же в экспаншене) чтобы сделать её более похожей на то, как было в изначальных планах: добавить градирни и возможность расплавления ядра? Или вы довольны тем, как оно есть на текущий момент?
Трудный вопрос. Честно говоря, есть множество вещей, которые можно было бы добавить вместо этого. Чем больше я думаю, тем больше уверяюсь в том, что производство электричества является обособленной частью игры и мало связано с остальной частью фабрики.
Какую часть игры было сложнее всего писать?
Самое сложное было сделать игру детерминистичной, чтобы можно было играть по сети. Это заняло несколько месяцев, и я не был уверен как близко к завершению я нахожусь. Но зато я выучил много нового за этот период.
У меня на самом деле нет вопроса. Я просто хотел сказать спасибо вам и каждому в команде за этот бриллиант в игровом пространстве, за вашу упорную работу и то, с какой преданностью вы делаете одну из лучших игр! :)
Спасибо!
Что вы думаете по поводу суши-лент? Умный дизайн или чудище богомерзкое?
Я всякий раз счастлив, когда я нахожу новый способ игры. Это не всегда про эффективность.
В смысле… Когда это происходит не на моей фабрике! :)
Что за колдунство движет конвейерные ленты? Как они вообще движутся без электричества?
Хомячки. В следующем апдейте вам придётся кормить их.
Думали уйти из геймдева? Если Факторио станет большим хитом, вы просто уйдёте на пенсию с деньгами?
Факторио уже большой хит. На заработанные деньги я мог бы уже уйти на пенсию, но я не представляю себя без программирования.
Почему стимпанк? Почему не стандартные блестящие чистые строения, которые часто встречаются в других sci-fi играх?
Просто так вышло. Игрок строит вещи вручную, так что они должны выглядеть более импровизированными, нежели индустриальные станки высшего класса.
Есть планы сделать инопланетян более значимой частью игры? Сейчас они только раздражают.
Точно не в 1.0. Мы концентрируемся на самой фабрике, жуки нужны только чтобы добавить давление среды.
Будет ли в игру добавлена телепортация, чтобы путешествовать безопаснее?
Я много раз об этом думал. Телепорты — это круто. Но точно не до Факторио 1.0.
Если бы можно было легко смешать две игры вместе, с какой бы вы смешали Факторио?
Я бы выбрал Dwarf Fortress, фабрику с живыми хаотичными шестерёнками! Друг выбрал Kerbal Space Program.
Самая моя безумная идея на сейчас — Baldur’s Gate. И я уже знаю как она должна работать. :) У вас должны быть заводы по производству заклинаний первого уровня. Для заклинаний следующего уровня, вам надо пойти под землю и отыскать там источник эфира (шахта) или изучить новые продукты заклинаний и так далее. :) Придя в деревню, вы будете решать их проблему с гоблинами с помощью шахты и фабрики магического оружия. :)
Вы думали над добавлением случайности в рецепты?
Смотря на новые дорогие рецепты, я понял, как легко стать самодовольным, имея готовые чертежи с точно рассчитанными пропорциями. Немного опционального рандома даст больше интересного челленджа и отобьёт охоту копировать снова и снова.
У нас уже есть переработка урана. И может быть в какой-нибудь следующей игре мы введём механику отходов.
Почему я влил более 300 часов в Фаторио и до сих пор лажаю?
Я тоже лажаю, а влил ещё больше.
Я тоже разработчик, работаю над игрой, у которой много поклонников Факторио.
Какие способы вы использовали чтобы привлечь больше игроков?
Я уже затрагивал это в интервью. Это одна из самых сложных вещей, у которой нет простого рецепта на все случаи. Если бы он был, все инди-разработчики были бы богачами. :) В нашем случае мы концентрировались на том, чтобы сделать честный отполированный трейлер, отличную игру и сообщество.
В этот момент я слегка растерялся, ведь примерно месяц назад в честь миллиона продаж игры Коварекс дал интервью (на чешском) и провёл серию «вопрос-ответ» Ask Me Anything на Реддите, где ответил на самые волнующие вопросы. Спрашивали о разном: про планы, про игровые особенности и предпочтения, про устройство кода игры и про то, как достичь такой же популярности. В свете этого мне было тяжело придумать что-то, о чём он ещё не говорил. Поэтому логически этот перевод должен был выйти раньше статьи Андре, но уж как есть.
Вы планируете когда-нибудь добавить высоты на плоскую карту? Например, фейковые обрывы как в C&C 1 или разные уровни базы под и над землёй. У вас есть планы добавить космос и орбитальные платформы в качестве логистических хабов, чтобы можно было перемещать избыточные ресурсы с одной планеты туда, где их не хватает?
Мы много раз думали добавить фейковые обрывы, особенно этого хотел графический отдел, ведь они сделают карту гораздо разнообразнее. Но нам пришлось отбросить эту идею, по крайней мере для базовой игры, из-за множества проблем, которые она принесёт (наклонные конвейеры/рельсы/поезда). Ещё есть проблема чертежей: игроки всё равно захотят сделать всё плоским, чтобы расставлять чертежи предсказуемо. В начале игры подстраиваться под ландшафт может быть интересным, но на поздних стадиях это обернётся головной болью.
Настоящую многоэтажность, вроде подземных пещер, легко добавить, но тогда игроки не смогут видеть несколько уровней разом. Будет сложнее понять планировку, если её невозможно окинуть одним взглядом. А ещё, вероятно, это уменьшит роль логистического челленджа в игре.
Космос — это логичный ход для развития игры, который мы можем добавить в будущем. Или нет. :)
Как долго вы планируете работать над игрой? В одном из последних Factorio Friday Facts сказано, что к релизу осталось добавить не так много запланированного контента — артиллерийский поезд и, может быть, паукотрон. Будете ли вы добавлять контент и новые механики после релиза? Или, может, у вас есть планы на новую игру?
Мы не хотели бы связывать себе руки обещаниями. Проблема в том, что я не знаю ни одного инди-разработчика, который бы после того, как выпустил хит, смог бы повторить успех в другом жанре. Обычно лучший способ продолжать дела для таких компаний — выпускать экспаншены и сиквелы, как способ продолжения своей уникальной идеи. С другой стороны, мы наверняка захотим попробовать что-то новенькое; мысль делать Факторио-7, когда мне стукнет шестьдесят, не очень греет душу. :)
У вашей игры один из самых положительных рейтингов по отзывам среди не ААА-тайтлов. Есть ли у вас планы экстенсивно ускорить разработку? Или вы планируете продолжать в своём ритме в текущем составе команды? Майнкрафт имел ошеломительный успех, но является ли его бизнес-модель образцом для вас? Как вы считаете есть ли у Факторио такой же потенциал?
Что вы имеете ввиду под «экстенсивно ускорить разработку»? Если это значит нанять 50 человек и стать крупнее, то нет. У нас есть конкретные планы по завершению разработки Факторио, и найм кучи людей в штат не ускорит этот процесс. Факторио определённо не обладает сравнимым с Майнкрафтом потенциалом. У нас более специализированная игра для менее обширной аудитории. И мы более чем довольны этим фактом.
На какой платформе вы решили изначально построить и протестировать идею Факторио, и как вы пришли к текущей реализации? Если я помню верно, на ранних скриншотах игры были значки LWJGL. Это значит, что сначала игра была написана на JAVA, как и Майнкрафт, и чтобы масштабировать её, вам пришлось переключиться на более системно ориентированный подход? И как вам чувствуется там же, где и Нотч?
Переход с Java случился ещё до того, как возникли проблемы с производительностью. Я исследовал Java на предмет структуры данных и менеджмент памяти, тогда я и решился на переход на другой язык.
Я не там же, где Нотч. Мы намного меньше, хотя, возможно, наш опыт схож. Чувствуется прекрасно. Это здорово, что хорошая идея, преданность ей, правильная работа со временем и много удачи могут переродиться во что-то настоящее. У меня всегда были проблемы с уверенностью в себе, и я их маскировал тем, что стремился казаться уверенным. Проблема сильно уменьшилась, хотя и не исчезла совсем.
Какие заметные фишки, которые выходили за пределы основного геймплея, пришлось вырезать из игры? Я часто слышу что игроки предлагают добавить разные возможности, объясняя, что это будет «очень простым добавлением», и, возможно, так оно и будет, но я боюсь, что это всё может сильно захламить интерфейс. Были ли у вас с этим проблемы, и как вы их решали?
Кучу раз были. Большинство идей отбрасываются — это естественный ход дел. Иногда было сложно. Мы стараемся выжать максимум возможностей из минимального набора фич и машин в распоряжении игроков. Именно поэтому мы не включили «погрузчик» в игру, учитывая, что уже есть «пакетный манипулятор». Ещё мы отбросили маленький электрический столб для логических сетей, хотя уже даже нарисовали для него графику.
Погрузчики всё же есть в файлах игры, их просто нельзя скрафтить!
Да, их можно использовать в модах, я просто не хотел удалять их, раз они уже запрограммированы.
Как разработчик, я восхищён, как невероятно отполирована игра в плане архитектуры, иначе было бы просто невозможно так быстро исправлять столько багов. Можете рассказать немного о процессе разработки и ваших лучших практических решениях?
По моим меркам, мы делаем всё не так хорошо, как должны бы. Большинство багов очень простые в исправлении, поэтому 20 багфиксов за 2 дня на несколько человек — не то чтобы достижение. Мы стараемся реорганизовывать даже те системы, которые работают, но которые нам кажутся корявыми. Важно отметить момент, когда исправление одной проблемы в системе уже недостаточно, и надо переделывать всю систему. Часто это происходит с графическим интерфейсом, его мы чаще всего недооцениваем, и его никто не хочет переделывать. Я потихоньку начинаю обращать внимание коллег на это. Интерфейс не кажется мне надёжным, и очень часто он подводит.
Если бы вы завтра начали работать над Факторио 2 с нуля, что бы вы сделали иначе технологически и геймплейно?
- Я бы не использовал Allegro и предпочёл бы более распространённую библиотеку.
- Я бы лучше продумал интерфейс и прикладную логику.
- Я бы выбрал другой скриптовый язык вместо LUA, может быть даже самодельный.
- Я бы подождал язык Jai, либо же написал свою собственную STL, чтобы сократить время компиляции.
- Я бы подумал о 3D, но я не уверен в этом. Вместо кучи одних проблем, появилось бы столько же других.
- Возможно, мы бы изменили центральный концепт работы игры (то есть конвейер→манипулятор→сборочный автомат→манипулятор→конвейер, повторить с вариациями). Может быть, немного более реалистичный подход был бы более занимательным до тех пор, пока он не делает игру утомительной. Например, электронику сделать сложнее, и чтобы нельзя было просто руками сделать из железной пластины шестерёнку, и так далее.
А что плохого в LUA?
Странные структуры данных, странная индексация, странный объектный биндинг, нельзя полностью сериализовать состояние скрипта.
За несколько лет Факторио прошла несколько этапов заметного улучшения производительности с помощью оптимизации кода. Ваши советы — как сделать код легко оптимизируемым?
Не думаю, что в коде может быть что-то конкретное, что легко оптимизировать. Очевидно, что чем более структурный и чистый код, тем лучше, особенно когда нет повторений и избыточности. Некоторые способы оптимизации делают код сложнее, так что лучше сразу делать чисто. Что касается самой оптимизации, основная мысль такова — «Если бы я выполнял код вручную, какая часть была бы самой утомительной и повторяющейся?»
Что бы вы сделали иначе, если бы знали, что Факторио станет такой популярной?
Мы бы не пользовались Allegro. Аллегро комьюнити очень приятное, не хочу сказать ничего плохого, но эта библиотека предназначена, скорее, для хобби-проектов. Хороший графический движок спас бы нас от множества проблем, вроде «Я запускаю игру на системе X, видеокарте Y и графических настройках Z, а у меня чёрный экран.»
Есть какие-нибудь смешные глупые штуки, которые было бы слишком сложно добавить, но всё равно хочется?
Я бы хотел улучшить логику логистической сети роботов (в том числе строительных ботов). Хотелось бы исправить ситуации, когда ближайшие боты выполняют задачу за 5 секунд, но на эту работу также назначаются и летят несколько минут боты с другого конца базы. Местные же роботы могли бы справиться с оставшейся частью работы за ещё 5 секунд. К сожалению оказалось, что исправление этой части изменит и, возможно, сломает множество других вещей в системе.
Привет! Факторио — первая игра, с которой я испытал эффект Тетриса. У вас есть советы как сделать так, чтобы мне перестали сниться сны о том, как транспортировать карандаши и грязные тарелки с помощью синих экспресс-конвейеров? Я бы хотел хоть немного выспаться. Спасибо заранее.
Вообще нам бы хотелось больше акцента на эффекте Тетриса. Маяки немного помогли, но не так, как я представлял себе. :)
Иногда я представляю, что хочу собрать обычного робота-пылесоса, можешь тоже помечтать об этом. :)
Мне очень нравится новая система с космическими научными пакетами. Есть планы отодвинуть её дальше в энд-гейм? Например, сделать так, чтобы игрокам надо было сесть в ракету и построить лунную базу (нет воды, гравитация меньше, больше солнечной радиации, нет ДВС и так далее), в новом окружении делать новые научные пакеты.
Если мы будем делать экспаншен с космической тематикой, это будет естественной частью продолжения.
Какое самое классное творение игроков вы видели?
Определение «классного» менялось на протяжении разработки игры. Сначала это были игроки, которые делали базы крупнее моих. Потом базы с более крупными железнодорожными сетями. Затем появились конвейерные балансеры. Кто-то придумал систему магистральной шины. Автомобили на конвейерах, грузовые вагоны вместо сундуков, фабрики, оптимизированные для ходьбы по ним, просто красивые фабрики, эффективные железнодорожные пересечения, безумства с логическими сетями, много всего.
Есть ли что-то, из-за чего вы горды/рады за своё сообщество? Вроде первого человека, сделавшего фабрику с эффективностью 1 ракета/минуту?
Я видел множество фабрик, которые мне присылали для исправления багов, чтобы на них можно было воспроизвести ошибку. Много раз я был восхищён. Меня всегда посещает гордость за то, как игроки проводят своё время за созданием этих вещей в игре. Если честно, по большей части, я учусь как строить эффективно у других людей.
Вы сами играете в Факторио в свободное время? Я знаю, что множество разработчиков перестают играть в свои игры через какое то время, так как это им начинает напоминать работу.
Я построил две больших базы в синглплеере и одну в мультиплеере на версии 0.15. По-моему, это много. Я не играю через Стим, по понятной причине, так как мы играем на живых версиях игры, поэтому Стим не регистрирует моё время, но, думаю, там много наиграно. Я планирую построить огромный завод, потребляющий 16 полных экспресс-конвейеров железа. :)
Вы начали с Факторио после того, как вам не ответили в Mojang. Нотч уже прислал вам своё резюме? ;D
А если серьёзно, вы с ним связывались? Он давал какие-то советы или рекомендации о том, какое направление лучше взять для Факторио?
Неа, один раз я написал ему, что ему надо бы начать упражняться. Он ответил, что уже нанял личного тренера. И всё. Больше ничего не ответил. Наверное он уже переживает, что не стал упорствовать. :)
«Эй, Нотч, ты, может быть, и миллионер, но ты всё равно жирный» LOL
Не совсем так. Я не про внешний вид, а про самочувствие: занимаешься → чувствуешь себя лучше → жизнь прекрасна.
А ты сам занимаешься? Как много? Не троллинг, просто интересно.
У меня свой тренер, и я занимаюсь по часу по утрам пять раз в неделю. Иногда я пропускаю (болезни, каникулы), так что я бы сказал в среднем по 4 раза. Это не достаточно чтобы похудеть, но достаточно, чтобы чувствовать себя хорошо. А ещё так я заставляю себя вставать рано утром и соблюдать здоровый распорядок дня.
В FFF #189 вы упомянули об артиллерийском поезде. Понятно, что идея ещё на ранней стадии, поэтому тут мало о чём говорить. Но какой в нём смысл в целом? Это будет ещё одно транспортное средство под управлением игрока или что-то автоматическое? Он будет останавливаться на станциях, чтобы с них открывать огонь по врагам?
Это будет способ автоматически уничтожать базы жуков.
Какой ваш любимый мод для Факторио?
Я не так чтобы много играю с модами, но планирую поиграть с ними, когда у меня будет больше времени. Обычно, когда я пробовал мод, и он мне нравился, я включал его в ваниллу так или иначе. Чертежи, ссылка на чертёж, прокладчик путей, ж/д цистерна — всё это сначала были моды. Следующее, что я хочу попробовать, это Модернизатор (Upgrade tool mod).
Классно, что вы не боитесь делать так. Множество разработчиков (см. Майнкрафт) часто пытаются добавить в игру вещи, которые никто ещё не сделал, и выпускают никому не нужные обновления. Моды нужны для того, чтоб игроки могли улучшать игру. Обновления нужны для того же. Так что если мод значительно улучшает игру, то почему бы его не включить в игру?
Согласен. Цель не в том, чтобы доказать, что у тебя есть лучшие и оригинальные идеи. Цель в том, чтобы сделать хорошую игру. Слишком большое эго приносит в мир слишком много разрушений.
Вы говорили о том, чтобы замкнуть цикл с помощью космической науки. А есть ещё идеи замкнутых циклов? Сейчас запуск ракет представляет из себя масштабную чёрную дыру, куда уходят ресурсы, в то же время существует ядерная электроэнергия, которую чаще всего просто некуда девать. Есть идеи добавить что-то очень энергозатратное для оправдания огромных ядерных станций?
Плюс, Дерево → уголь, пожалуйста.
Замыкание этого цикла сравнимо с созданием новой игры. Может быть, это будет колонизация новых планет с ограниченным запасом вещей, которые можно будет взять с собой.
Почему на конвейерах два ряда? Как появилась эта особенность?
Это было случайностью. Первые версии конвейеров не имели закруглений на поворотах, поэтому вещи на них кучковались по одну сторону ленты после поворотов. Через какое-то время мы стали использовать это, но чтобы это стало по-настоящему удобным, нам пришлось сделать правильные закругления.
Совет для тех, кто начинает играть в Факторио?
Пройти кампанию, хотя бы первые пять миссий. Помогает новичкам понять основы. Не тратить время в ожидании пока вещи сделаются, лучше работать над улучшением и оптимизацией продуктивности. Не копировать слепо свой первый дизайн снова и снова — экспериментировать и стараться делать его модульным, чтобы можно было масштабировать. Поезда. :)
Привет! Вы думали над тем, чтобы добавить ж/д тоннели (по аналогии с подземными конвейерами)? Это сделало бы строительство баз намного более простым.
Знаете что ещё лучше? Мосты! Они помогут с пересечениями и сделают заводы намного красивее. Если мы сделаем экспаншен, я рассмотрю такую возможность, у меня уже есть планы, как это сделать.
А разве мосты не загородят за собой вид? В любом случае — вам решать. Пожалуйста, пожалуйста, сделайте так, чтобы можно было делать пересечения без сигналов <3<3
Мы сделаем их лёгкими. Да, они заслонят кое-что, но зато они выглядят классно! Это стоит того. :)
В Чехии есть какая-то особенность, в смысле обучения, культуры или социальной поддержки, которая, по-вашему, внесла свой вклад в успех вашего начинания?
Плюс в Чехии в том, что здесь довольно дёшево, по сравнению с западной Европой, США или Австралией. Это помогло нам прожить на доход от продаж игры на старте разработки, и этого не хватило бы в более богатых странах. Есть ещё более дешёвые для проживания страны, но и уровень жизни в них ниже, а возможностей для образования меньше. Мы не использовали никаких государственных грантов или пособий социального страхования и гордимся этим.
Какие «хаки» есть в коде, чтобы сделать стабильную версию? Или код полностью чист от них и проработан?
Множество их. По большей части они связаны с GUI и тайлингом. По непонятной причине мозаичные спрайты не всегда точно прилегают друг к другу. Думаю, это проблема плавающей запятой в видеокарте. Поэтому некоторые вещи в игре отрендерены в масштабе 1,001.
В Факторио очень много детализированной симуляции (например, симуляция движения руки манипулятора в определённую позицию каждый такт вместо простой анимации движения). Это намеренное решение или просто практическое?
Когда манипулятору надо взять вещь с движущейся ленты, нужна процедурная анимация, так как ему надо иметь возможность двигаться во все возможные точки в своей доступности.
Вы думали когда-нибудь ввести самолёты в игру? Не знаю почему, но у меня есть идея автоматических самолётов, которыми можно также управлять вручную. Ещё, я думаю, крушения в ручном режиме должны быть практически неизбежными при посадке.
Много раз думали. Если они будут действительно быстрыми и требующими подобающую взлётно-посадочную полосу, это может быть круто. Это ещё одна из тех тысяч вещей, о которых мы задумывались. :)
Какие мысли о том, чем заняться после того, как закончится разработка Факторио? Новая идея для игры? Пенсия? Может стать фермером?
Я начинаю семейную жизнь, так что больше времени с семьёй как вариант. Но, зная себя, рано или поздно я захочу продолжить креативную деятельность.
Есть планы изменить жуков? Я бы хотел разные способы взаимодействия с ними: войны, торговля и т.д.
Пока таких планов нет, но мы думаем в том же ключе. Правда наши идеи могут быть чуть более злыми и кровожадными.
Есть планы по расширению ядерной энергетики (до 1.0, либо же в экспаншене) чтобы сделать её более похожей на то, как было в изначальных планах: добавить градирни и возможность расплавления ядра? Или вы довольны тем, как оно есть на текущий момент?
Трудный вопрос. Честно говоря, есть множество вещей, которые можно было бы добавить вместо этого. Чем больше я думаю, тем больше уверяюсь в том, что производство электричества является обособленной частью игры и мало связано с остальной частью фабрики.
Какую часть игры было сложнее всего писать?
Самое сложное было сделать игру детерминистичной, чтобы можно было играть по сети. Это заняло несколько месяцев, и я не был уверен как близко к завершению я нахожусь. Но зато я выучил много нового за этот период.
У меня на самом деле нет вопроса. Я просто хотел сказать спасибо вам и каждому в команде за этот бриллиант в игровом пространстве, за вашу упорную работу и то, с какой преданностью вы делаете одну из лучших игр! :)
Спасибо!
Что вы думаете по поводу суши-лент? Умный дизайн или чудище богомерзкое?
Я всякий раз счастлив, когда я нахожу новый способ игры. Это не всегда про эффективность.
Это не всегда про эффективностьКощунство!
В смысле… Когда это происходит не на моей фабрике! :)
Что за колдунство движет конвейерные ленты? Как они вообще движутся без электричества?
Хомячки. В следующем апдейте вам придётся кормить их.
Думали уйти из геймдева? Если Факторио станет большим хитом, вы просто уйдёте на пенсию с деньгами?
Факторио уже большой хит. На заработанные деньги я мог бы уже уйти на пенсию, но я не представляю себя без программирования.
Почему стимпанк? Почему не стандартные блестящие чистые строения, которые часто встречаются в других sci-fi играх?
Просто так вышло. Игрок строит вещи вручную, так что они должны выглядеть более импровизированными, нежели индустриальные станки высшего класса.
Есть планы сделать инопланетян более значимой частью игры? Сейчас они только раздражают.
Точно не в 1.0. Мы концентрируемся на самой фабрике, жуки нужны только чтобы добавить давление среды.
Будет ли в игру добавлена телепортация, чтобы путешествовать безопаснее?
Я много раз об этом думал. Телепорты — это круто. Но точно не до Факторио 1.0.
Если бы можно было легко смешать две игры вместе, с какой бы вы смешали Факторио?
Я бы выбрал Dwarf Fortress, фабрику с живыми хаотичными шестерёнками! Друг выбрал Kerbal Space Program.
Самая моя безумная идея на сейчас — Baldur’s Gate. И я уже знаю как она должна работать. :) У вас должны быть заводы по производству заклинаний первого уровня. Для заклинаний следующего уровня, вам надо пойти под землю и отыскать там источник эфира (шахта) или изучить новые продукты заклинаний и так далее. :) Придя в деревню, вы будете решать их проблему с гоблинами с помощью шахты и фабрики магического оружия. :)
Вы думали над добавлением случайности в рецепты?
Смотря на новые дорогие рецепты, я понял, как легко стать самодовольным, имея готовые чертежи с точно рассчитанными пропорциями. Немного опционального рандома даст больше интересного челленджа и отобьёт охоту копировать снова и снова.
У нас уже есть переработка урана. И может быть в какой-нибудь следующей игре мы введём механику отходов.
Почему я влил более 300 часов в Фаторио и до сих пор лажаю?
Я тоже лажаю, а влил ещё больше.
Я тоже разработчик, работаю над игрой, у которой много поклонников Факторио.
Какие способы вы использовали чтобы привлечь больше игроков?
Я уже затрагивал это в интервью. Это одна из самых сложных вещей, у которой нет простого рецепта на все случаи. Если бы он был, все инди-разработчики были бы богачами. :) В нашем случае мы концентрировались на том, чтобы сделать честный отполированный трейлер, отличную игру и сообщество.
5 комментариев