Разработка и ромхакинг > Ромхакинг и программирование
Castlequest/Castle Excellent
<< < (6/10) > >>
Миха42:

--- Цитата: SavitarSvit от 07 Апрель 2021, 21:11:53 ---Нашел баг. Берем карту, жмем селект чтобы посмотреть карту, выходим из карты и в игре бьется шрифт в статусной строке вверху.

--- Конец цитаты ---

Исправил.
Обновил.

Особенности модификации v1.4.2:
Исправлен баг с текстом после включения карты
ПАУК:
А ссылку!
Миха42:

--- Цитата: ПАУК от 08 Апрель 2021, 20:46:09 ---А ссылку!

--- Конец цитаты ---
Там же.
https://www.emu-land.net/forum/index.php?action=dlattach;topic=83723.0;attach=236139
При исправлениях и доработках (не требующих изменения в prg банке игры) просто обновляю файл в старом посту.
Миха42:
Сделал новый шрифт и вновь переделал финальную картинку.
Жду критику что переделать или подделать в них прежде чем выложу обновление с добавленной новой сложностью, обхватывающюю изменения в расстановки предметов в более половины комнат замка.
Yoti:
Миха42,
ну, широкие символы, а в особенности буква "ы", страшненько смотрятся, но зато читаемо. В конце концов у ASCII, да таблица не по ASCII)
MaxWooD:

--- Цитата: Yoti от 13 Июль 2021, 01:38:38 ---страшненько смотрятся
--- Конец цитаты ---
Ужасно, можно же глянуть уже готовые шрифты. Тем более с буквой "Ы". У шедевровцев вроде есть хороший вариант.
Попробовал поправить немного.
Yoti:
MaxWooD,
ну, у тебя "Ы" тоже вышла не очень. Слева сузить, справа добавить бы. А ещё интересен секрет двух "Ц".
Миха42:

--- Цитата: MaxWooD от 13 Июль 2021, 01:54:02 ---Ужасно, можно же глянуть уже готовые шрифты. Тем более с буквой "Ы". У шедевровцев вроде есть хороший вариант.
Попробовал поправить немного.

--- Конец цитаты ---

Объясни как можно реализовать на нес 0.5рх в буквах С и Ы что ты сделал. )))))

Добавлено позже:

--- Цитата: Yoti от 13 Июль 2021, 02:04:14 ---MaxWooD,
А ещё интересен секрет двух "Ц".

--- Конец цитаты ---
Это не две Ц, вторая рядом с Ш это половинка буквы Щ, буквы Ж, Ы, Щ занимают 2 тайла.
По поводу Ы морочился дольше, 1го тайла мало, 2 много, в итоге остановился всё же на 2ух

Добавлено позже:
Ппц я вчера затупил, несколько часов сидел пихал новую расстановку предметов в массив, но уже перед заливкой в ром понял что переделал не тот массив.
Теперь нужно в разы больше времени восстановить данный массив, переделать нужный, и тестить теперь оба  >:( :lol: :lol:
Cyneprepou4uk:
Миха42, ромхакеры делятся на два типа: "я делаю бэкапы" и "я сделаю бэкапы".
Миха42:

--- Цитата: Cyneprepou4uk от 13 Июль 2021, 15:58:13 ---Миха42, ромхакеры делятся на два типа: "я делаю бэкапы" и "я сделаю бэкапы".

--- Конец цитаты ---
Так я и делаю каждый бэкап когда выкладываю очередную версию, в этот раз не успел. )))
Просто прежде я прям в роме ковырял массив, а на этот раз вынес массивы в тхт файлы и в них уже раздробил их в виде таблицы для комфортного редактирования и последующего заливания в ром, но когда уже сделал их, перед редактированием забыл бэкап сделать.  <_<
Миха42:
Чтож, вот и закончил наконец-то с внедрением всех изменений в расстановку предметов в очередной лёгенькой сложности, в которой можно побегать по замку вдоволь, ключей конечно хоть и много разбросано везде, но встрять всё же можно местами. Учитывая уровень сложности рассчитал чтоб был респаун у аквалангов, но и в тоже время все остальные предметы исчезали после взятия как и положено.
В качестве цели было сделать наиболее простецкий вариант для прохождения игры, для тех кто не в силах разгадать все головоломки и рассчитать в памяти где какие двери стоит открывать, а какие нет для экономии ключей.
Особенно поможет постепенно вникнуть в суть игры без каких либо сложностей, а после уже взяться за прохождение замка в том виде как его придумали разработчики.
Карту замка выкладывать пока не буду с расстановкой предметов, так сказать дать возможность изначально самостоятельно пройтись глянуть в каких комнатах что изменилось, а где нет.

Особенности модификации v1.4.3:
Добавлен новый шрифт
Изменена оригинальная финальная картинка
Увеличен PRG-ROM до 128кб
Добавлен новый уровень сложности: Очень легко


[мод unlimited fly & key]
Изменена титульная картинка
Игра перенесена в другой PRG банк
Массив предметов отделён от оригинальной версии
Убран кирпич в 41 локации, мешающий попасть в верхнюю дверь


Миха42:
Собственно и сама карта к Оригинальной версии сложность Очень легко.
ПАУК:
Хм, на эмуляторе FCEUX 2.2.2 при нажатии на кнопку A включается меню.

Кнопка B не работает, но в оригинальном роме работает :neznayu:
Миха42:
Что касательно того меню, кроме перевода слов я там ни чего не трогал.
При этом проверил сейчас у себя на FCEUX 2.4.0 и на Mesen 0.9.9 всё работает исправно как в оригинале при нажатии любой из кнопок А или В

Даже не знаю что и подсказать вам по данному поводу.

Добавлено позже:
Дополнительно проверил сейчас на FCE Ultra 0.98.15, RockNES X 1.61, Rew ни где данного замечания не обнаружено.

Попробуйте проверить у себя настройки эмулятора.

Добавлено позже:
Из известных багов на данный момент знаю про баг с аквалангом вернее с таймером его действия (на играбильность особо не влияет по этому выложил игру не исправив) в дальнейшем планирую переписать весь код касательно наличия акваланга и бессмертия для внедрения таймера наличия их на экран (надеюсь получится всё  :) ).
Так же знаю про баг с дверями в 5В локации, который ещё в оригинале имелся, но для его исправления нужно перераспределить большую часть байтов RAM используемых игрой в роме, что очень трудоёмко.
Миха42:
Добавил сохранение рекорда очей в RAM картриджа.
Проверял на эмулях, работает, но как поведёт себя на железе с отсутствием памяти ни чего сказать не могу.
Sharpnull:

--- Цитата: Миха42 от 29 Июль 2021, 17:43:55 ---но как поведёт себя на железе с отсутствием памяти ни чего сказать не могу
--- Конец цитаты ---
Можно сделать проверку на запись (вроде обсуждалось уже) и контрольную сумму, чтобы писать об ошибке в случае отсутствия и испорченных данных. В эмуляторе можно отключить SRAM/WRAM, чтобы проверить результат.
Помню была такая реализация рекорда на запись в SRAM: записывался рекорд и после инвертированный рекорд (через EOR), потом сравнить. Для больших данных это не вариант, но простое сложение байтов не лучший вариант, но тоже работает.
Проверка на запись не одним байтом, очевидно.
Миха42:
Разумеется сделал проверку пишется в память или нет. ))
Просто сидел мучал iNES что бы не ставил, он всё равно задействует RAM картриджа при включении записи в мапере картриджа, даже не смотря на то что указал отсутствие памяти и даже батареи. хз как тестить не используя NES 2.0
Сейчас сижу мучу возможность сохранения в RAM и загрузку. Сохранение уже сделал, пишет ))) Загрузку пока ещё не доделал.
Ну и потом нужно будет очень много тестить, вдруг где ошибся, даже 1 байт смещения приведёт к порче загрузки.
Sharpnull:

--- Цитата: Миха42 от 29 Июль 2021, 19:19:58 ---он всё равно задействует RAM картриджа при включении записи в мапере картриджа
--- Конец цитаты ---
Для теста можно не записывать в регистр PRG RAM protect или запретить через него запись.
--- Цитата: Миха42 от 29 Июль 2021, 19:19:58 ---хз как тестить не используя NES 2.0
--- Конец цитаты ---
Зачем тестировать без него? Лучше всегда использовать NES 2.0. Правда, например, FCEUX не смотрит на submapper и устройство ввода автоматом не ставит, и возможно некоторое другое.
Заметил, что экран "Конец игре" (UPD: почему-то не "игры"), перед появлением главного меню, становится с неправильными тайлами.
Вы не думали исправить дёрганный скроллинг оригинальной игры?
Миха42:

--- Цитата: Sharpnull от 29 Июль 2021, 19:49:02 ---Лучше всегда использовать NES 2.0.
--- Конец цитаты ---
Попробовал, на месен всё норм работает, когда память ставишь 0, то при запуске игры в байте настроек игры не ставит теперь бит D1 мол памяти нету, и всё что работает с памятью перестаёт работать соответственно.  :)

Но возникает теперь вопрос, какую память указывать в NES2.0 Work RAM или Save RAM?


--- Цитата: Sharpnull от 29 Июль 2021, 19:49:02 ---Заметил, что экран "Конец игре" (UPD: почему-то не "игры"), перед появлением главного меню, становится с неправильными тайлами.
--- Конец цитаты ---
на днях как снова время появится обязательно гляну этот момент, и напишу "игры" раз уж вам так привычнее. ))


--- Цитата: Sharpnull от 29 Июль 2021, 19:49:02 ---Вы не думали исправить дёрганный скроллинг оригинальной игры?
--- Конец цитаты ---
По части скроллинга даже не обращал внимания на него никогда, да и где и каким образом он реализован я пока ещё не видел ни где.
Видел только код реализации скроллинга в режиме паузы.

На данный момент сделал таки возможность сохранения и загрузки игры, вроде даже как работает норм  :) :) :)
Но есть пока один ньюанс, в сохранениях в игре и загрузке не было предусмотрено в оригинальном роме что я сделаю возможность выбора игры  и выбор сложности, и при сохранении и загрузке это в данный момент пока не учитывается, что делает возможным загрузить сохранение не к той игре, да ещё и не с той сложностью, как доделаю до ума чтоб они работали правильно учитывая сложность и выбранную игру, так сразу выложу обновление.  ;)

Добавлено позже:
Думается мне скроллинг скорее всего привязан к таймерам отрисовки фона и спрайтов, таймеры в свою очередь привязаны к фпс игры, и если не ошибаюсь мне где-то уже попадалась данная канитель, во всяком случае отрисовка спрайтов, на таймере 0-3 при каждом полном цикле происходила обновление отрисовки спрайтов, итого 60/4 получается 15 обновлений спрайтов в секунду то есть 15фпс, скорее всего и скроллинг сделан где-то подобным образом. ведь во время движения спрайты и фон имеют одинаковую дёрганность, но в разное время, что особенно заметно во время движения, спрайты и фон двигаются в разное время и вовремя их движения заметны смещения спрайтов относительно фона.
Не думаю что я скоро дойду до данного вопроса, в игре довольно сложная обработка спрайтов, и при большом их количестве начинаются жуткие тормоза игры, а если сделать обновления чаще, то соответственно и тормоза будут больше. Всё таки процессор у nes очень слабенький. Нужен будет либо разгон процессора (чего я против, так как на реальном железе потом не пойдёт игра), либо оптимизация кода игры для более быстрой обработки между кадрами, но для этого нужно перетрести весь код игры.
Sharpnull:
Миха42, я посмотрел немного скроллинг в Castle Excellent (J) [!]. В главном цикле с CPU $82A2:

--- Цитата ---  JSR $9583
  JSR $9386
  JSR $A3D2
  INC $076B
  JSR $C43D ; Обновление скроллинга фона
--- Конец цитаты ---
Я увидел, что первые 3 вызова тяжёлые и занимают пару кадров, но, если их убрать, вызов скроллинга будет через кадр и всё равно дёрганный, возможно из-за вычисления положения камеры. В этой игре камера вычисляется  относительно героя интерполяцией, хотя проще было, как везде, держать героя в центре экрана с остановкой у края уровня. Так что сначала стоит реализовать обычную камеру для проверки, остальные изменения сложные и предполагают оптимизацию.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии