Проповедование ресурсов и времени загрузки - PullRequest
0 голосов
/ 27 июля 2011

Я занимался исследованием ресурсов кэширования для игровой среды. Анализируя различные игры, как 2D, так и 3D, я задал несколько вопросов.

В двухмерных играх, таких как «Ссылка на прошлое», мы видим беспрецедентный переход из преисподней в подземелье, из дома в загробный мир и т. Д. Я думаю, это означает, что все игровые ресурсы кешируются. Это нормально для 2D-игр, поскольку их ресурсы, как правило, меньше, но как насчет 3D-игр?

Half-Life 2 и Assassin's Creed, например, оба имеют загрузочный экран между переходами карты. Я знаю, что HL2 использует звуковой кеш, где будет воспроизводиться 5-секундный клип начала музыки, пока загружается реальный mp3. Но это не отвечает на вопросы о текстурах и моделях. Эти игры предварительно кэшируют эти ресурсы для ускорения загрузки или не для экономии памяти?

Кроме того, мы видим 3D-игры, такие как Twilight Princess, где снова наблюдается безобидный переход. Означает ли это, что все ресурсы также кэшируются здесь? Я могу понять это немного больше для игр для ПК, но на Wii всех платформ?

В целом, какой вариант лучше всего использовать для разработки игр как в 2D, так и в 3D средах?

1 Ответ

1 голос
/ 27 июля 2011

Экраны загрузки - это то, что происходит, когда ресурсы игры перемещаются с диска на память, а что-то вроде Twilight Princess использует что-то вроде Lazy Loading, когда части мира динамически загружаются в игру (при разгрузке другихчасти мира, чтобы сохранить использование оперативной памяти низким).Ресурсы не обязательно кэшируются, поскольку управляются по-разному.

В случае двумерной игры, такой как Link to the Past (или Super Mario), есть экраны загрузки, но они достаточно короткие и частоскрытый Связью, входящей в темницу, или уровнем / количеством жизней, оставленных сообщением в Марио, или анимацией прохождения двери в Metroid.Кроме того, и, возможно, более точно, игры на основе картриджей являются фактически твердотельной памятью, а скорость доступа к памяти эквивалентна ОЗУ.

Как всегда, лучший вариант зависит от того, что вы делаете.В идеале вы хотите предотвратить ЛЮБЫЕ экраны загрузки, но это обычно сложно / невозможно, особенно в большой трехмерной игре с кучей ресурсов.В то время как некоторые игры четко разделены на уровни (особенно здесь приходит на ум Portal), игра с открытым миром была бы бесполезна, если бы вам приходилось сидеть на экране загрузки в каждом городском квартале.2D-игры немного проще, так как вам не нужно иметь дело со сложными данными модели, но во многих из них есть своего рода экран загрузки, обычно, когда вы запускаете игру.Чем сложнее игра, тем больше вероятность того, что вам придется иметь дело с каким-то экраном загрузки.

Для отличных примеров «ленивой загрузки» в играх посмотрите (3d) игры Grand Theft Auto,Minecraft (бесконечные миры) и Ultima 7 (огромный игровой мир был разделен на регионы, которые загружались, когда вы приближались к ним)

...