Разработка и ромхакинг > Ромхакинг
[SMD] Неполноценный хак FIFA 96
Je$TeR:
Уверен, многие, кто играл в фифа, хотели это сделать, но сделал я.
FIFA Soccer 96 с российскими командами
В игру были добавлены 16 команд высшей лиги ЧР 95 года, вместе с игроками, и не только.
Хак существует в двух версиях:
1. Все малайские команды заменены на российские.
2. Все малайские и бразильские команды заменены на российские и португальские, + американские команды заменены европейскими по одной из шести разных стран. Таким образом, в лигах только европейские команды.
Новое обновление: Исправлена сборная Сингапура
Добавление команд с нуля и замена спрайтов стран - единственная нерешенная на данный момент проблема.
Russian Teams обновлен до 1.2, UEFA only обновлен до 1.1
FIFA 96 Russian Teams:
Геймплей:
v1.1
* Усилены скиллы примерно половины российских игроков, преимущественно из слабых команд.
v1.2
* Исправлена сборная Сингапура, все оригинальные игроки были прописаны обратно.
* Из Дрездена удалён вратарь с невнятным именем; Черчесов добавлен в Дрезден и удалён из Спартака; У Спартака новый вратарь - Нигматуллин.
Графика:
v1.1
* Исправлен баг с палитрой у Le Havre
* Исправлены опечатки в именах игроков сборной России. (теперь точно все)
* Цвета формы теперь меняются на гостевые, если цвета футболок совпадают.
* Незначительные изменения цвета плашек и форм у нескольких российских команд.
* Исправлены некорректные цвета плашек у некоторых национальных команд, в частности, у России.
* Незначительные изменения в палитрах национальных команд (более исторические цвета форм, сборная Марокко больше не негры и т.д.).
v1.2
*Графические изменения американских команд для более исторического соответствия. Составы и характеристики остались прежними.
Ссылка: FIFA_Soccer_96_(F)_russian_teams_v_1_2.7z (897.92 КБ - загружено 232 раз.)
FIFA 96 UEFA Only
Изменения - те же самые, что и в первом роме + дополнительные:
Геймплей:
v1.0
* Все бразильские команды заменены на португальские, составы соответствуют 94-95 годам.
* Незначительно изменён состав Португалии.
* Незначительно изменён состав Бразилии.
* Все 6 команд американской лиги заменены на европейские команды - по одной из шести разных стран.
* Исправлены опечатки в некоторых именах игроков сборной Дании.
* Исправлены опечатки в именах игроков сборной Австрии.
v1.1
* Добавлены две недостающие команды в португальской лиге (Beira-Mar, Vitoria FC), теперь в португальской лиге 18 команд, как и должно быть.
* Исправлен баг когда Paciencia играл за Inter Milan
* R.Lima переименован в L.Ronaldo и прописан в сборную Бразилии
* Состав Бразилии вернулся к оригинальному c заменой на двух новых игроков (A.Zetti, L.Ronaldo)
Ссылка: FIFA_Soccer_96_(F)_UEFA_only_v1_1.7z (898.33 КБ - загружено 200 раз.)
Отдельное спасибо Sharpnull за помощь. Заменить спрайты стран мне, впрочем, оказалось не по силам.
Mad:
Составы российских команд какому именно году соответствуют?
Sharpnull:
Для графики используется сжатие RefPack, которое использует EA, только они понаделали разных вариантов, ещё нужно найти правильную программу. Например, графика для флага Малайзии при выборе лиги в роме с позиции 12CB68: байты 30 FB, где FB - магический байт всегда, а в байте 30 хранится формат сжатия, вместо него в этой игре может быть 10/11, 46/47, 30/31/32/33/34/35, 7A/7B, 72/73, всего 5 алгоритмов, код распаковки с 0xADD60. Есть хак FIFA Soccer 2020 на основе Hack of FIFA Soccer 95 (https://www.romhacking.net/hacks/5285/, Россия есть), возможно там такое же сжатие, не знаю как они сжимали, можно хранить без сжатия, если хватит места до 4МиБ. Замена только имён - так себе затея.
Je$TeR:
--- Цитата: Mad от 09 Сентябрь 2023, 12:59:09 ---Составы российских команд какому именно году соответствуют?
--- Конец цитаты ---
Все составы, как и команды - 95 года, как и все составы в оригинале.
--- Цитата: Sharpnull от 09 Сентябрь 2023, 18:45:37 ---Замена только имён - так себе затея.
--- Конец цитаты ---
Там не только замена имён, все скиллы игроков и команд также переписаны. Там всё можно менять, кроме привязки игроков к командам и команд к лигам - отсюда и проблема добавления нового.
Скорее всего 0x729BF отвечает за это, но у меня только хекс-редактор, а со всякими ассемблерами я не дружу.
Что касается программы для refpack, я вообще пока никакую не нашел.
Tequilla_Killer:
Дело хорошее. А каким образом скиллы прописывал, откуда брал их?
Je$TeR:
--- Цитата: Tequilla_Killer от 10 Сентябрь 2023, 13:34:42 ---Дело хорошее. А каким образом скиллы прописывал, откуда брал их?
--- Конец цитаты ---
Мне проще ответить, что я их брал из головы чем подробно объяснять, чем я руководствовался. Вкратце, я опирался на результаты ЧР 95 + там еще во время чемпионата выделяли 33 лучших игроков, это тоже помогло. Сам я прописанными мною скиллами остался не очень доволен, потом подправлю, если надо будет.
Sharpnull:
--- Цитата: Je$TeR от 10 Сентябрь 2023, 13:16:27 ---Что касается программы для refpack, я вообще пока никакую не нашел.
--- Конец цитаты ---
Это сжатие используется в контейнерами BIG/VIV от EA (они во многих спортивных играх от них), поэтому реализовано в программах для работы с ними. Ещё в QuickBMS, но там нужен скрипт. Я сомневаюсь, что там именно такое сжатие. Там вроде есть режим без сжатия, это проще, чем искать софт, тогда шаги такие: перехватывать разжатие в отладчике, проверить несжатые данные в RAM (сравнить с VRAM), в расширенном роме расположить несжатые данные (в начале указать XX FB YY YY YY, где XX какой-то байт указывающий, что без сжатия, а YY YY YY - размер данных), поменять адрес на них. Это не так сложно, если немного разбираться, и больше времени уйдёт на рисование графики.
Je$TeR:
--- Цитата: Sharpnull от 10 Сентябрь 2023, 19:29:02 ---Это не так сложно, если немного разбираться, и больше времени уйдёт на рисование графики.
--- Конец цитаты ---
Из всего перечисленного я умею только рисовать графику, так что на нее у меня уйдёт гораздо меньше времени.
Под отладчиком имеется ввиду дебаггер в эмуляторе или что-то другое нужно?
Если в игру можно добавить графику без сжатия, то проще ничего не перепаковывать, а заставить игру читать спрайт с другого участка (как? не знаю). В конце-концов, если добавлять в игру новые лиги, а не переписывать старые - как делал я, то именно таким способом и придётся всё это делать.
Sharpnull:
Je$TeR, "отладчик" - более русское название "дебаггера". Я про который в эмуляторе.
Я писал только про перенос сжатых данных в свободное место в конце рома как несжатых. Конкретно смотрел только на графику флага, а как хранятся индексы для тайлов этой графики и другое - отдельный разговор. Чтобы добавить новые данные (флаги, страны, другие объекты) это нужно много кода разбирать, проще конечно заменить страну и поправить связи.
Je$TeR:
--- Цитата: Sharpnull от 14 Сентябрь 2023, 17:26:44 ---Чтобы добавить новые данные (флаги, страны, другие объекты) это нужно много кода разбирать
--- Конец цитаты ---
Возможно с графикой обстоит чуть сложнее, но по поводу остального, разве одинаковые объекты не имеют один и тот же набор данных? Если футбольная команда ссылается на 16 игроков, то она использует один и тот же код 16 раз, разве нет? И все футбольные команды должны быть устроены по тому же принципу, как мне кажется.
Заменить/переписать может и проще, но только ничего нового пока не добавить.
Sharpnull:
--- Цитата: Je$TeR от 17 Сентябрь 2023, 18:36:58 ---разве одинаковые объекты не имеют один и тот же набор данных? Если футбольная команда ссылается на 16 игроков, то она использует один и тот же код 16 раз, разве нет?
--- Конец цитаты ---
Да. Да. Но я говорил про сложность с добавлением: нужно перенести данные, чтобы расширить их для нового элемента [массива/набора], а таких массивов будет несколько и на них нужно менять адреса, а где-то будут в коде заданы ограничения, например, при выборе в меню (где тоже для графики и других данные менять адреса и делать перенос). Может это не сложно, но как минимум нудно разбирать и перестраивать данные, всё это должно делаться через ASM-код и со скриптами для помощи (например, на Python).
Je$TeR:
Хак еще раз обновлен, Sharpnull помог мне с индексами команд и игроков.
Это позволило "перетаскивать" игроков и команды как угодно и, соответственно, помогло исправить сборную Сингапура, прописать еще две португальские команды, а также нормально привязать игроков к их национальным командам, вместо копирования.
Однако, как оказалось, индексы для команд ограничены и их всего может быть 256. Поскольку сейчас их 239 (+ 4 кастомные занимают место), теоретически еще можно добавить 13 команд, чего на новую лигу никак не хватило бы.
Но и для этого нужно освободить место, перенеся другие блоки в конец рома. И даже когда я это попытался сделать, игра не хотела читать, добавленные мной команды.
Возможно и есть способ как-то это исправить, но эта возня определённо не стоит 13 команд.
Поэтому, от меня вряд ли можно будет ожидать дальнейшие обновления по FIFA.
Тем не менее, если кто-то захочет в дальнейшем разбирать ром, то для переписывания всех составов для очередного фифа 202х всё уже известно, я могу подсказать, если что.
Кроме этого в игре переделывать, как мне кажется, нечего.
Razuka:
Я удивлен, что хоть кто-то еще в этом мире не забыл об этой игре :)
Однозначно забираю ваш ROM!
Совпадение или нет, но именно Sharpnull сделал по моему заказу в ноябре 2023 г. удобный и функциональный редактор для игроков (параметры и имена).
Я все еще не теряю надежды найти время и повторить свой чемпионат Англии 1996 года, который я когда-то организовал в те времена (будучи еще школьником).
Я не играл на поле, а выбрал себе роль менеджера одной из команд и управлял её тактикой и составом.
На мой субъективный взгляд именно Fifa Soccer 96 является лучшей игрой этого жанра на Genesis, так как Fifa 97 и Fifa 98 смотрятся очень хаотично.
Но, как обычно, не бывает все так, как хотелось бы...
С Fifa 96 у меня есть ряд проблем и мне интересно, встречались ли они вам:
-1. Бывают ситуации, при которых игроки защищающейся команды выносят мяч в сторону своих ворот (на угловой или, что еще хуже, иногда прямиком в свои ворота). Причем, эта ситуация возникает только с той командой, которая в данный момент находится на левой стороне поля (ближе к наблюдателю) и никогда не проявляется с командой на правой стороне поля;
-2. Иногда при вбрасывании мяча из за боковой линии игрок кидает мяч четко по этой самой разделительной линии и игре приходится повторять вбрасывание (иногда так происходит по несколько раз, пока игрок все же не сменит направление вбрасывания мяча);
-3. Не знаю как у вас, но у меня почему-то упорно не хочет работать опция травмирования игроков. Она есть в самом меню, я ее активирую, но игроки никогда не получают травмы - даже при срабатывании на них фолов с красными карточками).
Если есть какие-то мысли по этой теме, то я был бы очень признателен.
Добавлено позже:
Интересно также, а есть ли вообще хоть какие-то отличия между FIFA Soccer 96 и FIFA Soccer 99.
Я знаю, что последняя официально не выпускалась - это пиратский мод от FIFA Soccer 96... Но там даже составы не менялись, что странно.
Rexi:
Здравствуйте товарищи! Вот что я выяснил. Чтобы игроки обороняющейся команды не выносили мяч на угловой (в 80% может быть автогол), я не ставлю никакую тактику, тем самым команда сама подбирает себе тактику, проверено. Но 96й на мой взгляд для Имуляции игры "комп на комп" никакой, почти все матчи с малым счетом, и комбинационной игры мало. Я предпочитаю всё же хакнутый 97-й это FIFA 2000, а вот места добавить свою лигу (абсолютно новую) пока увы мечтой так и осталась. Хотя составы команды, цвета флагов (строчек) команд и цвета футболок я научился менять, однако в 95 к примеру если команда с красными футболками и белыми трусами играет против всех красных, то вторая команда автоматически меняет запасной вариант (выезд), а тут запасной вариант применяется, только когда цвета совпадают на 100%, если будут белые футболки и разные трусы, то ничего не произойдет будут играть так, что не всегда удобно!!! Как это можно поменять? Я с хек редакторами с 2010 года, что-то сейчас потянуло на ностальжи. На 96й тоже ставил Высшую лигу, только образцом 1994 года! Но правда так и не доиграл, где-то есть целый пакет сейва с составами всех 16-ти команд на момент окончания 1-го круга чемпионата. Работал с 2000й фифой в плане составов на ЧМ 2018, но что-то не пошло, и обновив всего 8 или 10 команд забросил это дело, кстати а как скилы прописывать игрокам, позиции и номера я не совсем понял, и ещё в 96 один и тот же игрок прописан и в сборной и в клубе, с 97-го такого нет. Там один игрок дублируется в сборную, если играет за неё, но вот номер вроде разный... вот это меня удивляло, я так и не понял как поменять. Очень приятно что ещё кто-то работает над старенькими играми! (работаю с помощью Translhextion.exe) И кстати пытался скачать ссылки в теме по 96-й с составами команд 95-года, пишет вирус... И да FIFA 96 это тот же самый 99-й это просто кто-то изголился, я в свое время ещё на Сеге когда играл не доумевал??? Зачем ?
Марат:
Ясен перец зачем. У людей уже допустим есть FIFA 96, а тут они видят в магазине новую FIFA 99 и покупают её. И таких примеров полно, когда просто меняют название игры и титл скрин в игре и продают. Естественно, всё это не официально.
Razuka:
--- Цитата: Rexi от 16 Январь 2024, 01:03:54 ---Чтобы игроки обороняющейся команды не выносили мяч на угловой (в 80% может быть автогол), я не ставлю никакую тактику, тем самым команда сама подбирает себе тактику, проверено.
--- Конец цитаты ---
Привет!
Хм.. Интересно! Надо будет попробовать.
Я пока выяснил, что баг с выносом мяча в свои ворота проявляет себя в ситуации, когда команда на левой половине поля ведет в счете. Когда счет ничейный или команда слева проигрывает, то бага нет :neznayu:
Попробую ваш метод, чтобы отключить тактику и посмотреть, что из этого выйдет.
--- Цитата: Rexi от 16 Январь 2024, 01:03:54 ---Но 96й на мой взгляд для Имуляции игры "комп на комп" никакой, почти все матчи с малым счетом, и комбинационной игры мало.
--- Конец цитаты ---
А вот тут вы ошибаетесь! Это самая лучшая игра серии на Сеге в плане красивейших возможных комбинаций и рационального счета.
Здесь темп игры более классический, размеренный, без суетливых пасов в никуда.
Я тестировал долго разные версии и пришел к выводу, что именно 96-й (99) в плане игровой механики намного лучше, чем последующие серии... но
...чтобы это реализовать, нужно через редактор параметров игроков (который мне делали на заказ) у вратарей понизить параметр Skill до единицы в редакторе, что соответствует минимальному уровню 50 в самой игре и дополнительно поменять им букву амплуа c "G", на "D" - да, это костыль, но он совершенно меняет саму игру. Теперь можно смело стыковать ПК против ПК и голы получаются на загляденье.
Вот, я сейчас тестирую чемпионат Франции и Чемпионат Мира 1994 года (да-да, тот самый - где в финале играли Бразилия и Италия, а Россия обыграла Камерун 6:1). У меня время тайма выставлено по 6 минут, т.е. всего 12 минут на матч.
Так вот, коэффициент забитых мячей в турнире Франции держится на уровне 2,6 при историческом уровне в 2,5 за игру согласно Википедии (Чемпионат Франции по футболу 1994/1995).
А на групповом турнире чемпионата Мира 1994 г. коэффициент у меня равен и вовсе 3,5, что превышает документальный показатель в 2,71 за игру. Тут, конечно, свою лепту вносят чертовы выносы из за бага.
Так что зрелищность игры при противостоянии компов друг другу отнюдь не страдает, нужно лишь ослабить вратарей.
Я понимаю, почему EA изначально делала их суперменами - иначе при игре с реальным игроком ПК пропускал бы как в баскетболе, но мне то как раз интересен аспект футбольного менеджера, хоть это и Сега.
Вот, не поленюсь, найду время и сделаю запись, выложу на Ютуб хотя бы пару матчей.
Это нужно будет видеть, чтобы понять - насколько игра меняется. Видеть как в 9-ку залетает подкрученный мяч, или головой после прострела с фланга, или же ножницами через себя в дальний от вратаря угол (что очень редко было, но пару раз наблюдал) - тут, конечно, челюсть бывает падает на пол от удивления.
А в 97-м и 98-м - там реальный хаос, игра как будто бы на стерройдах. Игроки мечутся, мельтешат, пасуют как попало. В 98-м видно, что подкрутили немного геймплей по сравнению с 97-м, но коэффициент голов зашкаливает.
Rexi:
--- Цитата: Je$TeR от 10 Сентябрь 2023, 13:16:27 ---Все составы, как и команды - 95 года, как и все составы в оригинале.
Там не только замена имён, все скиллы игроков и команд также переписаны. Там всё можно менять, кроме привязки игроков к командам и команд к лигам - отсюда и проблема добавления нового.
Скорее всего 0x729BF отвечает за это, но у меня только хекс-редактор, а со всякими ассемблерами я не дружу.
Что касается программы для refpack, я вообще пока никакую не нашел.
--- Конец цитаты ---
скачал, но не могу запустить! А чем? А пользую Gens
Razuka:
--- Цитата: Rexi от 18 Январь 2024, 23:31:29 ---скачал, но не могу запустить! А чем?
--- Конец цитаты ---
Да, у меня Gens - открывает.
Razuka:
Интересно, что бы это значило? "Stupid Goalie"
Вероятно, что-то должно понизить параметры голкиперов.
Разработчики зашили какую-то секретную опцию? Как бы ее активировать... для теста.
Razuka:
--- Цитата: Rexi от 16 Январь 2024, 01:03:54 ---Чтобы игроки обороняющейся команды не выносили мяч на угловой (в 80% может быть автогол), я не ставлю никакую тактику, тем самым команда сама подбирает себе тактику, проверено.
--- Конец цитаты ---
Увы, но я не могу это подтвердить.
Тестировал с командами на тактике "None" и ситуация, при которой команда на левой половине поля, ведущая в счете, выбивает мяч в сторону своих ворот, опять повторилась.
Самое забавное, что эта проблема отчасти сохранилась и в последующих частях серии, но там она проявляется иначе: выбивание мяча в сторону своих ворот происходит частенько независимо от счета и может быть как раз следствием использования определенных комбинаций формации и тактики.
Я искренне не понимаю, куда смотрели тестеры EA...
Конечно, при игре между соперниками-людьми эта проблема не проявляется, но при игре против AI она - заметный раздражитель.
Логически, я бы предположил, что данная ошибка является копированием кода для команды на правой половине поля.
Возможно, что разработчики сделали так, что ведущая в счете команда, выбивает мяч от ворот, как бы играя на удержание счета, но не учли, что для "левой" команды направление выноса мяча нужно было скорректировать.
По этой проблеме я предложил заказ на модификацию РОМ`а за деньги (конкретно за фикс этого бага пока готов заплатить 1000 руб.). Но желающих, увы, не нашлось.
В данной игре есть и другие баги, но вышеописанная ошибка является на мой взгляд самой критичной, так как существенно влияет на коэффициент автоголов.
Ну... что делать?... Нашел учебник по Ассемблеру.
Как говорится: «Если гора не идет к Магомету, то Магомет идет к горе» :)
Навигация
Перейти к полной версии