Jordan Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 Приветствую! Наверное каждый мододел спрашивал себя, почему двиг настолько дубовый. Сейчас объясню о чем я. Фолыч разрабатывался с 1994 года, первый фолыч выпущен в 1997 году, второй в 1998. Движок Fallout 2 более юзерфрендли, многие настройки вынесены из таблиц движка (exe файла) в текстовые файлы, которые можно редактировать в блокноте и тем самым изменять игру. Вот мой список костылей. 1. Проблема бинарных форматов игры. Карты, прототипы. Еще и зависимость от порядка байт.Я понимаю, что в 1997 году еще не было xml и json. Но почему не использовали для прототипов ini формат. Легко редактируется любым блокнотом. Нет зависимости от размеров структур игры. Те же проблемы наследуют карты. Можно было написать или свой текстовый формат в 300 строк или читать fscanf функцией, на ее основе можно считывать любые текстовые данные из файла. 2. Проблема хранения не имен файлов, а номеров файлов.Каждый ресурс в игре прописан в lst файле, где номер строки с названием ресурса является его числовым идентификатором. Обращение к ресурсу идет через данные идентификаторы, это все ресурсы картинки, скрипты, карты, прототипы. И поэтому добавление чего то нового в игру так затруднено. Еще существует проблема несовместимости модов, так как несколько модов используют одни и теже идентификаторы для разных объектов. Лучший вариант это хранить путь + название ресурса. Обычная текстовая строка с уникальным названием. 3. Скрипты в бинарном формате. Так как есть компилятор, то его следовало встроить в движок и хранить скрипты в текстовом формате, а при загрузке локации компилировать скрипты, это бы даже на тех маломощных ПК занимало несколько секунд. (Кеш скомпилированных скриптов можно хранить в папке игры) Претензий нет к форматам dat, acm, frm, так как хранение в данных форматах позволяло сильнее сжать итоговые ресурсы. Типичный компьютер тех лет это pentium 100 mhz и 16 мб озу это без шуток не мало. У меня есть ответ, что это было сделано для скорости загрузки ресурсов, так как бинарные данные читаются быстрее. Но не думаю, что это было решающее значение. Сжатый текстовый файл читается по скорости не менее быстро. Текстовые форматы добавили бы удобство редактирования игры, при ее создании. Еще есть вариант, что все изменения вносились через редактор карт, но он настолько дубовый, что у меня есть сомнения в том, что именно данный редактор выложенный разработчиками использовался для создания карт. У них возможно был более нафичеванный реактор. Поделитесь пожалуйста своими мыслями на этот счет. 4 Ссылка на комментарий
Farvel Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 Потому что это делалось в бородатых годах на голом энтузиазме во время, когда культура кодинга только формировалась) Без всяких ООП и такого похожего. Все пилили по хардкоду 2 Ссылка на комментарий
докторШо Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 Каждый ресурс в игре прописан в lst файле, где номер строки с названием ресурса является его числовым идентификатором. Обращение к ресурсу идет через данные идентификаторы, это все ресурсы картинки, скрипты, карты, прототипы. О-о! Это зло, да. Но я разобрался. Незабываемое ощущение того, что ты победил зло. 1 Чай! Все, що мені було потрібно – чашка чаю. Гарячий настій вільних радикалів і таніну. Ссылка на комментарий
Pyran Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 Каждый видит удобство по своему...Гениальные идеи. кривое исполнение или проф.исполнение идеи никакущие, а по середине что-то с чем-то.добавлено позжеПретензий нет к форматам dat, acm, frm, так как хранение в данных форматах позволяло сильнее сжать итоговые ресурсы.относительно форматов видео и звука, не уверен.Там просто была взята уже отработанная ранее технология. кмк. Fallout 2: Путеводитель по модам | FAQ | Перевод модов | Путеводитель по RP Nevada Band: Путеводитель по играм серии | FAQ Fallout Tactics: Путеводитель по модам | FAQ База Данных: YD\YD\MF Цитата: "Помогая другим, не забывай о себе..." Ссылка на комментарий
Jordan Опубликовано 12 октября, 2022 Автор Поделиться Опубликовано 12 октября, 2022 Потому что это делалось в бородатых годах на голом энтузиазме во время, когда культура кодинга только формировалась) Без всяких ООП и такого похожего. Все пилили по хардкоду ООП так то с 80-ых. Тим Кейн был молодым, ипал я ваши стандарты, чик чик и в прод. Ссылка на комментарий
Pyran Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 через редактор карт, но он настолько дубовыйслышал, что редактор был выпущен позже Fallout 2: Путеводитель по модам | FAQ | Перевод модов | Путеводитель по RP Nevada Band: Путеводитель по играм серии | FAQ Fallout Tactics: Путеводитель по модам | FAQ База Данных: YD\YD\MF Цитата: "Помогая другим, не забывай о себе..." Ссылка на комментарий
Jordan Опубликовано 12 октября, 2022 Автор Поделиться Опубликовано 12 октября, 2022 Каждый видит удобство по своему... Гениальные идеи. кривое исполнение или проф.исполнение идеи никакущие, а по середине что-то с чем-то. Возможно, Тим Кейн использовал подход из раннего опыта программирования игр. Кстати в игре Arcanum у него абсолютно такой же хардкорный подход. Концепции движков почти одинаковы.добавлено позжеслышал, что редактор был выпущен позже Да лет через 5. 1 Ссылка на комментарий
Farvel Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 ООП так то с 80-ых. Тим Кейн был молодым, ипал я ваши стандарты, чик чик и в прод. Ну можно сказать, что и с 60-х Тим Кейн явно не был фанатом. Ссылка на комментарий
Pyran Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 такой же хардкорный подходон уже привык, ему так проще, лень переделывать\переориентироваться, менять, о модах тогда речи не шло, о патчах и фиксах, боюсь тоже) Можно потратить месяц на обучение и гибкость будущих систем или за этот месяц настрочить железный код, который "могём"... не исключаю такой подход. Fallout 2: Путеводитель по модам | FAQ | Перевод модов | Путеводитель по RP Nevada Band: Путеводитель по играм серии | FAQ Fallout Tactics: Путеводитель по модам | FAQ База Данных: YD\YD\MF Цитата: "Помогая другим, не забывай о себе..." Ссылка на комментарий
докторШо Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 Как мне кажется, разрабы не рассчитывали на то, что кто-то будет ковырять их игру через 20 лет, когда подходы, которые они использовали морально устареют. Думаю, они вообще не рассчитывали на то, что кто-то кроме них будет ковырять игру. Вообще, с организацией ресурсов и идентификаторами это кажется сложным, пока не врубишься в структуру. Потом всё воспринимается нормально. Для своих нужд я сделал такую табличку в Excel для scenery и items. И да, я знаю, что всё это уже давно разобрано Pixote, но мне нужно было самому в это влезть, чтобы понять как оно устроено внутри. 2 Чай! Все, що мені було потрібно – чашка чаю. Гарячий настій вільних радикалів і таніну. Ссылка на комментарий
Jordan Опубликовано 12 октября, 2022 Автор Поделиться Опубликовано 12 октября, 2022 он уже привык, ему так проще, лень переделывать\переориентироваться, менять, о модах тогда речи не шло, о патчах и фиксах, боюсь тоже) Как раз в Arcanum, он реализовал поддержку модов из коробки. Назвал их модулями. Интересно он мог делать двиг Arcanum на движке Fallout 2 (допиливая конечно до неузнаваемости), доступ к исходникам у него был. Хотя маловероятно, у них все с копирайтом строго. Скорее всего по памяти пилил аналог. Ссылка на комментарий
Farvel Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 Да просто был говнокодером, работающим на результат. Т.е. главное, побыстрее реализовать идею и приступить к реализации следующей. Это очень хорошо работает для быстрой разработки одного проекта, но потом это ад для тех, кто с этим будет работать.В целом, учитывая те годы разработки, такой подход вполне понятен Ссылка на комментарий
Jordan Опубликовано 12 октября, 2022 Автор Поделиться Опубликовано 12 октября, 2022 Есть информация на каком языке программирования написан двиг? С или С++. Ссылка на комментарий
Pyran Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 Как раз в Arcanum, он реализовал поддержку модов из коробки. Назвал их модулями. Интересно он мог делать двиг Arcanum на движке Fallout 2 (допиливая конечно до неузнаваемости), доступ к исходникам у него был. Хотя маловероятно, у них все с копирайтом строго. Скорее всего по памяти пилил аналог.На чем там Балдуры и Торменты были - на infinity? Fallout 2: Путеводитель по модам | FAQ | Перевод модов | Путеводитель по RP Nevada Band: Путеводитель по играм серии | FAQ Fallout Tactics: Путеводитель по модам | FAQ База Данных: YD\YD\MF Цитата: "Помогая другим, не забывай о себе..." Ссылка на комментарий
Jordan Опубликовано 12 октября, 2022 Автор Поделиться Опубликовано 12 октября, 2022 На чем там Балдуры и Торменты были - на infinity? Да. Но Балдуры не содержали понятие тайлов как в фоле. Локации рисовали всю с нуля, потом нарезали на тайлы или что то в этом роде. Это я подчерпнул из истории создания игры. Локации содержали минимум общих ресурсов. Что и позволило менять диски при игре. Или хитро поделил данные на зоны, для возможности смены дисков. Ссылка на комментарий
Pyran Опубликовано 12 октября, 2022 Поделиться Опубликовано 12 октября, 2022 Да. Но Балдуры не содержали понятие тайлов как в фоле. Локации рисовали всю с нуля, потом нарезали на тайлы или что то в этом роде. Это я подчерпнул из истории создания игры. Локации содержали минимум общих ресурсов. Что и позволило менять диски при игре. Или хитро поделил данные на зоны, для возможности смены дисков.я про Arcanum, мне казалось, что технология ближе к балдурам и айсвиндам Fallout 2: Путеводитель по модам | FAQ | Перевод модов | Путеводитель по RP Nevada Band: Путеводитель по играм серии | FAQ Fallout Tactics: Путеводитель по модам | FAQ База Данных: YD\YD\MF Цитата: "Помогая другим, не забывай о себе..." Ссылка на комментарий
Jordan Опубликовано 12 октября, 2022 Автор Поделиться Опубликовано 12 октября, 2022 я про Arcanum, мне казалось, что технология ближе к балдурам и айсвиндамЯ чуть моддил Arcanum, он очень скож с движком Fallout 2. Конечно он более гибок, но концепции едины. И почти все настройки вынесены в текстовые файлы. Кроме карт и прототипов. Скрипты упрощены, логику диалога хранится в самом диалоге. Вроде как проще. В скрипты следует лезть не часто, многое реализуется в текстовых файлов диалога. 2 Ссылка на комментарий
Mr.Sталин Опубликовано 13 октября, 2022 Поделиться Опубликовано 13 октября, 2022 JordanНе забывай что 97 год это всякие пентиумы в 166мгц (тогда еще и ммх не везде был), и чтение всяких лишних текстовых форматов это дополнительная растрата времени загрузки этих ресурсов.У меня тогда фол минуты 2 грузился, а карты загружались при переходе секунд 30.добавлено позжеслышал, что редактор был выпущен позжередактор был как единое целое с движком, только выложили сборку маппера позже.добавлено позжеСейчас программисты тупые шо ппц- говнокодят налево и направо, никакой оптимизации просто пишут как смску своей шмаре)).В ОПП некоторые куски кода могу выполняться по нескольку раз (хотя толку от этого никакого).Программисты 90-х самые лучшие программисты. Ссылка на комментарий
VatsOfGoo Опубликовано 13 октября, 2022 Поделиться Опубликовано 13 октября, 2022 Я в этой теме мало чего понимаю, но вроде как не стоит также забывать о жесткой стандартизации со стороны Microsoft в те времена. Возможно это тоже какой-то отпечаток привнесло в разработку. Ученые расщепили атом. Теперь атом расщепляет нас. Ссылка на комментарий
Mal Опубликовано 13 октября, 2022 Поделиться Опубликовано 13 октября, 2022 Не забывай что 97 год это всякие пентиумы в 166мгц (тогда еще и ммх не везде был), и чтение всяких лишних текстовых форматов это дополнительная растрата времени загрузки этих ресурсов. У меня тогда фол минуты 2 грузился, а карты загружались при переходе секунд 30.У меня 133 пень был и не так всё печально было, как ты описываешь. Но суть верна. Плюс, некоторые утверждают, что компиляторы из Watcomов (10-x и 11-й версии, которые использовались даже при разработке второй части) плохо умели в оптимизацию, безотносительно кода на входе. I think I will make their lives boring again. Ссылка на комментарий
Jordan Опубликовано 13 октября, 2022 Автор Поделиться Опубликовано 13 октября, 2022 Не забывай что 97 год это всякие пентиумы в 166мгц (тогда еще и ммх не везде был), и чтение всяких лишних текстовых форматов это дополнительная растрата времени загрузки этих ресурсов. У меня тогда фол минуты 2 грузился, а карты загружались при переходе секунд 30. Я гонял fallout 2 на эмуляторе 86box - 75mhz, 32 озу, windows 95. Работает вполне приемлемо. Но это эмулятор. Лет 10-15 назад запускал fallout 2 на pentium 166, но точно помню, что таких тормозов не было.добавлено позжеСейчас программисты тупые шо ппц- говнокодят налево и направо, никакой оптимизации просто пишут как смску своей шмаре)). В ОПП некоторые куски кода могу выполняться по нескольку раз (хотя толку от этого никакого). Программисты 90-х самые лучшие программисты. Да и еще раз да, полностью согласен и подписываюсь под каждым словом. добавлено позжеНо суть верна. Плюс, некоторые утверждают, что компиляторы из Watcomов (10-x и 11-й версии, которые использовались даже при разработке второй части) плохо умели в оптимизацию, безотносительно кода на входе. Вполне вариант, 25+ лет назад компиляторы были еще тупы. Это сейчас компилятор на 80% состоит из кода отвечающий за оптимизацию.добавлено позжеВозможно это тоже какой-то отпечаток привнесло в разработку. Из выступления Тим Кейна, видео с привязкой ко времени. Он рассказывает почему они не прошли сертификацию Windows NT https://youtu.be/MCRsDGJtpPI?t=2068 Ссылка на комментарий
Farvel Опубликовано 13 октября, 2022 Поделиться Опубликовано 13 октября, 2022 Из выступления Тим Кейна, видео с привязкой ко времени. Он рассказывает почему они не прошли сертификацию Windows NT И хорошо, что так было. Именно поэтому сейчас эта игра запускается без танцев с бубном на любом чайнике 2 Ссылка на комментарий
Jordan Опубликовано 13 октября, 2022 Автор Поделиться Опубликовано 13 октября, 2022 И хорошо, что так было. Именно поэтому сейчас эта игра запускается без танцев с бубном на любом чайнике В этом плане, игра запускается и работает на всех Windows, интересно на Windows 3.1 запуститься. Есть только один недостаток, не встроили в игру ограничитель фпс, если играть без sfall, ноут греется и разряжается. Ссылка на комментарий
Farvel Опубликовано 13 октября, 2022 Поделиться Опубликовано 13 октября, 2022 У меня нет. Может это проблема конкретного ноута? Ссылка на комментарий
Jordan Опубликовано 13 октября, 2022 Автор Поделиться Опубликовано 13 октября, 2022 У меня нет. Может это проблема конкретного ноута? Очень может быть. У меня ноут ryzen 5 3500U, если дать нагрузку на 1 ядро, греется и кулер шумит. Не сильно, но ноут горячий.добавлено позжеЯ в основном на десктопе, потому уже не актуально. Ссылка на комментарий
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти