О: Да, базовый алгоритм — это только его часть. Мы используем A*, что, конечно, быстро, но само по себе недостаточно. Мы не можем воспользоваться некоторыми нововведениями в этой области (например Jump Point Search) потому как наша карта очень сильно меняется. Как правило, разработчики используют подходы, которые добавляли различные более крупные структуры поверх карты, чтобы срезать углы,
и из-за постоянно меняющейся карты их поддержание занимает слишком много времени. Таким образом, наш подход заключался в том, чтобы просто отслеживать соединённые компоненты, до которых можно добраться пешком. Такой алгоритм легко обновляется, даже если карта меняется быстро, хотя он немного использует алгоритм заливки. Например, если вода рассекает крепость пополам, ему нужно затопить с одной стороны и обновить целую половину крепости до нового индекса. Затем это позволяет нам исключить из игры почти все неудавшиеся вызовы A*: наши агенты просто запрашивают номера компонентов и, если номера компонентов совпадают, они знают, что вызов будет успешным.
кошки были обнаружены мертвыми по всему полу таверны, и оказалось, что они глотали пролитый алкоголь, когда лизали свои лапыЯ обожаю эту игру. Вообще мне нравится что во многих старых играх (и дф) многие объекты принадлежат к одним классам и на них работают одинаковые принципы. Т.е НПС в YS (даже небоевые) могли качаться как и игрок просто потому что они объекты такого же типа, а в рогаликах например все *горящие* сущности могли поджечь любую *возгораемую* сущность, ну или в этом примере, кот - такая сущность как и дворф и у неё есть "лапы" которые могут промокать и он может слизать с них то что на них натекло.
Это куда круче чем когда у нас есть скриптовая сценка к которой нужно подкатить взрывающуюся бочку что бы сработал скрипт взрыва, при этом стенку нельзя взорвать гранатомётом или подкатить другую бочку из другой комнаты. Хотя разным играм разное, наверное.
Несмотря на глубину проработки игры, меня постоянно волнует момент с условностью размеров предметов в тайле. Т.е. в одном тайле может быть огромный дракон и ещё пара мелких существ, но кровать/дверь/мебель единственная.
До этого в ДФ коты обнаруживали что у них нет рук и спавнили сообщения об ощибке :)
Комментарий недоступен
Толсто.
Понимаю, если просто сказать, что такого рода игры не интересны, но зачем принижать чужой труд?