Это хорошая идея, чтобы сделать игру с одним соотношением сторон и произвольным разрешением экрана?

8

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

По сути, после некоторых исследований я вижу, что есть несколько решений.

Это кажется самым простым: допустим, я определил постоянное соотношение сторон для игры (16: 9), и вся игра будет создана для разрешения 1680 x 1050.

Игра будет отображаться в этом разрешении, и тогда я смогу масштабировать рендер в соответствии с разрешением экрана игрока. Поэтому в игру можно играть практически на любом разрешении, в то же время сохраняя соотношение сторон. Таким образом, если игра запускается на дисплее 4: 3, верх и низ дисплея будут заполнены черным цветом.

Это кажется легким, но мой вопрос - это хороший подход для простой игры? Игра будет простой, но я хочу поддерживать высокое качество.

Мирослав Марес
источник
Хороший подход или нет - кажется, вам решать вопрос. Это подход, который вы хотите использовать? Да, тогда это хороший подход. Если вы чувствуете, что это будет для вас проще всего, тогда сделайте это.
MichaelHouse
Конечно, в моем проекте это моя ответственность. Я думаю, что я буду использовать этот метод. Однако меня также интересуют мнения других, поэтому я спросил, хорошая ли это идея в целом (хотя я упомянул «мою игру»).
Мирослав Марес
8
Вы понимаете, что 1680x1050 - это не 16: 9? Сейчас 16:10.
Адам

Ответы:

4

Это честный подход, я видел не очень простые игры, использующие его.

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

Итак, у вас есть два варианта:

  1. Если у вас есть только несколько форматов изображения для поддержки (например, только 4: 3 и 16: 9), вы можете использовать чит-коды и использовать различные наборы абсолютных положений и размеров для ваших 2D-элементов. По одному на каждое соотношение. Это может звучать глупо, но на самом деле это прекрасное решение в этой ситуации, так как вариант 2. более хитрый.

  2. Используйте библиотеку, которая поддерживает адаптацию 2D-элементов к изменению соотношения . Вы можете подумать, что это простая задача - воссоздать ее самостоятельно, но это не так. Так что, если вы хотите идти по этому пути, будьте готовы создать свою библиотеку со строгостью. Я видел, как несколько человек попали в ловушку " просто создать систему меню за 2 дня" . Нет. Это занимает намного больше времени. До свидания, абсолютное размещение: вам нужны якоря, относительные размеры, дополнительный уход за безопасными зонами и т. Д. Это широкая тема (и скучная, IMHO), и это одна из главных выгодных сторон промежуточного программного обеспечения пользовательского интерфейса, такого как Autodesk Scaleform.

После того, как вы выбрали свой вариант, всегда проверяйте тщательно изменения макета со всеми различными соотношениями сторон.

PS: Вас это не беспокоит, когда вы создаете 2D-игру, но для справки: для 3D-рендеринга адаптация к различным пропорциям - это только изменение матрицы перспективы.

Лоран Кувиду
источник
Есть ли дополнительные материалы для второго варианта? И есть ли что-то, что я мог бы прочитать на эту тему для 3D?
Joltmode
2
@Tom Для 3D это действительно просто. Например, с OpenGL / GLU, просто укажите правильное соотношение в aspectпеременной gluPerspective. Для 2D, я настоятельно советую перейти к решению 1. или вариант, проверьте это для большего количества идей. Получение 2D-элементов для адаптации к любому соотношению может быть другим вопросом, поскольку это очень широкая тема!
Лоран Кувиду
2

Чтобы ответить на вопрос: да, неплохо было бы сделать игру для данного соотношения сторон и разрешения экрана.

Тем не менее, это только хорошая идея при определенных обстоятельствах.

Эти обстоятельства включают, но не ограничиваются:

  1. разработка для платформы с определенным соотношением сторон и разрешением экрана, такой как консоль, на которой установлено аппаратное обеспечение дисплея (что не похоже на то, что вы делаете)
  2. игра по какой-то причине полагается на соотношение сторон, поэтому в случае необходимости переоборудования для другого соотношения сторон, это может как-то испортить игровой процесс (не похоже, что у вас это тоже есть)
  3. Умышленные стилистические соображения (не похоже, что вы это делаете).

Если ваша причина заключается в том, «потому что сложно поддерживать несколько форматов изображения», то если вам этого достаточно, это ваша игра.

PlayDeezGames
источник
Я программирую для компьютеров / ноутбуков (в основном для Windows). Мне бы хотелось самое простое решение при сохранении высокого качества игры. Ну, а если бы в игре были уровни, которые имели бы фиксированный размер (не квадратный), это кажется правомерным аргументом, не так ли?
Мирослав Марес
3
Все три крупных производителя консолей требуют, чтобы вы поддерживали как минимум два формата изображения (4x3 и 16x9) и два разрешения (SD и 720p). В противном случае вы не пройдете сертификацию.
Crashworks
ладно ... ну тогда ну!
PlayDeezGames
Я уверен, что по крайней мере один из большой тройки не требует, чтобы вы поддерживали 720p ...
@ Джои еще. Но держу пари, что это изменится к концу года;)
Лоран Кувиду