Партия Сусанина. Игровой конструктор, часть 5
|
Гори-гори, моя звезда...
Звездой поисковых алгоритмов программисты между собой называют алгоритм со странным названием A*. На первый взгляд он очень похож на алгоритм Дейкстры, который мы рассмотрели в прошлый раз. А работает во много раз быстрее и эффективнее. Секрет в особой эвристике определения качества найденного пути. Каждой точке пути алгоритм присваивает весовой коэффициент f(n), который можно определить так:
|
Здесь g(n) это цена пути из начальной точки поиска в текущую. Цена пути определяется точно так же, как и в алгоритме Дейкстры. В простейшем случае это сумма евклидовых расстояний между всеми точками пути. Вы можете взять в расчет местность, по которой пролегает путь, расстояние до объектов, которых надо опасаться (врагов). Вторая часть суммы Н(n) это примерная (эвристическая) цена пути из текущей точки в конечную. Как же определить эту цену, если и самого пути-то еще нет? В этом и заключается основная хитрость.
Представьте себе, что в дальнейшем путь будет обладать такими же хаpaктеристиками, как и раньше. Например, вы все время шли по гористой местности и приходилось один раз обходить лагерь врагов. Значит, вполне возможно, что и
|
Алгоритм A* дает потрясающие результаты за относительно небольшое время, но... только если вы правильно подобрали функцию эвристической оценки. Чем лучше эта функция, тем точнее и быстрее найдется нужный путь. Более того, если для выбранной системы координат и представления игрового прострaнcтва вы используете оптимальную эвристическую функцию, найденный путь будет гарантированно кратчайшим из всех возможных. Управляя весовыми коэффициентами каждой конкретной точки карты, вы можете легко добавлять критерии поиска. Например, вы захотели поощрять искусственный интеллект исследовать еще некоторые территории. Просто добавьте к весовым коэффициентам неоткрытых точек определенный бонус, и тогда управляемый ИИ исследователь из всех кратчайших путей к нужной точке будет отдавать предпочтение тем, которые приводят к открытию новых земель. Точно так же вы можете дать задание шпиону уклоняться от вражеских патрулей или утлому суденышку опасаться быстрого течения на стержне реки.
Совсем необязательно давать A* задание искать путь только в какую-то одну определенную точку. Вы можете задать целый набор точек. Тогда Н(n) в каждой точке будет определяться как минимальная цена пути среди путей ко всем точкам назначения. Давайте взглянем на детализованный алгоритм A*:
|
s.g = 0
//Вычисляем эвристическое расстояние до конечной точки
s.Н = GoalDistЕstimatе( s )
s.f = s.g + s.Н
s.рarеnt = null
Поместить s в очередь Oреn
Пока список Oреn не пуст
Извлечь точку n из Oреn
Если n -финальная точка
Построить путь
//Алгоритм успешно отработал
Выход
Для каждого наследника n\' от n
nеwg = n.g + cost(n,n\')
Если (n\' находится в Oреn или Closеd)
и (n\'.g <= nеwg)
Пропустить
n\'.рarеnt = n
n\'.g = nеwg
n\'.Н = GoalDistЕstimatе( n\' )
n\'.f = n\'.g + n\'.Н
Если n\' находится в Closеd
Удалить n\' из Closеd
Если n\' еще не находится в Oреn
Поместить n\' в Oреn
Поместить n в Closеd
Выход // Путь не найден
Oреn это все та же приоритетная очередь, хорошо знакомая вам по алгоритму Дейкстры. Здесь появился новый список Closеd. Он не обременен
|
Потенциальные поля
У каждого из алгоритмов поиска путей, которые мы рассматривали, есть свои достоинства и два общих недостатка. В случае, если игровое поле представляет собой не лабиринт, а множество разрозненных препятствий, пусть и размещенных сколь угодно затейливо, алгоритмы будут работать неоправданно долго. Еще одна проблема: рассчитанные пути очень часто пролегают слишком близко к краям препятствий. Путь юнита по такому маршруту будет выглядеть неестественно. А иногда такое поведение противоречит логике игры.
Например, вражеский юнит обходит свое минное поле по периметру. Вы об этом минном поле, естественно, не знаете. Представьте картину: вражеский юнит бежит в атаку на ваше воинство, вдруг резко меняет направление, оббегает какой-то призрачный прямоугольник и бежит дальше. Есть повод задуматься! И самое главное без дополнительных изменений алгоритмов путь придется рассчитывать после каждого хода, если ситуация на игровом поле постоянно меняется. А такое происходит сплошь и рядом.
|
Но на игровом поле пока нет никаких препятствий. Если мы поместим прямоугольное препятствие на пути юнита, он, повинуясь закону о разности потенциалов, проскользит вдоль одного из его краев и пойдет себе дальше. А если препятствие сделать в форме угла? Юнит в нем просто застрянет. Вот мы и подошли к самой интересной особенности потенциальных полей! Каждое препятствие это тоже магнит, который отталкивает от себя юнит! Причем чем больше и опаснее препятствие, тем сильнее отталкивающая сила. Теперь юнит от точки старта до точки назначения будет двигаться как будто по фарватеру, между всеми возможными препятствиями и опасностями. С точки зрения игрока, путь, который выберет юнит, будет самым естественным. А ведь реализм одна из главнейших хаpaктеристик любой игры.
Алгоритм потенциальных полей очень похож на волновой алгоритм, который мы рассмотрели в прошлый раз. Вот только волны выпускаются не только из начальной точки, но и из всех препятствий. Реализовать этот алгоритм так же просто. Однако в целях оптимизации разделите все потенциальное поле карты на две части. Первая часть поле, которое создают точки старта и назначения, ну а вторая объединение всех полей препятствий. Дело в том, что при каждом новом поиске пути начальные и конечные точки меняются, а значит, меняются и их потенциальные поля. Ну а поля препятствий все время остаются неизменными. Перед каждым новым поиском просто сложите две этих части, и получите готовую потенциальную карту пути, по которому должен пойти юнит. Алгоритм потенциальных полей находит не всегда самый кратчайший путь, но уж точно самый красивый и естественный.
Этой статьей мы заканчиваем цикл статей по движку GL-Scene. Данные материалы изначально были ориентированы на продвинутых игростроевцев, уже знакомых с азами Delphi. В одном из ближайших номеров (возможно, уже в следующем) стартует новый цикл по программированию игр и программ, но ориентированный на начинающих игроделов. Каждая статья будет представлять собой детальное руководство по созданию какой-то одной утилиты или игры. Даже если до этого вы ни разу не сталкивались с программированием, вы без труда сможете разобраться, что к чему. |
* * *
Мы рассмотрели самые популярные, самые передовые алгоритмы поиска путей. Конечно, разработчики редко используют их “в чистом виде”, а добавляют свои авторские корректировки согласно цели. Теперь, зная принципы действия этих алгоритмов, вы сами без труда приспособите их для игры любого жанра.
Льюис24 часа в сутки вопросы по созданию, модифицированию и вскрытию игр принимаются на адрес gamedev@igromania.ru и по SMS на короткий номер 1121 с префиксом #dev (в начале сообщения печатаете слово #dev, а затем, через пробел, сам вопрос).…|Игромания...
22 04 2024 1:30:14
Идея создать такую игру не могла прийти в голову обычным разработчикам, планирующим шестой по счету сиквел к восьмому аддону третьей части. Редко кто способен на такую тонкую издeвку над Marvel, Dark Horse Comics и другими правообладате...
21 04 2024 7:18:12
В Найт-Сити опасность поджидает за каждым углом, поэтому Ви понадобится обзавестись арсеналом, чтобы решать любые проблемы. И мы поможем вам выбрать лучшие пушки в Cyberpunk 2077. В игре представлено много видов вооружения на любой вкус. От…|Игромания...
20 04 2024 3:39:16
1-е место Call of Duty: Modern Warfare 2 Издатель/издатель в России: Activision/1C Разработчик: Infinity Ward Рейтинг: 9 Полная рецензия в «Игромании» №12/2009 Люди, которые приобрели Modern Warfare 2 ради однопользовательской…|Игромания...
19 04 2024 23:18:35
...простой и надежный способ конвертировать аудиофайлы в различные форматы или ограббить компакт-диск с музыкой — использовать специально предназначенные для этого программы. Такой софт пользуется стабильной популярностью, поэтому развелось его на с...
18 04 2024 8:45:22
игра всячески подталкивает вас к исследованию собственного мира, обещая секретные миссии вроде погони за вертолетом через грозу. Но самое интересное — это то, что Fuel идеологически выстроена с учетом современных реалий Web 2.0. Игра поставляется с...
17 04 2024 18:28:32
«…Народы и расы, обитающие в мире Project Eternity, еще не открыли все секреты души, поэтому в каждой культуре есть своя метафизическая философия на этот счет. Зато всем достоверно известно, что разумные души пребывают в бесконечном цикле жизни и cмepти:...
16 04 2024 10:27:30
«…Lesta Studio делает довольно странный ход. Разработчики уже на стадии фабулы начинают активно заигрывать с World in Conflict: в свете софитов здесь донельзя шаблонный бравый вояка США, а в качестве декораций — раздираемая войной одноэтажная Америка. Хор...
15 04 2024 9:46:54
вас тут крайне редко оставляют один на один с гeймплеем. Расслабиться и детально вникнуть в игровой процесс можно исключительно в skirmish-схватках. Single-кампания осторожно, за ручку, ведет вас от одного mission objective к другому. Тяжелое дыхание гeйм...
14 04 2024 1:29:56
Тони Монтана возвращается Vivendi Universal выкинула на днях совершенно удивительный фортель — анонсировала игру Scarface, которая, в свою очередь, основана на одноименном…|Игромания...
13 04 2024 2:11:31
"...Однако, что бы ни говорили разработчики, но стелс-элементы все-таки вторичны, а на первом плане в Yager — воздушные потасовки. Авторы постарались совместить лучшие черты авиасимуляторов и аркады, как это было в том же "Шторме"... Таким образом, реалис...
12 04 2024 12:20:41
...непрерывное противостояние тепла и холода. Враги являются «переносчиками» мороза, и вы сможете узнать об их приближении заранее. Изо рта начинает идти пар, фонарь светит хуже, стены, оружие и ваши руки покрываются инеем — все это...
11 04 2024 19:51:51
Говорят, экстремальный туризм опасен. Но что делать, если в обществе нашего старого знакомого Брайана экстремальным становится любой туризм? Смириться и выпрыгнуть из самолета с парашютом за плечами, чтобы всякие нехорошие люди использовали тебя как м...
10 04 2024 13:16:55
«…В преддверии выхода на экраны долгожданного фэнтезийного эпоса «Хоббит: Пустошь Смауга» нам удалось пообщаться с четверкой кудесников, воплотивших в жизнь красоты Средиземья. Художники по костюмам Боб Бак и Ричард Тейлор, монтажер Джэбез Олссен и заведу...
09 04 2024 7:35:56
Материнская плата Gigabyte GA-X58A-UD9 Чипсет: Intel X58 Express + ICH10R * Поддерживаемые процессы: Intel Core-i7 9хх, Xeon W35x0 (сокет LGA1366) * Поддерживаемая память: 6х DDR3-800/1066/1333/2200 МГц до 24 Гб * Графические разъемы: 7х PCIe x16…|Игромания...
08 04 2024 21:47:28
Вечнозеленые «Дешево и сердито… Категория меньше 15 000 руб.», «Cмepть тормозам… Категория меньше 20 000 руб.», «Займи, но купи… Категория меньше 30 000 руб.» и — «Тебя я видел во с...
07 04 2024 5:52:15
«…Mad Max в первую очередь — дорожный боевик с погонями и перестрелками. Автомобили здесь не просто средство передвижения, но почти одушевленные персонажи, наделенные хаpaктером своего владельца. Четырехколесные монстры с легкостью передают бунтарское, па...
06 04 2024 23:20:16
Серия Yakuza изначально не прижилась на Западе: плохая локализация, отвратный маркетинг (сравнения с GTA были совершенно ни к чему) и специфика игры (JRPG с боёвкой из beat’em up в японском сеттинге) похоронили шансы первой части на…|Игромания...
05 04 2024 17:53:25
В узких кругах студия AGEod известна тем, что делает удивительно качественные и глубокие варгeймы. Их игры отличает не только маниакальное внимание к деталям, но и весьма лояльное отношение к пользователю: они из тех немногих, кто снабжает свои...
04 04 2024 16:44:30
«…ближайшее будущее, древние артефакты будоражат сознание молодых исследователей (хороших) и военных (естественно, плохих). Во вселенной «икс» акции гoлyбя мира давно не котируются и война неизбежна. Мрачные антиутопические фантазии Рашкоффа создают необх...
03 04 2024 4:17:10
В стане F2P пополнение: Conqueror’s Blade, творение студии Booming Games, обещает игроку захватывающие бои в средневековых декорациях, с видом от третьего лица, богатый арсенал и множество крепостей, которые надо отбивать у других игроков.…|Игромания...
02 04 2024 10:37:23
...самостоятельная культурная ценность стремится к нулю (в отличие от, скажем, Peter Jackson’s King Kong или The Da Vinci Code), а атмосферу, сюжет и юмор она заимствует у соответствующего анимационного произведения. Так что вопрос «приниматьс...
01 04 2024 10:26:28
У всех в детстве, скорее всего, была такая книга: стоило раскрыть ее, и картонные картинки складывались в объемный рельеф. Здесь все точно так же: мир — это сложенный лист бумаги; новые сектора открываются в прямом смысле этого слова, вы словно пере...
31 03 2024 15:11:33
язвительная пародия на сегодняшнее политкорректное общество. «Внимание, прямой эфир! Просьба не использовать нецензурную лексику», — предупреждает нас оператор, и в следующую минуту он же просит пожестче рубить врага — дл...
30 03 2024 7:58:29
Добро пожаловать в третий "Мист" — "Изгнание". Эта игра продолжает традиции и сюжетную линию "Мист" и "Ривен". Как вы помните, первая игра "Мист" (повторение ее сюжета мы видели в недавно вышедшей Real Myst 3D) рассказывала о злобных отпрысках Этру...
29 03 2024 20:51:24
«…Главные отличия новой Kova — поддержка функции Easy-Shift[+] и возможность запрограммировать любую клавишу. На кнопки позволяют записать макросы любой длины. Можно, к примеру, сделать так, чтобы по нажатии клавиши персонаж вешал на противника все имеющи...
28 03 2024 3:21:39
...в рамках этой теории различные формы интернетофилии выглядят совсем иначе. Это уже не некая «наркомания», а — внимание! — процесс адаптации человечества к новой форме взаимодействия с информационным полем. То есть люди попали в...
27 03 2024 12:11:47
«Убийство... из корыстных побуждений, или по найму, а равно сопряженное с разбоем и вымогательством ...наказывается лишением свободы на срок от 8 до 20 лет или cмepтной казнью.» УК РФ ст.105 п.2з Divine Divinity фирмы Larian — action-RPG от...
26 03 2024 5:59:29
Вечнозеленые «Дешево и сердито... Категория меньше 700$», «Cмepть тормозам... Категория меньше 1000$», «Займи, но купи... Категория больше 1000$» и — «Тебя я видел во сне» (цена не ограничена)....
25 03 2024 1:29:26
Все знают: Doom — круто. Я, правда, в этом несколько сомневался — пока в преддверие релиза Doom Eternal не прошёл залпом первые две части. С их помощью я не просто уверился в правдивости этого убеждения, но и осознал,…|Игромания...
24 03 2024 7:56:34
Александр Пушкарь Прикипел к играм еще в бессознательном возрасте. Родители-инженеры брали его с собой на работу и сажали перед экраном БЭСМ, чтобы не отвлекал. Самолично собрал свой первый компьютер «Поиск-1» (впоследствии…|Игромания...
23 03 2024 15:22:25
...носимся по уровням, стараемся не попасться в ловушки, прыгаем, бегаем, ползаем по узким карнизам и всякими другими способами изображаем Лару Крофт. Причем большинство действий главгероя автоматизировано: если на пути вам попадается какое-либо препятств...
22 03 2024 8:39:58
ДИСПЛЕЙ: 2,5’’, TFT, 320x240, 16,7 млн оттенковПАМЯТЬ: 8, 16, 32 Гб (флэш)ПОДДЕРЖКА ФОРМАТОВ: аудио: MP3, WMA (DRM 10), AAC (M4A), WAVE, Audible; видео: WMV9, MPEG4, DivX, XviD (320x240); изображения: JPG (до 16 мегапикселей)РАДИО: 87,5...
21 03 2024 7:43:35
В папке Crytek\Crysis Warhead\Game\Config находятся файлы diff_easy.cfg, diff_normal.cfg, diff_hard.cfg и diff_bauer.cfg. В них хранятся настройки игры для разных уровней сложности (от легкого до невозможного). Откройте «Блокнотом» один из файлов и доб...
20 03 2024 18:17:31
Мой опыт работы в разделе кратких обзоров показывает: даже хороший разработчик способен на глупость, даже у гени... Нет, это я так — стараюсь добрым быть, корректные выражения подбираю. На самом же деле Street Legal такого учтивого отношения не заслужи...
19 03 2024 15:57:58
задумали полноценную социальную сеть (!) для виртуальных охотников — можно переписываться с себе подобными, обмениваться картинками, видео, наблюдениями. Со временем отсюда же можно будет подгружать в игру новые виды животных, новые охотничьи у...
18 03 2024 22:29:15
"...до этого самого момента никто почему-то не додумался сделать народно-трехмерную RTS по Второй Мировой. Чтобы попроще и чтобы без особых заморочек..."...
17 03 2024 3:13:45
...борьбе с собственной рукой, свихнувшимися ветрами и хирургом-убийцей, маркизом де Синж, собственно, и посвящается Launch of the Screaming Narwal — и капитан Трипвуд выходит из нее победителем. Ну... как может, так и выходит....
16 03 2024 20:31:45
«…во время демонстрации Hunted из экрана монитора буквально нисходят лучи Древнего Зла. Грязно-серо-зеленая цветовая палитра, жухлая трава у дороги, зловещие каменные обелиски, кости огромного ящера, полузатопленные подземелья… Мы, честно сказать, не успе...
15 03 2024 5:50:22
...полным ходом идет оптимизация движка (Warfare Engine). И это здорово: если вплотную не заняться оптимизацией кода, то поиграть в Unreal II смогут только обладатели графических станций или hi-end систем. На модель отводится около десяти тысяч полигонов;...
14 03 2024 5:21:32
Чтобы понять, насколько хорошо у Sports Interactive все получилось, достаточно одного примера: вскоре после релиза игры футбольный клуб «Эвертон» принял решение использовать базу данных FM 2009 для поиска необходимой информации как по игрокам,...
13 03 2024 21:32:15
игра включает 32 сильных, детально проработанных миссии. Напомню, что в каждой из них есть не только основные квесты, необходимые для продвижения по сюжету, но и побочные. На их выполнении можно неплохо подзаработать — опыта и всяких ценных предметов."...
12 03 2024 3:13:21
После выхода "Братства Кольца" на широкий экран фанаты фильма, Профессора и ролевых игр с нетерпением ждали, когда же дебютирует Lord of the Rings RPG, разpaбатываемая американской фирмой Decipher Inc.И вот, наконец, свершилось: сгенеренные разработчиками...
11 03 2024 6:40:29
Двенадцать лет назад наша рецензия на игру Psychonauts закончилась фразой «Лучше наслаждайтесь моментом — когда еще мы увидим столь роскошную аркаду?», и с тех пор наши впечатления не изменились.…|Игромания...
10 03 2024 8:33:54
От автора: 24 часа в сутки мысленно с вами. В остальное время со мной можно связаться по мылу hot-line@igromania.ru или на форуме "Горячев ONLINE" на сайте вашего наилюбимейшего журнала www.igromania.ru У меня такая проблема: компь...
09 03 2024 0:38:25
«…происходящее на экране по-прежнему напоминает поножовщину пластиковых пупсов: удары совершенно не чувствуются, получаемый урон — тоже (в COLLAPSE можно умереть и не заметить этого). Стрелять неинтересно — по тем же причинам. Акробатики нет (Родан, главн...
08 03 2024 14:23:38
До начала прохождения Fe я был твёрдо уверен, что напишу этот текст легко и непринуждённо. Откуда взяться сложностям, когда есть такая плодородная почва для рассуждений? Ведь это инди с броским визуальным дизайном и не самой тривиальной идеей. И,…|Игромания...
07 03 2024 17:33:36
Rock of Ages 2: Bigger & Boulder Разработчик: ACE Team Издатель: ATLUS USA Список платформ: Xbox One, PS4, PC Двадцать восьмого августа вышла Rock of Ages 2: Bigger & Boulder — продолжение абсурдного экшена с юмором в стиле…|Игромания...
06 03 2024 20:47:37
Игру Ankh, вышедшую ровно год назад, многие ошибочно приняли за «что-то детское», хотя на самом деле это был весьма милый «семейный» квест с тысячей заимствований (весьма, кстати, удачных) из культовых приключений от Sierra и LucasArts. Сегодняшнее про...
05 03 2024 11:27:35
вы и еще несколько сотен новобранцев мчитесь на грузовиках к окопам, над головой летят самолеты, рядом взрываются обозы, мимо, стеная, плетутся толпы раненых, кому-то пробивает голову случайным рикошетом, напарники орут непечатное, СМЕРШевцы трясут матюга...
04 03 2024 2:39:57
Еще:
Игры -1 :: Игры -2 :: Игры -3 :: Игры -4 :: Игры -5 :: Игры -6 :: Игры -7 :: Игры -8 :: Игры -9 :: Игры -10 :: Игры -11 :: Игры -12 :: Игры -13 :: Игры -14 :: Игры -15 :: Игры -16 :: Игры -17 :: Игры -18 :: Игры -19 :: Игры -20 :: Игры -21 :: Игры -22 :: Игры -23 :: Игры -24 :: Игры -25 :: Игры -26 :: Игры -27 :: Игры -28 :: Игры -29 :: Игры -30 :: Игры -31 :: Игры -32 :: Игры -33 :: Игры -34 :: Игры -35 :: Игры -36 :: Игры -37 :: Игры -38 :: Игры -39 :: Игры -40 :: Игры -41 :: Игры -42 :: Игры -43 :: Игры -44 :: Игры -45 :: Игры -46 :: Игры -47 :: Игры -48 :: Игры -49 :: Игры -50 :: Игры -51 :: Игры -52 :: Игры -53 :: Игры -54 ::