Почему 3DO? Как-то глянул на авито цены, поворчал, что устройство с такой скудной библиотекой игр да ещё и с убитым лазером стоит каких-то больных денег. Потом посмотрел спецификацию, стало любопытно, настолько ли всё плохо, решил попробовать и вот промежуточный результат )
Версия под 3DO базируется на коде GBA версии, для которой весь движок пришлось полностью переписать без использования floating-point арифметики и целочисленных делений (большинства). Местами GBA показывает лучшую производительность, чем 3DO, причём всю растеризацию берёт на себя CPU. Пока полноценно играбельны лишь первые 2 уровня + тренировка. Для остальных нужно переписать логику объектов и врагов, но там всё уже давно изучено вдоль и поперёк на основной ветке и проблем возникнуть не должно. Также нужно дописать инвентарь, главное меню и настройки.
Ну и оптимизация. После беглого дизассемблирования 3DO бинарника заметил кучу мест, где компилятор делает весьма тупые вещи и по сути работает как тупой транслятор... как вариант, как какой-то стадии развития порта попробую приспособить более современные компиляторы, в худшем случае перепишу самые тупые куски на ассемблер. Помимо низкоуровневых оптимизаций есть идеи по оптимизацию данных, т.к. 3DO читает half-word'ы за три инструкции с перерасходом регистров (в идеале нужно читать лишь 8 или 32 бита). Ещё стоит пересмотреть расчёт видимости полигонов и вершин. Сейчас все вершины комнаты передаются на трансформацию и уже после при построении полигонов определяется строится ли он на видимых вершинах, т.е. даже если смотреть в пол, все вершины комнаты всё равно будут проходить через трансформацию. Плюс я ещё не прощупал всех особенностей работы с DSP, DMA и фитч CEL. Наверняка, оттуда можно будет выжать что-нибудь интересное.
Про свободную камеру не совсем понимаю, сейчас по нажатию P камера отвязывается от Ларисы и может свободно перемещаться. В основной ветке всё аналогично, только требуется геймпад с двумя стиками для контроля.
Планирую портировать на всё до чего дотянусь, большинство девайсов из списка уже есть, так что это вопрос времени :)
Неожиданно для себя обнаружил, что 3DO портом разворошил муравейник фанатов яги, но порт под неё пока звучит как путь длинною в жизнь...
aspyd Основной удар наносят трансформации вершин, полигоны формируются уже на основе результата. На отрисовку передаются только те полигоны, что видны в кадре без учёта overdraw или неверно расставленных порталов между комнатами (баги оригинального левел дизайна). Backface полигоны на отрисовку не передаются. После пары забегов статистика такая: GYM - vertices: 1477 faces: 420 LEVEL1 - vertices: 1949 faces: 720 В идеальном мире кол-во вершин должно быть раза в 1.5 больше, чем полигонов. Когда полноценно доберусь до оптимизаций, то будут цифры по просадкам на CPU, CEL и сопроцессоре. Но сейчас, по ощущениям, CEL справляется на ура, об этом говорит то, что с увеличением дальности видимости перф особо не страдает в местах где нет открытых порталов в другие комнаты.
08 ноя 2021, 22:11
ПАУК
Ужас, летящий на крыльях ночи!
Группа: Разработчики Сообщения: 9069 Регистрация: 17 май 2010, 01:04
Модель 3DO:Panasonic FZ-10 NTSC-U
Смотрю, версия со вторым уровнем появилась. Пока на эмуляторе Freedo 1.9 бегаю. На каждом уровне у меня игра почему-то повисла. Возможно, дело в эмуляторе.
Добавлено спустя 3 минуты 21 секунду:
XProger писал(а):
Будет всё.
Это здорово. Вообще, необычный проект. Как-то непривычно даже.
Небольшой баг репорт на втором уровне... Вот эта летучая мышь как будто вросла в скалу. И лететь никуда не летит, и Лара на неё свои пистолеты не наводит. Стреляй, не стреляй, ей пофигу. Убил только когда впритык подошёл. Но если с другой стороны подойти (в начале уровня бежать налево), то с каких-то ракурсов Лара свои пистолеты наводит, можно пристрелить.
В этой комнате я как-то прыгнул вниз, и Лара приземлилась в такой позе. После приземления можно было только вращаться влево вправо. Через какое-то время после нажатий на ABC она пришла в норму
Ещё иногда во время толкания блока Лара может пройти сквозь него, а блок потом за ней сам толкается.
12 ноя 2021, 20:46
SavitarSvit
Ломаю джойстик взглядом
Группа: Пользователи Сообщения: 700 Регистрация: 13 сен 2017, 18:17
Модель 3DO:Panasonic FZ-10 NTSC-U
Я так понимаю, физика в игре еще не настроена до конца. Сейчас в приоритете настройка производительности и доведения движка до ума, а потом уже будут устраняться эти мелки шероховатости.
Смотрю, версия со вторым уровнем появилась. Пока на эмуляторе Freedo 1.9 бегаю. На каждом уровне у меня игра почему-то повисла.
ПАУК писал(а):
В эмуляторе "Феникс" тоже виснет.
Выложил бы debug.fz10.mes с FreeDO и состояния всего с Phoenix-то, раз на эмуляторах мучаешь... В "Phoenix 2.8 jag debug" - можно вообще полные дампы всего сделать, всех состояний. Быть может, разработчику это как-то поможет.
13 ноя 2021, 08:21
sasha 5
Добрый модератор
Группа: Модераторы Сообщения: 2301 Регистрация: 04 дек 2009, 11:58 Откуда: Новосибирск
Модель 3DO:Panasonic FZ-10 NTSC-U
Если бы дальность прорисовки чутка увеличить без ущерба производительности, ну или минус пару кадров допускается - вообще было бы супер! А так приятно наблюдать за картинкой, которая раскрывает потенциал консоли
А так приятно наблюдать за картинкой, которая раскрывает потенциал консоли
Н-ну, да! Игра на 3DO - действительно выглядит царски. Наверное, звёзды так сошлись для восприятия - я много смотрел видосов с GBA-версией, а там всё же разрешение... А в ПК-версию в 90-х я играл на чёрно-белом мониторе, у меня тогда только монохромный монитор был, который держал 800x600 - потолок. На PS1 - не играл, чёт не интересно было, да и не видел я в 90-х диска на пиратке. Так что, может, я просто впервые её вижу на большой, цветной ЭЛТ-трубе.))
13 ноя 2021, 21:38
sasha 5
Добрый модератор
Группа: Модераторы Сообщения: 2301 Регистрация: 04 дек 2009, 11:58 Откуда: Новосибирск
Модель 3DO:Panasonic FZ-10 NTSC-U
aspyd Короче наверстаешь "упущенное, " но уже на 3DO, а не на PS, PC. Я вот тоже не играл в нее и пробую ее только щас исключительно ради консоли, мне интересно как она справляется с таким графоном а так бы и не вспомнил эту игру, тк есть в наше время к (я с большим интересом читаю посты автора порта, как он технически описывает подробно сам этот сложный и трудоемкий процесс)куда интереснее для меня игры.
13 ноя 2021, 22:48
SavitarSvit
Ломаю джойстик взглядом
Группа: Пользователи Сообщения: 700 Регистрация: 13 сен 2017, 18:17
Модель 3DO:Panasonic FZ-10 NTSC-U
ПАУК, Да пока нового функционала не добавляется, декабрь решил полностью посвятить низкоуровневым оптимизациям. Переписал самые "жирные" функции на чистый ARM ассемблер, что дало более-менее стабильные 15 фпс в большинстве ситуаций. Есть способ выжать дополнительные ~5 FPS включив Super-Clipping, но по неизвестным пока причинам, он приводит к периодическим лагам и зависонам (был включен в первых версиях). Возможно, в ближайшие пару месяцев появится ODE и тогда я разгуляюсь по полной, а то уже 50+ болванок извёл, да и муторно это.
В OpenLara я стараюсь использовать оригинальный контент игры, который предоставляет сам игрок, чтобы не нарушать ничьих прав, но такой подход, очевидно, не прокатит для настолько слабой железки и одного конвертера явно недостаточно. Поэтому, в планах, сделать некоторую оптимизацию моделей, сгруппировать меши объектов, добавить LOD'ы для противников и т.д. Это попутно решит проблему с щелями между полигонов, т.к. программно эту особенность CEL не решить (текстуры разного разрешения на стыках). Ещё хотелось бы увеличить дистанцию отрисовки на 50%, не скатившись обратно в слайд-шоу )
Были планы использования звукового DSP не по назначению, а для трансформации геометрии. Но, как выяснилось, для него не существует компилятора. А я пока не настолько упорот, чтобы писать в машинных кодах. В любом случае, касаемо звука, планирую добавить панорамирование для симуляции объёмного звучания. Звук уже рендерится в оба канала (с одинаковой громкостью), поэтому особого удара по производительности это не даст, а эффект будет ощутимый.
Конкретно сейчас переношу на GBA некоторые подходы, что применил для 3DO. Затем планирую пофиксить баги с AI и навигацией, добавить инвентарь, главное меню и загрузочные экраны, всё это по плану должно соответствовать Alpha версии. Тогда же покажу играбельный GBA порт.
После начнётся долгий и муторный перенос (из основной ветки) игровой логики объектов и AI прочих противников, которые задействованы на остальных уровнях. Ещё необходимо что-то решить с оптимизацией размера этих уровней, т.к. некоторые из последних не вписываются в размеры памяти 3DO. Возможно, придётся подрезать качество некоторых звуков. Попутно, ребята из сообщества занимаются исследованием на тему конвертации видео в совсместимый с 3DO Cinepak формат, надеюсь, в перспективе использовать их наработки для добавления FMV.
В общем, всё идёт по плану. 3DO версия явно будет не самой красивой и производительной, но, надеюсь, раскроет и покажет всем возможности железки, что привлечёт новых разработчиков в сообщество. По крайней мере, игра будет играбельнее, чем Doom ;)
Вот видео последней версии, запущенной на реальной железке
25 дек 2021, 03:05
sasha 5
Добрый модератор
Группа: Модераторы Сообщения: 2301 Регистрация: 04 дек 2009, 11:58 Откуда: Новосибирск
Модель 3DO:Panasonic FZ-10 NTSC-U
Великолепно, потрясающе!!! Когда у меня появилась впервые консолька в 2001 я играл в Дум в рамке и в черно-белом режиме...если бы я тогда увидел то что щас вижу - у меня бы челюсть отвисла))
Попутно, ребята из сообщества занимаются исследованием на тему конвертации видео в совсместимый с 3DO Cinepak формат, надеюсь, в перспективе использовать их наработки для добавления FMV.
Да с созданием этих Stream-видосов несчастных — и мы можем помочь, для этого много ума не нужно. А почему именно Cinepack? Паршивое же качество он обеспечивает. Всё будет в мыле и разноцветных артефактах, а-ля «Америкен Лейзер Геймс» тм. ))
Может, лучше SANM? Если плеер сумеешь собрать и добавить в LaunchMe? Сжатие православным Pack Cel Data — таки предпочтительнее, чем говнявый Cinepack. ___________________ И потом из PC-версии там конвертить нечего — там видосы 300x120 пикселов, 15fps:
Вложение
TRMovie.PNG
Лучше с Sony PlayStation 1 брать — вот там уже что-то, 15fps тоже, зато 320x208 пикселов. И смотрятся отлично.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Дальнейшая оптимизация слишком трудозатратна без ODE, поэтому переключился на другие платформы. Какие-то общие оптимизации для них находят отражение и в 3DO версии, но пока ничего существенного.
Что-то я старый стал, медленно соображающий и глупый.)) Может, имеет смысл оказать какой-то донейт на приобретение ODE, и тогда это, быть может, поможет ускорить релиз?
Как бы — да, писать болванки в таком деле — это такой процесс, шибко «многоболваночный»... Перевод игры-то их иной раз отжирает целую гору, где ничего не надо оптимизировать, а просто тестить.
Вложение
IMG_4474.JPG
Это у меня просто вторая шлифовка перевода Шерлока Холмса была, и вот столько вот болванок ушло — это все в мусор, примерно по 1 болванке на ресурс-файл.
У вас нет необходимых прав для просмотра вложений в этом сообщении.