Порт Doom на Neo Geo функціонально неможливий

Архітектура, що базується на спрайтах, робить 3D від першої особи викликом.

Порт Doom на Neo Geo функціонально неможливий 1 Порт Doom на Neo Geo функціонально неможливий 2

Редакція Ars Technica із задоволенням повідомляла про версії Doom, що працюють на найрізноманітніших пристроях: від бездротових навушників і принтерів до стандартного блокнота Windows (notepad.exe) і навіть усередині самої гри Doom. Тому, коли ми чуємо, що якийсь ігровий пристрій з 90-х (або пізніший) не може запустити Doom, наша увага миттєво привертається.

Йдеться про Neo Geo — ігрову консоль початку 90-х, яка запам’яталася гравцям певного віку завидною стартовою ціною та відносно високою потужністю для свого часу, здатною обробляти піксельну графіку. Однак, незважаючи на цю потужність, цікаве нове відео від Modern Vintage Gamer (MVG) стверджує, що архітектура Neo Geo робить його особливо непридатним для портування відомої своєю легкістю для перенесення гри Doom.

На перший погляд, Neo Geo здається здатним запустити Doom. Центральний процесор Motorola 68000, встановлений у консолі, — це той самий процесор, що використовувався в Commodore Amiga, яка отримала чимало домашніх портів Doom протягом років.

Однак, окрім браку пам’яті, Neo Geo був розроблений спеціально та виключно для обробки 2D-графіки на основі спрайтів, що зберігаються на картриджі. Центральний процесор просто записує номери тайлів, позиції та «коефіцієнти стиснення» (для масштабування) у VRAM, а відеопроцесор потім вибирає відповідні спрайти з ROM символів для відображення. Цей ROM символів навіть не доступний через шину процесора 68000, що означає, що система не може вибирати текстури або зчитувати пікселі певних спрайтів для подальшої обробки.

На жаль для потенційних портерів Doom, Neo Geo також не має режиму бітмапної графіки, який допомагає обійти ці обмеження, пов’язані зі спрайтами. Система не має буферів кадру або бітпланів на кшталт Amiga, які б дозволяли без обмежень малювати пікселі в будь-якій частині екрана. Це означає, що навіть повністю програмний рендерер Doom на Neo Geo не мав би прямого способу відобразити свої результати на екрані.

Neo Wolfenstein

Хоча ці обмеження можуть перешкодити порту Doom на Neo Geo, система, можливо, все ще зможе впоратися з простішим FPS, як-от Wolfenstein 3D. Modern Vintage Gamer створив простий демонстраційний проєкт з рейкастінгом для Neo Geo, що наближається до 90-градусних стін, пласких підлог і стель цієї гри.

Порт Doom на Neo Geo функціонально неможливий 3

Рейкастер працює шляхом випуску променів з позиції гравця для визначення відстані до першої стіни, яку гравець бачить у цьому напрямку. Ці дані потім визначають висоту та кольори для кожного з 80 спрайтів шириною 4 пікселі, розташованих горизонтально по дисплею, які виступають як елементи стіни. Оскільки апаратне масштабування Neo Geo може ефективно розтягувати ці спрайти по вертикалі без значних накладних витрат, дані рейкастінгу можуть бути швидко перетворені на грубе наближення вигляду від першої особи.

Простий, неоптимізований рейкастер MVG для Neo Geo наразі працює лише на восьми кадрах на секунду через емуляцію, без ворогів чи ігрової логіки Wolfenstein 3D. І система рейкастінгу все ще була б абсолютно недостатньою для таких елементів Doom, як підняті платформи, сходи, ліфти, текстуровані стіни та стелі тощо.

З усіх цих причин MVG вважає, що єдиним практичним способом запустити Doom на Neo Geo є пакування додаткового обладнання в картридж, подібно до чіпа Super FX2, який використовувався в обмеженій версії гри на SNES. Без такої додаткової обчислювальної потужності, він прогнозує, що система, ймовірно, залишиться без Doom у найближчому майбутньому.

«Я не хочу казати, що це неможливо, тому що щойно ви кажете, що щось неможливо, виклик кинуто», — додав MVG.

Порт Doom на Neo Geo функціонально неможливий 4

Інформація підготовлена на основі матеріалів: arstechnica.com

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *