Удивительные решения, позволившие создать бесшовный открытый мир на PS One. Автор Eurogamer Джон Линнеман (John Linneman) написал материал, в котором рассказал о приёмах, использованных студией Crystal Dynamics для реализации бесшовного открытого мира в игре Legacy of Kain: Soul Reaver.
В современной игровой индустрии открытый мир — нередкое явление. В основе этой составляющей игр лежит их способность загружать данные о локациях на лету без каких-либо загрузок. Сейчас это кажется нормой, но в 1999 году, когда вышла Legacy of Kain: Soul Reaver, открытый бесшовный мир был невероятно амбициозной концепцией.
Soul Reaver была одной из самых технически совершенных игр для PS One, за огромный мир, плавную анимацию и отличную музыку её помнят и спустя 18 лет.
Ключом к её успеху было то, как игра перенесла metroidvania-элементы в обширный трёхмерный мир. Собственный движок Crystal Dynamics под названием Gex раздвинул границы возможного в играх — и не только своей технологией загрузки локаций. В отличие от The Legend of Zelda: Ocarina of Time на Nintendo 64, выдававшей разрешение 320x240 и 20 кадров в секунду, Soul Reaver работала в разрешении 512x240, показывая 30 кадров.
Джон Линнеман, журналист Eurogamer
Помимо этого, в Ocarina of Time были загрузки, хоть игра и размещалась на картридже. В Soul Reaver их не было совсем. Это было серьёзным технологическим достижением, которое стало возможным благодаря тому, что игры для PlayStation располагались на CD — свободного места на них было достаточно для проектов невиданного масштаба.
Однако привод PS One читал диски всего лишь со скоростью 2X, поэтому в большинстве игр загрузок нельзя было избежать, в том числе и у предшественника Soul Reaver — Blood Omen. Однако для своей новой игры Crystal Dynamics разработали систему потоковой загрузки данных.
Игра была разделена на участки, каждый из которых представлял из себя комнату, коридор или проход в другую комнату. В каждый момент времени Soul Reaver держала в памяти три участка — помещение, в котором находился игрок, и два соседних с ним. Когда главный герой перемещался на новый участок, самый далёкий от него стирался из памяти и загружался новый. Уровни были спроектированы так, что загрузка участков занимала меньше времени, чем перемещение по ним.
Джон Линнеман, журналист Eurogamer
Разработчики использовали и другие решения для оптимизации загрузки данных. Так, каждая единица карты (map unit) содержала список объектов, используемых в локации. Каждый из них загружался лишь один раз, а в списке было указано, сколько у него должно быть копий, и где они должны находиться.
Также Crystal Dynamics использовали таблицы поиска (look-up table) для разных частей текстур, что позволило им использовать одни и те же текстуры в разных местах и способствовало быстрой загрузке.
Помимо этого, разработчики распределили копии файлов ресурсов по всему CD. В наше время это не так важно, но тогда расположение данных на дисках сильно сказывалось на скорости их чтения. Многие студии использовали эту технику вплоть до появления Xbox 360 и PS3.
Джон Линнеман, журналист Eurogamer
В Soul Reaver игрок мог переключаться между двумя измерениями: спектральным и материальным. Это было необходимо для решения головоломок, но создавало дополнительные сложности при загрузке локаций.
Crystal Dynamics могли бы загружать две версии одних и тех же участков, но это ещё сильнее нагружало бы систему. Разработчики нашли красивое и эффективное решение: использовались одни и те же данные карт (map data), но геометрия двух версий уровня была привязана к разным координатам. Цвета текстур тоже изменялись при переходе из одного измерения в другое, что усиливало иллюзию.
Все эти технологии позволили движку Gex реализовать полноценную систему потоковой загрузки данных на консоли, которая совсем для этого не подходила. Можно было пробежать от одного конца мира до другого, не увидев ни единого экрана загрузки, при этом переключаясь между измерениями.
Джон Линнеман, журналист Eurogamer
Решения, использованные разработчиками, повлияли и на другие составляющие игры. Обычно проекты на PS One использовали стандарт Redbook Audio для проигрывания фоновой музыки — консоль считывала треки как с обычного музыкального CD.
Но в случае с Sould Reaver привод был полностью занят потоковой загрузкой локаций, поэтому этот способ не подходил Crystal Dynamics. Разработчикам пришлось воспользоваться форматом, похожим на MIDI: в одних файлах содержались звуки инструментов, а в других — последовательность, в которой они должны были звучать.
Crystal Dynamics воспользовались этой ситуацией, чтобы создать динамический саундтрек — музыка менялась на ходу в зависимости от геймплея. Результат оказался впечатляющим: качество звука было потрясающим, а размеры файлов — совсем небольшими.
Читайте также
Последние новости