PDA

Просмотр полной версии : Метаспрайты для шутера



Soplik
21.09.2013, 00:30
Продумываю будущий 3d шутер.
Столкнулся с тем, что у одного спрайта выходит огромное дерево вариантов:
-- если спрайт близко, то нужны восемь ракурсов в двух фазах движения
-- если спрайт далеко, фаз можно сделать побольше
-- если спрайт -- артефакт или труп, то ракурсы не нужны, фазы тоже, а разные размеры нужны
-- если спрайт -- факел на стене, то ракурсы не нужны, а нужны две фазы и несколько размеров
-- если спрайт -- луна, небо или горы, то фаз не нужно и маски тоже не нужно, а выводить можно тупо по LD--PUSH

Как лучше всего организовать обвязку всего этого?

SfS
21.09.2013, 04:42
В общем проблема у тебя - память:) Рассчитывай игру сразу на сектрумы с 1-4 метрами ОЗУ. И всё. Кому надо - у того давно есть. А кому не надо - и с 128К вряд ли реал найдут.

А что такое "обвязка всего этого" ?
Организация в памяти структур данных?
Доступ к ним?

Непонятно. Всё ж от конкретного случая зависит.

Soplik
21.09.2013, 16:51
Рассчитывай игру сразу на сектрумы с 1-4 метрами ОЗУ
Это некошерно :)
Да, организация структур данных и доступ к ним.

---------- Post added at 14:17 ---------- Previous post was at 13:59 ----------

Вот если будет версия для цвета на точку по Летаргику, тогда да, можно требовать метр. Но сначала классика.

---------- Post added at 14:51 ---------- Previous post was at 14:17 ----------

Хм, не так и много получается!

1 байт -- флаги "монстр/артефакт", "на полу/на стене", "цветной/бесцветный", количество масштабов.

Далее для каждого масштаба:
1 байт -- наличие тех или иных ракурсов из 8 возможных,
1 байт -- наличие тех или иных фаз из 8 возможных,
1 байт -- размеры спрайта по горизонтали/вертикали.
2 байта -- адрес в памяти. Поскольку спрайтов на экране немного, адреса ракурсов и фаз можно считать умножением.
Сама картинка по столбцам, спрайт-маска-спрайт-маска без змейки.

Andrew771
21.09.2013, 19:12
Спрайты много кушают памяти. Из-за этого я ограничился в 48к поворотами в 45 градусов.

Soplik
21.09.2013, 19:30
Мне проще будет -- 128к, две трети экрана, стены векторные.
Правда, мои спрайты не такие симметричные.