После нескольких очень маленьких игр я решил сделать что-то более автономное (2D) и играбельное. Тем не менее, я столкнулся с проблемой каждой игры, в которую будут играть в большем разрешении экрана.
По сути, после некоторых исследований я вижу, что есть несколько решений.
Это кажется самым простым: допустим, я определил постоянное соотношение сторон для игры (16: 9), и вся игра будет создана для разрешения 1680 x 1050.
Игра будет отображаться в этом разрешении, и тогда я смогу масштабировать рендер в соответствии с разрешением экрана игрока. Поэтому в игру можно играть практически на любом разрешении, в то же время сохраняя соотношение сторон. Таким образом, если игра запускается на дисплее 4: 3, верх и низ дисплея будут заполнены черным цветом.
Это кажется легким, но мой вопрос - это хороший подход для простой игры? Игра будет простой, но я хочу поддерживать высокое качество.
источник
Ответы:
Это честный подход, я видел не очень простые игры, использующие его.
Однако, поскольку ваша цель - высокое качество , я советую вам правильно поддерживать все пропорции . Вы не хотите, чтобы ваши игроки раздражались, потому что вы используете только процент их пикселей.
Итак, у вас есть два варианта:
Если у вас есть только несколько форматов изображения для поддержки (например, только 4: 3 и 16: 9), вы можете использовать чит-коды и использовать различные наборы абсолютных положений и размеров для ваших 2D-элементов. По одному на каждое соотношение. Это может звучать глупо, но на самом деле это прекрасное решение в этой ситуации, так как вариант 2. более хитрый.
Используйте библиотеку, которая поддерживает адаптацию 2D-элементов к изменению соотношения . Вы можете подумать, что это простая задача - воссоздать ее самостоятельно, но это не так. Так что, если вы хотите идти по этому пути, будьте готовы создать свою библиотеку со строгостью. Я видел, как несколько человек попали в ловушку " просто создать систему меню за 2 дня" . Нет. Это занимает намного больше времени. До свидания, абсолютное размещение: вам нужны якоря, относительные размеры, дополнительный уход за безопасными зонами и т. Д. Это широкая тема (и скучная, IMHO), и это одна из главных выгодных сторон промежуточного программного обеспечения пользовательского интерфейса, такого как Autodesk Scaleform.
После того, как вы выбрали свой вариант, всегда проверяйте тщательно изменения макета со всеми различными соотношениями сторон.
PS: Вас это не беспокоит, когда вы создаете 2D-игру, но для справки: для 3D-рендеринга адаптация к различным пропорциям - это только изменение матрицы перспективы.
источник
aspect
переменнойgluPerspective
. Для 2D, я настоятельно советую перейти к решению 1. или вариант, проверьте это для большего количества идей. Получение 2D-элементов для адаптации к любому соотношению может быть другим вопросом, поскольку это очень широкая тема!Чтобы ответить на вопрос: да, неплохо было бы сделать игру для данного соотношения сторон и разрешения экрана.
Тем не менее, это только хорошая идея при определенных обстоятельствах.
Эти обстоятельства включают, но не ограничиваются:
разработка для платформы с определенным соотношением сторон и разрешением экрана, такой как консоль, на которой установлено аппаратное обеспечение дисплея (что не похоже на то, что вы делаете)Если ваша причина заключается в том, «потому что сложно поддерживать несколько форматов изображения», то если вам этого достаточно, это ваша игра.
источник