User Tag List

Страница 13 из 35 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя
Показано с 121 по 130 из 445

Тема: Пишем игры под РК подобные

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

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

    Регистрация
    26.11.2021
    Адрес
    г. Санкт Петербург
    Сообщений
    192
    Спасибо Благодарностей отдано 
    32
    Спасибо Благодарностей получено 
    133
    Поблагодарили
    66 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    Задержек нет, есть счетчик/делитель.
    Большие звёзды и спрайты отрисовываются через каждые 16 инкрементов, малые звёзды через каждые 48, смена анимации через каждые 64.
    Ну про это и спрашивал. запас есть, значит хватит на еще что нибудь поделать. Сам сейчас колдую, игру доделываю, отрисовку спрайтов и анимацию при ударе и попаданию по врагу. Благо памяти хватает. Но опять же, хоть у меня цикл по сути отбирает практически всю производительность, всеравно пришлось вводить задержку на цикл, чтобы анимация просмотривалась, а иначе все 5 картинок перебираются так быстро что не успеваешь разглядеть что там понарисовал )).
    Радио86 рк (Пальмира), Электроника кр04, Поиск 1

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

  3. #2

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ага, спасибо! Я вобщем понял, что с растягиванием пикселей чуда не происходит, значит будет режим 78х43@50.34Гц и 7 строк в символе.
    Уберу символы с рамки, сэкономлю такты. Потестировал этот режим, можно ужаться, чтобы и в нем не сильно тормозил код.
    Вариантов удобных всё равно не остаётся.

  4. #3

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    404
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    Уберу символы с рамки, сэкономлю такты.
    Да, снизу F3, сверху - F1 в каждой строке. В рабочей области тоже можно F1 в конце каждой строки для экономии тактов.
    Убрать лишние выборки ПДП и в режиме 50 Гц тормозить будет даже меньше, чем при 60 Гц - реже обращение к ОЗУ...

  5. #4

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Цитата Сообщение от Pyk Посмотреть сообщение
    Да, снизу F3, сверху - F1 в каждой строке. В рабочей области тоже можно F1 в конце каждой строки для экономии тактов.
    Т.е. там, например, где начинается невидимая область (бордюр), можно поставить F1?

  6. #5

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    404
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    Т.е. там, например, где начинается невидимая область (бордюр), можно поставить F1?
    Да, но есть нюанс: возможно, после F1 придется оставить еще один байт (хотя бы нулевой). Цитирую документацию:
    Note: If a Stop DMA character is not the iast character in a burst or row, DMA is not stopped until after the next character is read. In this situation, a dummy character must be placed in memory after the Stop DMA character.

  7. #6

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Pyk Посмотреть сообщение
    Да, снизу F3, сверху - F1 в каждой строке. В рабочей области тоже можно F1 в конце каждой строки для экономии тактов.
    Убрать лишние выборки ПДП и в режиме 50 Гц тормозить будет даже меньше, чем при 60 Гц - реже обращение к ОЗУ...
    Помогите понять, как это работает по времени.

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

    Вот как правильно добывать дополнительные такты?

    4 первые строки могут быть скрыты, можно смело вставить в них F1 в самом начале. Это значит, что ПДП подхватит данный код и перестанет угнетать в заточении процессор до начала следующей строки?

    А вот если я делаю не так... Если я рисую картинку сразу с первой строки, но в конце 32й (к примеру) строки я ставлю F3, экран сдвигается вниз, ПДП "передаст свет" процессору... на какое время, до какого момента?

    Не могу понять, 86РК это больше Билли Миллиган или Халк?

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

    В Emu80 внизу окна показывается графический режим, и КПД процессора - это без учёта использования F1 и F3?

  8. #7

    Регистрация
    05.04.2013
    Адрес
    Починки, Нижегородская обл.
    Сообщений
    1,371
    Спасибо Благодарностей отдано 
    404
    Спасибо Благодарностей получено 
    647
    Поблагодарили
    255 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Hammer Посмотреть сообщение
    В Emu80 внизу окна показывается графический режим, и КПД процессора - это без учёта использования F1 и F3?
    С учетом, по факту. Усредненное значение за (кажется) полсекунды.

  9. #8

    Регистрация
    23.10.2012
    Адрес
    г. Красноярск
    Сообщений
    206
    Спасибо Благодарностей отдано 
    47
    Спасибо Благодарностей получено 
    63
    Поблагодарили
    29 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Т.е. установленный бит соответствует нажатой клавише? Если я правильно понял, то вполне можно устанавливать комбинации клавиш в одном ряду...

  10. #9

    Регистрация
    12.11.2009
    Адрес
    Москва
    Сообщений
    403
    Спасибо Благодарностей отдано 
    50
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    66 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Zidane Посмотреть сообщение
    Т.е. установленный бит соответствует нажатой клавише? Если я правильно понял, то вполне можно устанавливать комбинации клавиш в одном ряду...
    Наоборот, если бит сброшен, то клавиша нажата.

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

    Цитата Сообщение от Hammer Посмотреть сообщение
    Ага, с подсказкой сразу понятно стало. Разобрался откуда берутся тормоза. ПДП держит шину наверное. Читается из порта всегда быстро. А записывается быстро в него только во время обратного хода луча.
    Если контроллер ПДП получил управление, то процессор остановлен и уже никак и ничто не записывается им ни в порты ни в память, ни быстро ни медленно.

  11. #10

    Регистрация
    08.12.2023
    Адрес
    г. Жуковский
    Сообщений
    282
    Спасибо Благодарностей отдано 
    53
    Спасибо Благодарностей получено 
    149
    Поблагодарили
    45 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот, что у меня получается )

    Сделал стирание экрана перед запуском демки, переделал счетчик-делитель, привязал его к обратному ходу луча, сделал отдельную быструю подпрограмму для вывода спрайтов фиксированного размера 4х4 знакоместа и 4 кадра, сделал набросок опроса клавиатуры, частично разметил бордюр. Получилось рабочее пространство шириной 64 знакоместа, что очень удобно.

    Однако всё работает плавно, и быстро! И есть еще много возможностей для оптимизации. И есть сам по себе запас ресурсов. В принципе, теперь стало понятно, что на гугловского динозаврика мощностей хватает. Я рад )

    Заставил человечка бежать по нажатию на пробел. Перемещается он на одно знакоместо. Скорость при этом в два раза выше скорости больших звёзд. Можно двигаться на половину знакоместа, тогда скорость сравняется со скоростью больших звёзд.

    НО! За счет анимации, смещение на одно знакоместо выглядит вполне себе нормально, я думал, что будет заметен перескок, но нет всё норм. Если бы ФПС побольше иметь, тогда да, надо использовать перемещение на половину знакоместа. Но пока прям вот сильно заметно ускориться не получилось. А ускорение будет потрачено на карту уровня, просчёт коллизий и т.д.

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

    Вот хороший пример:



    Все персонажи на ровном черном фоне. Наверное надо в эту сторону думать по рисовке.

    Жаль праздники заканчиваются, поэтому темп мне придётся сильно снизить.

    Эти 6 пользователя(ей) поблагодарили Hammer за это полезное сообщение:

    Beaver(06.02.2024), Fishbone(10.01.2024), Oleg N. Cher(08.01.2024), Pyk(08.01.2024), SegaBoy(08.01.2024), Zidane(08.01.2024)

Страница 13 из 35 ПерваяПервая ... 91011121314151617 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Игры под Spec256
    от Spectramine в разделе Игры
    Ответов: 184
    Последнее: 24.07.2025, 13:42
  2. Игры под джойстик
    от Underground1 в разделе PC-совместимые компьютеры
    Ответов: 4
    Последнее: 21.12.2022, 20:14
  3. Игры под ZX-Poly
    от Raydac в разделе Игры
    Ответов: 21
    Последнее: 16.11.2019, 16:52
  4. Пишем на ассемблере под эмулятором
    от GM BIT в разделе Для начинающих
    Ответов: 76
    Последнее: 15.07.2016, 20:04
  5. хорошие игры под 48k
    от шин в разделе Игры
    Ответов: 16
    Последнее: 23.12.2007, 08:25

Ваши права

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