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

User Tag List

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 24

Тема: Игра Bolder Dash для УКНЦ

  1. #11
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,234
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    182 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Можно конечно, просто скорость упадет в тех местах где почти перерисовка всего экрана идет.
    Понял. Тогда, ничего красивого перетянуть не получится. Т.е. цвета наверное можно поправить, но эти удвоенные пиксели сами по себе тошнотно выглядят.

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Да надо будет подумать как перенести.
    Если соберёшься, то давай тогда под 11М (ну, как под 11М, там от неё только нормальная палитра нужна будет). Можно наверное сделать и автодетект 10/11М для включения палитры.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  2. #12
    Activist Аватар для BlaireCas
    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    435
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    321
    Поблагодарили
    124 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CodeMaster Посмотреть сообщение
    Если соберёшься, то давай тогда под 11М
    Да думаю соберусь однажды (не прямо сейчас). Там в БКшке я не особенно соображаю конечно (даже не нашел как там определить момент "отжатия" клавиши, она вроде прерывание не генерирует при этом).
    Разумеется надо будет весь вывод на экран переделать, а так в основной логике обработки лабиринта ничего менять-то и не надо, я кажется не прям использовал там всякие ash mul и div (ну их на что-то поменять можно будет).
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  3. #13
    Guru Аватар для CodeMaster
    Регистрация
    26.04.2009
    Адрес
    г. Воронеж
    Сообщений
    6,234
    Спасибо Благодарностей отдано 
    140
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    182 сообщений
    Mentioned
    6 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    даже не нашел как там определить момент "отжатия" клавиши
    Я 100% не знаю, но ИМХО его там нет. Это всегда было проблемой в играх на БК.
    "Во времена всеобщей лжи говорить правду - это экстремизм" - афоризм.

  4. #14
    Master
    Регистрация
    19.04.2013
    Адрес
    г. Чебоксары
    Сообщений
    538
    Спасибо Благодарностей отдано 
    14
    Спасибо Благодарностей получено 
    136
    Поблагодарили
    105 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    как там определить момент "отжатия" клавиши
    Никаких прерываний. Нужно непрерывно мониторить бит 6 регистра 177716.
    Код:
    bit @#177716,#100 ; при такой записи операндов команда работает на пару микросекунд быстрее
    beq одна_или_несколько_клавиш_нажато
    bne ни_одна_клавиша_не_нажата
    Причём определить отжатие конкретной клавиши невозможно. Определяется только факт - нажато/не нажато.
    Для тех, кто привык к обработке реакций по событиям очень не удобно. Тут надо продумать игровой цикл, где будет опрос нажата/отжата клавиша.

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

    BlaireCas (14.08.2023)

  6. #15
    Activist Аватар для BlaireCas
    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    435
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    321
    Поблагодарили
    124 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от gid Посмотреть сообщение
    bit @#177716,#100
    Какой интересный момент кстати да Вот уж никогда бы так не написал (написал-бы наоборот).

    А так с "отжатиями" этими вижу вот ну сразу проблему на клавиатуре БК. Например тут на УКНЦ нажатие или отжатие клавиши генерирует прерывание и можно ну сделать полное состояние клавиатуры по нему. Хотя в УКНЦ есть тоже проблема например отжатие кажется вверх и вниз генерирует одинаковый код, поэтому невозможно определить какую из клавиш точно отжали Но как-бы на геймплей не особо влияет.
    А в БК влиять будет вот что - скажем при нажатии шифта рокфорд не бежит, а как-бы либо двигает камень либо "скушивает" рядом алмаз или грязь (ну так там названо да, dirt). То-есть надо удерживая шифт нажимать вправо-влево-вверх-вниз. Мы например держим шифт нажатым. Нажимаем вправо - окей, он скушал алмаз справа. Далее не отпуская шифт нажимаем влево (но блин кнопка вправо-то уже отжата была и значит шифт тоже чтоли отжат... вообщем ужасы)

    К счастью на БК есть джойстик и видимо лучше его использовать.

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

    Еще возможно не сразу будет понятно почему я парюсь с этой клавиатурой даже на УКНЦ где она более-менее адекватно сделана.
    На деле играбельность игры это вот на очень много процентов как-бы "отзывчивость" управления. А тут в игре всего 9 фпс. Это вам не 50 и не даже 25.
    Итого что происходит:

    Код:
    [... идет цикл ожидания ..][идет обработка лабиринта][тут прорисовка обработанного]
       ^ здесь нажали кнопку         ^ здесь отжали (а обработка кнопки чуть позже)
    Можно по разному это перевернуть, но смысл не изменится.

    Итого какие-то кнопки банально при таком фпс "проглотятся". Какие-то наоборот приведут к +2 перемещению если вовремя не отпустить.
    Пробовал разные подходы и засовывать нажатые кнопки в буфер и прерывать цикл ожидания vsync при нажатии кнопки - лучше не становится (увы только хуже становилось, начиналась слишком быстрая беготня через 2 клетки).
    Последний раз редактировалось BlaireCas; 14.08.2023 в 12:53.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  7. #16
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,566
    Спасибо Благодарностей отдано 
    1,225
    Спасибо Благодарностей получено 
    1,778
    Поблагодарили
    686 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Часть вещей ну и графоний брал оттудова, часть ну понятно что мое (цвета прям оттуда взять невозможно, либо нужна "полноцветная" УКНЦ)
    Вот тебе еще один повод использовать 128-цветную палитру УКНЦ.

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

  9. #17
    Activist Аватар для randomizer
    Регистрация
    05.04.2016
    Адрес
    г. Мончегорск, Мурманская обл.
    Сообщений
    411
    Спасибо Благодарностей отдано 
    94
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Хотя в УКНЦ есть тоже проблема например отжатие кажется вверх и вниз генерирует одинаковый код, поэтому невозможно определить какую из клавиш точно отжали
    Сразу обе клавиши не могут быть нажаты, можно считать что отжали обе.
    Т.е. в ChibiAkumas, со стороны ЦП, состояние клавиатуры отражено в одном байте.
    Определённый бит установлен - клавиша нажата, и наоборот. Когда приходит сканкод отжатия вверх/вниз, ПП просто сбрасывает оба бита. Или может чекнуть, что было нажато, и сбросить нужный бит.

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

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    На квантовой ее банально нет.
    Запаять недостающие компоненты, и всё)

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

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    На сэмзовой она типа есть, но надо выкрутить gain на минимум у OSSC чтобы она была видна (а тогда по телику артефакты от sync on green или от чего такого начнут вылазить).
    Ну вот, дорогая железка, и такие проблемы(
    В ChibiAkumа's, палитры составлены с использованием всех 53 цветов. Там где это получилось конечно.

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

    Цитата Сообщение от randomizer Посмотреть сообщение
    Ну вот, дорогая железка, и такие проблемы(
    PVM дешевле выйдет.

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

    Кстати насчёт яркостей.
    На многих платах отсутсвуют компоненты для их отображения.
    Микросхема ЛН2, и 6 резисторов.
    У меня сейчас стоит микруха 74ACT05, помню что ставил отечественную 1533ЛН2, яркости изменились не в лучшую сторону.
    Не знаю почему так, в итоге оставил буржуйскую ACT05.
    Последний раз редактировалось randomizer; 14.08.2023 в 20:11.
    aberrant_hacker

  10. #18
    Master Аватар для Sandro
    Регистрация
    20.01.2010
    Адрес
    г. Зеленоград
    Сообщений
    590
    Спасибо Благодарностей отдано 
    27
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    115 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от BlaireCas Посмотреть сообщение
    Итого какие-то кнопки банально при таком фпс "проглотятся". Какие-то наоборот приведут к +2 перемещению если вовремя не отпустить.
    Пробовал разные подходы и засовывать нажатые кнопки в буфер и прерывать цикл ожидания vsync при нажатии кнопки - лучше не становится (увы только хуже становилось, начиналась слишком быстрая беготня через 2 клетки).
    А зачем так сложно? Надо же просто запомнить, что какая-то кнопка в время ожидания следующей фазы анимации была нажата. В Болдере же важен сам факт нажатия, а не его длительность или количество.

  11. #19
    Activist Аватар для BlaireCas
    Регистрация
    06.02.2020
    Адрес
    г. Москва
    Сообщений
    435
    Спасибо Благодарностей отдано 
    110
    Спасибо Благодарностей получено 
    321
    Поблагодарили
    124 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sandro Посмотреть сообщение
    Надо же просто запомнить, что какая-то кнопка в время ожидания следующей фазы анимации была нажата.
    Такое как-бы пробовал (буферизовать ввод). Казалось-бы верное решение и какие тут могут быть подводные? В УКНЦ кнопками заведует периферийный процессор по прерываниям и вроде как да ему пофиг. Нажатия и отжатия в буфер ЦП записываются и вроде как окей. ЦП их при обработке лабиринта и перемещениях Рокфорда должен вытащить и сначала пообрабатывать разумеется нажатия, а потом при нахождение отжатий кнопок при завершении цикла прорисовки - поснимать их с буфера. Даже буфер необязателен, а только факты нажатия вправо-влево-вверх-вниз-шифт. Однако уже как и сказал - выходило так что рокфорд начинал бежать слишком шустро. Почему так происходило - возможен мой косяк (я тот еще программист при обработке буфера.

    И кстати в игре на эмуляторе атари я также пробовал быстро нажать и отжать кнопку - да там также сделана проверка факта нажатия "не до обработки". А прямо по факту ее. То-есть быстрое нажатие и отпускание кнопки не перемещает персонаж. Видимо они тоже попарились да забили. Либо у них не было таких возможностей как тут (два проца).

    Я еще попробую поэкспериментировать без буферизации. То-есть нажатия вправо-влево-вверх-вниз сразу установят флажок, а отжатия туда перепишутся только после обработки лабиринта. Но как-то все-равно не уверен что станет лучше. Сейчас на реальной машинке ну более-менее с даже вот недоделанными нажатиями.
    Однако все-равно проблема останется. По-идее когда быстро жмешь вправо-вправо-вправо (с отпусканиями). Очень быстро жмешь - персонаж должен наплевать на фпс и переместиться ровно на 3 клетки вправо. Но..
    Последний раз редактировалось BlaireCas; 16.08.2023 в 18:44.
    Шедевр портирования на УКНЦ - игра Highway Encounter
    Эмуляторы: UKNCBTL, EmuStudio (респект авторам)

  12. #20
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    394
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А буферизация нажатия с каким-нибудь временем (например, сколько тиков было в момент события) не поможет потом при разборе очереди?

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 231
    Последнее: 21.03.2022, 07:54
  2. Ответов: 23
    Последнее: 06.01.2022, 00:59
  3. Boulder Dash
    от ser_13 в разделе Игры
    Ответов: 20
    Последнее: 15.08.2020, 14:55
  4. Корпус для адаптера дисковода для УКНЦ
    от tnt23 в разделе ДВК, УКНЦ
    Ответов: 1
    Последнее: 25.06.2020, 00:22
  5. Ответов: 55
    Последнее: 20.06.2020, 10:41

Ваши права

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