User Tag List

Показано с 1 по 10 из 526

Тема: Новый принцип устранения клешинга

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    18.09.2008
    Адрес
    Донецкая обл.
    Сообщений
    95
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    39
    Поблагодарили
    17 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Заинтересовала тема, решил подумать, как же можно малой кровью убрать клэшинг. Идея такая - экран состоит из нескольких экранных плоскостей (2,4,8 штук), которые находятся над друг над другом. Самая нижняя плоскость - обычный спектрумовский экран, на нем рисуется фон. Каждая следующая плоскость предназначена для рисования спрайтов. Это тоже обычный спековский экран, но с одним отличием. Если его точка имеет цвет INK, то она отображается цветом из атрибутов этой плоскости. Если же она имеет цвет PAPER, то она считается прозрачной, и сквозь нее "просвечивают" нижележащие слои. Вот, в принципе, и всё. Для управления всем этим хозяйством нужен один-едиственный порт, в котором задается номер плоскости, которая маппится в адресное пространство экрана ($4000-$5aff).

    Как это все работает - очень просто. Рисуем фон на самой нижней плоскости, переключаемся на плоскости повыше, рисуем спрайты. Если модифицируем готовую игру, достаточно найти процедуру вывода спрайта, и вставить перед ней OUT (c),<номер плоскости>, а после нее вернуть плоскость 0.

    Двух плоскостей уже достаточно, чтобы убрать клэшинг атрибутов фона и спрайтов. Четырех хватит, чтобы сделать независимыми фон, врагов, снаряды и героя. Восемь плоскостей позволят решить вообще все проблемы клэшинга.

    Итак, достоинства - просто, доступно, легко модифицировать готовый софт. Теперь недостатки. Главный недостаток - сам по себе клэшинг, не такая уж большая беда. Да неприятно, но если его убрать мало что изменяется. Монохромные спрайты остаются монохромными, и без существенной переработки это никак не исправить. Вот, парочка мок-апов для того, чтобы было видно, что получим в конце-концов.

    Нажмите на изображение для увеличения. 

Название:	ramboIII.png 
Просмотров:	865 
Размер:	10.0 Кб 
ID:	57858Нажмите на изображение для увеличения. 

Название:	tracer.png 
Просмотров:	924 
Размер:	11.7 Кб 
ID:	57859

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,198
    Спасибо Благодарностей отдано 
    40
    Спасибо Благодарностей получено 
    128
    Поблагодарили
    103 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от inozemcew Посмотреть сообщение
    экран состоит из нескольких экранных плоскостей (2,4,8 штук)
    Чем-то мне это неуловимо напоминает дендиевские "слои"...
    Когда есть, но не знаешь где - это все равно, что нету.

  4. #3

    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    1,104
    Спасибо Благодарностей отдано 
    1,349
    Спасибо Благодарностей получено 
    323
    Поблагодарили
    152 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    inozemcew, Хорошая попытка, но вижу трудности. (Давно тут сидим)
    Вот возьмём твою картинку с Рэмбо, и рассмотрим белые бочки на жёлтом полу.
    Пол, как я понимаю, нарисован на нулевом слое(самом дальнем (самом нижнем)), а бочки, допустим на втором.
    Но чтобы бочки были правильные, нам не только надо добавить белый цвет, но и чёрный (окантовка и рёбра).
    Это значит, что нам нужно, либо править нулевой слой, либо вводить первый слой (между 0 и 2), с чёрным ИНК-ом.
    А это уже не слабо раздует модифицируемую программу и по тактам и по байтам.
    По тактам, конечно, важно не для бочек, а для спрайта героя и других подвижных объектов.
    Последний раз редактировалось Reobne; 14.08.2016 в 16:48.

  5. #4

    Регистрация
    26.09.2009
    Адрес
    г. Красноярск
    Сообщений
    3,198
    Спасибо Благодарностей отдано 
    40
    Спасибо Благодарностей получено 
    128
    Поблагодарили
    103 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от inozemcew Посмотреть сообщение
    Теперь недостатки.
    Главный "недостаток": для каждого слоя нужна взять ~6К под "страницу" видео-памяти. И как-то реализовать программно-аппаратный интерфейс (ведь теперь, 50 раз в секунду, на экране должно отображаться содержимое всех слоев).
    Когда есть, но не знаешь где - это все равно, что нету.

  6. #5

    Регистрация
    07.10.2006
    Сообщений
    1,731
    Спасибо Благодарностей отдано 
    257
    Спасибо Благодарностей получено 
    275
    Поблагодарили
    167 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от inozemcew Посмотреть сообщение
    Итак, достоинства - просто, доступно, легко модифицировать готовый софт. Теперь недостатки. Главный недостаток - сам по себе клэшинг, не такая уж большая беда. Да неприятно, но если его убрать мало что изменяется. Монохромные спрайты остаются монохромными, и без существенной переработки это никак не исправить. Вот, парочка мок-апов для того, чтобы было видно, что получим в конце-концов.
    Интересная идея. Я лично вижу в ней большой потенциал. Избавление от клэшинга это уже большой плюс, а для цветных спрайтов есть битовые планы всей памяти (ZX-Poly и Spec256).

    - - - Добавлено - - -

    Жаль, с ее помощью не раскрасишь игры, которые изначально монохромные. Ну то есть раскрасишь, но надо к спрайтам добавлять информацию о цвете, изменять процедуру вывода, в общем, возни намного больше. upd. ...хотя,тогда можно к Out на переключение слоя добавить Out на управление цветом спрайта)
    Последний раз редактировалось Spectramine; 14.08.2016 в 21:42.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 43
    Последнее: 03.10.2015, 07:09
  2. принцип переключения адресных страниц в ПЗУ
    от Руслан в разделе Несортированное железо
    Ответов: 11
    Последнее: 10.04.2013, 16:50
  3. AY принцип формирования сигнала.
    от Руслан в разделе Звук
    Ответов: 5
    Последнее: 29.03.2013, 17:08
  4. Принцип работы M1 на Scorpion
    от TmK в разделе Программирование
    Ответов: 8
    Последнее: 17.08.2009, 15:40

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •