Перевод вопросов и ответов от программиста Kinyajuu игры 7 Days To die, того, кто занимается непосредственно программированием многих деталей игры.
Перевод вопросов и ответов от разработчика Kinyajuu, того, кто занимается непосредственно программированием многих деталей игры.
Оригинал текстов тут: ответы Kinyajuu
Список вопрос и ответов Kinyajuu, опубликованyых на официальном форуме игры 7 Days To Die
- Над чем ты сейчас работаешь?
- В настоящее время я работаю над интеграцией городов в ландшафт, и это в данный момент моя основная задача. Я также работаю над доработкой искусственного интеллекта для бандитов, это в основном R&D (научно-исследовательские и опытно-конструкторские работы). Благодаря этой доработке ИИ должен будет себя вести на основании потребностей, которые у него будут возникать. Многое уже готово, но эта работа, это то чем я занят в данный момент.
- Будет ли система городов находиться только на равнинах или же будут на наклонных поверхностях или на склоне гор?
- Да, города смогут появляться на склонах гор, но только там где эти склоны будут не очень крутые. Но пока что мы это не реализовали полностью, так как есть проблемы с генерацией пересечения дорог. В данный момент я тестирую свою наработку, которая позволит дорогам правильно пересекаться, но пока что тестирую это на плоском ландшафте.
- Есть ли прогресс в системе пещер-червоточин? Хотелось бы увидеть какую-нибудь из них.
- Исследованием и разработкой этого в данный занимается Кристиан Ленг, он действительно профессионал в этой области и только он способен заставить эту систему работать одинаково хорошо как в Navezgane так и в Randomgane. Он так же много времени уделяет системе прорисовки отдаленных зданий, пытаясь их заставить работать как надо, а так же на нём висит еще уйма другой работы. Так что, в целом я не могу ничего вам ответить конкретного на ваш вопрос.
- Будут ли ограничения по уровню для использования определенных инструментов/оружия и ограничения по уровню для возможности крафта/сборки?
- Я не уверен, что правильно понял вопрос. Если вы имеете в виду прокачку скилов, так они всегда были. Если вы имеете в виду, что хотите прокачаться, или что-то вроде того, то я думаю мы идет таким путем: "Если вы потратите много времени, то сможете получить максимум". Если вы имеете в виду систему, которая запретит вам использовать определённый инструмент или оружие из-за недостаточно высокого уровня вашего персонажа, то скорее всего нет. Я делаю много работы над вещами и вычислениями, так что я уверен, если что-то такое делалось я бы знал об этом.
- Какой совет вы можете дать тем кто создает префабы (здания для игры), к чему им стоит быть готовыми в A16?
- Если вы хотите разместить свой префаб в городе, то вам будет достаточно будет найти площадку на любой высоте, но так чтобы она была в пределах размеров сокета.
Формула вычисления размера сокета:
Socket Size(Размер сокета) = (Ширина и глубине префаба + 1) / Размер сокета (21 метр) и получаем максимально возможное значение (к примеру: 1.0000001 = 2).
Пример:
Префаб (объект) имеет размеры 32x40x29, но в этом случае нам не нужна высота, потому мы её убираем. Получаем 32x29. Теперь воспользуемся формулой для вычисления ширины:
socket width (ширина сокета) = (32 + 1) / 21 = 1.5714
итак для сокета с шириной 1.5 равен 2
И так же вы можете поступить с глубиной. Это позволит вам узнать сколько сокетов будет занимать префаб в городе, что позволит удостовериться что префаб на затрагивает дорогу и его границы находятся минимум в 3 метрах от дорог. Если эта проверка пройдена, то запускается генерация. Я видел как генерируется сейчас школа в городах, так что проблем с этим быть не должно.
Что же касается удаленных объектов, то пока что это есть только у нас в виде консольных команд, но мы уже в нескольких шагах от их реализации.
Кристиан Ланг работал над этим некоторое время, но мы с Крисом доджны еще посмотреть, работает ли как положено и есть способ уже предоставить это конечному пользователю. - Будет ли на конец положен конец микробиомам? В настоящее время я получаю маленькие вкрапления биомов одного в другой, размером не более нескольких блоков.
- Я не знаю, о чем вы говорите. Такое возможно только на границе двух и более биомов, но это скорее исключение. При работе генератора не должно появляться никаких микробиомов, так как все они генерируются по определенному шаблону. Вы должны предоставить мне примеры таких микробиомов, чтобы я мог более подробно ответить на ваш вопрос.
- Я думаю что смешивание биомов это вполне нормальная вещь... Но как насчет учета природных условий на этих смежных территориях при их размещение рядом друг с другом, к примеру по температуре? Так к примеру пустыня может быть окаймлена равнинами, но никогда там не будет густого леса (или снежного биома, черт возьми). Климатически нейтральные биомы, такие как Пустошь, Сгоревший лес или города могли бы располагаться где угодно.
- Придется хорошо поиграться с XML генератором биомов, чтобы получить такой макет его работы. Я так или иначе решу эту задачу, но пока что все останется как есть.
- Одна из самых заметных ошибок с дорогами в Randomgane это то что дорогу зачастую дороги на холмистой и гористой местности уходят вверх по неимоверно крутому склону, что нелогично. Сможет ли новая система генерации гарантировать что дороги будут проходить только там, где уклон имеет допустимые значения. В тех же случаях когда алгоритм захочет соединить две дороги в одной точке, но крутость склона не будет позволят это сделать я вижу несколько вариантов это решить, не учитывая вариант игнорирования дороги:
- Провести дорогу через ближайший "естественной" горный перевал
- Вести дорогу вдоль склона, пока уклон не опуститься ниже нужного предела
- Сделать каньон или туннель на местности, если уклон идет вверх, или перешеек через местность, если уклон идет вниз. Игра, кажется, уже делает подобное до определенного момента, но не всегда.
В идеале генератор должен иметь все эти инструменты чтобы корректно прокладывать дорогу наиболее логично в каждом из этих случаев. - Чтобы вести дорогу вдоль склона я должен наперед знать что там будет нужное удовлетворяющее требованиям место, и оно должно быть в пределах зоны генерирования поверхности, что не всегда доступно. Самый дешевый вариант это запустить дорогу вдоль горы, до тех пор пока угол наклона горы или склона не окажется в нужных пределах.
Думаю что мне стоит поработать над тем чтобы склоны не имели такие крутые подъемы и спуски. Я поработаю над данными и значениями и посмотрю что можно сделать.
Некоторое время назад я у меня уже был готовый код для создания тоннелей и дорог на столбах, но он где-то затерялся, так как появилась срочная необходимость заниматься другими вещами. Я хочу вернуться к доработке этого кода как только на это будет время и тогда возможно у нас появятся дороги над водой, которые выглядят гораздо лучше чем перешейки.
Спасибо за ваши хорошие идеи! - Дадут ли нам разработчики возможности влиять на генерацию случайных карт. К примеру управлять такими вещами как размер карты (создавать небольшие карты было бы здорово для ПвП серверов или серверов, на которых которых отключены минибайки) или ползунки настроек для местности и биомов (по аналогии с играми серии Civilization) это было бы очень большим благом для нас. Да даже что-то вроде настройки частоты спавна POI в начале было круто.
- Всему свое время, Randomgane еще находиться в разработке, но в будущем я хочу сделать интерфейс инструмента внесения изменений в файле RWG (Random World Generator) более удобным и понятным. Тем не менее на данный момент всё это уже можно редактировать в файле rwgmixer.xml. Проверьте ветку форума с модами, там уже есть очень интересные наработки и я думаю вам с радостью помогут советом в этих вопросах.
- Как скоро система сокетов городов готова и какие у вас были моменты триумфа и разочарований в процессе работы на ней?
- Работа продвигается очень хорошо. Фактически уже сейчас система размещения сокетов зданий работает на все 100% и я могу сказать что мой личный момент триумфа связан как раз с этой частью работы. Самая неприятная вещь было выравнивание объектов на холмах. Ну что сложного в том чтобы разместить город на случайно сгенерированной и едва видимой гористой поверхности, но это оказалось не так легко.
- Будет ли система сокетов при генерации принимать во внимание "потребности" генерируемых города? Например город поселок городского типа имеющие минимальное предполагаемое количество жителей будет обязательно иметь продуктовый магазин.
- Такие зоны уже есть, но еще далеки от реализации такой логики. По идее вы сможете найти в больших и малых городах магазины, которых просто не будет в сельской местности. Это работает так же просто как математика, например если в городе и поселке есть коммерческая зона, то в зависимости от её размера будет расти и шанс появления магазинов продуктов (П/П видимо просто нужно для генерации продуктовых магазинов дать большее высокий приоритет).
- Будут ли в больших городах такие здания как спортивные залы, бассейны, стадионы, библиотеки и другие общественные места или только жилые дома? Я думаю, что было бы более захватывающе и реалистичнее такой набор мест для исследования.
- В городах будут доступны все новые объекты, но каждый их них будет приписан к одной из 4 существующих на данный момент зон: Жилые старые, Жилые Новостройки, Промышленные и Коммерческие. Уже сейчас вы сможете увидеть небольшое отличие Большого города от ПГТ, и это не касается размера города, тут будет пара сюрпризов, которые я предлагаю узнать изучая города. но могу сказать точно что города будут весьма разнообразны и не будут состоять только из высотных зданий.
- Существуют ли какие-либо планы, чтобы можно было изменить размер площадки, что позволило бы разместить на ней сразу 2 здания, или чтобы одно здание могло занимать сразу несколько площадок?
- Не уверен, что я понимаю, о чем вы говорите. Если вы имеете в виду сокеты, то объединить два сокета в один не получиться. Вы вероятно хотите объединить несколько зданий с одном сокете или объединять здания по необходимости? Я понятия не имею, что вы имеете в виду, под изменением размера площадки.
- Это вопрос похож на вопрос про микро биомы но не совсем. Вы знаете что снежный биом является важным, поскольку там можно получить Бур и его части, не дожидаясь ночи орды. Вы знаете что начиная игру на случайной карте игрок зачастую не имеет доступа к большим снежным биомам, в которых можно найти большие залежи нитратов.
Так же некоторые снежные биомы настолько малы, что там можно встретить только пару-тройку дровосеков, с которых выпадают нужные части бура. Другие снежные биомы находятся на столько далеко что пытаясь к ним добраться зачастую превышается допустимый лимт размера карты (60Мб) и появляются баги и ошибки. - Да, игрок сейчас всегда появляется в теплых биомах, но у каждого свое представление о лучших местах для выживания. Это не то что я стал бы менять, иначе потеряется смысл выживания. Если вас не устраивает точка появления вашего персонажа и созданная карта, просто создайте новую карту. Я не стану менять точки появления из-за не имеющей отношения к игре ошибки.
- Будут реки и мосты (улучшенные версии) возвращены обратно в игру?
- Да, но только позже, не в 16 альфе. Нужно достаточно много времени чтобы заставить их работать как положено.
- Я долго играл до 15 альфы в свой мод, в котором создавал прекрасные миры с новыми биомами. Но в 15 альфе это стало невозможно из-за ошибки, которая не позволяет добавить новый биом в случайную генерацию. Я могу заменить только заменить существующий биом если использую его имя, но я не могу добавить новую библиотеку новую библиотеку, так как получаю ошибку когда пытаюсь зайти на новый биом. Я думаю ошибка связана каким-то образом со звуками биома. Будет ли это исправлено в новой итерации Random Gen или может появятся новые инструменты, которые позволят создавать новые типы биомов?
- Я понятия не имею почему так происходит, так как не работаю со звуками, это работа Ryan Favale. Кроме это сообщение скорее должно было бы попасть в раздел с ошибками. Но нет, текущий набор набор инструментом не имеет ничего подобного.
- Насколько процентов закончены работы по 16 альфе. И как вы смотрите на то чтобы добавить в игру реки, ручьи и водопады? (Так и представляю себе водопад на пересечении дорог)
- Работы по Randomgane завершены на 75%, но кто знает что еще может быть добавлено в мой список. Это по большей части зависит от того, чему Рик и Джоел отдадут наивысший приоритет. Я не смотрел сколько кода другими, сам город занял не много времени, но это было не очень просто. Я всё еще дорабатываю некоторые его части. Реки и ручьи могут быть позже (после 16 альфы), но я не вижу как можно создать водопады, тут вопрос в ресурсоёмкости таких объектов.
- Если бы все уже было сделано и дан зеленый свет, но еще оставалось время, чтобы вы добавили в игру в первую очередь?
- Ну, учитывая много вещей уже в процессе, есть не много на самом деле. Возможно изменение характеристик предметов, например с полки 6 ярусами и уникальные типы предметов, которые можно было бы найти на этих ярусах. Таким образом, таким образом в игре еще добавилось бы интереса в части лутания и крафта.
- Итак, после того как ты закончишь с Randomgen, что идет следующим в твоем списке?
- Точно смогу сказать в течении следующих нескольких дней. В основном я занимаюсь тем что скажут, помогаю то там то сям. Но я надеюсь что мне поручать программировать выживших и бандитов.
- Есть ли возможность обеспечить еще большее отдаление карты мира, чтобы видеть больше, не всю карту конечно, но хотя бы в два раза больше чем сейчас?
- Новая система просмотра карты позволяет в данный момент это, удерживая правую кнопку мыши вы сможете увеличивать и уменьшать масштаб на столько на сколько нужно.
- Madmole уже упоминал, что в 16 альфе в удаленную прорисовку будут включены только здания из оригинальной игры и что в будущем могут появиться инструменты, которые позволят интегрировать в эту систему так и пользовательские здания.
Существуют ли на данный момент какие-то ограничения для зданий по типу или размеру, которые не позволяют им попасть в отдаленную прорисовку, или абсолютно любая конструкция сможет работать с этой системой?
И менее важный момент
Старые планировки городов довольно скучные по сравнению с теми фрагментами макетов, которые мы видели при демонстрации системы сокетов. Возможно ли чтобы префабы, которые попадают в этот макет, содержали не только здания, но и такие детали как дорожки, бордюры, уличные фонари и так далее. Будет ли новая система сокетов иметь возможность включения в префаб этих деталей? Или мы будем иметь что-то похожее на текущие макеты города, где префабы стоят рядом с дорогой без каких-либо дополнительных деталей деталей.
Я просто хотел бы, после того как 16 альфа начнет работать, сохранить старые стили городов, в частности канализации и метро, которые есть у меня в моде сейчас. - Кристиан Ланг является экспертом в этом и по большей части именно он этим и занимается. После исследования я передам ему результаты и концепции. Учитывая то что, что школа показала себя весьма хорошо, думаю большинство вопросов с отдаленной прорисовкой будет разрешено сразу же.
Система сокетов пока что не будет включать в себя детали, о которых вы упомянули, до тех пока достигнет более мене стабильной стадии. Мы хотим конечно добавить ограничители к сокетам в малых и больших городах, но сейчас есть другие вопросы, которые нужно проработать в первую очередь.
Постройки игроков так же будут в этой системе но, по понятным причинам пока только только в виде контуров. Я сейчас очень плотно сотрудничаю с несколькими моддерами, которые предоставляют мне свои наработки, так что ситуация может измениться в лучшую сторону в самое ближайшее время.
Список вопрос и ответов Kinyajuu, по игре 7 Days To Die Alpha 16
П/П - примечания переводчика.
Перевел - Администратор ;)
Автор:
Дата публикации: 2017-01-24 11:31:00
Изменено: 2017-01-25 20:07:15
Авторизируйтесь чтобы иметь больше возможностей при комментировании.