Выбор разрешения для ретро-игры

Choosing Retro Game Resolution

Я давно хотел сделать игру в ретро-стиле. Первый шаг — это базовое разрешение.

Я вспомнил, какие были размеры у старых систем. ZX Spectrum — что-то около 256×192. Dendy (NES) и Sega — порядка 256×224 или 320×240. На тех же телевизорах это выглядело нормально, но если сейчас взять такое разрешение и просто растянуть на Full HD или 4K, то квадратных пикселей не получится. Значит, нужно искать такой вариант, который и к корням отсылает, и современный экран заполняет пиксельно-чётко.

Начал перебирать. 320×180 выглядело заманчиво: чистое 16:9, масштабируется целыми числами куда угодно. Но на большом мониторе шаг пикселя получается слишком грубый — буквы становятся корявыми, а детали спрайтов теряются. Подумал про 960×540: картинка плотнее, но для «ретро-духа» это уже слишком много точек, ощущение не то.

В итоге вся арифметика свелась к одному числу: 640×360. Оно идеально делится на все три современных стандарта:

Это значит, что я могу рендерить всё в одной базе, а потом спокойно увеличивать без единого размывания или «полупикселя». И пиксели при этом остаются достаточно крупными, чтобы сохранять ретро-характер.

Оставался вопрос с тайлами. Хотелось, чтобы сетка заполняла экран целиком. Классические 16×16 выглядели романтично, но 360 на 16 не делится — значит, по вертикали будут куски и возня с камерой. Когда попробовал 20×20, всё сошлось: экран аккуратно раскладывается на 32×18 ячеек. При апскейле каждый тайл превращается в ровный квадрат 60, 80 или 120 пикселей — в зависимости от того, какое разрешение выбрано.

Так что мой выбор — 640×360 с тайлами 20×20. Это не догма и не универсальная формула, но для меня она оказалась тем самым золотым балансом между ностальгией и практичностью.