Forums Logo

Здравствуйте Гость ( Вход | Регистрация )

[ Каскадный ] · Стандартный · Линейный

> OpenLara GBA, Classic Tomb Raider open-source engine

XProger
post Суббота, 08 августа 2020, 04:15
Отправлено #1


Продвинутый
**

Группа: Пользователи
Сообщений: 33
Регистрация: 31 июля 2020
Из: Санкт-Петербург
Пользователь №: 71 342





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

Я есть главный разработчик проекта OpenLara. Наигравшись с BittBoy решил ещё глубже погрузиться в кроличью нору и попробовать портировать проект на Game Boy Advance. В этом направлении уже есть кое-какие результаты:
user posted image

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

Сейчас всё рисуется треугольниками, но 95% всей геометрии в игре представлено трапециями, т.е. две грани квада всегда параллельны друг другу. Планирую использовать этот факт для оптимизации растеризатора.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topicStart Poll
Ответов
XProger
post Суббота, 08 августа 2020, 21:52
Отправлено #2


Продвинутый
**

Группа: Пользователи
Сообщений: 33
Регистрация: 31 июля 2020
Из: Санкт-Петербург
Пользователь №: 71 342





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 не создал тему?
*

Тема есть, но там слишком разношёрстная аудитория, старики ушли, а молодые дельный совет уж точно не дадут.

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, очень простой растеризатор без лайтинга и тумана, небольшое кол-во полигонов. Хотел было проконсультироваться с рендерщиком этого проекта, но не успел, скончался в 2016 году :\

Сообщение отредактировал XProger - Суббота, 08 августа 2020, 22:02
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Miralok
post Вторник, 11 августа 2020, 06:37
Отправлено #3


Флудер
*******

Группа: Пользователи
Сообщений: 2 294
Регистрация: 02 мая. 2010
Пользователь №: 36 758





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

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


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


--------------------
Пишите мне в ВК. Ник такой же.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic
XProger   OpenLara GBA   Суббота, 08 августа 2020, 04:15
Miralok   Круто. Но еще круче было бы играть в Лару на ВииЮ....   Суббота, 08 августа 2020, 06:52
Ol_   А смысл? Вроде не так давно был слух, что скворцы...   Суббота, 08 августа 2020, 07:19
Miralok   Ну на гба с 15 фпс есть смысл, а на ВииЮ - нет =...   Суббота, 08 августа 2020, 13:59
aa-dav   Круто! Если еще не в курсе - на GBA самая крут...   Суббота, 08 августа 2020, 07:31
dimm0505   Ты главный разраб OpenLara? :woot: Пробовал я мо...   Суббота, 08 августа 2020, 09:35
dimm0505   Тут как я понимаю спортивный интерес. Показать св...   Суббота, 08 августа 2020, 16:26
Miralok   Есть, но неудобно все как-то. Провода и т.п. А в...   Воскресенье, 09 августа 2020, 03:14
aa-dav   Я всмысле "и почему И на гд.ру не создал тем...   Суббота, 08 августа 2020, 18:06
daxter.   Он имел ввиду комьюнити. :)   Суббота, 08 августа 2020, 19:00
dimm0505   Ты меня не понял, не в плане железа конечно, GBA...   Суббота, 08 августа 2020, 19:02
dimm0505   Кроме Дума, Дюкема и еще нескольких fps, на GBA бы...   Суббота, 08 августа 2020, 19:29
dimm0505   Это же студия VD-Dev? Velez & Dubail? Кто из...   Суббота, 08 августа 2020, 22:03
XProger   там в сообщении ссылка, в этой игре он тоже успел...   Суббота, 08 августа 2020, 22:19
dimm0505   Я просто набирал свой пост в этот момент и твою с...   Суббота, 08 августа 2020, 22:57
dimm0505   Это 160x128? А потом апскейленные до 240x160? То...   Воскресенье, 09 августа 2020, 16:39
XProger   Жаль, но он успел оставить значимый след в истори...   Воскресенье, 09 августа 2020, 17:48
dimm0505   Спасибо, обязательно посмотрю, я тут потерял свой...   Воскресенье, 09 августа 2020, 18:28
Katrug   Потому что, скажем прямо, порты Думов на GBA дале...   Вторник, 11 августа 2020, 10:34
dimm0505   Заценил сегодня с утречка после физзарядки оба бил...   Вторник, 11 августа 2020, 13:02
шукай   Узнал о проекте и поиграл на сайте, впервые со вре...   Четверг, 13 августа 2020, 23:17
XProger   Добавил новую версию, теперь можно свободно переме...   Понедельник, 17 августа 2020, 07:54
aa-dav   Круто! Настоящего GBA у меня нет, так что поле...   Понедельник, 17 августа 2020, 08:16
XProger   mode 4   Понедельник, 17 августа 2020, 08:39
aa-dav   Немного попиарил в английском интернете: http://fo...   Вторник, 18 августа 2020, 15:58
XProger   Спасибо, ответил там. Игра уже портирована на 3DS...   Вторник, 18 августа 2020, 19:02
dimm0505   А на DS случайно нет? :D Пободрей GBA все-таки.   Вторник, 18 августа 2020, 21:47
XProger   Сегодня только приобрёл, не приступал ещё :)   Вторник, 18 августа 2020, 23:21
Miralok   Класс! Если на 3дс портировали, то на ВииЮ уже...   Среда, 19 августа 2020, 02:13
aa-dav   Ого! Круто! Я вижу настрой серьёзный, с ...   Среда, 19 августа 2020, 04:44
XProger   Всё на github.   Среда, 19 августа 2020, 05:15
aa-dav   Раз есть софт-рендер, то может один из наших сооте...   Среда, 19 августа 2020, 05:44
Miralok   Не отвлекайте человека от WiiU версии! :D   Среда, 19 августа 2020, 08:17
aa-dav   А тут совершенно понятно, что времени на столь уз...   Среда, 19 августа 2020, 08:29
Miralok   Играю в Лару на 3DS - это просто невероятно! И...   Среда, 19 августа 2020, 12:29
aa-dav   Может кто-нибудь проинструктировать как и можно ли...   Среда, 19 августа 2020, 13:42
Miralok   Я не знаю как работает эмулятор, но на консоли дел...   Среда, 19 августа 2020, 14:00
aa-dav   Собственно на этом же шаге и начинаются проблемы...   Среда, 19 августа 2020, 14:05


Reply to this topicStart new topic
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
 

Упрощённая версия Сейчас: Чт., 23 мая. 2024, 22:37
Skin Designed (c) by Rooq.net, All Rights Reserved.