Часто задаваемые вопросы (Godot) ч.3

FAQ Godot ч.2

Является ли Godot портативным?

При своих настройках по умолчанию Godot является полу-портативным. Его исполняемый файл может быть запущен из любого места (включая места, недоступные для записи) и никогда не требует права администратора.

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

Почему Godot использует Vulkan или OpenGL вместо Direct 3D?

Godot стремится к максимальной совместимости с различными платформами и открытыми стандартами в первую очередь. OpenGL и Vulkan — технологии, которые являются открытыми и доступными (почти) на всех платформах. Благодаря этому дизайну проект, разработанный с использованием Godot на Windows, будет работать «из коробки» на Linux, macOS и многих других платформах.

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

В долгосрочной перспективе мы можем разработать рендерер Direct3D 12 для Godot (в основном для Xbox), но Vulkan и OpenGL останутся основными бэкендами рендеринга на всех платформах, включая Windows.

Почему Godot стремится сохранить свой набор основных функций маленьким?

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

Это обусловлено несколькими причинами:

  • Обслуживание кода и поверхности для ошибок. Каждый раз, когда мы принимаем новый код в репозиторий Godot, существующие участники часто берут на себя ответственность за его поддержку. Некоторые участники не всегда остаются после вливания своего кода, что может затруднить поддержание соответствующего кода. Это может привести к плохо поддерживаемым функциям с ошибками, которые так и не устраняются. Кроме того, «API-поверхность», которую нужно тестировать и проверять на регрессии, постоянно увеличивается со временем.
  • Легкость вклада. Сохраняя небольшую и аккуратную кодовую базу, ее можно быстро и легко компилировать из исходного кода. Это облегчает новым участникам начало работы с Godot, не требуя от них покупки высокопроизводительного оборудования.
  • Сохранение небольшого размера двоичного файла для редактора. Не у всех есть быстрое подключение к Интернету. Обеспечение того, чтобы каждый мог загрузить редактор Godot, извлечь его и запустить менее чем за 5 минут, делает Godot более доступным для разработчиков во всех странах.
  • Сохранение небольшого размера бинарных файлов для экспортных шаблонов. Это напрямую влияет на размер проектов, экспортированных с помощью Godot. На мобильных и веб-платформах важно поддерживать низкий размер файлов, чтобы обеспечить быструю установку и загрузку на слабых устройствах. Снова стоит отметить, что во многих странах высокоскоростной доступ в Интернет не всегда доступен. Кроме того, в этих странах часто действуют строгие ограничения на использование данных.

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

Как создавать проекты под множество разрешений и соотношений сторон дисплея?

Этот вопрос возникает часто, и это, вероятно, благодаря недопониманию, созданному Apple, когда они изначально удвоили разрешение своих устройств. Это заставляло людей думать, что иметь одинаковые ассеты в разных разрешениях было хорошей идеей, поэтому многие продолжали идти по этому пути. Это работало до определенного момента и только для устройств Apple, но затем было создано несколько устройств Android и Apple с различными разрешениями и соотношениями сторон с очень широким диапазоном размеров и DPI.

Самый распространенный и правильный способ достичь этого — использовать одно базовое разрешение для игры и управлять только различными пропорциями экрана. В основном, это нужно для 2D, так как в 3D это просто вопрос угла обзора камеры по осям X и Y (Camera XFov/YFov).

  1. Выберите одно базовое разрешение для вашей игры. Даже если устройства поддерживают разрешения до 2K и от 400p, обычное масштабирование аппаратного обеспечения на вашем устройстве справится с этим с небольшими или даже без заметных затрат производительности. Самые распространенные выборы — это либо близкое к 1080p (1920×1080), либо 720p (1280×720). Помните, что чем выше разрешение, тем больше ваши ресурсы, тем больше памяти они займут, и тем дольше будет время загрузки.
  2. Используйте параметры растяжения в Godot; 2D растяжение при сохранении пропорций работает лучше всего.
  3. Определите минимальное разрешение, а затем примите решение, хотите ли вы, чтобы ваша игра растягивалась вертикально или горизонтально для разных соотношений сторон или была в одном минимальном разрешении, с отображением черных шкал прогресса по краям. Это также объясняется на предыдущем шаге.
  4. Для пользовательских интерфейсов используйте закрепление, чтобы определить, где элементы управления должны оставаться и перемещаться. Если пользовательские интерфейсы являются очень сложными, подумайте о том, как использовать контейнеры.

И всё! Ваша игра будет работать в нескольких разрешениях.

Если вы хотите сделать игру пригодной к работе на старых устройствах с маленькими экранами (меньше чем 300 пикселей в ширину), вы можете использовать опцию экспорта для сжатия картинок и настроить проект на использование необходимых разрешений экрана в App Store или Google Play.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

20 + один =

Прокрутить вверх