Need For Speed III Modern Patch: более 100 изменений без исходных кодов

    imageКогда я впервые увидел Need For Speed III, от изумления я даже присел. Диск шёл в подарок к видеокарте моего первого компьютера, и это была первая трёхмерная игра в моей жизни. До этого момента я совершенно не подозревал, что графика в играх может быть настолько потрясающей. Это был далёкий 2000 год. Не счесть количество часов, потраченных на игру в сплитскрине за одной клавиатурой с моим двоюродным братом… Музыке — отдельное слово. Мне она настолько нравилась, что я даже записывал её на кассету, а с кассеты потом обратно на компьютер, при помощи стандартной «Звукозаписи». Это единственное что я тогда смог придумать. Слушал я эти записи по кругу по много часов подряд. MP3? Что это за странные буквы? Только WAV, только хардкор!

    И вот, годы спустя, мне захотелось сыграть в эту игру. Но она не заработала на современном железе. Пришлось разбираться. В процессе захотелось ещё и поддержку широкоформатных разрешений… и понеслась! Немного увлёкся этим делом, и в результате получился внушительный патч. Более 8000 строк на ассемблере, исписано 18 листов А4, огромный список изменений…

    Что нового?


    • Адекватная поддержка широкоформатных и больших разрешений. Игра без проблем работает на 1920×1200 и других разрешениях без искажения пропорций изображения.
    • Улучшена графика машин. На максимальных настройках у других машин текстуры в 2 раза лучшего качества, всегда крутятся колёса, никогда не исчезают зеркала и другие элементы (это происходило из-за отображения худших моделей при наличии более двух машин в кадре).
    • Увеличена дальность отрисовки в зеркале заднего вида. На максимальных настройках теперь объекты не исчезают так рано как раньше.
    • Потрясный эффект тумана и лучи света из фар теперь работают и при отрисовке через Direct3D 6. В оригинальной игре эти эффекты работали только на видеокартах 3dfx Voodoo через Glide API или при использовании эмуляции Glide API при помощи врапперов.
    • Улучшена поддержка 3dfx Voodoo / Glide API. Glide API в принципе не позволял использовать широкоформатные разрешения, и чтобы обойти это ограничение, Glide API было расширено совместно с автором враппера nGlide, в архив включён nGlide 1.04.2 с поддержкой этого расширения.
    • Переносимость. Игра больше не лезет в реестр за настройками, все системные настройки хранятся в ini-файле рядом с исполняемым файлом игры (он должен иметь такое же имя как и запускаемый exe-файл).
    • Добавлено несколько оптимизаций. Например, игра не делает копию музыкальных файлов при каждом старте и читает их сразу их исходного каталога, что экономит время и 10 мегабайт ресурса вашего SSD на каждый старт.
    • Исправлено несколько десятков ошибок и недоработок оригинальной версии. Например, индикация загрузки теперь намного более плавная.
    • Устранены многие проблемы совместимости с современными Windows, мешающие работе игры. Добавлены новые системные настройки.
    • Более сотни изменений в целом. Смотрите подробности в файле readme.

    Ручная установка


    1. Скопируйте каталоги FEDATA и GAMEDATA с оригинального диска в новый пустой каталог.
    2. Извлеките содержимое архива nfs3_modern_patch.7z (1.3МБ) в этот же каталог, с заменой файлов.
    3. Готово!

    Готовая сборка


    Да простят меня издатели за раздачу игры 1998 года, я собрал весь оригинальный контент из всех официальных изданий, и сделал сборку с предустановленным патчем. Скачать можно либо на Рутрекере, либо по публичному torrent-файлу (а лучше стать на раздачу и там и там).

    Скриншоты


    Было и стало: у машин других игроков не исчезают зеркала и лучше текстуры




    Было и стало: даже машинам трафика не удалось избежать улучшений




    1280×720, без тумана




    1280×720, с туманом




    1280×720, ночь, туман...


    Поделиться публикацией
    Похожие публикации
    Никаких подозрительных скриптов, только релевантные баннеры. Не релевантные? Пиши на: adv@tmtm.ru с темой «Полундра»

    Зачем оно вам?
    Реклама
    Комментарии 55
    • +9
      С учетом возраста игры намного более инересной и полезной была бы статья о том как вы всего этого добились. Список изменений крутой, но игра уже давно не привлекает.
      • +17
        Графика в этой игре, конечно же, по современным меркам уже устаревшая. Но я эту игру помню и люблю за весьма заводной сплитскрин, особенно в режиме с полицейскими, когда ты догоняешь и штрафуешь друга. Я купил в Steam несколько разных гонок со сплитскрином (к сожалению, это уже необязательная функция, поэтому выбор ограничен), но ничего толком не зацепило. А недавно вот у меня товарищ в гостях был — мы попробовали несколько раз сыграть в NFS3, и таки азарт был. Так что и старые игры могут на отлично выполнять свою развлекательную функцию.

        Что касается методов разработки патча — несколько лет назад я писал статью о патчинге Age of Empires II. С тех пор мало что изменилось, методы применяются те же :)
        • +1
          Помню этот азарт! А ещё клавиатура не отрабатывала больше определённого количество нажатий, а играли на одной клавиатуре. Можно было подставлять друга в поворотах.

          Помню как-то на серпантине запрятался, что он меня не мог найти. Видел мой экран, но не мог угадать место. Море позитива.

          Хотя не уверен, что сейчас было бы интересно… Ещё играли в Ignition на одном экране. Тоже заводная вещь.
        • +9
          Не стоит говорить за всех.
          У меня несколько знакомых до сих пор держат компьютеры и ОС тех времен для теплых ламповых посиделок в DooM, NFS, Heroes, Warcraft, CimCity, Keen, Fox, C&C, Elite и другие шедевры игростроя 1980-90-2000х.
          • 0
            А зачем держать отдельные компьютеры/ОСи? Почти всё из этого прекрасно работает под DosBox (в том смысле что некоторые вещи я лично запускал и проблем особо не испытывал… хотя для Гоблинов пришлось поплясать с бубном… вот виндовые игрушки — те да, сложнее запускать)…
            • +2
              Так теплый ламповый гймплей)
              • +2
                Внезапно DosBox позволяет запустить Win98?
                ДОСявые игрища — не вопрос. Но, например, тот же нативный МК3 имеет ощутимый лаг, между нажатием клавиши и реакции персонажа. Страшный момент «почти». У меня для этого «почти» — стоит системник с двумя падами от PS1 (один зацеплен от LPT-порта, второй зацеплен от COM-порта. Оригинальные от PS1). Ибо на современных системах просто некуда цеплять их.
                Ну и всё-же на тему МК. Ну просто на не оригинальном 6-кнопочном паде набрать тот же brutality — невозможно. Я про тот самый МК3U с SMD.
                Ну а если по теме — NFS3 был одной из моих любимых игр. Я, в принципе, перепаивал свой ЕДИНСТВЕННЫЙ геймпад от PS1 для компа только для того, чтоб удобней было играть в НФС3 )
                И с друганом зарубались, вот как сейчас помню: Атлантика. Ламбо Диабло.ДЕСЯТЫЕ доли секунды)
                • 0
                  Win98 отлично эмулируется в виртуальных машинах.
              • 0
                Я не против, да и сам таким занимаюсь, чтобы поиграть в Constructor. Но все же…
            • +6
              Вообще было бы прекрасно, если бы разработчики публиковали исходные тексты старых игр или программ, как это делала id Software. Ведь они кем-то могут использоваться, причем лицензионные версии, а поддерживать это уже никто не хочет и не будет.

              Замечательная работа, но и правда была бы очень интересна статья о том, как вы всего этого добились, какие-то самые интересные вещи, т. к. 100 патчей описать в одной статье может и не получится.
              • +3
                Публикация исходных кодов было бы идеальным решением для игр «на пенсии». Хотя вот Microsoft спустя 12 лет отсутствия обновлений внезапно слегка обновила Age of Empires II и теперь успешно её продаёт в Steam. А ведь казалось, что игра уже давно на пенсии…

                Что касается описания процесса патчинга, даже понятное описание небольших изменений — весьма трудоёмкая задача. В этой статье 2009 года я описал 3 небольших изменения, и то объём вышел достаточно большим. Хотя кое-какие статьи на эту тему я всё же планирую написать для Хабрахабра.
                100 патчей описать в одной статье может и не получится.
                Для этого пришлось бы привести все 8000+ строк фрагментов ассемблерного кода и в несколько раз больше текста с описанием :)
                • 0
                  Хотя вот Microsoft спустя 12 лет отсутствия обновлений внезапно слегка обновила Age of Empires II и теперь успешно её продаёт в Steam.

                  И неплохо продается steamspy.com/app/221380
              • +7
                Мне она настолько нравилась, что я даже записывал её на кассету, а с кассеты потом обратно на компьютер, при помощи стандартной «Звукозаписи». Это единственное что я тогда смог придумать.

                А мы купили проводок Jack-Jack 3.5mm и соединяли им выход и вход звуковой карты, включали игру, включали звукозапись, работало достаточно хорошо!
                • 0
                  Спасибо! Игра запустилась. Под Windows 8 не работала.
                  • 0
                    Отличный подарок перед праздниками! Без проблем запустилось на win8.1 с драйвером dgVoodoo, с dx6 картинки не было, а второй монитор начал часто мигать. Много часов было накатано в детстве на PS1… Играть, спустя столько лет, с геймпадом от PS4 — ностальгично и приятно ツ
                    • 0
                      Попробуйте ещё драйвер nGlide. Он менее требовательный к ресурсам.
                      • 0
                        Да, с nGlide тоже запустилось без проблем, субъективно — картинка более плавная, хотя вполне возможно, что это моё воображение.
                    • 0
                      Прекрасно запустилось под Wine. Вот оно, детство! Спасибо большое.
                      • 0
                        Под Wine (по отзывам) игра лучше всего идёт с thrash-драйвером nGlide. С драйвером DX6 (что идёт по умолчанию) почему-то нет тумана и вместо него испорченный (слишком яркий) горизонт.
                      • 0
                        Устранены ли периодические рывки оригинальной NFS3 при работе через D3D (равно как и через Glide-wrapper’ы типа nGlide, работающие через тот же D3D)?
                        • 0
                          Зависит от вашей системы и используемого thrash-драйвера (просто попробуйте разные варианты, я специально в комплект включил несколько штук). Потеря кадров может быть из-за того, что игра вынуждена работать на одном ядре. Скорее всего при использовании DX6 или DX8 будет всё плавно, правда в DX8 не поддерживаются некоторые эффекты. По крайней мере у меня на двух системах нет никаких рывков при использовании этих драйверов, а при выводе через nGlide подёргивания есть, и они исчезают при отключении SingleProcAffinity (привязка процесса к одному ядру) — на одном из компьютеров игра не зависает в таком виде примерно в половине случаев, поэтому и смог протестировать.
                        • 0
                          Ох, весьма вас благодарю! Вы просто чудо-человек! :)
                          • 0
                            Lenovo Yoga 2 11 и Windows 10 — игра пошла на ура с разрешением Full HD через nGlide. Встал на раздачу на рутрекере.
                            • 0
                              Обожаю Hot Pursuit 2 старый, у него и графика была интересной
                              • +1

                                Попался на глаза неплохой современный обзор этой игры :)
                                • 0
                                  Спасибо!!! Скачал поиграл на Win7, все работает.
                                  Никогда не смотрел Credits, а вот сейчас посмотрел. Очень прикольно оформлено + имеются фотки 360° команды разработчиков.

                                  Одна из игр, втянувшая меня в модостроение) Эх, сколько было радости, когда получилось в этот NFS впихнуть свою машинку из 3dsmax.
                                  • 0
                                    Вопрос такой, а в этой версии TCP/IP мультиплеер работает? Как только ни пробовал, доходит до появления… вместо empty и потом отваливается назад. Даже если два компьютера в одной сети находятся.
                                    • 0
                                      Должно работать так же, как и в оригинальной игре (код мультиплеера не изменялся в патче). Знаю что в NFS3/NFS4 есть проблема, когда после выбора типа соединения ничего не происходит, то есть не появляется главный экран игры со списком участников, чатом и т.д. и её обычно фиксят перезагрузкой компьютера. Я сам по сети не играю вообще, поэтому эту часть игры не тестировал, и не знаю как оно там работает.

                                      Так, для информации, какая у вас ОС? Системный фаервол не мешает игре? Может, нужно какие-то порты открыть для NFS3? :)
                                      • 0
                                        Win7 на обоих машинах. Судя по всему игра использует 1030 TCP, оно открыто и даже соединение есть. Все возможные фаерволы выключены, на клиенте вообще не видно, что что-то происходит, на хосте только появляется… и потом обратно в empty. Когда-то давно это работало :)
                                        • 0
                                          Ivan_83 был более настойчивым и выявил, что в оригинальной игре работало, а с патчем — нет. Я уже исправил проблему в последней бете, скоро войдёт в релиз. Сейчас жду ответа автора nGlide по поводу проблем с этим враппером, которые мешают ему стать идеальным вариантом для NFS3. Надеюсь, следующее обновление будет всё же «финальным», то есть готовым к использованию в ближайшие годы, а то надоело уже пользователей мучать еженедельными обновлениями :)
                                    • +3
                                      Ох, вспоминаю, мы с дядей в прятки играли в этой игре в split-screen. Один игрок уходил на пятнадцать минут, а второй за это время искал дырку в карте и прятался в текстурах, после чего второй его искал.
                                      • 0
                                        Платформа: Windows XP, 7, 8
                                        Системные требования: Pentium 200 МГц, 32 МБ ОЗУ, 700 мегабайт свободного пространства на диске.

                                        Ээээ… Вы уверены, что винда XP, 7, 8 пойдет на пне с 32 метрами оперативки? )
                                        • 0
                                          Ну если вы запустите игру на Windows 98 на компьютере с 32 мегабайтами RAM, то она должна работать. Я старался писать код так, чтобы не ломать совместимость со старыми ОС (хотя я не тестировал патч на старых компьютерах).
                                          • +1
                                            Просто минимальные указанные требования для системы не совпадают с требованиями последних винд — об этом речь, не более того.
                                        • 0
                                          Эх, моя самая первая собственная игра на ПК!
                                          • НЛО прилетело и опубликовало эту надпись здесь
                                            • +1
                                              Я кстати вчера вечером нашёл и исправил этот баг, из-за которого игра зависает при работе на многих ядрах. Немножко поспешил со статьёй :) Включу в следующее обновление. Для машин там действительно лимит в 50 штук, по крайней мере под строки названий машин выделено ровно столько айдишников (там в UI для каждой строки есть уникальный ID, и машинам там отведён какой-то диапазон). Если задаться целью, то конечно можно расширить этот лимит, но мне кажется так много машин это уже слегка перебор :) Запишу в список идей. Но там у меня под сотню позиций и так. Например, в игре есть куча куда более неприятного хардкода касательно трасс — нужно немало кода переписать и изменить структуру файлов, чтобы реализовать полноценную возможность добавления трасс (например, 3D модели всех трасс для меню хранятся в одном общем файле, а не в каталоге с трассой). Я думаю сейчас только пофиксить ещё несколько багов и хватит. И так много времени на патч потратил. На пенсии остальным займусь :)

                                              У меня есть трассы из этого пака: nfs3expansionpack.webs.com/nfs3ep-track-list. Правда, я ничего не пробовал, просто скачал и лежит без дела. В детстве помню качал какую-то трассу с городом и она вроде неплохой была :)

                                              NFS4 никогда вживую не видел, на скриншотах не нравится интерфейс и боюсь, что если возьмусь за патч этой части, то не удержусь от того, чтобы его не переделать :) NFS5 в детстве не понравилась. А вот NFS3 в душу запала, поэтому и занялся ей. На сколько я знаю, часть из решённых проблем здесь есть и в NFS4/NFS5. Может под настроение как-нибудь исправлю и в них хотя бы основные баги.
                                              • 0
                                                К слову, в игре был такой же лимит на количество разрешений — им было выделено всего 20 позиций. Я это переделал (новый диапазон, новые буферы подходящих размеров, плюс все соответствующие правки) и теперь игра может видеть до 100 разрешений :)
                                            • 0
                                              Недавно тоже пытался запустить эту игру на Win8. Как-то вроде получилось даже, но графика была, откровенно говоря, остой. Скачал вашу сборку — это потрясающе! Спасибо за проделанную работу и за возможность окунуться в прошлое.
                                              • 0
                                                PS Есть ли у вас такая же сборка игры Nightmare Creatures? ))
                                                • 0
                                                  Есть?
                                                  • 0
                                                    Нет. Если честно, я впервые про такую игру слышу. Раньше для PC-игр я делал только патчи и сборки к Age of Empires I и II.
                                                • 0
                                                  Может быть, вы посмотрите, как хотя бы баг с определением 3Д-карты в Дальнобойщиках-2 устранить?
                                                  За сборку ОГРОМНОЕ спасибо, это просто очень замечательно!
                                                  • +1
                                                    Увы, но у меня было слишком много ассемблера в последнее время, и ещё несколько игр ждут своего часа… Однако, если вы программист, вы можете попробовать открыть для себя новое направление :) Я сам когда-то начал этим заниматься из-за того, что мне хотелось исправить один небольшой недостаток в Age of Empires II, а потом пошло-поехало. Общий процесс патчинга я описывал здесь.
                                                    • 0
                                                      Программистом я себя назвать могу с большим трудом.
                                                      Спасибо за ссылку, постараюсь изучить её, всё же.
                                                    • 0
                                                      а что за баг такой, если не секрет?
                                                      • 0
                                                        На картах Nvidia (на моей GTX670, в частности) игра не запускается, потому что не видит 3D-акселлератора. Много чего делал, но не помогает ничего. Кажется, действительно придется копаться в дебаггере, чтобы как-то это обойти.
                                                        И еще, на некоторых других компьютерах не контроллируется частота кадров — и игра идет, как будто она под ускоряющими сознание веществами.
                                                    • 0
                                                      Автор просто умница. Всегда радовали увлеченные люди. Особенно в программерстве, наверное потому что самому icq и выдержки не хватило самообучиться до такого уровня.
                                                      • 0
                                                        Эх, помню как я хранил порно в папке Fedata, а сестра все равно нашла…
                                                        • +1
                                                          и в какую папку она его переложила? :)
                                                          • 0
                                                            Просто сдала родокам, а они показательно вздыхали и отчитывали сынишку, говорили что так нельзя и провели беседу на тему откуда берутся дети… ага, 14-летнему пацану, у которого уже 3 года есть интернет :)
                                                          • +1
                                                            Надо было в $Recycler прятать, там мало кто способен найти.
                                                            • +1
                                                              Я нашел еще один способ — класть в zip архив и переименовывать его в .dll, чтобы Windows Commander его не открывал как папку :) только долго было разархивировать видос, поэтому туда попадали только избранные, скачанные по дешевому диалапу с 5 до 8 утра, а после школы просматривались :)
                                                          • 0
                                                            Need For Speed III Modern Patch v1.3.0

                                                            Вышла новая и скорее всего финальная версия в череде обновлений для Need For Speed III. Этот релиз посвящён исправлению наиболее неприятных багов игры, поэтому обновление настоятельно рекомендуется.

                                                            • Игра научилась корректно использовать все ядра процессора, что значительно повысило плавность nGlide и dgVoodoo. Старый костыль SingleProcAffinity больше не нужен.
                                                            • Исправлена ошибка оригинальной игры, из-за которой игра могла неожиданно закрыться в самом конце загрузки геймплея.
                                                            • Драйвер nGlide теперь корректно поддерживает сворачивание и разворачивание игры.
                                                            • Исправлена ошибка, приводящая к невозможности начать сетевую игру.
                                                            • Другие незначительные изменения, за подробностями обращайтесь к файлу readme.

                                                            Раздача обновлена, новые файлы находятся по старым ссылкам. Подробнее можно прочитать в блоге проекта.
                                                            • 0
                                                              Круто воскресить легенду!

                                                              «Это от души, замечательно. Достойно восхищения. Чтобы так вот за обедом на десерт и острый предмет. Замечательно! За это вам наша искренняя сердечная благодарность.»
                                                              (с) к/ф Формула любви

                                                              Но ежели конечно кроме 3 части еще и 4ую часть сможете сделать, тогда просто слов нет

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

                                                              Самое читаемое