Перейти к содержанию

NZ+

Сталкеры
  • Публикаций

    18
  • Зарегистрирован

  • Посещение

Весь контент NZ+

  1. Понятно.. Если перевести на разговорный, то вы предлагаете не создавать ассеты, а пользоваться готовыми под UE5.. Без негатива (а то здесь все нервные), просто полюбопытствовал, похвальное и разумное начинание. Для рекламы возможностей не хватает только самих вшитых и бесплатных ассетов от Quixel в кадре вместо текущих оригинальных текстур и моделей от 2007 года..
  2. В чем смысл таких проектов? Ни одного нового ассета, все текстуры и модели из оригинальной игры. Показать освещение? Так оно такое же, как и в X-ray. Тут в соседней теме человек бьется в истерике, что его проект никому не интересен. Я понимаю, если бы речь шла о своих ассетах. Зачем и кому нужны все эти N.S.P.X: The Final'ы, ОГСР'ы, Oxygen'ы и т.д.? Кто-то всерьез считает, что вменяемый моделлер или художник этим заинтересуется? Но если уж уходите на нормальный движок, то в чем смысл тащить туда старые ассеты? Где логика?
  3. Я не ориентируюсь на свои хотелки (каким должен быть A-life), а также не ориентируюсь на слова разработчиков (потому что говорить - это не мешки ворочать, тем более, что разработчики неоднократно лгали, на чем их можно легко изобличить). Я ориентируюсь на то, что есть в билдах (каков A-life по факту, как он устроен и как он работает). Что есть в билдах? Есть некоторая совокупность параметров (операторы и их значения). Есть оператор насыщения, значение которого может упасть до нуля. Если это значение равно нулю, то есть оператор здоровья, значение которого станет уменьшаться. Здесь нет никаких действий, это чистое программирование и чистая математика. Если значение здоровья станет равна нулю, то бот считается умершим (тоже никаких действий, есть совокупность анимаций, а также операторов, функций и методов, которые выгружают покойника из динамической памяти). Что случится, если сталкер не будет менять свои координаты некоторое количество времени (возле костра сидеть или патрулировать территорию, что тоже практически константные координаты, т.к. их изменение жестко закреплено в скрипте)? Случится следующее, через некоторое количество времени (t) величина насыщения станет равна нулю, еще через некоторое количество времени (t') величина здоровья станет равна нулю - сидящий у костра или патрулирующий по скрипту бот сдохнет "от голода". (Кстати, в той самой симуляции он мог еще и от полученной дозы радиации склеиться.) И только после этого факта (и если мы не хотим, чтобы бот умер "от голода"), мы должны "запрограммировать" какие-то действия. Какие? Например, мы можем снести схему патрулирования (хотя бота от смерти это не спасет). Еще мы можем удалить из исходного кода как операторы (насыщения, здоровья), так и арифметические операции (операторы оставляем, но удаляем математические операции вычитания), получится Тень Чернобыля и все остальное, где бот может сидеть возле костра любое количество времени без уменьшения количества здоровья по причине нулевого значения количества насыщения (и даже само насыщение снести). Еще мы можем "запрограммировать" алгоритм поиска ближайшего торговца, если значение насыщения меньше некоторого критического значения, запрограммировать по графам определение маршрута, взаимодействие с торговцем, где бот "купит" консерву и т.д. Вопрос не в действиях, а в причинах (логических условиях, которые запускают те или иные функции и методы, если проверка возвращает истинно или ложно). Мы знаем, что такое A-life, мы знаем, как он работал (до удаления), значит мы можем предсказать последствия тех или иных нововведений. К чему приведет появление схемы патрулирования? Это приведет к тому, что рано или поздно патрулирующий проголодается и сдохнет. Как это будет выглядеть? Это будет выглядеть так, мы прибегаем по сюжету, а там только тело патрулирующего. А если это важный квестовый персонаж? Как с этим бороться? Мы можем "запрограммировать" условие начала патрулирования, если бот не голоден и не имеет урон по здоровью (либо имеет аптеку в инвентаре). Если голоден или при смерти и не имеет аптеки, то он должен идти до торговца (при условии наличия денег, при отсутствии искать артефакт/ограбить другого сталкера). Как будет выглядеть это? Это будет выглядеть так, мы прибегаем по сюжету, но нет даже тела патрулирующего, потому что он проголодался и ушел на обед (грабить, покупать и т.д.). А если это важный квестовый персонаж? И где его искать? Как с этим бороться? Правильно, нужно просто снести (удалить, стереть из кода и никогда больше не вспоминать) тот самый A-life. Но и это еще не все. У бота лимитированное количество патрон. Что случится, если в процессе патрулирования к боту прибежит плоть, на которую бот потратит все имеющее количество патрон? Мы не "программируем" никаких действий, но симуляция как рандомная смена координат уже подкинула нам сюрприз, из-за которого мы вынуждены "программировать" действия не потому, что так должно быть, а потому что есть некоторые последствия, в частности, у нас есть патрульный без патрон. Как это победить? Мы можем "запрограммировать" алгоритм проверки, и если количество патрон упало ниже критического уровня, то пришло время совершить покупку или ограбление, т.е. покинуть зону патрулирования. Как это будет выглядеть из игры? Это будет выглядеть так, мы прибегаем по сюжету, но патрулирующего нет, потому что он ушел пополнить запас патрон (грабить, покупать и т.д.). Где его теперь искать, если он важен по сюжету? Насколько вообще реально пройти такую игру при таких вводных? Но и это можно победить, если сделать боту бесконечное количество патрон, что и будет сделано еще в 1935 билде задолго до выхода Теней Чернобыля.
  4. Прошло уже 15 лет (даже больше). Но даже спустя 15 лет все равно существует такая фраза - Также расширен A-Life, присутствует схема патрулирования, во время которой сталкеры выполняют следующие действия: ходят (walk), поют, насвистывают мелодии (например, та, что поет рыжий сталкер на НИИ «Агропром»). Но если схема патрулирования присутствует, то тогда мы хотя бы ориентировочно знаем, какого числа скончался тот самый Сталкер и симуляция жизни (A-life, который, якобы, расширен) - 3 февраля 2004 г.
  5. В Сталкере только один A-life, который из Чистого неба перекочевал в Зов Припяти, а далее в Call of Chernobyl и его производные. Его попросту не с кем и не с чем сравнивать. Основным актором являются группировки, члены которых захватывают ресурсные точки, количество сквадов пропорционально количеству захваченных ресурсных точек. Это даже не симуляция, а что-то ближе к стратегиям по жанру (как Starcraft, у которого точки вместо сбора минералов и не хватает бараков для производства юнит), только от первого лица и в виде шутера. В Зове Припяти симуляция упрощена, количество сквадов пропорционально константе, поэтому в этой части нет ресурсных точек (они при таком алгоритме не нужны). Активность привязана к игровому времени (днем по точкам, которые не являются ресурсными, ночью по базам). Call of Chernobyl - это революция, они первые и единственные, кто начисто убрали сюжет и собрали Чистое небо на новых картах, причесали и приодели. Это не симуляция жизни, это симуляция войны группировок (стратегии), но получился хит. В такой стратегии для ботов нет смысла собирать артефакты, т.к. это лишняя трата игрового времени (который в стратегиях тоже ресурс) на мусор, который ничего не дает группировке, количество сквадов от этого не увеличивается и не уменьшается. Нет смысла воевать, кидаться гранатами или пользоваться аптеками, и т.д. Кидаться гранатами или пользоваться аптеками - это вообще AI, а не A-life, это очень разные вещи. А воевать - это исключительно конкуренция за ресурсную точку. Если сделать каждой группировке разные ресурсные точки (каждой свои) таким образом, чтобы даже маршруты не пересекались, то и войны группировок не будет. А если сделать только одну ресурсную точку на все группировки, то там будет бесконечный движ и бесконечное мясо. В Тенях Чернобыля симуляции нет, есть ее ошметки, которые тянутся еще из билдов. Симуляция жизни там совсем другая, это именно симуляция и именно жизни. Основной актор там тоже другой, и геймплей другой, все другое. Вот там ботам имел смысл собирать артефакты (чтобы продать или чтобы одеть на пояс и увеличить свою выживаемость), потому что это был ресурс для индивидуального выживания (а не группового в Чистом небе и т.д.), там имел смысл покупать аптеки и пользоваться аптеками, имел смысл не вступать в бой и убегать (тоже индивидуальное выживание), имел смысл покупать патроны (продавая собранные артефакты), а также экономить патроны (потому что они могут закончиться) через выход из боя (убежать), имел смысл покупать антирады и прочую (тоже чтобы не сдохнуть от радиации), имел смысл покупать консервы (снова чтобы не сдохнуть, но уже от голода), имел смысл грабить других сталкеров, не являясь членом группировки бандиты (потому что зачем покупать то, что можно отнять у другого), имел смысл вообще никуда не ходить и сидеть возле костра в одну морду (чтобы не сдохнуть в аномалии/от радиации/от пули/еще чего-нибудь), но возле костров сидеть было нельзя из-за постоянного голода (уменьшения количества насыщения) и т.д. Но такой симуляции нет ни в одном моде и никогда не будет. И да, для любителей билда 1935. Там уже нет симуляции, которая описана выше, она вырезана начиная как раз с этого билда. Не полностью, далее ее будут еще не раз резать в следующих билдах, но сердцевина того самого A-life будет вырезана в движке именно к этому билду. Поэтому играйте в оригинальный Call of Chernobyl и производные (которые отличаются от оригинала гораздо меньше, чем оригинал от Чистого неба), это единственное, что можно хоть как-то назвать симуляцией в игре..
  6. Слив исходников будет? Желательно сразу в расширении Макса. Или игрушка и автор не в тренде?
  7. NZ+

    Вопрос на миллион..

    Между сборками 1865 и 1935 два месяца (09.08.04 — 14.10.04 соответственно). И не только два месяца, но и еще пачка сборок. Однако остановимся на этих двух, как если бы между ними никаких других сборок не было. Сборка 1935 лежит в папке «stalker-dream-16oct04», намекая на законченность. Крайне сомнительно, чтобы билд в папку с таким названием вложил кто-то из реальных разработчиков. Чего не скажешь о фанатах, среди которых эта сборка считается наиболее полной версией «того самого». Их не смущает даже то, что это первая сборка, в которой одна из локаций отъехала на тотальный редизайн (до релиза не доберутся практически все из имеющихся). Смущает лишь нестабильность из-за недоработок AI (основная причина). Сборка 1865, по официальной версии, предназначена для тестирования A-life. От билда 1935 отличается, по той же официальной версии, «альтернативными» локациями, отсутствием проработанной звуковой составляющей и спауна. Больше вроде как не отличается ничем. Чем две сборки отличаются между собой в реальности? Пропустим, что между ними были и другие сборки. Сборка 1865 — это последняя сборка, в которой у бота могут закончиться патроны. Начиная с 1935 патроны у бота не заканчиваются никогда, хотя по инерции в 1935 бот еще берет что-то из инвентаря (у покойника в инвентаре количество патрон может быть разным). Сборка 1865 — это последняя сборка, где на ботов действует радиация, они могут проголодаться, и так далее. То есть, взаимодействовать с игровой средой так же, как и игрок (за вычетом шутерной части). Начиная с 1935 таких параметров у них уже не будет никогда. Сборка 1865 — это последняя сборка, где боты живут своей жизнью, собирают артефакты, оружие, патроны, ПДА, и так далее. Начиная с 1935 сборки они будут жить так, как им предписал режиссер, своей жизнью они уже не будут жить никогда. Сложно понять, о каких недоработках AI может идти речь, скорее нужно говорить о тотальном упрощении. В результате это две разные игры на одних и тех же картах (с одинаковыми моделями, анимациями и текстурами). В каком-то интервью А.Прохоров заявил следующее. В 2004 году Сталкер сделан, геометрия есть, наполнение есть, оно симуляционное. Но попытки тестировать, проходить игру, дали понять, что это не играбельно, это невозможно пройти. Игроку нужно встретиться с человеком, а этого человека нет, потому что его съела собака на уровне три. И если он туда придет, то действительно увидит труп этого человека, и можно даже будет найти какую-то информацию. Но игрок никогда не догадается, что на самом деле он умер вон там. И тогда было принято решение, что все. Симуляцию в узду, симуляцию нафиг, скрипты, скрипты, скрипты, и понятное каждому скриптование. А теперь вопрос на миллион. А о каком именно билде говорит А.Прохоров, поиграв в который разработчики поняли, что это не играбельно, это невозможно пройти? После чего приняли решение, что все, симуляцию в узду, симуляцию нафиг, скрипты, скрипты, скрипты, и понятное каждому скриптование …
  8. Война группировок - это уже совсем другая концепция. Здесь "играют" не боты в игру "найди еду или умри", а группировки в игру "займи точки или умри".. Каждая занятая точка дает прирост ресурсов, те дают прирост численности группировки, чтобы захватить еще больше точек, а значит еще больше ресурсов. Зациклено, пока какая-то одна группировка не захватит все точки. В Тенях и Зове боты вообще не "играют", это просто декорации. Только реализация разная.. В КоК и Аномалии реализован именно этот вариант (захват ресурсных точек). В Аномалии вроде как даже можно настраивать. Численность отрядов, время между спаунами, приоритетные точки, и так далее. И довольно живо получается. Если уж совсем раздражает спаун, можно настроить на один отряд в сутки. Артефакты, да и вообще внутриигровые вещи, там не используются как ресурс, они там просто декорация, и для игрока, а не для ботов. Пути там всегда пересечены и так. Потому что конечной точкой маршрута всегда является какая-то ресурсная точка, на которую идут отряды разных группировок, чтобы ее захватить. A-life не используется в боях. Это навигация ботов вне боя. В бою они пользуются AI с другой навигацией, которая в клеточку.. В том самом сталкере любой внутриигровой предмет для бота - это ресурс. Например, если бот нашел аптеку, то этот ресурс повышает ему выживаемость. Потому что в трудную минуту он может закинуться аптекой, а его противник нет, потому что не нашел. В билдах до этого не дошло (по крайне мере я не видел), но подразумевалось, и написать такой код для программиста - это пара часов. В Зове и Тенях аптека не является ресурсом для бота, они ими не пользуются. А в Небе ресурсами являются точки, и для группировок, а не для членов группировок. Поэтому сбор артефактов, которые бот не умеет продавать, одевать на себя и прочая - это просто минус ресурсы динамической памяти пользователя без пользы.
  9. Для тестов 1865 билда я использую локацию свалка. Прямо на входе, чуть слева, в моей версии пасутся три собаки. Дальше справа за поворотом пасется плоть, а слева сталкер Жора (tradeseller_gora_0_011). И для них имеет смысл сделать некоторые приготовления. Во-первых, параметру satiety_v присвоить значение 1000 для всех ботов кроме сталкеров. Можно и им, но они прекрасно бродят по локации и без этого. А вот все остальные имеют одну особенность. Если бот не голоден, то он никуда не ходит. Но если голоден, то начинается движение. Собаки, сидевшие слева, идут вглубь локации. Плоть справа тоже начинает бродить. Впереди их ждет радиация. Во-вторых, satiety_health_v = 0.000. Иначе боты будут умирать от голода и пропустят самое интересное. И да, в текущей версии Теней можно выставить это значение каким угодно, ботам будет на него наплевать. Делается это просто, в геймдате есть креатуры, в них сталкер.лтх, а там пачка нужных параметров. Можно там и со значениями satiety_v побаловаться, толку все равно никакого. «Проработан» этот вопрос не на рубеже 2004 года, а в период с августа по октябрь 2004 года. И «проработан» окончательно. К слову, у Жоры по карманам лежит несколько пачек дроби и пара аптек. И дробь, и аптеки, всегда в единственном экземпляре, и даже будучи надкусанными в какой-то общий стек они не собираются. Потому что у каждой пачки или аптеки есть свой уникальный ID. Еще это значит, что патроны у бота могут кончиться. А еще это может привести к забавному багу, если количество патронов в пачке равно нулю, а вот функции снести эту пачку из памяти нет. Тогда появятся пачки патронов с нулевым количеством этих патронов. А еще боты могут подбирать игровые предметы, те могут лежать у них в рюкзаке, и если обыскать труп, то там будет честно лежать игровой предмет. Запомним эти факты. В конфигурации у всех без исключения ботов есть такой интересный параметр radiation_v = 0.001 Заявлен он как скорость уменьшения радиации. В конфигах нет величины, на которую уменьшается радиация, но можно предположить, что на единицу. А этот параметр определяет, с какой скоростью будет уменьшаться доза. Нет в конфигах и самой дозы. Потому что здесь все индивидуально. Чем ближе бот к эпицентру радиации, тем большую дозу он схватит. Накопление радиации совершается порциями в единицу времени. Но нигде нет скорости накопления радиации. От чего можно предположить, что скорость уменьшения радиации и скорость накопления радиации — это одно и тоже. А порция привязана к геометрии. Соответственно, боты в любой точке локации получают порцию радиации. Но в некоторых местах порция равна нулю, а в некоторых (радиоактивные зоны) порция выставляется еще при компиляции, и убывает от максимальной величины в эпицентре до нуля в безопасных зонах. radiation_health_v = 1000 Этот параметр — на какую величину уменьшится здоровье при облучении. Но и здесь все лукаво. Бот для радиации представляет собой своеобразный стакан, который может быть пуст, может быть наполнен до краев, а может там только на дне что-то плещется. Соответственно, есть (но не в конфигурации) текущее количество радиации, и максимальное, сколько в себя может впитать бот. Если текущее значение равно максимально возможному, то у бота отнимется столько, сколько заявлено в этом параметре. Если текущее значение меньше, то и здоровья отнимется меньше. Впрочем, это в Тенях и для персонажа. А вот в билде и для бота все может быть и иначе. И может быть, что у бота отнимается полное значение radiation_health_v, не зависимо от уровня накопившейся дозы. Правды мы уже никогда не узнаем. Поэтому я поставил сразу тысячу, чтобы уж наверняка (у ботов здоровья не более 100 единиц, так что им и десятой части от максимума хватит). radiation_immunity = 1.0 Так как мы играем в РПГ, то какое же РПГ без резиста? Этот параметр — сопротивление радиации у бота. Единица означает полное отсутствие сопротивления, бот получает полную дозу без резиста. Ноль — это полный резист к радиации, в любой точке карты бот получает одинаковую дозу, равную нулю. Пришло время залезть в сборку 1865, занять место на вышке, и ждать, когда Жора зайдет на кучу мусора (потому что там граф), или туда зайдет плоть, или собака прибежит по дороге до ямы. Везде в указанных местах зоны радиоактивности. Финал будет предсказуем — ваншот для ботов. Если хоть кому-то поставить стопроцентный резист (radiation_immunity = 0.0), то все будут ходить как ни в чем не бывало. Поэтому для впечатлений лучше оставить величину этого параметра как есть. Жору, кстати, в этом случае даже костюм не спасет, здоровья не хватит. В билд 1935 мы уже не полезем, с ним и так все понятно. Не полезем мы и в оригинальные Тени, потому что они у меня на диске, надо устанавливать и вводить ключ. Мы полезем в ОЛР, которое сделано на версии Теней. Ну не можем же мы предположить, что те, кто восстанавливают тот самый сталкер, снесут из кода тот самый сталкер? Следовательно, уж в ОЛР все должно быть как надо. Поэтому ищем креатуры (геймдата — конфиг — креатура — любой.лтх), и всем шлепаем radiation_health_v = 1000, а radiation_immunity = 1.0. Затем заходим в игру на свалку, заманиваем все подряд в радиацию, и выясняем, что в радиации подохнет только наш персонаж. И можно хоть как менять параметры, хоть radiation_immunity = 0.0, хоть radiation_health_v = -1000, хоть вообще снести эти параметры, движок этого даже не заметит. Как он, собственно, не замечал их и до этого. Вывод? В период с августа по октябрь 2004 года боты перестали умирать как мухи от радиации. Так же, как и перестали умирать от голодовок. В чем можно убедиться, убрав нулевые коэффициенты. Делается это там же (геймдата — конфиг — креатура — любой.лтх), satiety_health_v = -1000, satiety_v = 1000. Дальше запускам Тени. Но одно дело обнулить параметры (satiety_health_v = 0), после чего бот даже голодным ласты не склеит. Совсем другое, если удалить из движка объявленный оператор satiety_health_v = integer. И третье, если удалить некоторые функции и методы, где он был задействован. Это разные вещи. - Почему нельзя было поставить ботам стопроцентный резист? Эффект был бы тот же самый. Это очень интересный вопрос. Но сначала вернемся в сборку, где и плоть, и Жора постоянно идут на радиоактивную кучу мусора. Они довольно часто тупят, напоровшись на какое-то препятствие, и все равно идут вперед, вместо того, чтобы его обойти. Потому что в спокойном состоянии они ходят от одного графа к другому (А-life), и только в возбужденном начинают ходить по клеточкам (AI). Мы можем поставить граф прямо в эпицентр радиоактивного участка, и тогда рано или поздно туда кто-то зайдет. В развлекательных целях мы поставили radiation_health_v = 1000, что гарантированный ваншот. Но значение может быть и поменьше, тогда у Жоры/плоти просто отнимется немного здоровья. А еще у Жоры в кармане есть пара аптек, одну из которых он может зажевать для здоровья. Если добавить Жоре умение найти торгаша и купить у него антирад, то жизнь и вовсе наладится. Правда Жоре нужно добавить умение искать артефакты, потому что торгаши занимаются коммерцией, а не благотворительностью. Но с этим у Жоры в 1865 все в порядке. И тогда становится понятно, почему патроны обязательно в пачках (а не из рюкзака и общего стека), аптеки, антирады и даже жратва не собираются в стеки, и так далее. Потому что каждый игровой предмет (даже пачка патрон) — это отдельный игровой предмет со своим ID. Последний нужен, чтобы отследить движение вещи от одного бота к другому. Но не только. Еще это нужно, чтобы скатать функцию, возвращающую всего два значения (истинно или ложно) — а есть у меня в рюкзаке предмет такого класса? И если она вернет истинно, тогда надо активировать функцию «использовать», внутри которой будет обращение к уникальному ID (использовать именно этот предмет), а так же функция «выгрузить из памяти» по этому уникальному ID и именно с этим уникальным ID как использованный. Все, пачки патронов есть самые разные, но вот той самой надкусанной больше нет, мы ее в автомат зарядили. Граф можно поставить и не в эпицентр, а куда-нибудь рядом. Можно очаг радиации поставить между графами, все равно же бот будет идти от одного к другому, а значит пройдет через очаг без возможности свернуть. Или с возможностью, когда движение на один граф сменится движением на другой, потому что здесь что-то со здоровьем не так. Варианты могут быть разные. Но где-то в конце 2003 / начале 2004 года (зима-весна) у нас вылезла проблема. Мы запилили патрулирование территории, сделали скриптовые сцены, анимацию, хорошо поработали. Но движок начал крошиться. Потому что непонятно, кто управляет ботом, скрипт или симуляция (a-life). Скрипт предписывает боту патрулировать территорию и играть соответствующую анимацию, а симуляция предписывает идти за аптекой с соответствующей анимацией, потому что бот во время патрулирования в очаг радиации наступил. А еще бот может умирать от голода, а мы его на патруль поставили. В общем, мы соберем 1865, ужаснемся, и примем решение — симуляцию лесом. - Еще раз, можно поставить стопроцентный резист к радиации. Можно и по жратве придумать, что голодные, но не умирают. Дело не в этом. При каждой ситуации симуляция будет предписывать какие-то действия, которые будут противоречить действиям, предписываемым скриптом. А значит игра будет крошиться постоянно. Да, можно попытаться отделаться малой кровью, пусть у нас будут боты, которые под симуляцией, а другие боты под скриптом. Но потом те, кто под симуляцией, придут к тем, кто под скриптом. И тех, кто под симуляцией, все равно придется сажать на скрипт. Это будет потом, а в августе/октябре 2004 пока просто снесли сердцевину симуляции — голод (радиация за компанию улетела). И тот самый сталкер начал облазить. Зачем нужны радиоактивные зоны, если в них бот не облучается? А мы не можем позволить ему облучиться, потому что иначе он попрется за аптекой, кто патрулировать будет? А если не попрется, то умрет от радиации, а ему еще патрулировать (ну или в смарте сидеть возле костра). Нафиг … Если бот не облучается, за аптекой не ходит, зачем тогда нужны внутриигровые предметы со своими уникальными ID? Их кроме игрока все равно никто не использует. Пусть тогда все аптеки в стеке лежат, раз у них больше уникального ID нет. Перепишем движок, не первый раз. А зачем нужны пачки патрон? Пусть тоже в стеке лежат, бот их все равно больше не покупает. И вообще, мы ему сделаем бесконечный запас патрон, потому что к торговцу он больше не ходит, да и покупать разучился. А пояс зачем, если пачек патрон больше нет? Что туда вешать, если все патроны в рюкзаке в одном стеке? Пусть из рюкзака перезарядка будет. И прямо из общего стека (для бота бесконечного), не надо больше пачек. А если что, то в 2008 xStream еще раз научит их аптечки использовать, но уже скриптом, и мы назовем это новым словом. В чем был замысел? Боты ходят по картам, что-то собирают, у этого чего-то есть свои уникальные ID. Не обязательно покупать у торговцев или других сталкеров, можно найти, снять с трупа, но любые действия с предметом осуществлялись по однотипному сценарию как смена владельца вещи, имеющей уникальный ID. И если бот где-то нашел пачку патрон с 23 патронами в пачке, и вы его встретили на другом уровне, завалили и обыскали, то в его рюкзаке вы найдете именно эту пачку, в которой именно 23 патрона. Или отнес и продал ее торговцу, а вы позже пришли и купили именно ее (надкусанная дешевле). Такой подход требует отдельно подумать, как предметы будут выгружаться из памяти, потому что в норме они не должны выгружаться никогда, но аптеку можно использовать, патроны в пачке могут закончиться, ну и так далее. В норме в рюкзаке сталкера будет только то, с чем он заспаунился (и что еще не успел использовать, в 1865 боты могут отстрелять патроны, и в рюкзаке не будет ничего), и что он успел насобирать/намародерить/накупить. Это не значит, что в Тенях от того самого сталкера не останется вообще ничего. Что-то останется, и если вы сбросите ствол, а бот его подберет, и вы бота за это завалите, то в рюкзаке будет ваш ствол. Но еще бот заспаунится с каким-то количеством предметов, которые уже не имеют ID. Эти предметы еще будут в окне торговли, благо они ботом не используются. Но если завалить бота, то в его рюкзаке окажутся совсем другие рандомные вещи из death_items_by_communities, а не рюкзака как такового. Потому что зачем боту вещи с уникальным ID, если он их не собирает, не покупает и не использует? Как он будет собирать, покупать и использовать, если он в смарте на скрипте сидит? И зачем ему собирать, покупать и использовать, если он не облучается, не голодает и не теряет здоровье со временем? Так что можете смело стрелять боту в голову, и если death_items_by_communities выплюнет антирад для вас, то забирайте. Боту он уже не нужен …
  10. Для начала залезем в конфиги 1865 билда. В настройках ботов мы видим такие параметры … Min_Satiety = 0.000055 (минимальная норма сытости, ниже которой бот считается голодным) Max_Satiety = 1.0 (максимальная норма сытости) satiety_v = 0.001 (скорость уменьшения сытости со временем [0...1]) Что это означает? Теоретически это можно описать так. У каждого бота в игре есть текущее значение сытости, которое привязано к игровому времени, и убывает со временем. Его в конфигурации по понятным причинам нет, потому что он уникален для каждого персонажа, а значит есть только в динамической памяти. Есть максимальное значение сытости, выше которого сыт не будешь. И есть минимальное значение, ниже которой бот считается голодным. Если значение убывает, значит должен быть и механизм, который увеличивает значение. Его по понятным причинам в конфигурации тоже нет, это какая-то процедура в самом движке. Единственным исключением из общего правила являются боты-сталкеры. У которых отсутствует в конфигурации минимальная и максимальная норма сытости, но параметр уменьшения сытости со временем есть. Помимо этого, у сталкеров есть другой параметр. satiety_critical = 0.25 (критическое значение сытости (в процентах от 0..1) когда здоровье начинает уменьшаться) Описание говорит само за себя, это порог сытости. Точно такой же параметр есть и у других ботов. И для последних получается, что параметры satiety_critical и Min_Satiety/Max_Satiety дублируют друг друга. А значит какие-то параметры уже не работают, просто их забыли зачистить из конфигурации. И если отталкиваться, что satiety_critical есть у всех ботов, а без порогового значения параметры скорости убывания сытости просто не имеют смысла, то «лишними» здесь являются Min_Satiety/Max_Satiety. Забавно, но эти «лишние» и давно не рабочие параметры есть даже в конфигах Аномалии. И остался еще один параметр … satiety_health_v = 0.03 (увеличение здоровья при уменьшении сытости) Описание тоже говорит само за себя. Это величина, на которую начинает уменьшаться здоровье бота, если он оголодал. Здесь он положительный, а значит у оголодавшего бота здоровье наоборот будет увеличиваться, поэтому в норме значение должно быть отрицательным. В целом, получается такая картина. Боты каждый имеют уникальный параметр сытости, который убывает со временем на неуказанную в конфигах величину (предположу, что на единицу, или около того). И есть некое пороговое значение сытости, после пересечения которой (в процентах от общего объема «желудка») убывать начинает уже здоровье на величину satiety_health_v. Раз сытость убывает со временем, то логично предположить и механизм, который увеличивает значение сытности. Иначе все боты на локации рано или поздно попросту вымрут от голода. Далее выводы и предположения. Боты имеют параметр сытости, который убывает. Увеличить его (наесться) можно, если охотиться за другими ботами. Поэтому все боты имеют свободное рандомное передвижение — это симуляция охоты друг на друга, чтобы набить желудок (увеличить параметр сытости). Значит в движке должна быть пачка соответствующих процедур (мы этого не видим), соответствующие анимации (вот они есть), ну и так далее. Если сытость бота уже равна нулю (или ниже порогового значения), а он так никого и не зажевал, то начинается финальный отсчет убывающего в ноль здоровья, пора отыграть анимацию смерти и выгрузиться из памяти. Но для сталкеров все немного иначе. Они охотятся не за ботами, а за артефактами. Предположу, что теоретически сталкер, найдя артефакт, должен был тащить его торговцу, чтобы купить еду, и тем самым увеличить свое уникальное значение сытости. Ну или сдохнуть, если ничего не нашлось. Таким образом, последовательность получается приблизительно такой. Для бота — найти другого бота, увеличить об него значение сытости и искать другого бота. Этакий бесконечный цикл с соответствующим рандомным движением по карте. Выйти из цикла (и сразу из памяти) можно, если бот никого не нашел, или если его нашли раньше. Время до оголодания (сытость упала до нуля или порогового значения) и смерти (параметр здоровья упал до нуля) — это время, отведенное разработчиком боту, на поиски. Если за это время бот не успеет найти жертву, то все. Для сталкера — найти артефакт, предположительно найти торговца или другого сталкера, предположительно продать артефакт и купить еду (чтобы увеличить значение сытости), снова искать артефакт. Выход из этого цикла такой же, если сталкер ничего не успел найти, или если его нашли раньше. Здесь много предположительного, но в целом логика такая. Если значение сытости бота убывает, то рано или поздно оно уйдет в область отрицательных величин. А значит убывать начнет уже здоровье бота. Следовательно, должен быть механизм увеличения сытости. - Это делается приблизительно так. В движке объявляются переменные.. Текущее_значение_сытости, максимальное_значение_сытости, минимальное_значение_сытости, и так далее (условно и для примера) = Integer (мы хотим целочисленные). Отдельно задается проверка … Если текущее_значение_сытости < минимальное_значение_сытости, то … Дальше для бота начинается обратный отсчет, потому что значение сытности преодолело порог. Значит теперь у него уменьшается здоровье … Текущее_значение_здоровья = текущее_значение_здоровья + satiety_health_v Отдельно изменение значения. Предположим, что оно привязано к игровому времени, и каждый час убывает на единицу. Прошел час, и … Текущее_значение_сытости = текущее_значение_сытости - 1 И только после этого идет конфигурация. Где в каком-нибудь .ltx заявляются минимальные и максимальные значения, каким величинам они равны. Если из примера закомментировать объявление, то движок даже не скомпилируется, потому что в нем есть операторы, которые нигде не объявлены, он не знает их типа. Но если в движке снести все остальное, то даже игра не скрошится. Если снести проверку, то движок никогда не будет проверять, проголодался ли бот (уменьшилось ли его значение сытости ниже порога), даже если он честно уменьшает величину сытности, хоть до отрицательных значений. А значит и не будет уменьшать здоровье боту, если тот «проголодался». Можно и по-другому, снести только уменьшение здоровья. Движок проверил, что сытость бота упала ниже критического значения, и ничего дальше. - Теперь вернемся к 1865 билду. В нем есть параметры satiety_v (скорость уменьшения сытости со временем) и satiety_health_v (величина, на которую будет увеличиваться здоровье при наличии «голода»). В 1865 билде оба параметра работают. Если выставить значение satiety_v = 1000 (чтобы бот побыстрее оголодал) и satiety_health_v = -1000 (минус, потому что у разработчика руки такие были, а тысяча — чтобы бот гарантировано умер, стандартная величина их здоровья 100 .. 200), то боты будут умирать от голода ваншотом, как только загрузятся онлайн (в офлайне живут). Любые, хоть сталкеры, хоть собаки, хоть плоти, хоть кто. У меня нет оригинальной игры, поэтому я взял ОЛР, который пользуется версией движка Теней. Выставление такого же значения здесь не приводит ни к чему, боты это просто игнорируют. Следовательно, проверка в Тенях закомментирована, либо удалена вовсе. Можно было бы предположить, что это произошло где-то с августа 2004 по март 2007. Но можно поступить иначе, взяв билд 1935, датированный октябрем 2004 года. То есть, прошло всего два месяца. Именно эту сборку, кстати, считают наиболее полной того самого. В имеющемся у меня билде 1935 параметры satiety_v и satiety_health_v в конфигурации у ботов отсутствуют. Изначально сборка была достаточно нестабильной, и благодаря усилиям фанатов сейчас сложно понять, были там эти параметры вообще. Но даже если их туда вписать со значениями выше, то боты уже не будут умирать от голода, как в билде двумя месяцами ранее. И далее от голода они уже не будут умирать нигде и никогда, ни в Тенях, ни в Небе, ни в Зове, нигде. Но именно версия от октября 2004 считается наиболее полной. - Пора подводить итог. Что же пошло не так? В 1865 билде каждый бот играет в увлекательную игру — найди пожевать до того, как у тебя упадет величина сытости ниже порогового значения. Найди первым, потому что у тебя есть конкуренты. Свободное перемещение по локации — это не самоцель, и не фишка, а банальная необходимость, способ игры. Победители ищут дальше, проигравшие покидают динамическую память. При определенных вводных (малое время на успешный поиск) и без спауна локация может опустеть, потому что все вымерли. Со спауном это будет постоянная ротация ботов. Которые здесь мыслятся как игроки (есть неявное условие победы, хотя вообще победить они не могут, и есть явное условие поражения), параллельные и альтернативные сидящему за компом. Последний занимается тем же самым, покорми оголодавшего персонажа. Но в том же билде на свалке возле домика уже сидят бандиты. Они уже никуда не ходят, и в эту игру не играют. У них «своя игра», с которой другие познакомятся в 2007 году. Лагерь (смарт, гулаг, и так далее) здесь тоже не фишка и не самоцель, а необходимость и способ игры. И две игры оказались несовместимы между собой. Что не так? Бот сидит возле костра (или где-то в другом гулаге) и ждет игрока, который в Тенях единственный. Бот здесь для мебели, но мебель может проголодаться и сдохнуть. Она не может победить в первой игре, жрать хочется постоянно, но она может не проиграть и не выгрузиться из памяти, ну хотя бы какое-то время. Для чего ей надо отойти пожрать. Но во второй игре ей запрещено покидать свое место. Дальше развилка, либо сдохнуть от голода в смарте, либо отключить (удалить из кода) проверку. Что вроде бы похоронило первую игру всего за два месяца. Мы прибегаем по квесту к персонажу, а он прямо во время диалога умер, потому что у него упало значение сытости ниже критического уровня, а следом и здоровье до нуля, начинайте игру заново. И, хотя свободное перемещение осталось в 1935 билде, это средство без цели. Смысла для ботов в этом уже нет.
  11. Это не обязательно. Во-первых, ищут артефакты не во всех билдах. Во-вторых, не везде артефакты разбросаны по геометрии. В Небе и дальше артефакты всегда строго в определенных местах, вместе с аномалиями. То есть, если боты их не ищут, то это еще не значит.. Тут вопрос в другом, что именно считать той самой симуляцией. Есть миф, что в билдах была одна симуляция (та самая), а в релизе ее то ли заменили другой, то ли порезали, но это уже не та самая симуляция. Но это миф. В билдах есть целых две симуляции, в Тенях вообще будет третья. И делались они одна поверх другой. То есть, сначала была симуляция ранних билдов. Потом была симуляция поздних билдов (1865-1935). В которых боты в том числе и ходят собирать артефакты (а еще сидят в лагерях). И потом будет симуляция Теней (1935-Тени), где боты только в лагерях. Это три разные концепции. Откроем конфигурацию 1865 билда, какой-нибудь m_bloodsucker.ltx. У нас есть пачка параметров. DayTime_Begin = 6 DayTime_End = 23 Min_Satiety = 0.000055 Max_Satiety = 1.0 MoraleSuccessAttackQuant = 0.3; MoraleDeathQuant = -0.3; MoraleFearQuant = -0.002 MoraleRestoreQuant = 0.001 MoraleBroadcastDistance = 10.0 Во-первых, далее названия этих параметров изменятся (какие-то и вовсе выпадут). Во-вторых, какие-то можно наблюдать в конфигах даже КоКа (и это после зачистки кода) и Аномалии (где симуляция устроена уже совершенно иначе). Но! Эти параметры не работают уже в самом билде. До Теней еще далеко, а параметры уже не работают. Они остались по инерции, потому что их никто не удалил, забыли это сделать. Я не знаю, что они отражают, но даже минимальный английский подсказывает, что у кровососа в 1865 билде есть время активности, есть диапазон сытости (и мы не знаем, что должен делать кровосос, будучи сытым, но догадываемся, что будучи голодным, он должен болтаться по геометрии в поисках жертвы), и есть диапазон храбрости (морали). При определенных вводных кровосос может испугаться и убежать. Дальше заходим в билды 1865 и 1935. Кровосос никого и никогда не боится, он всегда голодный и атакует без раздумий, он активен в любое время суток. Хотя для некоторых ботов даже еще остались анимации поедания трупа. Но в поздней билдоте кровосос хотя бы свободно разгуливает по геометрии. В Тенях не будет даже этого, все кровососы будут сидеть в лагерях. Какой вывод мы должны сделать? В 1865 билде остались ошметки старой симуляции в конфигах (про код ничего сказать нельзя, его нет в открытом доступе). На дворе всего лишь 2004 год, а симуляция уже заменяется другой. Другая симуляция тоже окажется не ко двору, и к 2007 году подменят и ее. Какую из этих двух симуляций считать той самой?
  12. Не знаю, какая версия, но в Тенях было приблизительно так. Если вынести бандитов с АТП, то через некоторое время в том же количестве семи штук они шли от северного блокпоста до АТП. В офлайне они пересекали насыпь военных (да и вообще всю локацию) насквозь. В онлайне начинались перестрелки. Шли они по маршруту, заняв АТП больше никуда не ходили. Можно назвать это симуляцией.. На свалке Бес после заданий начинал разгуливать по карте до первой аномалии (или пока его бандиты в закутке не сносили). Шагал он от графа к графу, маршрут выбирался как ближайший рандомный. Поэтому предсказать, где именно он ласты склеит, было трудно. И это тоже симуляция.. От предыдущего варианта они отличаются тем, что если в первом случае никто никуда не ходит (кроме как от спауна до точки), то во втором никто не останавливается (кроме отдельных ситуаций). Какой из этих двух вариантов считать симуляцией, если они противоречат друг другу? Но это еще не все. В Тенях люто вымораживало, когда бот начинал паниковать, увидев чей-то труп. Все, он больше никуда не шел, ни рандомно, ни направлено. Это тоже симуляция.. От нее в Тенях огрызки. Что-то вырезали, что-то не стали развивать. Но что-то оставили - симуляцию зрения, слуха, голода, модель раздражителя и реакции. Это отголоски старой симуляции, когда боты еще не были прибиты скриптами к геометрии. В 2571 билд не играл. Но играл в 1865 и 1935. Где часть ботов уже прибита скриптами к геометрии. Первый билд датируется августом 2004-го, и там уже есть лагеря. Вторая часть ботов разгуливает по локации так же, как в Тенях будет гулять Бес - полностью рандомно. Кстати, там они еще и артефакты собирают. Чем это будет отличаться от Теней? Тем, что здесь хоть кто-то куда-то ходит, и не на точку. Позже возможность ходить им открутят, а при необходимости будет маршрут, как для бандитов с АТП. Причина видна еще в билде - такие боты гуляют до первой аномалии. Убирать аномалии не рискнут, поэтому все сядут возле костров. В Зове переделают, "возле костров" будут сидеть аномалии, поэтому боты смогут путешествовать по карте без риска подохнуть (но даже здесь "возле костра" присядут квестовые персонажи на всякий случай). Но между двумя решениями будет Чистое небо. Чистое небо - это стратегия от первого лица и без возможности производить ботов. Но суть такая же, есть база, есть ресурсы, количество ботов отправляется от ресурсной базы, боты захватывают точки, чтобы увеличить ресурсную базу, а значит наклепать еще больше ботов. И это тоже симуляция, уже четвертый вариант.. По этому пути пойдут КоК и Аномалия. Ничего общего с Тенями, ранними или поздними билдами. Никакого голода, как в ранних билдах (его уже в Тенях не будет, останутся только огрызки в коде и конфигурации, которые поудаляют еще в КоК). Никакого рандома от графа к графу поздних билдов в стиле Беса. И никакого маршрута в стиле Теней. Спаунятся на базе, идут в рандомный приоритетный лагерь, сидят там какое-то время, потом идут в другой. В Зове боты будут ходить от "костра" на точки, чтобы отыграть анимации и вернуться обратно. Это тоже симуляция (уже пятая версия), но если сравнивать это с билдотой, то это симуляция симуляции. С Небом тоже большая разница, похожи две симуляции только точками-лагерями, куда ходят боты. Итого - пять версий симуляции. В ЛА новую доиграть не смог из-за криворукого дизайна. Поэтому не рискну сказать, какая там версия. Но либо от лагеря к лагерю (Зов), либо сидят возле костра (Тени). В старой ЛА обрезанные Тени. Если вынести бандитов на фабрике, то там они и заспаунятся. В Тенях они через всю локацию шли. В Небе (КоК, Аномалия, Зов) шли бы от спауна, но не факт, что в это место. В поздних билдах (1865-1935) не сидели бы на фабрике, а болтались по локации. Вообще, некоторые вещи определить достаточно просто. Сохраняемся, и следим за ботом, куда он идет. Затем перезагружаем игру. Если он пошел в тоже самое место - значит это движение направленное (скрипт или алгоритм). Если в другое - значит это движение рандомное (случайное). В Аномалии боты пошли в одно место, после перезагрузки в другое. Вроде бы перед нами рандом, но выборка будет из ограниченного количества вариантов, где некоторые могут иметь приоритет над другими. В Тенях Бес пошел в одну точку, после перезагрузки в другую - это рандом уже в чистом виде, но выбор не между лагерями, а между графами. В тех же Тенях бандиты прутся на АТП, после перезагрузки все равно прутся на АТП. Это не чистый скрипт, но около того. А вот кабаны, бегущие на заставу долга на свалке - это чистый скрипт. Теперь ОЛР. Выносим бандитов на свалке в домике, выходим из локации, снова заходим, снова пять бандитов в домике. Это даже не Тень, это чистая старая ЛА. Когда лагерь проверяет себя на наличие или отсутствие, и дает команду на спаун. Это не Тень, где эти бандиты перлись через всю локацию. Это не Небо, где бандиты перлись от базы (которая такая же точка спауна). Не Зов, где бандиты возвращаются на базу. И даже не Аномалия, где бандиты прутся на другую точку. Не поздние билды, где бандиты рандомно разгуливают по свалке. И уж тем более не ранние билды, от которых мало что осталось даже просто для оценки. Это чистая ЛА, откуда и скоммуниздили скрипт. - Можно подводить черту. Что считать тем самым, которое появится в 3.0? Тут даже рандомное путешествие в стиле Беса является сейчас недостижимой мечтой, пусть и до первой аномалии. Кстати, еще с Неба аномалии присели "возле костра", так что такое путешествие бы зашло. А это поздние билды, где боты уже прибиты к геометрии (статичным точкам). Эпиком этого направления является Аномалия. Но даже в ней нет путешествия Беса. Которое является безостановочным к графу, а не лагерю, и слово "безостановочное" здесь ключевое. Аномалия - это уже не поздние билды. Если считать позднюю билдоту тем самым, то это не тот самый. Поздняя билдота вообще отсутствует как явление, потому что не совместима со скриптами, а значит и сюжетом. Из Аномалии как эпика можно сделать эрзац поздней билдоты, и даже круче. Для начала нужно, чтобы боты перестали сидеть в лагерях. Пришел, и сразу пошел к следующему. Можно нагрузить лагеря разными параметрами. И спаун с баз убрать. И много что еще, насколько фантазии хватит, но это будет эрзац. Все-таки в поздней билдоте не от костра к костру путешествовали, да и артефакты собирали разбросанные по геометрии, а не прибитые. Или тот самый - это ранняя билдота? Так от нее только куски кода остались, и отсылки в конфигурации - страх, голод, облучение, еще что-нибудь. В это направление не пошел никто, начиная от самих разработчиков. В Тенях боты не испытывают голода, и даже на персонажа, испытывающего голод, никакой рояли. Аналогично с облучением ботов. О ранней билдоте, если не лезть в конфигурацию, сказать может только бот, склеивший ласты возле костра непонятно от чего. Да пачка ботов, которые в панике бегают возле трупа, что вымораживало. Что да, когда-то здесь была совсем другая симуляция. Но потом ботов прибили к геометрии, а потом и вовсе запретили куда-то ходить. Какую из пяти версий считать той самой симуляцией? Они очень сильно отличаются.. Кстати, Прохоров лукавит. Нет там никакого освобождения под симуляцию. Да и Ясенев много что наговорил, что не подтверждается ни в билдах, нигде..
  13. Странно, что в модах на Сталкер так и не появилось ни одной текстуры или модели из Метро..
  14. NZ+

    Сон..

    На дорогах лежит апрельский гололед, Григорович постит запись в Фейсбуке. «Друзья! Мы знаем, с каким нетерпением вы ждали релиза S.T.A.L.K.E.R 2. Но, когда случился анонс второй части, мы были молоды, и у нас было много свободного времени. Однако жизнь расставляет свои акценты, прошли годы, сейчас у нас появилась работа, семьи, дети. И у нас уже нет столько времени, чтобы продолжать разработку так, как это делали раньше. А потому решили выложить билды, наработки и исходники в свободный доступ. Быть может доделает кто-то из разработчиков, или хотя бы возьмет что-то в свои игры. Всем спасибо, что все это время были с нами, верили в нас, ссылка в описании.»
  15. Дизайн делается немного не так. У игрока есть потребность в патронах, которые он может получить через торговлю. Следовательно, на локации должен быть торговец (не обязательно от мира науки). По локации слоняются боты, следовательно, торговец должен быть в каком-то помещении (не обязательно в бункере), иначе завалят. Для надежности помещение обносится забором с парой отдушин, боты садятся в смарты. Так появляется ученый в бункере на Янтаре. Почему именно ученый и именно в бункере? Без разницы, это может быть и привидение на втором этаже какой-нибудь виллы (что фантазия подскажет). Которое даст задание и отсыпет патрон. Если нет необходимости в патронах/заданиях для игрока, то торговца можно сносить вместе с бункером, чтобы память не грузил. Игроку объяснение, что "он улетел".. Для того, чтобы заделать дырку в террейне, нужно открыть модель в Макс (или аналогичной программе) и свести вершины. Так же и для любой другой модели. Если дырки остались, значит в программе никто моделей не открывал и вершин не сводил. Какой интерес в таком случае может представлять данная модель (локация)? Чем она отличается от оригинальной (кроме новой растительности)? Может никто не правил, потому что не умели в моделирование? В СДК накидаем деревьев (привет локации "Лес"), и так сойдет? Как дата рекомпиляции и сведенные вершины связаны между собой? На сколько полигонов в кадре LA отличается от билдов (без учета растительности)? На сколько отличается разрешение текстур? Я не понимаю.. - Вырвиглаз, потому что вырезано оттуда, вставлено сюда. Это нормально, поэтому и снисходительно. Если моделировать с нуля (ремоделировать), рисовать текстуры и прочая, то только на одну локацию можно потратить несколько месяцев.
  16. Разрешение у текстуры окна 256*256. И это мало даже для 2007 года. LA - это нормальная игра для любителей. Но ни одной замененной текстуры с большим разрешением и ни одной модели, кроме моделей растительности. Благодаря которой визуально и кажется поинтереснее. Если убрать растительность и скайкубы, то все станет грустным. Модели, текстуры и технологии начала нулевых (даже не середины). Объективно - это демонстрация потолка любителей. Хотя что мешает смоделить табуретку на пять боксов (пять минут в Максе), но за 14 лет что-то даже на такой примитив не сподобился никто. Аналогично с текстурами и картами. Смысл в DX11, если вы не умеете в бамп, паралакс, спекуляр и прочий маппинг. Зачем наезжать на человека? Вроде бы сказал довольно очевидные вещи..
  17. Чтобы убрать "темноту", нужно поднять значения hemicolor в weather.ltx (или как у них называется), или поднять значение ambient. Но, может, у авторов такой вкус. Кто-то будет в восторге, а кому-то покажется вирвиглазной безвкусицей. Вопрос о вкусах разрешится через рынок. Если чернота будет пользоваться спросом, то будет пользоваться спросом и игра с чернотой.. - Собственно, никаких других изменений в картинку внесено не было. Только игра со значениями в *.ltx. - Чего не хватает церкви на болотах в Чистом небе, чтобы "как в Метро"? Во-первых, не хватает полигонов в кадре. Детализация модели производится в 3DsMax или аналогичных программах. Во-вторых, не хватает разрешения текстур и их детализации. В-третьих, мало применяемых текстур в кадре. В-четвертых, не хватает карт (normal, bump, specular и прочая). Без карты блеска не будет и самого блеска. Итого - нужно уметь создавать модели, текстуры и карты к текстурам. Без этого "как в Метро" будет только освещение, и только при условии не трогать оригинальные значения *.ltx в сторону затемнения..