Автор Тема: Castlequest/Castle Excellent  (Прочитано 12835 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5155
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #90 : 05 Апрель 2021, 21:26:14 »
Миха42, в меню хака, когда курсор попадает на "количество жизней" происходит неверный прыжок на BB7F, а инструкция на BB7E: INC $0013 (кстати, почему не INC $13?). За счёт того, что 13 00 -> SLO ($00),Y - неоф. инструкция, проблемы не видно. В данном случае SLO ($00),Y сдвигает на один бит влево по адресу $02, а там 00, потом A | 0 - ничего не меняется, а дальше всё равно LDA #$37. Заметил, потому что в отладчике включена остановка на неофициальные инструкции. Такой проблемы не было бы, если бы для хака использовался ASM, все метки меняют адрес автоматически (UPD: и код/данные всегда "уплотнённые"), но я читал, что вам удобнее через HEX.
« Последнее редактирование: 05 Апрель 2021, 21:53:01 от Sharpnull »

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #91 : 06 Апрель 2021, 02:23:28 »
Миха42, в меню хака, когда курсор попадает на "количество жизней" происходит неверный прыжок на BB7F, а инструкция на BB7E: INC $0013 (кстати, почему не INC $13?). За счёт того, что 13 00 -> SLO ($00),Y - неоф. инструкция, проблемы не видно. В данном случае SLO ($00),Y сдвигает на один бит влево по адресу $02, а там 00, потом A | 0 - ничего не меняется, а дальше всё равно LDA #$37. Заметил, потому что в отладчике включена остановка на неофициальные инструкции. Такой проблемы не было бы, если бы для хака использовался ASM, все метки меняют адрес автоматически (UPD: и код/данные всегда "уплотнённые"), но я читал, что вам удобнее через HEX.
Спасибо за заметку, попросту моя невнимательность, условный переход вовсе даже не на bb7e должен был быть, а на bb84, видимо когда компоновал однотипные инструкции забыл совсем про него. Исправлю.
0013 вместо 13 это остатки от ранней версии когда был ещё демо просмотр, приходилось изменять другой байт в памяти из 16и битного адреса, после когда переделал временно сделал 0013, но убедившись что всё и так работает временное стало постоянным.  ^_^ править не буду пусть пока так будет, мало ли что ещё в голову взбредёт.
По поводу остановки на неофициальные инструкции, подскажи где мне тоже эту галочку ткнуть? Я так понимаю в mesen где-то. Прошлые твои замечания по части рандомных значений памяти и настроек мапера все учёл теперь с ними проверяю. Учиться никогда не поздно, всё таки это моя первая игра которую ковыряю набираясь опыта.  :)

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2136
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #92 : 06 Апрель 2021, 07:22:30 »
На самом деле, они были не такие глупые и у них в конце нормальный шрифт (и в начале этой версии): https://youtu.be/V98X2Zie0Bo?t=809. Этот вычурный только для надписей, так что меню в хаке тоже должно быть как в конце (нормальным), нужно понимать разницу между надписями и горой текста.
UPD: Т. е. меню хака должно быть с таким шрифтом:
Если мне дадут тайлы с этим шрифтом, дорисую русский вариант.
И да, почему 7х7, когда тайлы идут 8х8? Или имеется ввиду, что буквы типа 7х7?

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #93 : 06 Апрель 2021, 07:47:55 »
Тайлы 8х8, буквы желательно делать 7х7 иначе меж собою сливаться будут при использовании двух букв рядом, при использовании 7х8 как я сделал появляется проблема что нельзя в каждой строчке писать буквы, приходиться писать чересстрочно.

Добавлено позже:
Всячески хотел сделать покрасивше буквы в оригинальном стиле, но раскритиковали, чтож будут значит 2 варианта шрифтов в игре.

Оффлайн HayaoYokogawa

  • Пользователь
  • Сообщений: 2136
  • Пол: Мужской
  • большой и толстый розовый динозавр
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #94 : 06 Апрель 2021, 08:00:12 »
Тайлы 8х8, буквы желательно делать 7х7 иначе меж собою сливаться будут при использовании двух букв рядом, при использовании 7х8 как я сделал появляется проблема что нельзя в каждой строчке писать буквы, приходиться писать чересстрочно.

Добавлено позже:
Всячески хотел сделать покрасивше буквы в оригинальном стиле, но раскритиковали, чтож будут значит 2 варианта шрифтов в игре.
А, не, это-то логично.
Можно покрасивше чутка, просто это ухудшает чтение - Sharpnull к тому же показал вполне удобоваримый вариант. Давай тайлы - будет тебе русский алфавит. С программированием совсем разве что не помогу.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #95 : 07 Апрель 2021, 11:10:41 »
Обновил:

Особенности модификации v1.4.1:
Уменьшен риск неисправного запуска игры при рандомных значениях памяти ОЗУ
Исправлены баги: с количеством жизней и баг при смерти игрока

Что же касается финальной картинки с шрифтом, руки ещё не дошли до этого. )

Оффлайн SavitarSvit

  • Пользователь
  • Сообщений: 1358
  • Пол: Мужской
  • Хирург личности
    • Youtube
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #96 : 07 Апрель 2021, 21:11:53 »
Запустил 1.4.1 версию на фамике, заценил на телевизоре шрифт.
В целом всё читается хорошо, мне не нравятся как выглядят некоторые буквы и именно на них происходит затык при чтении.
Плохо читаются: Л (должна быть похожа на Я), Д...
- Букву Ж сделать из 2х букв K английских.

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


Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1545
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #97 : 07 Апрель 2021, 21:15:17 »
Запустил 1.4.1 версию на фамике
Где-то, наверно, должна быть ссылка на эту версию :neznayu:

Оффлайн SavitarSvit

  • Пользователь
  • Сообщений: 1358
  • Пол: Мужской
  • Хирург личности
    • Youtube
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #98 : 07 Апрель 2021, 21:26:07 »
Где-то, наверно, должна быть ссылка на эту версию :neznayu:
Да, я сам сначала не понял где ссылка то)
http://www.emu-land.net/forum/index.php?action=dlattach;topic=83723.0;attach=236107

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #99 : 08 Апрель 2021, 00:07:51 »
Нашел баг. Берем карту, жмем селект чтобы посмотреть карту, выходим из карты и в игре бьется шрифт в статусной строке вверху.
С работы приеду, вечером гляну баг, постараюсь сразу исправить.
По шрифту мнения расходятся 50/50, буду второй шрифт делать, более читабельный и простой без всяких стилей. Оставлю потом оба варианта.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #100 : 08 Апрель 2021, 17:56:48 »
Нашел баг. Берем карту, жмем селект чтобы посмотреть карту, выходим из карты и в игре бьется шрифт в статусной строке вверху.

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

Особенности модификации v1.4.2:
Исправлен баг с текстом после включения карты

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1545
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #101 : 08 Апрель 2021, 20:46:09 »
А ссылку!

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #102 : 08 Апрель 2021, 21:25:20 »
А ссылку!
Там же.
https://www.emu-land.net/forum/index.php?action=dlattach;topic=83723.0;attach=236139
При исправлениях и доработках (не требующих изменения в prg банке игры) просто обновляю файл в старом посту.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #103 : 12 Июль 2021, 20:43:03 »
Сделал новый шрифт и вновь переделал финальную картинку.
Жду критику что переделать или подделать в них прежде чем выложу обновление с добавленной новой сложностью, обхватывающюю изменения в расстановки предметов в более половины комнат замка.

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4486
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #104 : 13 Июль 2021, 01:38:38 »
Миха42,
ну, широкие символы, а в особенности буква "ы", страшненько смотрятся, но зато читаемо. В конце концов у ASCII, да таблица не по ASCII)

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1084
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #105 : 13 Июль 2021, 01:54:02 »
страшненько смотрятся
Ужасно, можно же глянуть уже готовые шрифты. Тем более с буквой "Ы". У шедевровцев вроде есть хороший вариант.
Попробовал поправить немного.

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4486
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #106 : 13 Июль 2021, 02:04:14 »
MaxWooD,
ну, у тебя "Ы" тоже вышла не очень. Слева сузить, справа добавить бы. А ещё интересен секрет двух "Ц".

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #107 : 13 Июль 2021, 02:06:37 »
Ужасно, можно же глянуть уже готовые шрифты. Тем более с буквой "Ы". У шедевровцев вроде есть хороший вариант.
Попробовал поправить немного.

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

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

Добавлено позже:
Ппц я вчера затупил, несколько часов сидел пихал новую расстановку предметов в массив, но уже перед заливкой в ром понял что переделал не тот массив.
Теперь нужно в разы больше времени восстановить данный массив, переделать нужный, и тестить теперь оба  >:( :lol: :lol:
« Последнее редактирование: 13 Июль 2021, 02:32:09 от Миха42 »

Оффлайн Cyneprepou4uk

  • Пользователь
  • Сообщений: 206
  • Пол: Мужской
  • Самый лысый ромхакер
    • ВКонтакте
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #108 : 13 Июль 2021, 15:58:13 »
Миха42, ромхакеры делятся на два типа: "я делаю бэкапы" и "я сделаю бэкапы".

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #109 : 13 Июль 2021, 16:51:33 »
Миха42, ромхакеры делятся на два типа: "я делаю бэкапы" и "я сделаю бэкапы".
Так я и делаю каждый бэкап когда выкладываю очередную версию, в этот раз не успел. )))
Просто прежде я прям в роме ковырял массив, а на этот раз вынес массивы в тхт файлы и в них уже раздробил их в виде таблицы для комфортного редактирования и последующего заливания в ром, но когда уже сделал их, перед редактированием забыл бэкап сделать.  <_<

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #110 : 15 Июль 2021, 23:49:46 »
Чтож, вот и закончил наконец-то с внедрением всех изменений в расстановку предметов в очередной лёгенькой сложности, в которой можно побегать по замку вдоволь, ключей конечно хоть и много разбросано везде, но встрять всё же можно местами. Учитывая уровень сложности рассчитал чтоб был респаун у аквалангов, но и в тоже время все остальные предметы исчезали после взятия как и положено.
В качестве цели было сделать наиболее простецкий вариант для прохождения игры, для тех кто не в силах разгадать все головоломки и рассчитать в памяти где какие двери стоит открывать, а какие нет для экономии ключей.
Особенно поможет постепенно вникнуть в суть игры без каких либо сложностей, а после уже взяться за прохождение замка в том виде как его придумали разработчики.
Карту замка выкладывать пока не буду с расстановкой предметов, так сказать дать возможность изначально самостоятельно пройтись глянуть в каких комнатах что изменилось, а где нет.

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


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

« Последнее редактирование: 03 Август 2021, 19:30:58 от Миха42 »

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #111 : 17 Июль 2021, 17:34:26 »
Собственно и сама карта к Оригинальной версии сложность Очень легко.

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1545
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #112 : 18 Июль 2021, 12:41:54 »
Хм, на эмуляторе FCEUX 2.2.2 при нажатии на кнопку A включается меню.
238725-0
Кнопка B не работает, но в оригинальном роме работает :neznayu:

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #113 : 18 Июль 2021, 13:06:35 »
Что касательно того меню, кроме перевода слов я там ни чего не трогал.
При этом проверил сейчас у себя на FCEUX 2.4.0 и на Mesen 0.9.9 всё работает исправно как в оригинале при нажатии любой из кнопок А или В

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

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

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

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

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #114 : 29 Июль 2021, 17:43:55 »
Добавил сохранение рекорда очей в RAM картриджа.
Проверял на эмулях, работает, но как поведёт себя на железе с отсутствием памяти ни чего сказать не могу.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5155
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #115 : 29 Июль 2021, 18:00:01 »
но как поведёт себя на железе с отсутствием памяти ни чего сказать не могу
Можно сделать проверку на запись (вроде обсуждалось уже) и контрольную сумму, чтобы писать об ошибке в случае отсутствия и испорченных данных. В эмуляторе можно отключить SRAM/WRAM, чтобы проверить результат.
Помню была такая реализация рекорда на запись в SRAM: записывался рекорд и после инвертированный рекорд (через EOR), потом сравнить. Для больших данных это не вариант, но простое сложение байтов не лучший вариант, но тоже работает.
Проверка на запись не одним байтом, очевидно.

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #116 : 29 Июль 2021, 19:19:58 »
Разумеется сделал проверку пишется в память или нет. ))
Просто сидел мучал iNES что бы не ставил, он всё равно задействует RAM картриджа при включении записи в мапере картриджа, даже не смотря на то что указал отсутствие памяти и даже батареи. хз как тестить не используя NES 2.0
Сейчас сижу мучу возможность сохранения в RAM и загрузку. Сохранение уже сделал, пишет ))) Загрузку пока ещё не доделал.
Ну и потом нужно будет очень много тестить, вдруг где ошибся, даже 1 байт смещения приведёт к порче загрузки.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5155
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #117 : 29 Июль 2021, 19:49:02 »
он всё равно задействует RAM картриджа при включении записи в мапере картриджа
Для теста можно не записывать в регистр PRG RAM protect или запретить через него запись.
хз как тестить не используя NES 2.0
Зачем тестировать без него? Лучше всегда использовать NES 2.0. Правда, например, FCEUX не смотрит на submapper и устройство ввода автоматом не ставит, и возможно некоторое другое.

Заметил, что экран "Конец игре" (UPD: почему-то не "игры"), перед появлением главного меню, становится с неправильными тайлами.
Вы не думали исправить дёрганный скроллинг оригинальной игры?
« Последнее редактирование: 29 Июль 2021, 20:01:02 от Sharpnull »

Оффлайн Миха42

  • Пользователь
  • Сообщений: 286
  • Пол: Мужской
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #118 : 29 Июль 2021, 20:35:56 »
Лучше всегда использовать NES 2.0.
Попробовал, на месен всё норм работает, когда память ставишь 0, то при запуске игры в байте настроек игры не ставит теперь бит D1 мол памяти нету, и всё что работает с памятью перестаёт работать соответственно.  :)

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

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

Вы не думали исправить дёрганный скроллинг оригинальной игры?
По части скроллинга даже не обращал внимания на него никогда, да и где и каким образом он реализован я пока ещё не видел ни где.
Видел только код реализации скроллинга в режиме паузы.

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

Добавлено позже:
Думается мне скроллинг скорее всего привязан к таймерам отрисовки фона и спрайтов, таймеры в свою очередь привязаны к фпс игры, и если не ошибаюсь мне где-то уже попадалась данная канитель, во всяком случае отрисовка спрайтов, на таймере 0-3 при каждом полном цикле происходила обновление отрисовки спрайтов, итого 60/4 получается 15 обновлений спрайтов в секунду то есть 15фпс, скорее всего и скроллинг сделан где-то подобным образом. ведь во время движения спрайты и фон имеют одинаковую дёрганность, но в разное время, что особенно заметно во время движения, спрайты и фон двигаются в разное время и вовремя их движения заметны смещения спрайтов относительно фона.
Не думаю что я скоро дойду до данного вопроса, в игре довольно сложная обработка спрайтов, и при большом их количестве начинаются жуткие тормоза игры, а если сделать обновления чаще, то соответственно и тормоза будут больше. Всё таки процессор у nes очень слабенький. Нужен будет либо разгон процессора (чего я против, так как на реальном железе потом не пойдёт игра), либо оптимизация кода игры для более быстрой обработки между кадрами, но для этого нужно перетрести весь код игры.
« Последнее редактирование: 29 Июль 2021, 21:04:02 от Миха42 »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5155
    • Просмотр профиля
Castlequest/Castle Excellent
« Ответ #119 : 30 Июль 2021, 00:20:32 »
Миха42, я посмотрел немного скроллинг в Castle Excellent (J) [!]. В главном цикле с CPU $82A2:
Я увидел, что первые 3 вызова тяжёлые и занимают пару кадров, но, если их убрать, вызов скроллинга будет через кадр и всё равно дёрганный, возможно из-за вычисления положения камеры. В этой игре камера вычисляется  относительно героя интерполяцией, хотя проще было, как везде, держать героя в центре экрана с остановкой у края уровня. Так что сначала стоит реализовать обычную камеру для проверки, остальные изменения сложные и предполагают оптимизацию.