1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Metal Gear Solid

Тема в разделе "Установка и запуск игр", создана пользователем Duke Nukem, 9 янв 2005.

  1. WinterWolf Странный зверь

    WinterWolf

    Регистрация:
    19 мар 2007
    Сообщения:
    507
    Хотелось бы немножко прояснить проблему вывода FMV-заставок на новых видеокартах (уже с установленным патчем естественно). Возможно, кого-нибудь это заинтересует. Дело тут не в кодеках. Заставки сделаны в особом формате DDV, разработанном компанией Digital Dialect. Некоторые параметры: видео 320x160, 15fps; аудио 22050Hz, 8 bit Mono. Самое интересное, что FMV-заставки Oddworld: Abe’s Exoddus в этом же самом формате (у Oddworld: Abe’s Oddysee формат DDV немного отличается) на современных ПК идут нормально, но вот в MGS’е со звуком все хорошо, а изображение в виде цветных полосок или прочей мешанины. И похоже единственный способ их посмотреть (не учитывая ютуб и MGS для PSOne) – особый плеер/конвертер в DDV под названием Masher. Раньше он был выложен на официальном сайте Digital Dialect, но вот уже несколько лет раздел, в котором он был, приказал долго жить. Перерыв весь инет и не один раз мне все же удалось кое-как найти этот самый злополучный Masher и полноценно проиграть в нем FMV-заставки. Увы, хотя в процессе поисков я наталкивался на эксперименты с переконвертацией DDV, но все они закончились ничем – проблема так и осталась открыта. Думаю, найденный плеер может кому-нибудь еще пригодиться, поэтому и прикладываю его к данному сообщению.
     

    Вложения:

    • Masher.zip
      Размер файла:
      57,5 КБ
      Просмотров:
      112
    Cleric[V], Fabricator, Eraser и 2 другим нравится это.
  2. WinterWolf Странный зверь

    WinterWolf

    Регистрация:
    19 мар 2007
    Сообщения:
    507
    В догонку. Провел на днях два небольших эксперимента по данной проблеме:
    1. Подсунул в Oddworld: AE FMV-ролик из MGS, а в MGS из Oddworld’а;
    2. Взял левый ролик, сконвертил при помощи Masher’а в DDV и подсунул его в Oddworld: AE и MGS.
    Результат (в Oddworld: AE проигрывается вообще все, в MGS – только звук нормальный) лишь подтвердил мои догадки. Порт делали через одно место и накосячили с выводом DDV (точнее просто не заморачивались, а сделали как Бог на душу положил, лишь бы - лишь бы). Тут для решения проблемы нужно дисассемблировать EXE и глядеть как оно все устроено. Ну а пока приходится обходиться тем, что есть.
     
  3. SADIST80LVL

    SADIST80LVL

    Регистрация:
    31 авг 2015
    Сообщения:
    1
    Товарищи, у меня проблема. Установил "Металку" на седьмой Винде, крякнул, запустил и... все. Сначала пишет: "Game crashed during previous intilization, game starting software rendering mode...", а затем захлопывается. Как мне быть теперь? :cry:
     
    Последнее редактирование: 31 авг 2015
  4. Al Bundy

    Al Bundy

    Регистрация:
    27 авг 2015
    Сообщения:
    171
    Я бы рекомендовал не парится с пека версией, а просто через эмуль запустить версию от пс1, там плагинам и настройками и графон можно сделать четче пекашного, и проблем никаких не будет, и сейвится можно когда хочешь.
     
    Последнее редактирование: 8 сен 2015
    Дарк Шнайдер нравится это.
  5. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.523
    и любоваться на колечную, бьющуюся в конвульсиях геометрию? свят свят свят. её даже родное мизерное разрешение с трудов скрадывает.
     
    Последнее редактирование: 13 сен 2015
  6. pause_break

    pause_break

    Хелпер

    Регистрация:
    18 апр 2010
    Сообщения:
    4.511
    @Ogr 2, в PS1-версии есть крутые спец-эффекты: блюр, расфокус камеры. Ролики красивее.
     
    Дарк Шнайдер и Al Bundy нравится это.
  7. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.523
    а еще на PS1 есть так "красиво" накладываемые в Ж криво текстуры. (ролик выше по видимому снят с эмуля, с улутшаййзером правившего это, и всех "красивых" реалей PS1 версии не отображает)
     
  8. Al Bundy

    Al Bundy

    Регистрация:
    27 авг 2015
    Сообщения:
    171
    Там если и с эмуля,то явно без улучшайзеров
     
  9. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.523
    @Al Bundy, там явно с P.E.Op.S. Soft плагина, в коем (и единственном) есть улутшайзер отрисовки полигонов квадами, устраняющий в Ж кривые текстуры, и включен он там по умолчанию. можешь его выключить и "насладится" всеми "крутыми красотами" пс версии. лол
     
  10. QBSP

    QBSP

    Регистрация:
    18 июл 2015
    Сообщения:
    293
    В MGS реально лучше играть на той платформе, под которую она делалась. Digital Dialect сделали довольно кривой порт, много чего было сварганено наспех и даже кое-что вырезано, а из достоинств только то и добавилось, что была увеличена точность просчёта геометрических преобразований. Вот воспоминания одного из людей, занимавшегося портированием игры на ПК, лично меня больше всего убило, как они обошлись с музыкой, это никакой критики не выдерживает.

    Offtop
    I worked on the port of MGS to PC back in 1999-2000. Here is what I've learned:
    - Models were not "skinned" as it was popular in the day. Some textures were covering only the front part of the body, others arms, etc. As such it was possible to use very little colors per texture (16) and use palettes (which is a very small "texture" in the graphics memory). If models were skinned they would've required all the colors used anywhere on the body, and would produce other unpleasant effects (different sampling frequency, especially on the shoulders, etc.) Konami's character modeling is top-notch.
    - Music/Sound - this was enignma for us. We were never given their internal sound mixer, but the popular metal gear tune was "mod"-like with very short samples - all of this + game effects was fitting in a 512kb audio buffer (adpcm).
    - Game used overlays for the executable part. About 600kb were a main/shared/common part, and if I'm not mistaken 100kb or a bit more were swapped (the overlay). The main part would declare entry-points to be reached, and the "swapped" overlay were like many .so/.dylib/.dll files that knew about the main part.
    - TCL-like language was used to script the game, the radio, traps/objects in the game, etc. Each character would have a "main" like function that accepted (int argc, const char argv[]) and handled the arguments from there (these were directly from the TCL scripts). Ah, the whole thing used "C" only.
    - So 600kb+100kb, leaves you about 1.0mb for objects, "scenerio" files to be loaded, etc. Since our port was more or less "wrap" the PSX libs as PC, we didn't have to change too much, just on the surface - a bit like patching here and there.
    - The game used a tricky pointer hack, basically on the PSX accessing a pointer with the highest-24-bit set means read it from the CPU cache, otherwise not (or maybe the other way around). This was used for example to indicate whether the C4 bomb was planted on the ground, or on the wall instead of keeping a booblean/bit flag for it. Possibly was used for some more things. Since it was 24-bit, that meant 16mb.
    To work on Windows we had to ensure that we don't go above the 16mb ( and the exe starts from 4MB ), we also had all overlays for the game compiled-in rather than doing the swapping as the game did, but we had plenty of space even then to fit. It's possible that we might've messed up some of the AI tweaks, but no one complained, and we were young and did not care. Then I had something to find all places where these pointers were used and mask them out when they had to be read, but kept the 24-bit highest bit in there (okay, it's a bit like tagging I've learned much later when I did some Common Lisp).
    - As we couldn't do shit about having the original mod-music working, we relied on couple of then popular MGS web-sites and "stole" from them the whole music piece, and other things which came as an audio "pre-rendered" form, and then played them directly from our game. Ah... So embarrased!
    - On my part I'm really proud that I was able to do a global-hack where I kept the fixed-point coordinates sub-pixel precision, so our PC port did not "tremble" or "shake" like others to come. Basically on the PSX when you draw a triangle, the "chip" makes all numbers integer pixels, and each vertex "sticks" to a concrete pixel - this makes "shimmering" like feature, and I was able to get around it.
    - The other team-mates were able to get software/hardware renderring (directx I think 3, or was it 5?...). Konami used quite a lot of rendering trick that were not available back then. For example the camo-suit basically used the framebuffer as texture, from the location where the character was rendered - so it looked a bit like shimmering!
    - Two lessons learned from it - We've put much better high-res textures for the eyes (hired someone from Texas to do it for us), when we got the idea rejected by Hideo himself (by the phone), he told us (through the interpretter) that the game during normal game-play did not have any eye-movement, so higher-res textures would look like crap, while with a blurry texture your own eyes won't see it as a problem - it's really sometimes LESS is better.
    - Another was from my boss back then. We had to have a very strict frame-rate - I thnink 30fps otherwise some things were not properly emulated. On some older machines we had the fps going below 15fps, due to the actual renderering, not game code - and since he had experience, he simply said - we'll just skip the drawing of frame then to gain some time. Now that seemed like thing that it should not work, but it did - and saved us from trying to do a non-constant frame-rate hacks.
    - Another minor tidbid. The game reffered to it's files/chunks/etc. by using a 16-bit CRC, since there were quite of lot of objects - almost 32000 overall, there would be collisions, but the way Konami solved it was by simply renaming an object, rather than changing the hash-function, or something else. It puzzled us why some soldiers were called charaB or chara4 without other numbers, but when I got afraid of hash-collision, and saw that there are none (for all objects in the game) it kind of explained.
    - Who knows how many other treasures we did not discover. In all working on it, made me love the "C" language more than "C++" then. The code was only with japanese comments, and early on I wrote a very simple translator - using the offline Star Dictionary (I've downloaded from somewhere), while it was not much usable, apart from really weird to understand (at first) code or algorithm, it also uncovered things like "CONTINEKU" "METARU GIRU SORIDU" (Continue, Metal Gear Solid), and at first I was like... are these folks writing english with japanese symbols?
    - They had a dedicated "optimization" programmer - he basically went through the code, have found the hot-spots and turned them into assembly (mainly model t-junction extrapolations, splitting the model in pieces to fit in the small 1kb fast-cache, and few others). Hopefully he kept the original "C" code, and it was easier for us to choose the right part here and there.
     
    Последнее редактирование: 23 дек 2015
    Дарк Шнайдер и Sylvester нравится это.
  11. Дарк Шнайдер Недопустимо инфантилен

    Дарк Шнайдер

    Регистрация:
    18 окт 2004
    Сообщения:
    22.032
    @QBSP, ну хоть дрожание полигонов исправили, и то хлеб. Интересно бы ещё почитать воспоминания про порт второй части. :)
     
    Последнее редактирование: 23 дек 2015
  12. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.523
    а еще отрисовка полигонами с натяжкой текстур с коррекцией по перспективе (то есть прямая, а не через Ж как на псх), и З буфер.
     
  13. QBSP

    QBSP

    Регистрация:
    18 июл 2015
    Сообщения:
    293
    Кривые текстуры в играх для PS1 – это аппаратная особенность, не относящаяся к коду, так что претензии тут не к играм и программистам, а лично к Sony за то, что они решили так сэкономить.
     
  14. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.523
    @QBSP, низкая "точность просчёта геометрических преобразований" - это также аппаратная особенность, не относящаяся к коду.
     
  15. QBSP

    QBSP

    Регистрация:
    18 июл 2015
    Сообщения:
    293
    @Ogr 2, вообще-то, это зависит от техники программирования и разрешения экрана для трёхмерной сцены. Но разработчики пренебрегали этим в пользу большей частоты кадров и детализации и именно что это относится напрямую к коду, потому что на стадии создания движка это всё учитывается и закладывается в него, а не так, что железяка сама тебе всё преобразует и выстроит. Грубая геометрия присутствует в большинстве игр, потому что так тратится меньше времени и памяти на вычисления, ведь играм не только графику надо рисовать. А текстуры ты никак не выровняешь, потому что GPU накладывает их сам, независимо от кода, он получает команду и выполняет её как умеет, тогда как координаты полигонов высчитываются процессором программно. Разработчики иногда использовали разбиение полигонов, чтобы уменьшить изломы текстур. Во многих последних играх на PS1 можно увидеть некое подобие тесселяции, когда близкие от камеры полигоны разбиваются на более мелкие, а дальние делаются крупными и просчитываются очень грубо.
     
    Дарк Шнайдер нравится это.
  16. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Мне, как игроку, глубоко безразлично, кто виноват.
     
    Eraser нравится это.
  17. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.523
    НЕТ. это именно что (в который раз уже говорю), тех. особенность псх. экономь, не экономь, а иного, при использование её ГП, на ней не будет.
     
    Последнее редактирование: 24 дек 2015
    Eraser нравится это.
  18. QBSP

    QBSP

    Регистрация:
    18 июл 2015
    Сообщения:
    293
    В таком случае, тебе стоит посмотреть на Tekken 3. Эта игра использует очень высокое разрешение для своей платформы и плавную анимацию. А если ты будешь нативное разрешение в играх растягивать плагином до HD, то, конечно же, будет казаться, что там всё дёргается. Потому что это разрешение привязано к отведённой области кадрового буфера и оценивать нужно именно в разрешении 1:1. GPU у PS1 рисует то, что ему скажут, но самолично он обрабатывает лишь наложение текстур, никаких геометрических трансформаций он не делает, это всего лишь обычный растеризатор. Как построен полигон в заданных координатах, так GPU его и изобразит, а как его строить, это уже программному коду решать. Можно 16-ти битными значениями координаты вычислять, а можно 32-х битными и доводить их до экранных координат, но дольше, зато точность будет выше.
     
    misamisa нравится это.
  19. Ogr 2 лол

    Ogr 2

    Хелпер Переводчик

    Регистрация:
    25 мар 2008
    Сообщения:
    6.523
    :facepalm: всё тот же "тремор" вершин что и везде.
    Х там. именно что координаты преобразуются в целочисленные для ГП, результат чего вездесущий "тремор" вершин. в PCSX-Reloaded есть хак на это дело.
     
  20. QBSP

    QBSP

    Регистрация:
    18 июл 2015
    Сообщения:
    293
    @Ogr 2, ясно всё с тобой. Ещё один из тех людей, который не понимает смысла доводов, которые ему говорят. Только время зря тратить... Можешь и дальше культивировать собственное невежество, это твоя личная проблема.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление