Автор Тема: [NES] Alien3 Fix  (Прочитано 7034 раз)

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

Оффлайн Yoti

  • Пользователь
  • Сообщений: 4467
  • Пол: Мужской
  • Не тро-гай ме-ня
    • Steam
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #60 : 03 Сентябрь 2021, 02:31:36 »
Нужно. Подтяните свой великий и могучий.
LOL.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5088
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #61 : 03 Сентябрь 2021, 02:52:15 »
мысль, что разработчики умышленно сделали так, чтобы перед вами почти ничего не было видно
Дело не в этом. Это не баг, а просто неудобство. Можно сравнить с Alien 3 для Mega Drive:
* Границы с которых начинается движение камеры меньше, поэтому камера начинает движение почти сразу после движения и героиня остаётся в центре.
* Макс. границы при движении тоже меньше, т. е. обзор вперёд дальше.
* Меньше задержка между этими границами, когда камера возвращается из макс. границы к той, когда начинается движение камеры из спокойного положения.
Оба фикса уменьшают перечисленные значения. Задержка камера менее заметна из-за близости мин. и макс. границ, кроме мест, где камера фокусируется на области.

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1084
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #62 : 03 Сентябрь 2021, 18:51:24 »
Sharpnull, подскажи, можно такое попробовать сделать:
добавить возможность открыть терминал только с одной стороны

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #63 : 03 Сентябрь 2021, 20:49:01 »
Реализовать луч света на NES почти невозможно: менять палитру во время игры не получится, как и менять colour-emphasis биты в правильное время (есть старое демо Firefly https://archive.org/details/pouet_76518, на точных эмуляторах будет освещение вокруг букашки).
Но в виде горизонтальной полосы несложно сделать. То есть будет светить только влево и вправо и одновременно.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5088
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #64 : 03 Сентябрь 2021, 21:02:15 »
MaxWooD, сделать открытие терминалов с одной стороны оказалось несложно. Реализовал, 33 байта доп. кода, а свободные данные для каждой двери были, как я уже говорил. Остаётся расставить нужные значения для каждой двери: работает с двух сторон; только слева; только справа; не открывается или не закрывается (хотя можно просто не добавлять). Думаю нет смысла описывать здесь код и как расставлять двери, потому что не будет желающих, но можно написать мне ЛС, тогда придётся объяснять.

Но в виде горизонтальной полосы несложно сделать. То есть будет светить только влево и вправо и одновременно.
Да, я конечно говорил о реалистичном "треугольном" свете от главного героя.

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1084
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #65 : 03 Сентябрь 2021, 21:25:11 »
Но в виде горизонтальной полосы несложно сделать. То есть будет светить только влево и вправо и одновременно.
А можно сделать так, чтобы свет исходил от игрока только в одну сторону?

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Re: [NES] Alien3 Fix
« Ответ #66 : 03 Сентябрь 2021, 22:21:12 »
А можно сделать так, чтобы свет исходил от игрока только в одну сторону?
Думаю нет.

Оффлайн Cyneprepou4uk

  • Пользователь
  • Сообщений: 206
  • Пол: Мужской
  • Самый лысый ромхакер
    • ВКонтакте
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #67 : 03 Сентябрь 2021, 22:38:13 »
Но в виде горизонтальной полосы несложно сделать. То есть будет светить только влево и вправо и одновременно.

Через замену цвета фона во время отрисовки экрана?

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3265
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #68 : 04 Сентябрь 2021, 09:17:18 »
Через замену цвета фона во время отрисовки экрана?
тут же уже писали  - через emphasis

Оффлайн godun

  • Пользователь
  • Сообщений: 3930
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #69 : 22 Сентябрь 2021, 17:58:38 »
Вот интересная реализация в темноте в игре bucky O'Hare. Объекты движутся в темноте, и вокруг них идёт освещение определенной области .Может на основе этого что-то можно придумать , видоизменить?

Онлайн Mad

  • Пользователь
  • Сообщений: 8098
  • Пол: Мужской
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #70 : 22 Сентябрь 2021, 18:16:01 »
А зачем там темнота? Игра кому то кажется очень светлой и легкой? Если хочется  играть с ограниченой зоной видимости - можно просто играть со стандартной камерой, без фиксов.

Оффлайн godun

  • Пользователь
  • Сообщений: 3930
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #71 : 22 Сентябрь 2021, 18:29:41 »
А зачем там темнота?
А не знаю, тут подняли этот вопрос :)

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5088
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #72 : 22 Сентябрь 2021, 19:01:04 »
Вот интересная реализация в темноте в игре bucky O'Hare
Здесь это не применимо: в nametable записываются отображаемые тайлы (4x4), а круг за счёт расположения 14 чёрных спрайтов вокруг. Спрайты:

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5088
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #73 : 25 Декабрь 2021, 16:04:18 »
Небольшое обновление патчера. Доступен по ссылке: https://infval.github.io/alien3-nes-editor/.
* Исправление: на момент сохранения рома изменения от выбранных пунктов оставались на последующих сохранениях вне зависимости от выбора. Т. е. иногда для правильного изменения рома нужно было открывать ром снова.
* Улучшено: переключение языка кнопкой "RUS / ENG"; кнопка "Save ROM" не активна до открытия рома; отображение имени выбранного файла; имя сохранённого рома теперь "%NAME%_edit.%ext%" вместо "%NAME%%ext%_edit.nes" (где %NAME% - имя файла без расширения, %ext% - расширение файла).

Заметил проблему, когда брал код для программы EXE2IPS (https://infval.github.io/exe2ips/), которая ищет IPS в любом файле, а конкретно в EXE от программы IPS2EXE. Таких патчей много, а у некоторых нет возможности запустить Windows.

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1543
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #74 : 23 Март 2022, 13:48:19 »
Почему-то никто про радар не подумал. Батарейка у него по задумке садится что ли :neznayu: В любом случае, счётчика на него в игре нет.
Либо как на картинке...
246121-0
...либо, как скажет Sharpnull, можно обойтись одним байтом: HEX - 1B4A9:AD.
« Последнее редактирование: 23 Март 2022, 14:02:51 от ПАУК »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5088
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #75 : 24 Март 2022, 04:22:38 »
Почему-то никто про радар не подумал. Батарейка у него по задумке садится что ли :neznayu: В любом случае, счётчика на него в игре нет.
Да, так и задумано. Даётся 99 секунд, что видно после взятия. Вы сделали чит на "бесконечный радар / батарейку" (https://gamehacking.org/game/28933 - Infinite Radar SZVXVXVK), в секундах адрес в RAM $074F. Можно сделать отображение через Select, изменив один байт (HEX - 1A161:01), но на кнопку оружия будет граната, когда выбран радар. Нет особой проблемы поднять иконку оружия и счётчик выше на 8 px, а ниже добавить счётчик батарейки радара.

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5088
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #76 : 24 Март 2022, 21:21:24 »
Если кто-то хочет попробовать с отображением заряда радара, сделал, но без оптимизации оригинального кода, поэтому может не успевать записывать в PPU. Оптимизировать несложно, просто не думаю, что кому-то нужно. Поверх оригинального рома. Отображение цифр над радаром:

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1084
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #77 : 25 Март 2022, 00:16:42 »
Батарейка у него по задумке садится что ли
Там задумка совсем другая была :cool:
В любом случае, счётчика на него в игре нет.
Делали наспех, в игре много чего отсутствует.
Отображение цифр над радаром:
Неплохой фикс, дополняющий недочеты оригинальной игры :thumbup:

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5088
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #78 : 25 Март 2022, 08:56:43 »
Ещё одна проверка концепции (грубый и не полноценный хак). Игровую область можно расширить за счёт опускания области статуса. Для обрезки спрайтов раскиданы ограничения, подправил, но скорее всего не везде. Артефакты фона видел пару раз, когда отображались тайлы от другой области. Центр камеры не менял. Можно сделать статус компактнее, чтобы выиграть ещё 16 px, а снизу всё ещё останется 8 px, которые не видны на многих телевизорах.
Для сравнения до и после:

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1543
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #79 : 26 Март 2022, 16:53:31 »
Ещё одна проверка концепции (грубый и не полноценный хак). Игровую область можно расширить за счёт опускания области статуса. Для обрезки спрайтов раскиданы ограничения, подправил, но скорее всего не везде. Артефакты фона видел пару раз, когда отображались тайлы от другой области.
Прошёл на FCEUX 2.2.2. Вроде всё норм :neznayu:

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5088
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #80 : 27 Март 2022, 04:09:52 »
Прошёл на FCEUX 2.2.2. Вроде всё норм :neznayu:
Спасибо за тест. Я говорил об этом артефакте (песок внизу от верхнего фона):

Эта область состояния/статуса такая большая чтобы также скрыть рисование фона. В игре вертикальный mirroring, а блоки рисуются большого размера. Чтобы ещё увеличить игровую область придётся постараться для скрытия артефактов.

Может кто-то думал: почему спрайты так грубо обрезаются до начала области статуса?

Наверно единственная причина - использование спрайтов в области статуса (это перегрев, здоровье, радар). Можно было бы отключать рисование спрайтов на границе областей и спрайты обрезались ровно, вроде так много где делают.

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1543
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #81 : 27 Март 2022, 12:37:05 »
Я говорил об этом артефакте (песок внизу от верхнего фона):
Да, есть такое. Раза с десятого получилось.

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1543
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #82 : 29 Март 2022, 18:59:36 »
Если кто-то хочет попробовать с отображением заряда радара, сделал, но без оптимизации оригинального кода, поэтому может не успевать записывать в PPU. Оптимизировать несложно, просто не думаю, что кому-то нужно. Поверх оригинального рома. Отображение цифр над радаром:

А как его с расширением игровой области совместить? А то там цифры высоковато находятся.

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1084
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #83 : 29 Март 2022, 19:45:53 »
А как его с расширением игровой области совместить? А то там цифры высоковато находятся.
Действительно, верхняя часть цифрового блока обрезаeтся.

246293-0

В общем, немного ошибся в хекредакторе, когда накатывал изменения таймера на хак расширения экрана, и получил странный эффект при поднятии радара - графические баги и ускорение музыки. Прикольно  :lol:

P.S. По хаку расширения экрана отпишусь позже, протестировал, нужно баги в кучу собрать и скрины сделать.
« Последнее редактирование: 29 Март 2022, 19:52:38 от MaxWooD »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5088
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #84 : 29 Март 2022, 21:19:44 »
А как его с расширением игровой области совместить?
Раз такой интерес, то вот совмещённый хак с исходным кодом. Обрезка статуса на 2 px сверху остаётся, долго разбираться как этого избежать, поэтому энергию радара поместил справа (должно быть видно везде https://www.nesdev.org/wiki/Overscan):

В хаке на расширенную игровую область я забыл опустить спрайты радара, они были выше на 8 px, это исправил. Также оптимизировал запись в PPU кол-ва снарядов (счётчик слева).
Отображение энергии радара требует доп. ROM память и RAM $0100, $0101, поэтому не совместимо с хаками требующими место между CPU $FE85-FED3, но можно дописать свой код после (в коде это после строчек LDA RADAR_LO_DIGIT / STA $2007 / RTS). Исправления из моего онлайн патчера не используют доп. ROM память и не должны пересекаться, но я не проверял.

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1084
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #85 : 30 Март 2022, 20:00:09 »
Игровую область можно расширить за счёт опускания области статуса.
Хак конечно очень крутой, даже не мог представить что такое можно сделать.

1) Из-за расширения видимой области вылезают скрытые "недочеты" лвлдизайна (на картинке видно, что сетка-рабица заполняет не всю нижнюю часть экрана):
246491-0

2) На уровне 3-1 становится видно лестницу и чужого с мигающими нижними спрайтами (на картинки нижний спрайт отсутствует), а расходники к оружию, лежащие на этой же платформе - не отображаются:
246495-1

3) При спуске по лестнице вентиляции вниз, сбрасывая гранату, виден её взрыв. Толи совпадение, толи специально так рассчитали время, но в оригинале взрыва не видно:
246493-2

4) Таймер, чтобы лаконично смотрелось, можно перенести в верхний правый угол худа:
246497-3

Добавлено позже:
Sharpnull, у меня к тебе вопрос - можно ли сделать так, чтобы заключенные на радаре отображались другим цветом/иконками?
« Последнее редактирование: 30 Март 2022, 20:06:20 от MaxWooD »

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5088
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #86 : 30 Март 2022, 22:34:42 »
расходники к оружию, лежащие на этой же платформе - не отображаются
Поднимаемые объекты обрезают не по спрайтам (8x8 px) как враги, а полностью (16x16). Там ещё обрезка не только по константе, которую я менял, отбраковка происходит и до этого.
Таймер, чтобы лаконично смотрелось, можно перенести в верхний правый угол худа
Тайлы не сходятся, там будет обрезка. Я бы всю панель переделал.
можно ли сделать так, чтобы заключенные на радаре отображались другим цветом/иконками?
Добавил красную палитру для заложника. Поднял метки радара выше на 4px, в оригинале возможно недоработка, потому что объект на одном уровне с ГГ отображается ниже на радаре и внизу может выходить за чёрную область.

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1084
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #87 : 30 Март 2022, 23:16:28 »
Sharpnull:thumbup:

Оффлайн ПАУК

  • Пользователь
  • Сообщений: 1543
  • Пол: Мужской
  • Ну-ка, от винта!
    • Steam
    • Youtube
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #88 : 31 Март 2022, 10:06:14 »
Добавил красную палитру для заложника. Поднял метки радара выше на 4px, в оригинале возможно недоработка, потому что объект на одном уровне с ГГ отображается ниже на радаре и внизу может выходить за чёрную область.
Не, если не опустить, а поднять на 4 пикселя, то норм.
246504-0

Оффлайн Terwilf

  • Пользователь
  • Сообщений: 14
    • Youtube
    • Просмотр профиля
[NES] Alien3 Fix
« Ответ #89 : 07 Май 2023, 22:58:03 »
Здравствуйте, извините, что возрождаю эту тему, но после обнаружения этого большого вклада, который вы сделали, я хотел внести свою лепту в этот проект, поэтому я переделал HUD, чтобы адаптировать его к новой информации.
263633-0

Наконец, если кто-нибудь, кто играл в игру, читает это, правда ли, что игра становится несправедливо сложной с таймингами по умолчанию?

Примечание: Я рекомендую заменить цвет $01 ($1FEEA), на цвет $02 для пришельцев, я не знал, что индикатор радара имеет два цвета, пока не прочитал эту тему, также совместное использование цвета с врагом делает их отношения более очевидными (я не знаю, меняется ли эта палитра в какой-то момент).

« Последнее редактирование: 09 Май 2023, 09:04:05 от Terwilf »