Автор Тема: Редактирование внутриигровых параметров Alien 3 на NES  (Прочитано 852 раз)

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

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
Здравствуйте, подскажите как сделать чтобы в начале каждого уровня счетчик оружия был не 99, а, например, 20.
Счетчик данного оружия  находится по адресу 074B (в хекс редакторе ставится 63).

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5077
    • Просмотр профиля
RAM $074B - кол-во боеприпасов для Pulse Rifle, в файле Alien 3 (USA).nes меняется в позиции 1FD67. В следующий раз пишите версию рома о котором речь.
UPD: Если боеприпасов меньше 0x32, то в начале уровня добавляется 0x32. Чтобы не прибавлялось нужно изменить байт в позиции 1E9A2 на 00.

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
Спасибо большое Sharpnull за подсказку! игра Alien 3 (U). Выяснил, что у каждого оружия свой код. 074B - pulse rifle, 074C - Hand Grenades, 074D - Flame Thrower Fuel, 074E - grenade launcher. Оказалось, что количество патронов правится в 2х местах (если надо патронов больше 50 и меньше 50). Если надо сделать патронов больше 50, то для 074B - pulse rifle меняется байт в позиции 1FD67, для 074C - Hand Grenades - не нашел (возможно нельзя), 074D - Flame Thrower Fuel - меняется байт в позиции 1FD6C, 074E - grenade launcher - меняется байт в позиции 1FD71. Если надо сделать патронов меньше 50, то для 074B - pulse rifle меняется байт в позиции 1E9A2, для 074C - Hand Grenades - меняется байт в позиции 1E9C9, 074D - Flame Thrower Fuel - меняется байт в позиции 1E9AF, 074E - grenade launcher - меняется байт в позиции 1E9BC. Возможно где то не так написал. Вроде все работает)

Оффлайн cool245

  • Пользователь
  • Сообщений: 245
    • Просмотр профиля
20 много,один в самый раз)там со временем проблема только)
Т.е чужих убивать нам не надо?)любитель хардкора хотяб проходил игру или,ему в первом уровне показалось,что надо 20?)))

Добавлено позже:
Лучшеб левел хак сделали нормальный

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5077
    • Просмотр профиля
для 074C - Hand Grenades - не нашел (возможно нельзя), 074D - Flame Thrower Fuel - меняется байт в позиции 1FD6C, 074E - grenade launcher - меняется байт в позиции 1FD71
RAM $074C устанавливается вместе с $074E:
CPU $FD56:
  LDA #$63
  STA $074B
  LDA #$50
  STA $074D
  LDA #$00
  STA $074E
  STA $074C
Поэтому 1FD71 меняет для обоих.
Если надо сделать патронов меньше 50
Для $074E - меньше 40.

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
Для нормального левел хака нужна возможность менять местоположение врагов, объектов, двигающихся платформ, открывающихся дверей, На я этого не умею :neznayu:
Если что, чужих можно перепрыгивать ;)

Оффлайн Sharpnull

  • Пользователь
  • Сообщений: 5077
    • Просмотр профиля
SlavaPhG, возможно вам будет интересна эта тема https://www.emu-land.net/forum/index.php/topic,85842.0.html.

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1079
    • Просмотр профиля
Для нормального левел хака нужна возможность менять местоположение врагов, объектов, двигающихся платформ, открывающихся дверей,
Для этого достаточно CAD и ромхакинга. Sharpnull, много чего в ресурсах игры разобрал.

Если что, чужих можно перепрыгивать
Как? Если они напрыгивают на тебя?

Добавлено позже:
.е чужих убивать нам не надо?)любитель хардкора хотяб проходил игру или,ему в первом уровне показалось,что надо 20?)))
Да все правильно он говорит. Никакого баланса оружия и патронов в игре нет!

Лучшеб левел хак сделали нормальный
И что же он должен представлять, этот "нормальный лвл хак"?

Добавлено позже:
Мне самому интересно, можно ли допилить CAD так, чтобы можно было менять/добавлять оружие, платформы и прочее?

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
Пример левел дизайна первого босса. Сделано только в Cad Editor

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1079
    • Просмотр профиля
Пример левел дизайна первого босса. Сделано только в Cad Editor
Поведение босса менялось, или осталось стандартное, просто сменилась локация?

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
MaxWooD, Просто сменилась локация. Пока все что возможно сделать в Cad Editor. Могу выложить видео как работает данный уровень

Добавлено позже:
https://rutube.ru/video/private/ce31ecdfe19561e69e2c30176dbd1200/?p=07KCtwlon4IyqgDPUHOzKA
Ссылка на битву с 1м боссом. Надеюсь так можно делать
« Последнее редактирование: 20 Ноябрь 2024, 21:08:56 от SlavaPhG »

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
На уровне с последними боссами за игровой областью найдены магазины и аптечка.

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1079
    • Просмотр профиля
На уровне с последними боссами за игровой областью найдены магазины и аптечка.
Не удивлен, это же бета-версия)

Что касается первого босса, то тут просто лвл-хак не более. Для полноценного хака нужно менять поведение боссов.
И еще, у тебя в левой части кислота попадает на платформу. платформа получается как зонтик.

И еще вопрос, ты куда дел предметы, которые на уровнях лежали, убрал или просто координаты сменил?

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
Да, я просто делаю левел хак. В примере с 1м боссом можно было в самом начале оставаться стоять и просто время от времени стрелять. Платформы сделаны специально, иначе кислота заливает всю территорию и ты в любом случае получаешь урон. Сейчас с этим боссом приходится побегать, есть 2 безопасных места между которыми надо бегать. В обычных уровнях меняю обычные пути для спасения выживших. Без предметов играть это был бы большой дизбаланс. Задумка, что ты начинаешь уровень безоружным  (считай без предметов пацифистом проходи, а уже на 2м уровне есть место с 2мя чужими, которые тебя постоянно ронять будут), и чтобы облегчить прохождение уровня ты должен найти предметы. Просто поменяю координаты предметов. 
P.S. Делаю хак впервые без знаний ромхакинга и для себя. Просто игра проходится на автоматизме. Захотелось таким образом вернуть интерес к игре. Наврятли кому то понравятся данные изменения (в оригинал то несильно хотят играть из-за таймера и камеры)

Добавлено позже:
Правильнее было бы назвать тему " Помощь по созданию левел хака Alien 3")
« Последнее редактирование: 21 Ноябрь 2024, 04:26:41 от SlavaPhG »

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1079
    • Просмотр профиля
Так заключенных тоже можно по координатам перенести, добавить новых или убрать.
По хорошему можно вообще перекроить уровень, расставить заключенных и оружие по новым координатам.

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
по адресу 00DB6f найдена отсутствующая дверь (надо было поставить в хекс едиторе значение 02) в начале уровня с последним боссом. По адресам 00DB20-00DB2B, 00DB2E, 00DB2F находятся различные предметы (магазины, радар, аптечка). В хекс едиторе стоят значения 08. Как понял данные объекты можно двигать только по одной оси. Регион игры (U).
« Последнее редактирование: 23 Ноябрь 2024, 20:03:54 от SlavaPhG »

Оффлайн MaxWooD

  • Пользователь
  • Сообщений: 1079
    • Просмотр профиля
SlavaPhG, последний уровень вообще просто на коленке собран, в очередной раз убеждаюсь в целом, что игра была наскоро переделана, и не доделана до конца в новой концепции.
Вообще если посмотреть на последний уровень, зачем пропасть вертикальная такая огромная? Если была идея в том, что босс может легко скинуть в пропасть, то добавлять вместо пола ленту. И с левой части просто кусок вертикального монолита.
А дверь закрывать некчему. Прятаться от чужого?

данные объекты можно двигать только по одной оси
По обоим осям, координаты немного дальше в хекс редакторе ищи.

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
MaxWooD, Если внимательно посмотреть на структуру уровней, то можно увидеть, что все уровни сделаны по схеме сетки. Т.е. несколько горизонтальных коридоров соединены между собой вертикальными областями. Возможно длинный уровень с 2 боссами не хотели делать или сделали так с учетом ограничений по размерам уровня. Вертикальная пропасть и есть перемычка между верхним и нижним коридором. На 3м боссе такая вертикальная перемычка есть посередине уровня, поэтому там много маленьких уступов. Если при построении выходить за рамки сетки, то камера начинает жестко скакать или перестает идти за персонажем, т. е. Рипли уходит за экран и непонятно что там делается. Также персонаж при прыжке может застрять в воздухе

« Последнее редактирование: 25 Ноябрь 2024, 20:55:01 от SlavaPhG »

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
Если кто то знает, напишите пожалуйста по каким адресам можно менять местоположение чужих и заключенных по осям x и y.

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
В каждом уровне можно менять назначение предмета, написав в нужном месте следующие коды:
00 - боеприпасы для импульсной винтовки
01 - гранатомет
02 - топливо для огнемета
03 - батарейки
04 - аптечка
05 - ручные гранаты

Добавлено позже:
Редактирование каждого из 8-ми уровней возможно на 4 вертикальных и 8 горизонтальных областях, образующие решетчатую структуру уровня.

Добавлено позже:
1 уровень.
Смещение дверей по осям х и у.
02CB - 02D0 - малое смещение по оси х
02DB - 02E0 - большое смещение по оси х
02EB - 02F0 - малое смещение по оси у
02FB - 0300 - большое смещение по оси у
последние значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
027B - 0282 - малое смещение по оси х
028B - 0292 - большое смещение по оси х
029B - 02A2 - малое смещение по оси у
02AB - 02B2 - большое смещение по оси у
02BB - 02C2 - замена назначения предмета

Добавлено позже:
2 уровень.
Смещение дверей по осям х и у.
0149B - 014A0 - малое смещение по оси х
0149C - 014B0 - большое смещение по оси х
0149D - 014C0 - малое смещение по оси у
0149E - 014D0 - большое смещение по оси у
последние значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
0144B - 01453 - малое смещение по оси х
0145B - 01463 - большое смещение по оси х
0146B - 01473 - малое смещение по оси у
0147B - 01483 - большое смещение по оси у
0148B - 01493 - замена назначения предмета

Добавлено позже:
1 босс.
Смещение дверей по осям х и у.
01AB5 - 01AB7 - малое смещение по оси х
01AC5 - 01AC7 - большое смещение по оси х
01AD5 - 01AD7 - малое смещение по оси у
01AE5 - 01AE7 - большое смещение по оси у
первые значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
01A65 - 01A68 - малое смещение по оси х
01A75 - 01A78 - большое смещение по оси х
01A85 - 01A88 - малое смещение по оси у
01A95 - 01A98 - большое смещение по оси у
01AA5 - 01AA8 - замена назначения предмета


Добавлено позже:
3 уровень.
Смещение дверей по осям х и у.
04260 - 04265 - малое смещение по оси х
04270 - 04275 - большое смещение по оси х
04280 - 04285 - малое смещение по оси у
04290 - 04295 - большое смещение по оси у
04263, 04273, 04283, 04293 - координаты финальной двери
Смещение предметов по осям х и у.
04210 - 0421A - малое смещение по оси х
04220 - 0422A - большое смещение по оси х
04230 - 0423A - малое смещение по оси у
04240 - 0424A - большое смещение по оси у
04250 - 0425A - замена назначения предмета


Добавлено позже:
4 уровень.
Смещение дверей по осям х и у.
05320 - 05323 - малое смещение по оси х
05330 - 05333 - большое смещение по оси х
05340 - 05343 - малое смещение по оси у
05350 - 05353 - большое смещение по оси у
последние значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
052D5 - 052DA - малое смещение по оси х
052E5 - 052EA - большое смещение по оси х
052F5 - 052FA - малое смещение по оси у
05305 - 0530A - большое смещение по оси у
05315 - 0531A - замена назначения предмета

Добавлено позже:
2 босс.
Смещение дверей по осям х и у.
05902 - 05904 - малое смещение по оси х
05912 - 05914 - большое смещение по оси х
05922 - 05924 - малое смещение по оси у
05932 - 05934 - большое смещение по оси у
первые значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
058B2 - 058B5 - малое смещение по оси х
058C2 - 058C5 - большое смещение по оси х
058D2 - 058D5 - малое смещение по оси у
058E2 - 058E5 - большое смещение по оси у
058F2 - 058F5 - замена назначения предмета

Добавлено позже:
5 уровень.
Смещение дверей по осям х и у.
08260 - 08268 - малое смещение по оси х
08270 - 08278 - большое смещение по оси х
08280 - 08288 - малое смещение по оси у
08290 - 08298 - большое смещение по оси у
последние значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
08210 - 08217 - малое смещение по оси х
08220 - 08227 - большое смещение по оси х
08230 - 08237 - малое смещение по оси у
08240 - 08247 - большое смещение по оси у
08250 - 08257 - замена назначения предмета

Добавлено позже:
6 уровень.
Смещение дверей по осям х и у.
09505 - 0950B - малое смещение по оси х
09515 - 0951B - большое смещение по оси х
09525 - 0952B - малое смещение по оси у
09535 - 0953B - большое смещение по оси у
первые значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
094B5 - 094C0 - малое смещение по оси х
094C5 - 094D0 - большое смещение по оси х
094D5 - 094E0 - малое смещение по оси у
094E5 - 094F0 - большое смещение по оси у
094F5 - 09500 - замена назначения предмета
« Последнее редактирование: 06 Декабрь 2024, 20:30:15 от SlavaPhG »

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
3 босс.
Смещение дверей по осям х и у.
09ADF - 09AE1 - малое смещение по оси х
09AEF - 09AF1 - большое смещение по оси х
09AFF - 09B01 - малое смещение по оси у
09B0F - 09B11 - большое смещение по оси у
первые значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
09A8F - 09A93 - малое смещение по оси х
09A9F - 09AA3 - большое смещение по оси х
09AAF - 09AB3 - малое смещение по оси у
09ABF - 09AC3 - большое смещение по оси у
09ACF - 09AD3 - замена назначения предмета

Добавлено позже:
7 уровень.
Смещение дверей по осям х и у.
0C260 - 0C265 - малое смещение по оси х
0C270 - 0C275 - большое смещение по оси х
0C280 - 0C285 - малое смещение по оси у
0C290 - 0C295 - большое смещение по оси у
предпоследние значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
0C210 - 0C214 - малое смещение по оси х
0C220 - 0C224 - большое смещение по оси х
0C230 - 0C234 - малое смещение по оси у
0C240 - 0C244 - большое смещение по оси у
0C250 - 0C254 - замена назначения предмета

Добавлено позже:
8 уровень.
Смещение дверей по осям х и у.
0D3C2 - 0D3C8 - малое смещение по оси х
0D3D2 - 0D3D8 - большое смещение по оси х
0D3E2 - 0D3E8 - малое смещение по оси у
0D3F2 - 0D3F8 - большое смещение по оси у
последние значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
0D372 - 0D375 - малое смещение по оси х
0D382 - 0D385 - большое смещение по оси х
0D392 - 0D395 - малое смещение по оси у
0D3A2 - 0D3A5 - большое смещение по оси у
0D3B2 - 0D3B5 - замена назначения предмета

Добавлено позже:
4 босс.
Смещение дверей по осям х и у.
0DB5C - 0DB5E - малое смещение по оси х
0DB6C - 0DB6E - большое смещение по оси х
0DB7C - 0DB7E - малое смещение по оси у
0DB8C - 0DB8E - большое смещение по оси у
первые значения в строке - координаты финальной двери
Смещение предметов по осям х и у.
0DB0E - 0DB1B - малое смещение по оси х
0DB1E - 0DB2B - большое смещение по оси х
0DB2E - 0DB3B - малое смещение по оси у
0DB3E - 0DB4B - большое смещение по оси у
0DB4E - 0DB5B - замена назначения предмета
« Последнее редактирование: 16 Декабрь 2024, 17:54:16 от SlavaPhG »

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
Изменение экрана с логотипом Probe.
Экран с заставкой в хекс эдиторе находится по адресам 015B3F - 015C1F. Размер логотипа 3*10 тайтлов. В лого используется 2 палитры. Изображение с 1м набором тайтлов месте с надписью A и PRODUCTION располагается по адресам 015B3F - 015B85.
Каждая строка начинается с FF. Потом идут координаты начала строки, например 8B,21. следом располагается набор тайлов (в оригинале 10 шт)
FF - начало новой строки
8B - положение строки по вертикали
21 - положение строки по горизонтали
12,13 и т.д. - тайлы по номерам
0F,32,22,0F - палитра для изображения  с 1м набором тайтлов месте с надписью A и PRODUCTION (адрес 015B88-015B8B)
Удалось расширить картинку до 4*10 за счет удаления надписи.
Поверх можно наложить изображение с другой палитрой (максимум используется 14 тайлов) - 015BE8 - 015C1F
Сначала идет координата по вертикали (н. 6F), потом номер тайла (н. 2A), 00 - не знаю (пропускал), в конце идут координаты по горизонтали (н. 58).
Адрес палитры для данных тайлов 015B98-015B9B.

Оффлайн SlavaPhG

  • Пользователь
  • Сообщений: 17
    • Просмотр профиля
Картинка отредактирована в программе yy-chr. Комбинировались тайлы только из графических данных игры.
Может быть где то использовал неправильные термины. Поправьте