User Tag List

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

Тема: Новый графический режим для игр

Древовидный режим

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

    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    52 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Valen Посмотреть сообщение
    BLOCK2 и BLOCK3 практически очень похожи.
    Думаю убрать BLOCK3, оставить BLOCK2.
    Содержимое и количество блоков произвольное. Там могут быть разные команды. Одного блока недостаточно. Например, в одном блоке надо нарисовать фон. А в другом несколько спрайтов движущихся объектов. А кол-во объектов все время разное. Поэтому после всех команд для рисования спрайтов ставим признак END. И видеокарта перейдет к следущему блоку команд.
    Номера тайлов сразу двух байтные делать.
    (Либо же переключатель где-то иметь (1 или 2 байта на номер тайла).)
    Да, надо добавить параметр длины номера тайлов/спрайтов.

    ---------- Post added at 12:56 ---------- Previous post was at 12:41 ----------

    Цитата Сообщение от Smalovsky Посмотреть сообщение
    Я пишу игры ... на джаве, но может опыт и для спектрума сгодится...Параметры ячеек игрового мира (тип блока,например, платформа, цельный блок, лестница и пр.) хранится в памяти компьютера, как и массив этих значений для всей игровой карты. Эта информация видеокарте не нужна!!!
    ...
    4. Отрисовали фон и объекты по вычисленным координатам( причём одной функцией для каждого спрайта по его координате и размеров ограничивающего прямоугольника. Правда в джаве вместо номера спрайта нужно передать ссылку на спрайт)
    Никакой лишней информации видеокарте не нужно отправлять. Видеокарта занимается только выводом.
    Я также предполагал, что мы рисуем фон тайлами и движущиеся объектами одинаковым образом, указывая координаты на экране, прямоугольные размеры объектов и номера. Но посчитали, что при малых размерах тайлов 8х8 и большом экране 320х240 надо каждый кадр пересылать 1200 тайлов. Предложили в новых играх использовать спрайты покрупнее, но для адаптации старых игр размер тайлов/спрайтов желательно оставить старыми.
    Хотя Z80 справился бы, желательно, чтобы в играх, где это возможно, видеокарта сама брала номера тайлов из таблицы в памяти.

    После изображения фона надо изобразить спрайты движущихся объектов, Z80 может подождать видеокарту. Но лучше писать все команды с координатами и номерами не в видеокарту, а в область памяти, откуда видеокарта потом их сама заберет. Поэтому появилась идея деления всех команд на блоки. Т.е. надо обеспечить обработку команд из памяти. Может быть тогда непосредственная запись некоторых команд в регистры видеокарты будет и не нужна.
    Извините, я не совсем понял принцип работы новой видеокарты.
    В программе мы поместили данные в адрес памяти, который служит кодом команды. А как видеокарта определяет, что это новые данные, по факту произведённой записи в память?
    Для параметров типа координат используются последние записанные данные (они запоминаются внутри видеокатры). Для выполнения команд служит сигнал записи в определенные адреса - адреса регистров видеокарты. Для передаче параметров и команд видеокарте выделяется область в адресном пространстве Z80 размером 256 байт. Старший байт этой области я предлагал расположить фиксированно в области атрибутов, так как в новом режиме атрибуты свободны в любой игре. Но поступило предложение настраивать старший байт этой облати. Естественно, его надо будет где-нибудь найти в старой игре или выделить в новой.

    Таким образом, видеокарта имеет 256 входных регистров, в которые мы можем записывать по адресам ПЗУ или ОЗУ (зависит от выбора старшего байта). После включения нового режима видеокарта отслеживает эти адреса и записывает в регистры данные. Некоторые регистры, например, адреса, координаты, цвето точки объеденены по два. После записи в некоторые регистры параметра запускают выполнение команд видеокатры.

    Smalovsky,А какие ориентировочно числа в играх: размер экрана в точках, количество тайлов по-горизонтали, вертикали, размеры тайлов и спрайтов? Как задаются указатели на спрайты (может нам тоже пригодятся)? Сохраняется ли фон перед печатью спрайтов? Какого типа игры и их аналоги среди игр для ZX Spectrum?
    Последний раз редактировалось zx-kit; 01.07.2015 в 11:04.
    "L-256"

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

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

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

Похожие темы

  1. Ответов: 18
    Последнее: 11.04.2021, 10:54
  2. графический редактор
    от yur в разделе Вектор
    Ответов: 1
    Последнее: 08.11.2012, 13:01
  3. графический режим на Атари
    от goblinish в разделе Atari
    Ответов: 3
    Последнее: 06.01.2012, 11:19
  4. графический софт для 48 К
    от goglus в разделе Софт
    Ответов: 6
    Последнее: 02.08.2006, 15:33

Ваши права

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