ПроектыФорумОцените

OpenLara - движок классического Tomb Raider (alpha 3) (3 стр)

Страницы: 1 2 3 4 534 Следующая »
#30
4:13, 7 дек 2016

Уже неделю ковыряю формат уровней для PSX версии. Весят они почти в два раза меньше, чем аналогичные для PC версии (1.5 против 2.4 иб).
Текстуры (256х256 * 13) 4-битные, но палитр 512 каждая из которых хранит по 16 цветов (16 битных). В итоге получаем возможность закодировать до 28к уникальных цветов, когда как PC версия имела одну палитру на 256 18-битных цветов. Но для современных подходов в графике сделано это весьма неудобно, т.к. каждый фейс модели может ссылаться на любой участок текстуры и любую палитру (коих 512).
Вторая занимательная вещь, то что звук закодирован в чём-то типа 4-битного ADPCM. С ним мне ещё предстоит разобраться, аналогичный декодер уже писал "впрок" для проигрывания саундтреков из TR3, но пока не ясно насколько он совместим с PSX кодированием аудио (Sony vag).
Ну и ещё одно наблюдение, первая сонька имела всего 1.5 мб оперативной памяти. Если увязать этот факт с размером файла-уровня и большими зонами заполненными нулями в нём, можно предположить, что уровень целиком грузился в оперативную память, а внутри его свободных участков формировались различные run-time переменные.
Изображение

#31
14:22, 7 дек 2016

А чего это она вся в сеточку?

#32
14:43, 7 дек 2016

Darthman
bias для теней не выставлен

#33
15:20, 7 дек 2016

на playstation 1 игра лучше всего выглядит. На пк визуально видно что игра более серая.

#34
16:34, 7 дек 2016

XProger
> Ну и ещё одно наблюдение, первая сонька имела всего 1.5 мб оперативной памяти.
> Если увязать этот факт с размером файла-уровня и большими зонами заполненными
> нулями в нём, можно предположить, что уровень целиком грузился в оперативную
> память, а внутри его свободных участков формировались различные run-time
> переменные.
Странно. Им проще было хранить кучу нулей на диске, вместо того, чтобы усложнять загрузчик уровня, который бы раскладывал его по памяти, как надо?

#35
4:40, 11 дек 2016

Написал декодер аудиоформата для PSX версии, и обнаружил, что звук там действительно чище, даже несмотря на то, что PSX версия имеет вдвое меньшую частоту 11025 против 22050 Hz на PC. Выгрузил дампы звуков, 068.wav очень наглядно демонстрирует разницу.

#36
13:34, 19 дек 2016

Обновил демку теперь используется PSX формат уровней. Добавлена поддержка мягких теней от ближайшего источника света.

#37
19:29, 19 дек 2016

XProger
Поиграл немного.
Какое-то управление странное: стрелять можно через Ctrl (мышью не получилось), целится Лариса сама, и толком мне наводится на целю не удалось. В узком коридоре летучие мыши вогнали наполовину в стену, вырваться от них я смог только прыжками.

В оригинале всё также плохо было, или это косяк твоего движка?

#38
20:57, 19 дек 2016

Panzerschrek[CN]
> В оригинале всё также плохо было, или это косяк твоего движка?
В оригинале она тоже сама целилась

#39
22:23, 20 дек 2016

Продолжаю пилить графические фитчи. Теперь настала очередь расчёта Ambient Cube, для получение более плавного и точного изменения фонового света.
В направлении каждой грани куба рендерится уровень в текстуру 64х64 затем даунсемплится (64 -> 16 -> 4 -> 1), после чего полученный усреднённый цвет используется как величина фонового света в данном направлении. Выборка и интерполяция цветов происходит по нормали. Вот видео и скриншот того, что получается
Изображение

#40
23:35, 20 дек 2016

может это дело лучше запечь?

#41
23:50, 20 дек 2016

E-Cone
В игру, которая на первом пне еще бегала, наверное, можно добавить пару-тройку реалтайм технологий.

#42
0:43, 21 дек 2016

E-Cone
Конечно, как раз кешированием занят. Клетки уровня будут запекаться при необходимости по несколько штук за кадр, чтобы сильно по фпс не бить.

#43
2:44, 21 дек 2016

Вот ещё парочка скринов с более заметным color reflection
Изображение
Изображение

#44
8:30, 21 дек 2016

А я правильно понял, что полученный кубик из 6 пикселей используется только для ambient освещения главного игрока?

Страницы: 1 2 3 4 534 Следующая »
ПроектыФорумОцените