Меню сайта
   Главная   
   Обо мне   
   Статьи   
   Дневник   
   Картинки   
   Файлы   
   Форум   
   Гостевая книга   

Категории раздела
Куклы и игрушки [60]
Личное [116]
Музыка [19]
Общее [304]
Японский язык [12]
ZX Spectrum [70]
Субмарины [98]
Настольные игры [34]
Го (碁) [11]
Книги [16]
Япония [26]
Таро [4]
Запертый шкаф [17]
CSA (КША) [15]
GNU/Linux [134]
Ubuntu [103]
Manjaro Linux [39]
Python [3]
Магнитольное [44]
Commodore64 [14]
Игровые приставки [2]


 
Дневник (2018 » Август » 17 в 15:25)
Общее Почему на Dendy мигают спрайты?

Наконец-то с мая у меня дошли руки до этого поста. Речь пойдёт о популярной в 90х восьмибитной видеоприставке NES/Famicom известной у нас под именем Денди. Я в неё почти не играл, у меня тогда был ZX-Spectrum и он меня радовал заметно больше. Но уже в наше время, наблюдая за различными роликами про ретро компьютеры я заметил что во многих играх там мигают спрайты.

От этого глаза начинают через секунды слезиться и  посылать друг-друга нафиг. Как можно играть и переться с этого, в отличии от мышей, которые "кололись, плакали, но продолжали залезать на кактус", я не понимаю. Стало интересно, почему так, оказалось, что многие говноигры пытались выжать из 8-битной приставки больше, чем позволяло её устройство.

Ограничение в восемь спрайтов на одной строке.

Слишком много подвижных объектов не сделаешь.
Правда, некоторые игры всё-таки делают,
заставляя один из спрайтов исчезать на долю секунды,
что приводит к неприятному мерцанию.


Спрайт это кусочек 8x8 пикселей, не более 64 спрайтов всего, и не более 8 на одной строке, иначе они начинают мигать, но спрайты это не то, что движется, они могут быть и неподвижными, напр., очки часто делают из них.
У Денди ограничения на количество спрайтов на одной строке, а разработчики не всегда были внимательны и использовали слишком много спрайтов. Как они умудрялись пустить такие подделки в продакшн уже другой вопрос. Спрайты из памяти картинки загружаются в оперативку внутри видеопроцессора, там место для 64 спрайтов и не более. А видеопроцессор, когда рисует строку, не может обработать больше 8 штук. Приходится отображать большее количество показывая их по очереди, отчего они разумеется мигают.


Более подробнее о характеристиках:

При формировании экрана в память загружается палитра и тайлы. На каждом экране они могут быть разные.  Так создаётся впечатление, что игра гораздо более красочная, чем она есть на самом деле.

  • На NES всё отображаемое на экране делится на спрайты и фон.
  • Фон на NES делится на квадраты размером 8 на 8 пикселей, которые называются тайлами. Итого таких квадратов 30 в высоту и 32 в ширину. Количество тайлов в памяти ограничено. При этом фон может плавно двигаться горизонтально и/или вертикально.
  • Всего NES может отображать около 53-55 цветов, но не все сразу, а только ограниченными наборами из палитр.
  • Палитра — это набор из четырёх цветов, т.е. какие-то четыре цвета из этих 53-55 цветов
  • Палитр для фона может быть только четыре, при этом один цвет в каждой из них должен быть одинаковым
  • Каждая группа из четырёх тайлов (2x2) отображаемых на экране может быть ассоциирована с одной из этих палитр
  • Все спрайты на экране одновременно могут быть размером либо 8x8, либо 8x16,но не вместе.
  • В зависимости от размера всего их может быть до 64, но на одной строке может отображаться не более восьми, даже если соответствующая область спрайта прозрачная, поэтому слишком много подвижных объектов не сделаешь.
  • Для спрайтов даются отдельные четыре палитры, один из цветов при этом считается за прозрачность.


Ссылки:
  1. Игры для NES/Famicom/Денди глазами программиста
    https://habr.com/post/229187/

  2. Фильм про приставку в России 90х  "Проклятие серого слонёнка"
    https://youtu.be/rJQr3tnjHlg
Категория: Общее | Просмотров: 1635 | Добавил: harushima | Рейтинг: 0.0/0 |
Всего комментариев: 1.

17.09.2018 03:59
1 harushima
0  
Принцип работы светового пистолета.
Если помните, кто заметил, что при выстреле из пистолета, экран мерцал? так вот, это быстрый кадр из черного фона и белого квадратика в месте куда нужно целится. Если свет от белого квадратика попадал на фотоэлемент, значит целились правильно. Если на черный фон - соответственно мимо.

В целях защиты от спама, добавлять комментарии могут только зарегистрированные пользователи. Если Вы не хотите регистрироваться под своим именем, войдите под логином: anonymous, паролем: anonymous.   ( Регистрация,   Вход).
Авторизация
Анонимный вход:
anonymous / anonymous
Логин:
Пароль:

Календарь
«  Август 2018  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031

Поиск

Облако тэгов
JGSDF игрушки Брюнетки Кладбище сайты Ярость Дракулы Древний Египет девушки кошки Cthulhu Вампиры Kitsune Ужас Аркхема инструмент комиксы Lovecraft готика Submarine submarine rc toy Hosting игротека Ужас Аркхэма book uboat мобильная связь го Edgar Poe swf Mansions of Madness Nightmares персоны Synergy linux-hardware bash youtube Storages Python Мастер-рукожоп Магнитофоны Entropy Grub2 loglevel WiFi Beeline ОПСОСЫ sharp939 Аудиокассеты Windows linuxwork Хочуны ImageMagick топБарыг C64c Commodore

Статистика
Яндекс.Метрика
Онлайн всего: 1
Гостей: 1
Пользователей: 0

Page QR code


Перепечатка материалов сайта без активной ссылки запрещена. Следить за RSS
(c) hermitlair.ucoz.com 2009-2024
Лучший браузер!
Блокировка рекламы