
Или я вообще ничего не понял про устройство NeoGeo, или я не понимаю, почему Wolf3D не был портирован на него в 90-х
NickDoom 11 минут назад Или я вообще ничего не понял про устройство NeoGeo, или я не понимаю, почему Wolf3D не был портирован на него в 90-х Простой 37 мин 159 Игры и игровые консоли Старое железо C * Разработка игр *...
18 Temmuz'da Wellington'da en yüksek sıcaklık 14°C olacak mı?
Значимый прорыв формирует отрасль ИИ: NickDoom 11 минут назад Или я вообще ничего не понял про устройство NeoGeo, или я не понимаю, почему Wolf3D не был портирован на него в 90-х Простой 37 мин 159 Игры и игровые консоли Старое железо C * Разработка игр * Ненормальное программирование * Недавняя статья открыла для меня устройство столь упоро необычное и несущее столь любимый нами трудноуловимый флёр «балдёжности», существование которого раньше проходило мимо меня — NeoGeo. Как говорится, «это не первое моё родео» — на использовании 2D‑ускорителей в качестве 3D‑ускорителей я съел изрядного бобика. «На втором в своей жизни родео погиб клоун».
Но если там надо было выжать из никакущего девайса хотя бы графику уровня «Брус» (кстати, можете смело портировать! Половину доступных прямоугольников стенки уже сожрали, но второй половинки вполне должно хватить на рисование агрессивных табуреток и квадратных пулек, летающих туда‑сюда), то здесь у нас есть аппаратные даунскейлеры текстур. А это уже очень, оооочень серьёзная заявка на победу… Месиво из стен и летающие в воздухе импы, которые рисуются поверх тех стенок, которые должны быть перед ними, привели меня в смешанные чувства.
Технические детали
И чувство «Дункан, подержи мой ананас» среди них явно доминировало — и я схватился за свои родовые кинжальчики. Увы, этот Ледберри мне известен весьма мало… и, главное, информации о нём тоже не очень много, несмотря на наличие фанатской Development Wiki. Я долго пинал всевозможных роботов, и роботы хором клялись, что я могу просто задать спрайты в определённом порядке и таким образом гарантировать правильное перекрытие одного спрайта другим.
Приняв это на веру, я сделал ставку на ключевой момент — рисуем стены спрайтовой «черепицей» слева направо, лишнее просто прикрываем соседним спрайтом. Спрайты я откровенно «зажал». Имея всего 96, нельзя все их отдать под одну стену — наша цель Doom, а там обязательно где‑то будут и текстуры друг к другу «в гости ходить» (хорошо, что хотя бы в основном будут жить «каждая на своём этаже»), и решётки потребуется рисовать (хотя бы символически, из нескольких независимых полосок), и нечисть с нежитью будет корчить хари, требуя свою долю текстур.
Короче, я ограничился 64 пятипиксельными полосами, а остальные 32 спрайта отдал на всё остальное — в рамках теста это до 8 мобов шириной 4×16=64 пиксела каждый. В принципе, 8 мобов на сцену — более‑менее достаточно, если правильно задавать приоритеты (или просто самых дальних тупо вместо стенок рисовать, всё равно там уже невозможно заметить подделку). Буквальный рендер 320 столбцов «как есть», для сравнения.
Сначала, конечно, надо написать «тестбенч».
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





