Под какие разрешения экранов делать игру?

Я разрабатываю игру на разрешении 1920x1080. На этом разрешении игра выглядит хорошо.
Игра простая - фон (картинка) на которой диалог размером 800x600.

Так как фон у меня огромный (4000x4000), а диалог привязан к середине, то игра выглядит хорошо на большом разрешении. Это нормально, что вокруг много свободного места.
На разрешении до 800x600 игра тоже выглядит хорошо т.к. важно показать форму диалога, а фон - не так важен.

Но вот на меньших разрешениях возникают проблемы.
На 700x400 форма не влезает в экран, что очевидно.

Разумеется, есть Canvas Scaler.
Но в режиме UI Scale Mode -> Constant Pixel Size он просто обрезает часть формы (форма не влезает на экран).
В режиме UI Scale Mode -> Scale With Screen Size , он масштабирует игру под текущее разрешение экрана.

И вроде вот оно решение, но:
Scale With Screen Size на большем разрешении делает всё большим. Игра разрабатывалась под 1920x1080 и не надо пропорционально увеличивать все элементы. Надо оставить всё как есть - пустое место займет фон.

Scale With Screen Size на маленьком разрешении умещает игру в экран. То есть теперь форма влезла.
Но всё становится маленьким и крайне трудно читать текст.

Как решить эту ситуацию? Под какие разрешения экранов делать игру?

PS
В интернете я нашел +100500 разрешений экранов мобильных устройств. Причем некоторые из них 1280x2400 ( 31%,
андроид смартфоны, согласно данным бенчмарка Antutu).
У меня экран 24 дюйма (60см диагональ) и комфортное разрешение 1920x1080.
Я не представляю как на смартфоне смотреть что-то в разрешении 1280x2400. Это смартфон с мой монитор? )
Или скроллить до бесконечности? В общем непонятно.
  • Вопрос задан
  • 1468 просмотров
Решения вопроса 1
@Ezekiel4
Охотник на пиратов и сборщик монолитов
Экраны малого размера встречаются слишком редко, чтобы о них беспокоиться, если вы не делаете игру специально для них. Например Apple Watch Series 6 имеет разрешение 396 x 484.

Если вы хотите обеспечить нормальный вид, проверьте, чтобы ваше приложение нормально смотрелось на девяти самых часто встречаемых разрешениях ноутбуков и смартфонов:
1280:720
1366:768
1600:900
1920:1080
2160:1080
2560:1440
2960:1440
3200:1800
3840:2160
Если у пользователя будет что-то другое - это его проблемы.

Насчёт текста - у компонент UI.Text, TMPro.TextMeshPro и TMPro.TextMeshProUGUI есть возможность сделать размер текста адаптивным: у первого это свойство Best Fit, у последних двух Auto Size.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
AgentSmith
@AgentSmith
Это мой правильный ответ на твой вопрос
Я не представляю как на смартфоне смотреть что-то в разрешении 1280x2400. Это смартфон с мой монитор?

Есть такое понятие как DPI - число точек на дюйм. Плотность точек на дюйм в смартфоне на порядок выше, чем в твоём мониторе. И на два порядка выше, чем в любом HD/4K-телевизоре
Ответ написан
profesor08
@profesor08
Пропорционально масштабируй под размер экрана или окна. В таком случае тебе будет не важно какое там на самом деле разрешение. Дополнительно надо дать возможно пользователю выбрать себе разрешение, тогда масштабировать надо будет под выбранное значение и растягивать картинку на экран или окно. Ничего тут сложного нет, просто посчитать пропорции и исходить из них. Пикселей для тебя существовать не должно, только какие-то относительные единицы.

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

Повторю - нельзя привязываться к конкретным разрешениям. Ничего хорошего из этого не выйдет. Ведь как-то же разработчики многих старых игр умудрились сделать так, чтоб их игры работали на современных экранах, не зная про них. Хотя есть и довольно не старые игры, от гигантов игровой индустрии, где разработчики в этом плане обосрались.
Ответ написан
Комментировать
freeExec
@freeExec
Участник OpenStreetMap
Либо вы придумаете свою стратегию, как изменять объекты под разные разрешения и программируете всё это в купе с адаптивным дизайном.
Либо вы используете стандартные инструменты и делаете дизайн UI в расчёте на него.
Третьего тут не дано.
Ответ написан
Комментировать
mopsicus
@mopsicus
Обычно делают арт под какое-то референсное разрешение, например QHD, или делают бандлы под 2-3 референсных разрешения: для маленьких экранов, "обычных" и с высоким разрешением. UI делают резиновым, можно и Scale With Screen Size, элементы которые могут быть сильно уменьшены уже кодят кастомными скриптами, чтобы все выглядело как надо.
Раньше это была "проблема" андроидов, потому что у него зоопарк любых девайсов с любыми экранами, на айфонах было полегче, но сейчас в принципе отличий нет: надо сразу учитывать резиновый UI в проекте и арт к нему.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы