Ехал F.E.A.R. через F.E.A.R.

Jan 19, 2020 13:57

Чем чаще копаюсь в кишках старых движков, тем чаще думаю "да ну их нафиг, устаревшая монолитная лапша". Заценил недавно сорцы Lithtech... Блеать. Буквально монолитная лапша от Monolith, ага. Такой наркомании я кажется еще не видел (хотя... это с чем сравнивать, по сравнению с "нереальной" наркоманией UE4... где для сборки С++ надо иметь С#... это еще ничего -- может потому что движок Lithtech 1.0 зародился в середине 90-х, когда про "Си-диез? Не, не слышали!") - это еще какой-то энтузиаст распихал заботливо сорцы по CMake-файлам для сборки "современной системой сборки" (TM)

Полчаса искал где у него точка входа в экзек.

Оказалось, у них клиент прибит гвоздями к винде, для линукса только сервак - в виде DLL... А WinMain зарыт глубоко в код "системно зависимых компонентов" в подпапках клиента.

Ну зато посмотрел знаменитый надмоск FEAR-ботов

Сначала нашел стейт-машину на флексо-бизоне - подумал "ага, все врут ИИ-ынтузиасты"... Потом нашел в подпапках с ресурсами игор кучу сорцов начинающихся с AI

Особо понравилось - "А * algorithm like in Artificial intelligence: A new synthesis p.144" т.е. они это просто в книжке подсмотрели

Встречал такое в продукшен коде "это тут и оно так потому что в книжке Имярека на стр." А что это дает проекту -- ХЗ.

Моделирование надмоска эвристиками не всегда жульничество - просто получается у ботов один надмоск на всех и палится пересечение игорька с нодами в дереве... наложенном на локацию, которые все ноды хотят игорька убить. Если эти ноды совпадают с ботом - бот ебошит. Если не совпадают - бот подтягивается на дистанцию отаке по предвычисленным нодам. "А деревьев там тьма и все в нодах" (с).

Ну и вместо дико запутанного свича в цикле, как обычно понимают быдлокодеры стейтмашину - вагон отдельных правил... Каждое из которых... ЦЕЛЫЙ КЛАСС с++. Это другая врайт-онли крайность, хуево приспособленная для саппорта :) Поэтому игры от NOLF через FEAR до TRON делались... копипастой сорцов :) Таким образом четкой границы между Lithtech 1.0 и остальныцми нет -- "В -- версионность!" Они все кучей свалены в одно дерево сорцов. А самая популярная теория заговора на GOG, почему NOLF и AVP2 еще не переизданы -- совладельцы прав запутались кто из них прав... и кто умеет копипастить сорцы "игрозависимых" DLL-ок с ресурсами и надмозгом.

axe effect, coding drunk, do not repeat yourself, 42, 1024/4096!, 95%, bend the rules, accelerando

Previous post Next post
Up