User Tag List

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

Тема: Sea Dragon

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

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

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,964
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    314
    Поблагодарили
    237 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Бегло просмотрел исходники ace210 и последние сообщения

    Замечания

    Во-первых, спрайты в общем случае "все сразу" стирать нельзя - будут мерцать
    Или нужно будет ВЕСЬ экран успеть обновить, пока луч на бордюре
    Все-таки 32 "четвертайла" 8x8 маловато будет

    Возможен такой вариант:
    Когда луч на бордюре, не только рисуем спрайты, но также
    заблаговременно помечаем координаты для быстрого стирания
    Потом пристроиться за лучом и последовательно заполнять строки
    предварительно стирая спрайты в строке, если нужно

    Далее - тайлы 8x8 слишком мелкие, раз уж все объекты в оригинале вчетверо больше
    В итоге печать игрового поля неоправданно замедляется раза в полтора-два
    Нужно взять "полутайлы" 16x8 (в сдвинутом виде 24x8, три байта в ширину)
    Тайл печатать байтовыми столбцами - клиппинг проще получится
    (левый так просто переходом внутрь той же процедуры)

    Маска НЕ НУЖНА вообще - просто наксорить поверху левый байт
    Только один нюанс - в тайле правой кромки левый байт должен быть инверсный
    точнее не весь байт, а несколько младших битов (потому что ксорится на землю)

    В таком случае одной универсальной процедуры может хватить на фрейм
    Но лучше сделать косвенным переходом на отдельную процедуру печати каждого
    (а уж там может сразу стоять переход на универсальную, если нужно)
    Получим небольшое замедление универсальной, однако снизится пиковая нагрузка
    Например при печати длинных тросов, обрывов или отвесных шахт
    Нужны будут отдельные процедуры не на каждую фазу, а на весь объект
    (сдвиг один раз в начале, потом простое копирование вниз)

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

    Например, хотим красную землю и черные мины, так вот если к примеру рисуем
    кромку и она высунулась на соседнее знакоместо только на пару пикселей
    то эти несчастные пиксели в цвет земли красить необязательно
    таким образом края будут мерцать, но меньше

    Если хотим к тому же белую лодку, нужно сначала проверить атрибут фона
    Если красный, а лодка высунулась несильно, ксорим поверху, не трогая атрибут
    В остальных случаях фон лучше затереть и поверху напечатать белым
    У земли будет не так заметно, а мину можно и затереть (все равно взорвется)
    Или можно сделать покадровым чередованием - см. Wheelie к примеру
    (там правда спрайт целиком мерцает, а можно только краем)

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

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

  3. #2

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,866
    Спасибо Благодарностей отдано 
    328
    Спасибо Благодарностей получено 
    310
    Поблагодарили
    234 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Бегло просмотрел исходники ace210 и последние сообщения

    Замечания

    Во-первых, спрайты в общем случае "все сразу" стирать нельзя - будут мерцать
    Или нужно будет ВЕСЬ экран успеть обновить, пока луч на бордюре
    Все-таки 32 "четвертайла" 8x8 маловато будет
    стирать можно, но есть нюансы
    см Red heat, Commando


    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Возможен такой вариант:
    Когда луч на бордюре, не только рисуем спрайты, но также
    заблаговременно помечаем координаты для быстрого стирания
    Потом пристроиться за лучом и последовательно заполнять строки
    предварительно стирая спрайты в строке, если нужно

    Далее - тайлы 8x8 слишком мелкие, раз уж все объекты в оригинале вчетверо больше
    В итоге печать игрового поля неоправданно замедляется раза в полтора-два
    Нужно взять "полутайлы" 16x8 (в сдвинутом виде 24x8, три байта в ширину)
    Тайл печатать байтовыми столбцами - клиппинг проще получится
    (левый так просто переходом внутрь той же процедуры)
    посмотри внимательнее не только его исходники но и мои
    также смотри RoboCop, Stormlord

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    многа многа букаф

    По хранению тайлового поля пока ничего не скажу
    Не было времени разбираться
    жаль - ведь это самое интересное

    по поводу спрайтов
    можно не красить лодку вообще - если правильно все рассчитать
    то пока лодка не въедет в землю то ее и не покрасит

    наилучший вариант - 4 байта цвета на 16х16 тайл

    т.е земля вида
    /
    //
    будет покрашена правильно
    бч
    чч
    С уважением,
    Jerri / Red Triangle.

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

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

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

Похожие темы

  1. Dizzy-AGE: Dragon Valley Dizzy
    от Rindex в разделе Dizzy-AGE
    Ответов: 82
    Последнее: 02.09.2011, 17:54
  2. New CEZ Silver game: Mariano the dragon
    от riskej в разделе Игры
    Ответов: 8
    Последнее: 16.05.2008, 13:37

Ваши права

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