Важная информация

User Tag List

Страница 8 из 9 ПерваяПервая ... 456789 ПоследняяПоследняя
Показано с 71 по 80 из 89

Тема: Косметический ремонт REX-2

  1. #71
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    350
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    86 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Например, чтобы дроны крутились в ту сторону, куда повёрнут Рекс. (Как в Киберноиде).
    Или чтобы дроны не так резко появлялись и исчезали.
    Кажется получилось. Впихнул. Поглаже стало.
    Изображения Изображения  
    Вложения Вложения

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

    Black Cat / Era CG (26.06.2022), kyv (01.07.2022), mastermind (01.07.2022), OMu4 (03.07.2022), tiboh (29.06.2022), ZX_NOVOSIB (01.07.2022)

  3. #72
    Guru Аватар для ZX_NOVOSIB
    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,049
    Спасибо Благодарностей отдано 
    175
    Спасибо Благодарностей получено 
    196
    Поблагодарили
    137 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tiboh Посмотреть сообщение
    Я бы вообще выкинул ограничение по времени нахождения на одном экране, но добавил запрет двигающимся врагам появляться на экране после окончания времени, чтобы Rex не смог собирать бонусы бесконечно долго.
    Ну в той версии, где можно свободно бродить туда-сюда, в ней и на одном экране можно вечно тусить.

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

    Цитата Сообщение от Black Cat / Era CG Посмотреть сообщение
    Ну по идее это довольно сильное упрощение Если делать, то лучше как опцию.
    Ага, сильное упрощение. Но та версия, где можно свободно гулять и долго сидеть на одном экране, набивая пузырики, всё равно показалась слишком сложной для Слайдера и он взял мою версию и ещё и читы туда вставил

    А вообще я был сильно зол, что ту версию запихнули на вирт в ремиксы, куда никто обычно не заходит
    _

  4. #73
    Сибирский антропоморфн Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,022
    Спасибо Благодарностей отдано 
    671
    Спасибо Благодарностей получено 
    470
    Поблагодарили
    302 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    А вообще я был сильно зол, что ту версию запихнули на вирт в ремиксы, куда никто обычно не заходит
    Ну так это уже по сути ремикс и есть. Ибо геймплей сильно меняет.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  5. #74
    Guru Аватар для ZX_NOVOSIB
    Регистрация
    24.12.2006
    Адрес
    р.п. Маслянино, Новосибирская обл.
    Сообщений
    5,049
    Спасибо Благодарностей отдано 
    175
    Спасибо Благодарностей получено 
    196
    Поблагодарили
    137 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Black Cat / Era CG, нит. Геймплей не меняет. Вот чит на бесконечные жизни меняет, а это нет.
    _

  6. #75
    Сибирский антропоморфн Аватар для Black Cat / Era CG
    Регистрация
    06.05.2010
    Адрес
    Бердск, НСО
    Сообщений
    4,022
    Спасибо Благодарностей отдано 
    671
    Спасибо Благодарностей получено 
    470
    Поблагодарили
    302 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZX_NOVOSIB Посмотреть сообщение
    Вот чит на бесконечные жизни меняет, а это нет.
    Чит -- это чит. Его можно включить, а можно не включать. Я почти на 100% уверен, что если бы фича со свободным перемещением так же была опциональной, то у Shaddow Maker'a не было бы причин помещать игру в ремиксы.
    Личка заполнена! И чистить я ее не буду! Пользуйтесь адекватными средствами связи! Спасибо.

    Seamos realistas y hagamos lo imposible!

    Ernesto Che Guevara
    Переехал сюда: SteinBlume (ex ATM CP/M Explorer)
    http://era-cg.su

    Скрытый текст

    Speccy2010 r2 (Спасибо m.d. & xlat),
    Sinclair ZX Spectrum + (Спасибо stepmotor),
    ZX Evolution rev.C + 5'25 FDD Epson SD-700AA + NedoPC PAL-Coder (Спасибо m.d. & xlat)
    [свернуть]

  7. #76
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    350
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    86 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Натестировался в первой фазе так, что уже прохожу её по честному.
    Заметил бажик. Когда в вопросике берёшь "ENERGY LOSS", зачем - то сбрасывается панель. Долго думал, но не понял зачем это. То есть всё оружие синеет, очки в ноль и так далее. Возможно это чтобы был визуальный эффект.
    Убираю это непонятное, ставлю эффект потемнения панели. При взятии пузыря идёт просветление-потемнение-выравнивание. А тут будет без первой фазы, сразу потемнение.
    Заметил при дебаженьи, что процедура вывода спрайта на теневой линейный экран достаточно неоптимальна. Особенно когда спрайт надо зеркалить. Таблицы не выравнены. Попробую сделать получше.

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

    Black Cat / Era CG (04.07.2022), Djim (05.07.2022)

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

  10. #77
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,702
    Спасибо Благодарностей отдано 
    226
    Спасибо Благодарностей получено 
    253
    Поблагодарили
    192 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Заметил при дебаженьи, что процедура вывода спрайта на теневой линейный экран достаточно неоптимальна. Особенно когда спрайт надо зеркалить. Таблицы не выравнены. Попробую сделать получше.
    будешь переписывать спрайты?
    А как у них делается синхронизация по скорости?
    С уважением,
    Jerri / Red Triangle.

  11. #78
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    350
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    86 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    будешь переписывать спрайты?
    Планирую. Постепенно, хаг за хагом.

    Подробнее о выводе спрайтовх

    Просто посмотрите код внутреннего цикла:
    Код:
            ORG  0B317H;(B2ABH)
    SPRH    EQU $+1: LD   B,10H ; высота спрайта 16 пикселей
    LOOP1              ;------------\
            PUSH BC
            PUSH HL
    SPRW    EQU $+1: LD   B,02H ; ширина спрайта 2 байта
    LOOP2              ;--------\
            LD   A,(DE) ; берём байт
            IF MIRR
             PUSH DE
             PUSH HL
             LD   E,A
             LD   D,00H
             LD   HL,AD5DH ; таблица зеркаливания
             ADD  HL,DE
             LD   A,(HL)  ; отзеркаленый байт
             POP  HL
             POP  DE
            ENDIF
            OR   (HL)
            LD   (HL),A
            INC  DE
            DEC  HL
            DJNZ LOOP2 ;--------/
            POP  HL
            LD   HL,20H
            ADD  HL,BC
            POP  BC
            DJNZ LOOP1 ;------------/
    Сколько лишнего во внутреннем цикле!

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

    Сейчас планирую таблицу зеркаливания выровнить по 100H. Потом попробую развернуть самый внутренний цикл. Самый широкий спрайт это шестибайтный босс.

    Далее интересно будет взглянуть, как статика(горы,лестницы, и.т.д) выводится. Нельзя-ли там чего ускорить.
    [свернуть]
    Цитата Сообщение от jerri Посмотреть сообщение
    А как у них делается синхронизация по скорости?
    Вообще не вижу. Прерывания строго выключены, компенсаторов никаких нет. Видимо расчет на то, что примерно половина спрайтов зеркалируется, а количество спрайтов не меняется резко. На разных экранах скорость игры заметно разнится. Очень быстрый экран, тот на котором берём оружие дроны.

    ----------------------------------

    Чем больше играю, тем больше не нравится платформинг. На лестнице, на второй ступеньше сверху, вообще чудеса проникновения происходят. Возможно Lethargeek прав, можно и поправить. Но код пока не смотрел.

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

    Еще не знаю следует ли править, то что стреляя в камень, в упор, пуля вылетает с другой стороны. Был-бы куст - было-бы всё логично. Но ведь камень.

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

    Black Cat / Era CG (04.07.2022), Digitizer (08.07.2022), Djim (05.07.2022), Oleg N. Cher (04.07.2022), OMu4 (07.07.2022)

  13. #79
    Veteran
    Регистрация
    08.01.2007
    Адрес
    г. Красноярск
    Сообщений
    1,169
    Спасибо Благодарностей отдано 
    201
    Спасибо Благодарностей получено 
    1,012
    Поблагодарили
    214 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Reobne Посмотреть сообщение
    Еще не знаю следует ли править, то что стреляя в камень, в упор, пуля вылетает с другой стороны. Был-бы куст - было-бы всё логично. Но ведь камень.
    Да, глюки нужно исправлять, по возможности.

  14. Этот пользователь поблагодарил tiboh за это полезное сообщение:

    Reobne (10.07.2022)

  15. #80
    Master
    Регистрация
    26.11.2013
    Адрес
    г. Новосибирск
    Сообщений
    941
    Спасибо Благодарностей отдано 
    350
    Спасибо Благодарностей получено 
    162
    Поблагодарили
    86 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Оптимизировал вывод повёрнутого спрайта, так что теперь он работает быстрее чем неповёрнутый.

    чуть подробнее

    Перенёс таблицы экранных адресов и разворота в свободную память перед теневым экраном.
    Туда сгонялся всякий мусор. Например процедура, которая высвечивает сколько мы только что набрали очков, от 100 до 900, в каждом игровом цикле записывает два байта. Когда надо засветить, то пишет в атрибутную область, а когда очков мы ещё не набрали - писала в сгонную память. Перенаправил её в ПЗУ.
    Спрайты, дроны и пули, когда персонажи вылазят за верхнюю границу игрового поля, тоже "рисовались" в этой сгонной области. Для спрайтов сделал обрезание, для дронов сделал проверку, а для пуль переставил проверку перед рисованием. Да, для пуль проверка была, но после рисования, для того чтобы удалить вылетевшую пулю.
    Потом надо будет переделать вывод красной картинки "REX" перед игрой, потому как она тоже пересекается со сгонной областью, и я её попортил.
    [свернуть]

    Но на скорости самой игры это особо не отразилось.
    Хоть в игре нет компенсаторов, зато есть балласт:
    1. Рисование статики в теневом экране(~84Кт(килотактов))
    2. Перенос теневого экрана на видимый экран (~90Кт) (LDI:LDI...)
    3. Очистка теневого экрана (~30Кт) (PUSH:PUSH...)

    Пока этот балласт не трогал, а сейчас разбираю пуледвижение и пулеобразование.
    А вообще планирую попробовать объединить эти 3 пункта, в один цикл, по всем знакоместам, статику выводить прямо на экран, и только когда надо. А пространство между статикой переносить и очищать сразу. Должно получиться быстрее. Если придётся, то включим кадровые прерывания, и засинхронизируемся.

    Поподробнее

    Движение всех пуль, зарядов, ракет и снарядов обрабатывается в одном цикле. Изменив его, мне теперь надо подправить создание всех этих типов пуль. Они создаются множеством конструкторов, которые вызывают общий родительский конструктор с несколькими входами. Сейчас всё это надо попровлять
    Каждая пуля занимает 15 байт. Она хранит двойную бухгалтерию, координаты X Y отдельно, и адрес в теневом экране отдельно. Там же хранятся, скорости (смещения за игровой цикл) по координатам и по адресу. Тип пули. Принадлежность: наша или противничья. оставшееся время жизни. Для ракет фаза движения. Статус пули: есть, нет, или исчезает. И что-то возможно ещё.
    Забавное место нашёл. Для проверки пролетает ли пуля через тайл вызывалась специальная подпрограмма проверки проходимости. Она, значит, брала байтик, и искала его среди 6 байтиков, в цикле с CPI. Сначала я её "оптимизировал" заменив этот цикл на CPIR. А потом вообще заметил, что значения проходимых тайлов это 0 и диапазон от #0E до #12. Заменил весь этот вызов на простые проверки.
    Пули рисуются первые, на чистом теневом экране. Поэтому авторы внаглую выводят их не по OR, а прям LD. Хотя возможно некоторое затирание одних пуль другими, но это не заметно.
    Турели стреляют четырёхпиксельным крестиком. А спрей стреляет покрупнее восьмипиксельным крестиком. Тип пули один и тот-же, но по разному рисуется, в зависимости от принадлежности.
    [свернуть]


    Сейчас всё это с первой фазой делаю, а потом ещё и со второй надо будет.

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

    Black Cat / Era CG (14.07.2022), Digitizer (15.07.2022), Djim (21.07.2022), jerri (14.07.2022), Lethargeek (14.07.2022), Oleg N. Cher (14.07.2022), tiboh (14.07.2022)

Страница 8 из 9 ПерваяПервая ... 456789 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ремонт Пентагона
    от geners в разделе Pentagon
    Ответов: 56
    Последнее: 29.11.2011, 09:47
  2. Ремонт Профи
    от molodcov_alex в разделе Profi
    Ответов: 7
    Последнее: 19.06.2008, 15:42
  3. Ремонт Профи
    от spleen в разделе Profi
    Ответов: 2
    Последнее: 07.04.2006, 13:23
  4. Ремонт дисководов в PDF
    от fk0 в разделе Пресса
    Ответов: 0
    Последнее: 06.02.2006, 12:18
  5. Ремонт фирменного 48-го
    от kgbplus в разделе Зарубежные модели
    Ответов: 2
    Последнее: 11.03.2005, 20:43

Ваши права

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