2011-07-27 2 views
0

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

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

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

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

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

ответ

1

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

В случае 2-й игры, такой как «Ссылка на прошлое» (или «Супер Марио»), есть загрузочные экраны, но они достаточно короткие и часто скрыты по ссылке, входящей в подземелье, или уровень/количество оставшихся жизней сообщение в Марио или анимация прохождения через дверь в Metroid. Кроме того, и, возможно, более точно, игры на основе картриджей представляют собой фактически твердотельную память, а скорость доступа к памяти эквивалентна ОЗУ.

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

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

Смежные вопросы