fonzeppelin: (Default)
[personal profile] fonzeppelin

Недавно вышедшая игра «Starfield» уже создала вокруг себя изрядный хайп, и хотя ее достоинства остаются предметом жарких споров (я лично на 90% убежден, что изначально это должна была быть РПГ по «Firefly», и самостоятельной вселенной стала лишь после того, как «Betheda» не сумела приобрести права), тем не менее, интерес публики она вполне себе привлекла. И одной из несомненных удач называют встроенный конструктор кораблей, позволяющий игрокам кастомизировать звездолеты и создавать с нуля собственные дизайны.


И результат был предсказуем.











Игрок под ником Morfalath  обратил внимание, что алгоритм стрельбы игровых противников в космическом бою всегда сводится к прицеливанию точно в геометрический центр его корабля. Таким нехитрым способом компьютерный оппонент добивался оптимальной вероятности попаданий. Но раз есть жесткий алгоритм, то, стало быть, есть и рамки, за которые он выйти не в состоянии... и это можно использовать.


Идеей Morfalath было создать корабль вообще не имеющий центра. Его «кубноут» (название мое, не авторское) представлял собой кубической формы раму из переходников и коридоров, с прицепленными по углам модулями. В центре корпуса — куда целился бы компьютерный противник - как легко понять, находилось исключительно первосортное пустое место, сквозь которое вражеский огонь пролетал бы навылет. 










Получившаяся конструкция в определенной степени унаследовала философию от американского экспериментального «танка-скелета» Первой Мировой Войны — объемистая рама со множеством пустого пространства, сквозь которую неприятельские выстрелы будут просто пролетать, не задевая ничего.


Для демонстрации возможностей своего детища, Morfalath записал видео боя с одним из высокоуровневых противников. И результат... восхищает. Упорство, с которым компьютерный оппонент выцеливает пустое место в центре кубноута сопоставимо лишь с абсолютной бесполезностью его огня. Выстрелы противника благополучно пролетают сквозь пустое место, лишь изредка и случайно цепляя балки конструкции. По словам Morfalath, одновременный бой с двумя десятками оппонентов максимального уровня оставил лишь незначительные повреждения на конструкции кубноута.



Это простое и изящное решение — наглядная демонстрация, как легко найти обходные пути вокруг жестко заданных алгоритмов, если игроку предоставлена достаточная свобода действий. Полагаю, что в будущих патчах «Betheda» попытается что-нибудь сделать с алгоритмом прицеливания (например, заставит его проверять, есть ли реально что-нибудь в точке прицеливания). Но пока что концепция кубноута прекрасно работает.



P.S. И хочу отметить, что не стоит толковать это как «победу человеческой гибкости над машинной линейностью». Закавыка в том, что ИскИны такие вот дыры в правилах умеют находить гораздо лучше людей.


Date: 2023-09-11 02:49 pm (UTC)
From: [identity profile] vladlitovchenko.livejournal.com

а вот как сделать такой хак невыгодным — интересная задача. первое что приходит в голову — заставить машину оценивать корабль -мишень по другому алгоритму. оценивать важные узлы и выкидывать из рассмотрения произвольно по одному такому важному узлу и оценивать точку равноудалённую от оставшихся. перебирать и смотреть не меняется ли сильно эта точка от выкидывания из рассмотрения одного из узлов. в качестве итога выбирать ту точку чт оменее всего подвержена процедуре. рассчёт в барицентрических координатах увязанных с важностью узла.


было бы интересно

Date: 2023-09-11 05:45 pm (UTC)
From: [identity profile] john-jack.livejournal.com
Всё гораздо проще: взять более реальные параметры дальности и разброса. Если бы оппонент мог бы с тем же упорством успехом каждый раз первым выстрелом поражать кабину пилота, игра была бы точно так же сломана. Собственно, даже в вашем варианте не обязательно оценивать узлы, можно просто выбирать отдельные модули из списка и целиться в них. Кабина, гальюн, левый двигатель, третий бак, восьмая пушка, повторить.

Date: 2023-09-12 11:41 am (UTC)
From: [identity profile] vladlitovchenko.livejournal.com

имхо нужно неписям закинуть несколько вариантов построения алгоритма прицеливания.

Date: 2023-09-12 04:04 pm (UTC)
From: [identity profile] john-jack.livejournal.com
Это уже прямо хорошее решение.

Profile

fonzeppelin: (Default)
fonzeppelin

January 2026

S M T W T F S
     12 3
4 56 78910
1112131415 1617
18192021222324
25262728293031

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 19th, 2026 12:40 pm
Powered by Dreamwidth Studios