Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

GBX.ru _ GB: Программирование _ OpenLara GBA

Автор: XProger Суббота, 08 августа 2020, 04:15

Всем привет из будущего, надеюсь, тут ещё остались староверы.

Я есть главный разработчик проекта http://xproger.info/projects/OpenLara/. Наигравшись с BittBoy решил ещё глубже погрузиться в кроличью нору и попробовать портировать проект на Game Boy Advance. В этом направлении уже есть кое-какие результаты:
http://img.xproger.info/42685825.jpg

На данный момент это отдельная от основного кода песочница, чисто proof of concept. Пока частота кадров колеблется от 5 до 12 FPS, но в запасе ещё есть несколько вариантов оптимизации, если в будущем добьюсь стабильных 15 FPS, то можно будет подключать геймплей и звук. Скачать демку можно http://xproger.info/projects/OpenLara/files/gba/OpenLara_20200808.gba.

Сейчас всё рисуется треугольниками, но 95% всей геометрии в игре представлено трапециями, т.е. две грани квада всегда параллельны друг другу. Планирую использовать этот факт для оптимизации растеризатора.

Автор: Miralok Суббота, 08 августа 2020, 06:52

Круто. Но еще круче было бы играть в Лару на ВииЮ. Ее там очень не хватает (даже с учетом Вии и ГК игр).

Автор: Ol_ Суббота, 08 августа 2020, 07:19

QUOTE (Miralok @ Суббота, 08 августа 2020, 06:52)

Круто. Но еще круче было бы играть в Лару на ВииЮ. Ее там очень не хватает (даже с учетом Вии и ГК игр).
*

А смысл? Вроде не так давно был слух, что скворцы выпустят сборник из 9 частей TR, который посетит в т.ч. Свитч.

https://sun1-90.userapi.com/2OFJKoriqS0W01xOf5W6g601IO22dzGOVjXglA/cSXnZqBXT_Q.jpg

Автор: aa-dav Суббота, 08 августа 2020, 07:31

Круто!
Если еще не в курсе - на GBA самая крутая и сложная оптимизация - это размещение кода в WRAM где 32-битная шина данных и потому перевод режима процессора в режим ARM не даёт пенальти по циклам чтения памяти зато даёт пользу продвинутого режима команд повышенной по сравнению с Thumb-1 производительности. Но работает это именно что только в WRAM где 32-битная шина данных.
Насчёт 15-20 фпс - для меня звучит сомнительно. Даже у порта Doom на эту платформу столько не получилось.
И почему на gamedev.ru не создал тему? smile.gif

Автор: dimm0505 Суббота, 08 августа 2020, 09:35

QUOTE (XProger @ Сегодня, 04:15)

Я есть главный разработчик проекта OpenLara.
*

Ты главный разраб OpenLara? lol2.gif Пробовал я модуль OL для ProjectEris/Autobleem на PS Classic. Она пошла, но там или рип кривой был (я взял ассеты из "русской" версии для PS1), то-ли я недонастроил управление, с косяками шла. Но думаю, надо просто посидеть подольше, покопаться с настройками.

QUOTE (XProger @ Сегодня, 04:15)

попробовать портировать проект на Game Boy Advance
*

Это очень круто, обожаю GBA. Больше всяких NDS/3DS из-за форм-фактора, особенно Gameboy Micro ))) Ваще GBA это как Spectrum или C64 среди портативок, где один человек вполне может делать "вещи". Да и спеки у него хороши, мощней SNES, кроме разрешения и звукового чипа (хотя с его двумя цифровыми каналами это не проблема).
QUOTE (aa-dav @ Сегодня, 07:31)

И почему на gamedev.ru не создал тему?
*

И чтобы тут про это никто не узнал? Все правильно что здесь запостил, а там тоже никто не мешает.

P.S. Насчет Wii U не знаю, но на Свитч OL портанули, 60fps, режим от первого лица и тп! Класс:



Автор: Miralok Суббота, 08 августа 2020, 13:59

QUOTE (Ol_ @ Суббота, 08 августа 2020, 07:19)

А смысл?
*


Ну на гба с 15 фпс есть смысл, а на ВииЮ - нет =)

Добавлено спустя 4 минуты:
QUOTE (dimm0505 @ Суббота, 08 августа 2020, 09:35)

P.S. Насчет Wii U не знаю, но на Свитч OL портанули, 60fps, режим от первого лица и тп! Класс:
*


Знаю, но у меня свитч не шит. Зато поиграл в опенлару в браузере - был под большим впечатлением.

Автор: dimm0505 Суббота, 08 августа 2020, 16:26

QUOTE (Miralok @ Сегодня, 13:59)

Ну на гба с 15 фпс есть смысл, а на ВииЮ - нет =)
*

Тут как я понимаю спортивный интерес. Показать свой скилл софтового архитектора и кодера. К тому же это очень интересно искать всякие способы оптимизации.

QUOTE (Miralok @ Сегодня, 13:59)

Знаю, но у меня свитч не шит.
*


А PS Classic нет? Там тоже можно ее запущать.

Автор: aa-dav Суббота, 08 августа 2020, 18:06

QUOTE (dimm0505 @ Сегодня, 09:35)

И чтобы тут про это никто не узнал?
*

Я всмысле "и почему И на гд.ру не создал тему". smile.gif

QUOTE (dimm0505 @ Сегодня, 09:35)

Ваще GBA это как Spectrum или C64 среди портативок
*


Не ну спектрум всё-таки 8 бит, а GBA хоть и маломощные, но 32 бита. Как спектрум всё-таки GB или GBC. А GBA это уже сравнительно жирно. Даже Doom кое как, но тянет, т.е. находится где-то рядом с i386 в софтаче.

Автор: daxter. Суббота, 08 августа 2020, 19:00

QUOTE (aa-dav @ Суббота, 08 августа 2020, 19:06)

Я всмысле "и почему И на гд.ру не создал тему". smile.gif
Не ну спектрум всё-таки 8 бит, а GBA хоть и маломощные, но 32 бита. Как спектрум всё-таки GB или GBC. А GBA это уже сравнительно жирно. Даже Doom кое как, но тянет, т.е. находится где-то рядом с i386 в софтаче.
*


Он имел ввиду комьюнити. smile.gif

Автор: dimm0505 Суббота, 08 августа 2020, 19:02

QUOTE (aa-dav @ Сегодня, 18:06)

Не ну спектрум всё-таки 8 бит, а GBA хоть и маломощные, но 32 бита. Как спектрум всё-таки GB или GBC. А GBA это уже сравнительно жирно. Даже Doom кое как, но тянет, т.е. находится где-то рядом с i386 в софтаче.
*


Ты меня не понял, не в плане железа конечно, GBA на порядок мощнее во всем. Я имел в виду, что для меня кодинг под него вызывает такой же интерес, как и под Спек и С64. Жаль, что это не так в реалии. То есть там нет этих двух экранов, тачей, аппаратного 3D и тп штуковин. Ничего лишнего, никакой мишуры, чисто исскуство кодера и всякие нестандартные решения. Для GBA даже пытались несколько движков с настоящим 3D создать (по типу Quake), но к сожалению сдулись.







Не получили дальнейшего развития проекты. Так что Оупен Лара очень интересна!

Автор: dimm0505 Суббота, 08 августа 2020, 19:29

Кроме Дума, Дюкема и еще нескольких fps, на GBA были еще вполне впечатляющие 3D стрелялки, гонки и платформеры:





Астерикс ваще смотрелся как ранняя 3D-игра для Сатурна или PS1:


Никакого "спецжелеза" для 3D, чисто софтовые решения.

Автор: XProger Суббота, 08 августа 2020, 21:52

QUOTE (Miralok @ Сегодня, 06:52)

Круто. Но еще круче было бы играть в Лару на ВииЮ
*

Wii U пока не рассматривал, если найду что-то в пределах 11к, то займусь. Для Wii и GC дальше треугольника пока не ушёл, и с учётом спецификаций железа, на этих консолях особо не повыпендриваешься и графика будет сродни версии под 3DS (вертексные шейдера + комбайнеры). Но Wii U должна будет всё тянуть, да.

QUOTE (aa-dav @ Сегодня, 07:31)

на GBA самая крутая и сложная оптимизация - это размещение кода в WRAM
*

Всё так, код растеризатора и данные промежуточных структур по типу таблицы переиндексации цветов по яркости (256 * 32 байта), трансформированных вершин и полигонов находятся в IWRAM, но сами исходные данные - геометрия и текстуры находятся в PAK ROM памяти. Одних только текстур тут 256 * 256 * 13 = 832 кб, даже в EWRAM не влезет :\
При старте игра выставляет самые низкие режимы latency в WAITCNT регистр, так что при отсутствии CPU кеша быстрее делать выборку из текстур и реиндексацию по яркости не получится.
Ещё как вариант есть Mode 5, в нём всё работает на ~30% шустрее, но пикселизация меня не устраивает.

QUOTE (aa-dav @ Сегодня, 07:31)

И почему на gamedev.ru не создал тему?
*

Тема https://gamedev.ru/projects/forum/?id=220945, но там слишком разношёрстная аудитория, старики ушли, а молодые дельный совет уж точно не дадут.

QUOTE (dimm0505 @ Сегодня, 09:35)

Пробовал я модуль OL для ProjectEris/Autobleem на PS Classic
*

Ещё год назад всё отлично работало на AutoBleem, но потом ребята посрались на почве каких-то архитектурных решений и полностью сломали обработку ввода сторонними приложениями по типу моего. В этот момент часть команды занялась Project Eris в котором всё работало, но я уже давно не собирал билды под PS Classic Mini и SNES Mini в ожидании, когда всё у них там утрясётся.

QUOTE (dimm0505 @ Сегодня, 19:02)

Не получили дальнейшего развития проекты.
*

Yeti3D есть в исходном коде (вроде для GP32), не самый оптимальный код, их сильно спасало низкое кол-во полигонов на сцене. Ушли в коммерцию, съели друг друга! :D

Дизассемблил недавно Asterix & Obelix, очень простой растеризатор без лайтинга и тумана, небольшое кол-во полигонов. Хотел было проконсультироваться с https://www.mobygames.com/developer/sheet/view/developerId,102800/ этого проекта, но не успел, https://en.wikipedia.org/wiki/VD-dev в 2016 году :\

Автор: dimm0505 Суббота, 08 августа 2020, 22:03

QUOTE (XProger @ Сегодня, 21:52)

Хотел было проконсультироваться с рендерщиком этого проекта, но не успел, скончался в 2016 году :\
*


Это же студия VD-Dev? Velez & Dubail? Кто из них умер? Они, кстати, и V-Rally 3 сделали для GBA, видно, что движок у них один с Астериксом. Зато какую красоту они для Свитча сотворили, с последним патчем 1.5 ваще в 60fps полетела lol2.gif


Автор: XProger Суббота, 08 августа 2020, 22:19

QUOTE (dimm0505 @ Сегодня, 22:03)
Кто из них умер?
*

там в сообщении https://www.mobygames.com/developer/sheet/view/developerId,102800/, в этой игре он тоже успел поучаствовать, судя по титрам.

Автор: dimm0505 Суббота, 08 августа 2020, 22:57

QUOTE (XProger @ Суббота, 08 августа 2020, 22:19)

там в сообщении https://www.mobygames.com/developer/sheet/view/developerId,102800/, в этой игре он тоже успел поучаствовать, судя по титрам.
*

Я просто набирал свой пост в этот момент и твою ссылку не увидел, потом-то посмотрел конечно. Получается, что он еще начинал работать над Rise: Race the Future. Ее в 2016 году анонсировали. Жаль, что так случилось с ним, конечно.

Автор: Miralok Воскресенье, 09 августа 2020, 03:14

QUOTE (dimm0505 @ Суббота, 08 августа 2020, 16:26)

А PS Classic нет? Там тоже можно ее запущать.
*

Есть, но неудобно все как-то. Провода и т.п. А вот ю очень удобная для всего

Автор: dimm0505 Воскресенье, 09 августа 2020, 16:39

QUOTE (XProger @ Вчера, 21:52)

Ещё как вариант есть Mode 5, в нём всё работает на ~30% шустрее, но пикселизация меня не устраивает.
*


Это 160x128? А потом апскейленные до 240x160? Тоже интересно, кмк тут производительность даже важней разрешения (играли же как-то на GB/GBC). Хоть просто посмотреть. Я пока еще не тестил билд из первого поста, но обязательно его пощупаю, скорей всего на Gameboy Micro.

Автор: XProger Воскресенье, 09 августа 2020, 17:48

QUOTE (dimm0505 @ Вчера, 22:57)
Жаль, что так случилось с ним, конечно.
*
Жаль, но он успел оставить значимый след в истории портативных консолей.

QUOTE (dimm0505 @ Сегодня, 16:39)
Это 160x128?
*
Ага, вот http://xproger.info/projects/OpenLara/files/gba/OpenLara_20200808_mode5.gba в таком режиме

Автор: dimm0505 Воскресенье, 09 августа 2020, 18:28

QUOTE (XProger @ Воскресенье, 09 августа 2020, 17:48)

Жаль, но он успел оставить значимый след в истории портативных консолей.

Ага, вот http://xproger.info/projects/OpenLara/files/gba/OpenLara_20200808_mode5.gba в таком режиме
*

Спасибо, обязательно посмотрю, я тут потерял свой Mini-SD адаптер для флэш-карика GBA, но нашел уже.

Автор: Miralok Вторник, 11 августа 2020, 06:37

QUOTE (XProger @ Суббота, 08 августа 2020, 21:52)

Wii U пока не рассматривал, если найду что-то в пределах 11к, то займусь.
*


Можно на эмулятор, а я могу потестить на железе ^.^ happy.gif

Автор: Katrug Вторник, 11 августа 2020, 10:34

QUOTE (aa-dav @ Суббота, 08 августа 2020, 09:31)

Даже у порта Doom на эту платформу столько не получилось.
*

Потому что, скажем прямо, порты Думов на GBA далеки от идеала. Их даже хорошими назвать нельзя, не то что выдающимися. Сейчас на Гитхабе есть пара форков портов от энтузиастов, буквально на коленке собранных, так вот они уже показывают весьма близкий к коммерческим портам fps при заметно лучшей картинке.

Автор: dimm0505 Вторник, 11 августа 2020, 13:02

Заценил сегодня с утречка после физзарядки оба билда на GBA Micro. Ну вообщем чудесно смотрятся оба на 2" экранчике ))) Полетал там камерой по всему уровню, производительность пока еще не очень, но думаю простор для оптимизации есть. В MODE 5 поплавней конечно:

240x160:
https://i.imgur.com/MC2mWD0.jpg

MODE5 160x128
https://i.imgur.com/V79hDam.jpg

На гамму не обращайте внимание, это тел так плохо сфотал, вживую цвета лучше конечно.

Успехов с этим выдающимся проектом!

Автор: шукай Четверг, 13 августа 2020, 23:17

Узнал о проекте и поиграл на сайте, впервые со времён pentium 133mhz ))
Молодцы, авторам успехов !

Автор: XProger Понедельник, 17 августа 2020, 07:54

Добавил http://xproger.info/projects/OpenLara/files/gba/OpenLara_20200817.gba, теперь можно свободно перемещаться камерой по всему уровню.
Всё ещё есть что оптимизировать и визуально улучшать.
http://xproger.info/projects/OpenLara/shots/gba_1.png

Автор: aa-dav Понедельник, 17 августа 2020, 08:16

Круто! Настоящего GBA у меня нет, так что полетал в эмуляторе. По моему когда в определённый момент вылетел за стены, то словил что-то типа деления на ноль, всё повисло.
Кстати вопрос - а какой видеорежим используется? Я когда баловался даже просто с заливкой экрана одним цветом мне очень не понравилась производительность, хотя позже уже я понял что в этом должна была быть существенная вина кода вычисляющего fps на плавающей запятой (из libc DevKitArm) и это было очень зря. Но перепроверить уже желания не было.

Автор: XProger Понедельник, 17 августа 2020, 08:39

QUOTE (aa-dav @ Сегодня, 08:16)

Кстати вопрос - а какой видеорежим используется?
*

mode 4

Автор: aa-dav Вторник, 18 августа 2020, 15:58

Немного попиарил в английском интернете: http://forums.nesdev.com/viewtopic.php?f=20&t=20697
Там человек интересуется - мол интересно легко ли было бы портировать игру на 3DS?
Там есть 3Д ускорение, поэтому вопрос видимо по большей части касается того насколько легко сменить софт-рендер на полигоны. Судя по тому что игра была сразу портирована на PS1 в ней должен быть мультирендерный подход заложен как минимум в оригинальный код.
А как с этим обстоят дела в OpenLara?

Автор: XProger Вторник, 18 августа 2020, 19:02

QUOTE (aa-dav @ Сегодня, 15:58)
Немного попиарил в английском интернете
*
Спасибо, ответил там. Игра https://youtu.be/4W7QnslNokc на 3DS.

Автор: dimm0505 Вторник, 18 августа 2020, 21:47

QUOTE (XProger @ Сегодня, 19:02)

Игра уже портирована на 3DS.

*


А на DS случайно нет? lol.gif Пободрей GBA все-таки.

Автор: XProger Вторник, 18 августа 2020, 23:21

QUOTE (dimm0505 @ Сегодня, 21:47)
А на DS случайно нет?
*
Сегодня только приобрёл, не приступал ещё smile.gif

Автор: Miralok Среда, 19 августа 2020, 02:13

Класс! Если на 3дс портировали, то на ВииЮ уже не так актуально =) Но все равно хотелось бы.

Автор: aa-dav Среда, 19 августа 2020, 04:44

QUOTE (XProger @ Вчера, 19:02)

Спасибо, ответил там. Игра уже портирована на 3DS.
*


Ого! Круто! Я вижу настрой серьёзный, с охватом всего куда можно дотянуться. good.gif
А образ где нибудь можно скачать?

Я после GBA подумывал разобраться с DS хотя бы, но как то уже времени было жалко.

Автор: XProger Среда, 19 августа 2020, 05:15

QUOTE (aa-dav @ Сегодня, 04:44)
А образ где нибудь можно скачать?
*
Всё на https://github.com/XProger/OpenLara/releases/tag/latest.

Автор: aa-dav Среда, 19 августа 2020, 05:44

Раз есть софт-рендер, то может один из наших соотечественников проявит интерес чтобы портировать на свою собственноручно спаянную платформу: https://gamedev.ru/flame/forum/?id=246512&page=9&m=5234735#m133
Было бы интересно тоже. Не откажете же во введении в курс дела движка раз уж он опенсорсный?

Автор: Miralok Среда, 19 августа 2020, 08:17

Не отвлекайте человека от WiiU версии! lol.gif

Автор: aa-dav Среда, 19 августа 2020, 08:29

QUOTE (Miralok @ Среда, 19 августа 2020, 08:17)

Не отвлекайте человека от WiiU версии! lol.gif
*

А тут совершенно понятно, что времени на столь узкую нишу не будет при столь многочисленном охвате. Однако исходники же опенсорц, а создатель BlackPrism сам программист, так что возможно у него появится интерес самому сделать порт. Так что там если и помочь, то советом. Но посмотрим.

Автор: Miralok Среда, 19 августа 2020, 12:29

Играю в Лару на 3DS - это просто невероятно! Игра выглядит в 3д круче многих "родных" игр. Потрясающе, просто потрясающе!

Один вопрос - я закинул содержимое первой части в папку OpenLara. А как быть с другими частями серии? Или можно поиграть только первую?

И заметил глюк - игра путает названия кнопок приставки. Вместо X - Y, вместо A - B .
С кнопкой Start тоже беда - при нажатии игра сразу выключается.

P.S.; Глюков конечно море и по графике и по поведению животных например, но вполне играбельно ) Даже очень.

Автор: aa-dav Среда, 19 августа 2020, 13:42

Может кто-нибудь проинструктировать как и можно ли запустить версию для 3DS под эмулятором Citra?

Автор: Miralok Среда, 19 августа 2020, 14:00

Я не знаю как работает эмулятор, но на консоли делал так:

1. Из архива https://github.com/XProger/OpenLara/releases/download/latest/OpenLara_3ds.zip файл OpenLara.3DSX положил в папку /3DS
2. Создал папку /3DS/OpenLara
3. Распаковал в нее содержимое ПК версии TR1 (хотя видимо было лучше PS1 версию взять, там всплыли нюансы). Не стал распаковывать все файлы в корне, относящиеся к операционной системе и движку (.exe, .dll...). В целом все файлы в корне игры не понадобились.
4. Содержимое https://opentomb.earvillage.net/tr1.zip распаковал в /3DS/OpenLara. Я так понял это оцифрованные звуковые дорожки с CD диска игры. Получится что они лежат в /3DS/OpenLara/tr1/...
5. Через HBC запустил OpenLara
Вроде всё.

Автор: aa-dav Среда, 19 августа 2020, 14:05

QUOTE (Miralok @ Среда, 19 августа 2020, 14:00)

Я не знаю как работает эмулятор, но на консоли делал так:

1. Из архива https://github.com/XProger/OpenLara/releases/download/latest/OpenLara_3ds.zip файл OpenLara.3DSX положил в папку /3DS
*


Собственно на этом же шаге и начинаются проблемы, т.к. в эмуляторе такой папки нет.
Правла есть некая папка "Nintendo 3DS", где лежат директории из длинных последовательностей нулей и прочих цифр соответствующие хоть раз запущенным или установленным образам, надо попробовать провернуть это с ней, но есть большая вероятность, что это не то.

Автор: Miralok Среда, 19 августа 2020, 14:07

QUOTE (aa-dav @ Среда, 19 августа 2020, 14:05)

Собственно на этом же шаге и начинаются проблемы, т.к. в эмуляторе такой папки нет.
Правла есть некая папка "Nintendo 3DS", где лежат директории из длинных последовательностей нулей и прочих цифр соответствующие хоть раз запущенным или установленным образам, надо попробовать провернуть это с ней, но есть большая вероятность, что это не то.
*


Ну это папка где HBC ищет исполняемые файлы, насколько я понимаю. ТО есть те, что не установлены как игры, в виде каналов, а обычные хоумбрю. Может как-то можно установить HBC в эмулятор.

Добавлено спустя 1 минуту:
https://community.citra-emu.org/t/homebrew-on-citra/231

Do you mean the homebrew launcher? Or homebrew games? Both will run on Citra, however you cannot use the homebrew launcher to boot homebrew applications, as Citra doesn’t currently handle closing/opening games internally.

So to answer your question, once you download the .3dsx file, simply open it with Citra as you would any other game.

Some homebrew games have dependencies, so you need to make sure you read what the homebrew requires to work. For example: If you want to run the Helii3DS homebrew, you must put the “Helii3DS” folder that’s included in the zip file in Citra’s user folder in the same manner you would on the 3DS.

Here’s an example of the directory: C:\Users[Username]\AppData\Roaming\Citra\sdmc\3ds\Helii3DS

Автор: aa-dav Среда, 19 августа 2020, 14:14

QUOTE (Miralok @ Сегодня, 14:07)

If you want to run the Helii3DS homebrew, you must put the “Helii3DS” folder that’s included in the zip file in Citra’s user folder in the same manner you would on the 3DS.

Here’s an example of the directory: C:\Users[Username]\AppData\Roaming\Citra\sdmc\3ds\Helii3DS
*


О! А это похоже на ответ. smdc папка действительно есть и в ней лежит как раз упомянутая мной папка "Nintendo 3DS", но судя по этому описанию тут я просто руками создам папку 3ds...
Спасибо!

Автор: Miralok Среда, 19 августа 2020, 14:20

Расскажи, если запустишь. Интересно.

Меня вообще очень впечатлило, как игра идет в 60 фпс.

Автор: XProger Среда, 19 августа 2020, 16:58

QUOTE (Miralok @ Сегодня, 12:29)
А как быть с другими частями серии?
*
Аналогично, только вместо контента первой части копируешь другую (2-4). Полностью играбельна пока только первая часть.
Идеальная сборка доступна в двух архивах http://xproger.info/projects/OpenLara/files/TR1_data.7z и http://xproger.info/projects/OpenLara/files/TR1_audio.7z.

Под Citra эмулятором OpenLara.3dsx запустился после копирования контента в %APPDATA%\Citra\sdmc\3ds\OpenLara

Автор: dimm0505 Среда, 19 августа 2020, 18:21

Тимур, я конечно извиняюсь, что вопрос не по теме Лары. А вы в команде, которая участвует в разработке HALO Infinite? Просто игру неожиданно на 2021 год перенесли, неужели причина настолько серьёзна, что главный флагман майков пропустит лонч XSX?

Автор: XProger Среда, 19 августа 2020, 18:39

dimm0505, ничего касаемо работы обсуждать не могу, звиняй, NDA :\

Автор: Miralok Среда, 19 августа 2020, 23:06

QUOTE (XProger @ Среда, 19 августа 2020, 16:58)

Аналогично, только вместо контента первой части копируешь другую (2-4). Полностью играбельна пока только первая часть.
*


Значит несколько частей игры нельзя одновременно установить?

Добавлено спустя 32 минуты:
QUOTE (XProger @ Среда, 19 августа 2020, 16:58)
http://xproger.info/projects/OpenLara/files/TR1_data.7z и http://xproger.info/projects/OpenLara/files/TR1_audio.7z.
*


На этой сборке игра дико затупает на звуке секрета и каких-то других. Все остальные глюки тоже на месте, поэтому получается, что сборка даже похуже моей первоначальной (пропадают местами текстуры уровня, нет текстур на точке сохранения, враги работают неправильно). Продолжаю наблюдение.

Все таки куда распаковываем содержимое TR1_audio.7z? В 3DS/OpenLara или в 3DS/OpenLara/tr1 как написано на форуме?

P.S.: Я тут попробовал скомбинировать PS1 и ПК версию - все равно затыкается очень сильно на этих звуках. Иногда по 5 секунд игра висит. Сейвпоинт на пс1 версии тоже без текстур хоть на чистом, хоть на комбинированном.
Вернулся к ПК версии - она меньше по размеру, звуки есть, заnыканий нет, а остальные глюки такие же =)

Автор: dimm0505 Четверг, 20 августа 2020, 15:12

Вообще конечно Tomb Raider легендарная игра. Благодаря ей наверно и купил первую приставку в своей жизни - PS1. Она вышла в 1996, первый раз увидел в каком-то игровом салоне весной 97, да так загорелся, что в августе купил в Москве ))) Тогда я еще понятия не имел, сколько у ней памяти, какой процессор, ваще ничего про архитектуру не знал. Но поиграл в Quake на PC, первой по настоящему 3D игре, и увидел, что в Томбе по сути такой-же движок.
Свободная камера, многоуровневые локации, трехмерные персонажи и объекты.

А на минуточку, в 96 году вышел Final DOOM на PS1, 2.5D игра, которой Ларка технологически на голову выше была. Параллельно CORE разрабатывала версии для Saturn и PC/DOS. SEGA заключила с издателем контракт, по которому игра для сатурна должна была выйти в Европе на месяц раньше версии для плойки. В результате ребята вынуждены были релизить какую-то бетку, не успевали до конца все баги выловить. Интересно, что в NTSC (NA/JAP) игра вышла позже и была уже вылеченная ))) Так что не покупайте PAL TR для Сатурна. Патчей тогда не было. Вот сравнение версий SAT/PS1:



Видно что на сатурне и разрешение игры ниже, и производительность похуже.
И освещение немного другое, темней что-ли, но может это гамму не выставили как надо. Зато в самом конце ролика, обратите внимание на "колыхание" воды в бассейне в Сатурн версии, на PS1 - ровная поверхность.

Вообще конечно я преклоняюсь перед кодерами на Сатурн (и упрекаю SEGA за отсутствие нормальной документации разработчика, когда first-party девы были лучше осведомлены, чем остальные). Была в те годы такая студия - Lobotomy, которые многие знают за их прекрасный Power Slave (Exhumed в Европе). Знают, потому что игра выходила и на PS1. На движке игры - Slavedriver, Lobotomy потом сделала еще Duke Nukem 3D и Quake (!) для Saturn. Им пришлось заново замоделить все уровни игры с PC, плюс еще свои четыре эксклюзивных сделали.



Сейчас выглядит конечно не ахти, но в 97 году, да на приставке, я представляю. Тогда ходили слухи, что выйдет Quake и для PS1, но он был отменен в итоге, видимо какие-то экономические соображения были у издателя.
Один из кодеров Lobotomy, Ezra Dreisbach рассказал, что они сделали по быстрому черновой порт Quake для PS1, и что он работал лучше Сатурн версии, уже в нем было 30fps с перспективой достичь 60 lol2.gif

QUOTE
Ezra: The most striking thing about the PlayStation port was how much faster the graphics hardware was than the Saturn. The initial scene after you just start the game is pretty complex. I think it ran 20 fps on the Saturn version. On the PlayStation it ran 30, but the actual rendering part could have been going 60 if the CPU calculations weren’t holding it up. I don’t know if it would have ever been possible to get it to really run 60, but at least there was the potential.

Other than that, it would have looked identical to the Saturn version. Except for some reason the PlayStation video output has better colour than the Saturn’s.

So I know something about the PlayStation. And really, if you couldn’t tell from the games, the PlayStation is way better than the Saturn. It’s way simpler and way faster. There are a lot of things about the Saturn that are totally dumb. Chief among these is that you can’t draw triangles, only quadrilaterals.

http://www.gareth.uk/2010/08/07/interview-with-ezra-dreisbach-of-lobotomy-software/

И вообще он считал PS1 во всем лучше Saturn. Проще и быстрей (а что еще надо разрабам?).

Duke Nuke 3D, сделанный ими же, мне лично больше нравится в версии для Сатурна:


Несмотря на то, что и PC версия тоже называется Duke Nuke 3D, никакого 3D в ней нет (в PS1 версии слова 3D нет). Build - 2.5D движок. А если присмотреться к Saturn версии выше, то видно, что у него при движении камерой не искажается перспектива, то есть он точно 3D (кроме спрайтовых объектов, персов и тп). Даже цветное освещение было lol2.gif

Кстати, кто играл в Duke Nukem 3D: 20th Anniversary World Tour на современных платформах, мог обратить внимание, что в нем можно переключать движок из 2.5D в 3D.

Автор: Miralok Пятница, 21 августа 2020, 13:17

Показалась забавной мысль портировать OpenLara, после того как она будет запускать все первые пять частей игры, на Sega Saturn и восстановить вселенскую несправедливость )

Автор: XProger Пятница, 11 сентября 2020, 20:15

Текущее состояние, ром можно взять http://xproger.info/projects/OpenLara/files/gba/OpenLara_gba_1.gba.

Автор: dimm0505 Пятница, 11 сентября 2020, 22:41

Круто https://madfanboy.com/forum/images/smilies/simple.png

Автор: lps Воскресенье, 13 сентября 2020, 13:56

Тимур, у меня складывается впечатление, что ты никогда не спишь.

Автор: dimm0505 Понедельник, 14 сентября 2020, 22:18

Немного из истории Лары.



Команда первой, оригинальной игры (CORE Design):
http://images.eurogamer.net/2015/articles/1/8/6/4/9/7/6/147756156873.jpg

Ян Ливингстоун (CEO Eidos) с тёлочками на ECTS в 1996 году =))
http://images.eurogamer.net/2015/articles/1/8/6/4/9/7/6/20-years-on-the-tomb-raider-story-told-by-the-people-who-were-there-147756276083.jpg

Лично для меня Томб закончился на второй части, потом начался сплошной ад, за редким исключением и так вплоть до ребута в 2013.

Автор: daxter. Понедельник, 14 сентября 2020, 23:56

Забавно, разрабы все скромные, а директор ультра альфач. cool.gif

Автор: dimm0505 Вторник, 15 сентября 2020, 00:59

QUOTE (daxter. @ Понедельник, 14 сентября 2020, 23:56)

Забавно, разрабы все скромные, а директор ультра альфач. cool.gif
*

Ему по статусу положено wink.gif

Автор: XProger Вторник, 15 сентября 2020, 15:38

Есть прекрасный https://youtu.be/67Q8P7qj4rQ всей серии игр Tomb Raider от stopgame (Даур Авидзба). Именно его просмотр с последующей нахлынувшей ностальгией в 2016 году сподвиг меня начать этот проект.

Автор: stap Вторник, 22 сентября 2020, 01:18

QUOTE (XProger @ Вторник, 15 сентября 2020, 15:38)

Есть прекрасный https://youtu.be/67Q8P7qj4rQ всей серии игр Tomb Raider от stopgame (Даур Авидзба). Именно его просмотр с последующей нахлынувшей ностальгией в 2016 году сподвиг меня начать этот проект.
*

Привет. Есть ли в планах сделать 2-5 части полностью рабочими и проходимыми? С удовольствием перепрохожу сейчас 1 часть и хочу поблагодарить за такой замечательный проект.

Автор: XProger Вторник, 22 сентября 2020, 01:20

есть

Автор: AlyonaZzz Понедельник, 01 ноября 2021, 17:57

Присоединённое изображениеПрисоединённое изображение
Всех приветствую! Может быть я пишу вообще не в тот раздел, не бейте палками sad1.gif , но форум жалуется, будто я спамер и не дает создать тему. У меня проблема с FLASH картриджем SuperCard, выдает вот такую картину. Может быть кто-то знает как решить? Всем заранее спасибо за потраченное время и внимание! clover.gif

Автор: Iris Понедельник, 01 ноября 2021, 18:54

QUOTE (AlyonaZzz @ Понедельник, 01 ноября 2021, 19:57)

У меня проблема с FLASH картриджем SuperCard, выдает вот такую картину. Может быть кто-то знает как решить?
*

Это аппаратная проблема, к сожалению, решить не получится. Картридж пишет "ошибка памяти sram, ошибка памяти sdram" и не видит эти чипы...

В принципе, можно попробовать отнести в сотовую мастерскую и попросить феном прогреть чип, после чего контакт восстановится и он оживёт smile.gif

Автор: daxter. Понедельник, 01 ноября 2021, 19:13

И опять SuperCard. Самый доступный и самый кривой Flash картридж для GBA. smile.gif

Я даже не удивлен, что аппаратные проблемы посыпались.

А так да, микросхемы памяти прогреть. Может быть, поможет

Автор: XProger Пятница, 14 января 2022, 13:43

Обновил, теперь играбельно!

Автор: stap Пятница, 14 января 2022, 14:07

Это похоже на жанр impossible port, как это вообще возможно на железе GBA, в голове не укладывается.

Залип, проходя два первых уровня, не поднимая челюсть с пола. Отлип только когда рычаг в Вилкабамбе отказался выпускать меня из комнаты с секретом.

Я так понимаю, основной вопрос теперь это как запихнуть все ассеты из полной версии в один ром, чтоб он был удобоваримого размера.

Автор: Pressstart Пятница, 14 января 2022, 17:06

Потрясающе!
Самая 3д технологичная игра на GBA.

Автор: dimm0505 Суббота, 15 января 2022, 03:22

QUOTE (XProger @ Пятница, 14 января 2022, 13:43)

Обновил, теперь играбельно!

*

Тимур, это восхитительно, поздравляю! lol2.gif Как тебе удалось так оптимизировать (сама Nintendo не догадывалась что GBA так может lol.gif )? Ведь еще год назад она выдавала 10fps. В каком режиме она идет? Разрешение?

Автор: XProger Суббота, 15 января 2022, 04:22

QUOTE (dimm0505 @ Суббота, 15 января 2022, 03:22)

Тимур, это восхитительно, поздравляю! lol2.gif Как тебе удалось так оптимизировать (сама Nintendo не догадывалась что GBA так может lol.gif )? Ведь еще год назад она выдавала 10fps. В каком режиме она идет? Разрешение?
*

Спасибо )
Mode 4 8-bpp 240x160, много экспериментировал с Mode 5 (160х128 или перевёрнутый 120x160), но там разрешения явно не хватало. Из очевидных оптимизаций, как и Doom текстурирование идёт сразу парами по 2 пикселя, как и шейдинг. Растеризация, звук и математика полностью переписаны на ARM ассемблер, это дало наиболее существенный прирост. Да и выдохнул с облегчением, т.к. поведение компилятора С++ было очень непредсказуемым, и казалось бы очевидные оптимизации приводили к ухудшению перфоманса. С ассемблером такой фигни нет, всё чётко и предсказуемо. Попутно окунулся в 3DO порт, где удалось пощупать ещё более слабый процессор, вынес оттуда кучу полезного опыта, который отчасти перенёс на GBA порт 8)
Не думаю, что это финальный вариант оптимизации в плане кода, посмотрим, но оптимизацию арта уже пора начинать! )

Автор: dimm0505 Суббота, 15 января 2022, 13:40

QUOTE (XProger @ Сегодня, 04:22)

но оптимизацию арта уже пора начинать! )
*

Это еще даст немножко буста FPS? Или чтобы в размеры максимального карика для GBA игра влезла? Там вроде на 32MB максимальные были (Kingdom Hearts Chain of Memories, Mother 3 и Riviera - The Promised Land).

Автор: lps Воскресенье, 16 января 2022, 13:11

QUOTE (dimm0505 @ Суббота, 15 января 2022, 13:40)

Это еще даст немножко буста FPS? Или чтобы в размеры максимального карика для GBA игра влезла? Там вроде на 32MB максимальные были (Kingdom Hearts Chain of Memories, Mother 3 и Riviera - The Promised Land).
*

Порт для N-Gage весит 16мб.
Думаю, основная цель не размер, а скорость.

Автор: daxter. Воскресенье, 16 января 2022, 15:13

QUOTE (lps @ Воскресенье, 16 января 2022, 14:11)

Порт для N-Gage весит 16мб.
Думаю, основная цель не размер, а скорость.
*


Рипнутая DOS версия весит 52MB (без заставок и музыки)

В 32MB наверное, реально впихнуть

Автор: stap Понедельник, 17 января 2022, 18:21

Обзор от MVG:


Автор: Bargent Вторник, 18 января 2022, 17:54

spawn wave в своих новостях тоже упомянул. порт набирает хайп.

Автор: XProger Среда, 04 мая 2022, 04:03

https://github.com/XProger/OpenLara/releases/tag/latest альфу. В основном, изменения коснулись производительности, катсцены (которые уже работают) и остальные уровни всё ещё недоступны.
Выиграл порядка 6% на тестовой сцене благодаря использованию FIQ banked регистров, вместо возни со стеком. Также оптимизировал клиппинг полигонов порталами. Убрал проверки видимости box'ов (слишком много математики), теперь вместо них использую проверку видимости описанной сферы. В итоге, все оптимизации дали порядка 1-4 FPS в зависимости от ситуации. Местами текущая производительность позволяет увеличить видимую область, пока думаю над этим.
Пару недель работал над WAD форматом данных, чтобы вписать всю игру в 32 мб карик. По предварительным результатам выглядит многообещающе. Буду использовать его в следующей версии, которая будет уже бетой с полным набором уровней и логики. Если удастся разобраться с MPEG-1 декодированием, то удастся упихать FMV (11 минут) в каком-то качестве.

Попутно занимаюсь 32X портом, что местами заставляет придумывать альтернативные решения, которые по итогу хорошо ложатся и на GBA.

Автор: dimm0505 Среда, 04 мая 2022, 13:44

Мощно.

Автор: lps Пятница, 06 мая 2022, 18:22

QUOTE (Gashik @ Среда, 04 мая 2022, 22:19)

Хочется написать что-нибудь хвалебное, но слов не подобрать. Я в Лару не играл никогда. Пройду на ГБА, когда закончите.
*

Не пройдёшь, скорее всего, раз раньше не играл.
Слишком специфическое управление по нынешним временам. ИМХО.

Тимур, ты жжёшь напалмом, в очередной раз!

Автор: dimm0505 Суббота, 18 июня 2022, 13:28

Раз здесь у нас уже есть тема про "невозможные" GBA-порты smile.gif
Прототип порта Quake от https://www.randrdigital.com/ автора порта DOOM для SNES и эмуля PS1 Bleemcast для Dreamcast:
https://forestillusion.com/2022/quake-usa-prototype



CODE
----| File Data |--------------------------------------------------
System:             Nintendo - Game Boy Advance        
File:               BOBBEE TEC_ABTE.gba
BitSize:            256 Mbit
Size (Bytes):       33554432
CRC32:              10E16DD4
MD5:                B10AFB07357CB31AC7C77D431894EA61
SHA1:               91DA59C27F06BEB7D5EE1531300A0D1B7E4BFDE2
SHA256:             1CC084D228983744AC954DC0A40F847F442F124F8369438B17625270B00A7404
----| Header Data |------------------------------------------------
ROM Entry Point:    EA00002E
Logo Code:          Bad
Title:              BOBBEE TEC  
Serial:             ABTE (USA)
Maker Code:         01 (Nintendo)
Fixed Value:        0x96 (Ok)
Unit Code:          0x00
Device Code:        0x80
Reserved 1:         0x00000000000000
Version:            0x00 (v1.0)
Complement:         0x79 (Ok)
Reserved 2:         0x0000
----| Backup Media |-----------------------------------------------
Chip:               None
Size:               N/A

https://forestillusion.com/dumps/Nintendo%20Game%20Boy%20Advance/Quake%20%28USA%29%20%28Prototype%29/BOBBEE_TEC_ABTE.zip

Автор: Ol_ Воскресенье, 27 ноября 2022, 18:36

QUOTE (Gashik @ Воскресенье, 27 ноября 2022, 18:29)

С автором кто-нибудь общается? Как у него успехи?
lps, я с флешки с real-time save попробую.
*

В профиле есть ссылка на страницу вк wink.gif

Автор: dimm0505 Воскресенье, 27 ноября 2022, 20:50

Думаю в случае обновления, автор сам здесь напишет.