Цитата Сообщение от svofski Посмотреть сообщение
Добавляем еще один "спрайтовый слой", получаем 4 цвета для поля, 4 для спрайтов.
Мне кажется, это почти единственный "сбалансированный" по цветам режим для Векторовских игр. Всё-таки, 8 цветов и "быстрые" спрайты без маскирования - это не так уж и плохо. Есть только одна тонкость, и связана она с прокруткой экрана. Пожалуй, можно ухитрится написать движок с плавной вертикальной прокруткой, используя аппаратный скролл и цветовую схему выше (игра Полёт-не в счёт, там uni-planar спрайты, а нужны будут bi-planar). Проблема есть с горизонтальным скроллом - видна перерисовка уровня. Не смертельно, (на многих платформах видел и похуже) но-неприятно. Собственно, я и наколбасил вот это, http://sensi.org/~svo/scalar/ware/865/, чтобы оценить "мырганье" при перерисовке bi-planar уровня. Для себя счёл мырганье неприемлемым, и пришлось делать фрейм-буфер, что сразу ограничило количество цветов до 4х. Это было не такое простое решение, и, возможно мырганьем в горизонтали для некоторых игр можно и пренебречь.
Плавное движение спрайтов вполне возможно, правда с дискретизацией на 2 пиксела, а не на 1. Тогда и фаз надо в памяти хранить по 4 на спрайт. Их обязательно надо просчитать заранее (по-крайней мере, я храню все 8 фаз в памяти квазидиска), иначе быстродействие будет убито сдвигами. Естественно, всё чтение с квазидиска в видеопамять, - только стеком (включая и уровень и спрайты). Для оптимизации по быстродействию, байты в спрайтах можно хранить "змейкой". Прогнал тут тест на своём движке, и убедился что 12 спрайтов размером 32x32 пиксела плюс главный герой 24x64 - предел после которого начинает чувствоваться лёгкое замедление.
Есть ещё одна тонкая тонкость - sprite clipping. Негоже, когда спрайты болтаются по экрану, а потом исчезают на краю целиком. Проблема в том, что для клиппинга, даже на границах байт нужны отдельные стековые процедуры, и они значительно медленнее.
И всё-же, предложенная цветовая схема 4x4 наверное - самое то.

---------- Post added at 07:32 ---------- Previous post was at 07:14 ----------

Цитата Сообщение от x-code Посмотреть сообщение
Интересно, какое железо на Yamaha MSX, отсутствующее на "Векторе", позволяло делать вот такие игры:

Zanac Gameplay Video
Metal Gear Gameplay Video

(эти обе игры - одни из самых известных на MSX-платформе, и раз их не портировали на "Вектор", наверняка на то были существенные аппаратные ограничения)
Если честно, то с Metal Gear я проблем в смысле аппаратных ограничений
не вижу. Zanac в таком виде невозможен потому как на Векторе аппаратно прокручивается весь экран, и меню придётся убрать. Если делать программную прокрутку, не думаю что хватит быстродействия. Всё-таки у MSX - 9918 видеопроцессор с аппаратной поддержкой спрайтов и видеопамять в 2 раза меньше.