User Tag List

Страница 4 из 31 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 317

Тема: GameNoname

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

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

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

    По умолчанию

    Цитата Сообщение от parallelno Посмотреть сообщение
    Мысли из зала и мудрости предков всегда приветствуются.
    Рендер пока зачаточный. Хочется добавить проджектайлы и анимацию на бэкграунде и музыку. Посмотрю как это все укладывается вместе и буду прибирать и оптимизировать.
    Про фон. Пока минорная штука. Если будет многих раздражать, то буду что-то делать. Если не хватит ресурсов, то сделаю однородным.
    Ага. тут уже говорили несколько вариантов.

    теперь с обоснованием

    1. фон из блоков 8*8, спрайты рисуются в буфере
    на экран выводим только те блоки которые изменились.
    тоесть имеем две таблицы размером в массив
    1 карта тайлов
    2 карта изменений
    если надо обьясню подробнее

    2. вариант для Вектора.
    4 битплана по 2 битплана на экран
    нарисовав на 2 битпланах ждем фрейм и переключаем палитру так чтобы перерисованные битпланы получили цвет.
    С уважением,
    Jerri / Red Triangle.

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

  3. #2

    Регистрация
    13.05.2018
    Адрес
    г. Тамбов
    Сообщений
    816
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    659
    Поблагодарили
    200 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Привет всем...
    На Спектруие - мерцание решается достаточно просто...

    1. В 48К режиме - сформировываем экран в буфере - печатаем буфер на экран...
    2. В 128К режиме - есть 2 экрана. Делаем активным то 1 экран,
    то другой...

    Для Вектор-06Ц можно попробовать так...
    1. 4 экранные плоскости - делил по 2...
    2. Формируем экран в плоскости 1-2, либо 3-4...
    3. И за счет программирования палитры цветов -
    делаем 2 плоскости видимыми, попеременно их меняя...
    ???

    Количество цветов в игре - разумеется снизится до 4...
    Последний раз редактировалось Stl75; 11.08.2022 в 15:15.

  4. #3

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Stl75 Посмотреть сообщение
    Привет всем...
    ...
    Для Вектор-06Ц можно попробовать так...
    1. 4 экранные плоскости - делил по 2...
    2. Формируем экран в плоскости 1-2, либо 3-4...
    3. И за счет программирования палитры цветов -
    делаем 2 плоскости видимыми, попеременно их меняя...
    ???

    Количество цветов в игре - разумеется снизится до 4...
    Одновременно отображаемых 4, а в игре, скорее всего 7 или 8, по 4 цвета на каждую пару плоскостей.

    Вопрос только в том, как к такому мерцанию отнесутся современные мониторы/телевизоры/тв-тюнеры/и пр. ... ?
    У всех ведь скорее всего есть тяга "улучшить" изображение, усредняя последовательные кадры, а тут будет мерцание черезкадровое, чётные кадры одно изображение, нечётные другое...
    Последний раз редактировалось KTSerg; 11.08.2022 в 15:56.

  5. #4

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,390
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Stl75 Посмотреть сообщение
    На Спектруие - мерцание решается достаточно просто
    Цитата Сообщение от Stl75 Посмотреть сообщение
    Для Вектор-06Ц можно попробовать так
    Не может быть, неужели на векторе возможна двойная буферизация? Хотя подождите: 1, 2, 3, 4, 5 (это не все примеры, но и тут можно заметить, что вариантов организации больше одного)

  6. #5

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Не может быть, неужели на векторе возможна двойная буферизация?
    Я первое сообщение понял как то, что Вектор предоставляет большее разнообразие в этом деле. И с этим утвержением я согласен.
    Больше игр нет

  7. #6

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Не, мерцать тут ничего не будет. Если две пары плоскостей переключать целиком это как переключать две странички видеопамяти. Если я конечно правильно понял, о чем написал Stl75.

    Но по-моему для игры такого типа никакого специального мудрежа не нужно. Ей не нужно поддерживать какой-то фиксированный фреймрейт, а много цветов тут важнее скорости отрисовки. Чтобы обновления были локальными нужен промежуточный буфер, в который рисуются сначала фон, потом с со своими масками предметы и персонажи. И такой буфер целиком уже потом каким нибудь предельно тупым и скорострельным способом выводится в нужное место на экране. На глаз это должно смотреться нормально даже без синхронизации, потому что обновления минимальны. Но вот как именно выбирать регионы для отрисовки - задача интересная. Тривиальное решение -- весь экран, но столько памяти, по крайней мере в кваслесс версии, просто нет. Ну а если и есть, то перекачивать столько памяти зараз выходит очень медленно.
    Больше игр нет

  8. #7

    Регистрация
    13.05.2018
    Адрес
    г. Тамбов
    Сообщений
    816
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    659
    Поблагодарили
    200 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Не, мерцать тут ничего не будет. Если две пары плоскостей переключать целиком это как переключать две странички видеопамяти. Если я конечно правильно понял, о чем написал Stl75.

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

    Только у Вектора-06Ц - видеопамяти 32Кб...

    Сколько памяти - сможете выделить на буфер???
    Последний раз редактировалось Stl75; 11.08.2022 в 16:34.

  9. #8

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Stl75 Посмотреть сообщение
    Сколько памяти - сможете выделить на буфер???
    Ну это как parallelno придумает.

    1) Простой вариант -- это выбрать окрестность персонажа округленную до знакоместа. 3х3 тайла будет буфер, где главный герой в центре. Остальных непоместившихся персонажей и всякие пули, мечи и стрелы перерисовывать аналогично по очереди. Картинку будет рвать, но не весь экран разом, а локально и каждый раз по разному, так что есть шанс, что почти всегда это будет незаметно. Особенно при том, что тут все крохотное 8х8. Так по-моему легко может случиться, что все перерисовывается по многу раз. Этому легко помочь, помечая в дополнительной битовой карте какие участки уже перерисованы.

    2) Как вариант, можно сделать буфер не 3x3 тайла, а шириной в экранную строку.

    3) Еще идея -- если хорошо отладить клиппинг всех спрайтов (а это не так уж и сложно), можно сделать процедуру отрисовки одного тайла с наложением всех предметов и персонажей. Тогда тайлы можно перерисовывать в любом порядке, хоть в псевдослучайном. Тогда основная логика будет только помечать тайлы, требующие обновления, а рисовальный цикл будет обходить карту их обновлять. Сначала мне показалось, что это запарно, потому что клиппинг и все такое, но на самом деле это по сути упрощение варианта (1).
    Больше игр нет

  10. #9

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    если и есть, то перекачивать столько памяти зараз выходит очень медленно
    Учитывая статичный фон, проще действительно выделять буфер, куда сперва выводятся затронутые тайлы фона, а сверху уже накладываются спрайты персонажей/врагов.
    Если точнее - несколько небольших буферов чуть больше размера спрайтов, чтобы затирать предыдущие фазы движения.

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

    Цитата Сообщение от Stl75 Посмотреть сообщение
    Только у Вектора-06Ц - видеопамяти 32Кб...
    При "буферизации" лишь кусков под движущимися спрайтами памяти уйдет в разы меньше, пропорционально кол-ву этих спрайтов на экране.

  11. #10

    Регистрация
    13.05.2018
    Адрес
    г. Тамбов
    Сообщений
    816
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    659
    Поблагодарили
    200 сообщений
    Mentioned
    10 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Собственно, на Векторе есть несколько игр,
    в которых буфер точно в видеопамяти...

    Например, Сражение 1, 2...
    sragen1.rom,
    sragen2.rom...

    Цвета видно обрезали...
    Например, до 8...
    ???
    Последний раз редактировалось Stl75; 11.08.2022 в 19:50.

Страница 4 из 31 ПерваяПервая 12345678 ... ПоследняяПоследняя

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

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

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

Ваши права

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