![]() |
![]() |
Bokul |
![]()
Сообщение
#1
|
![]() Гуру ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 117 Пол: Мужской Реальное имя: Богдан Репутация: ![]() ![]() ![]() |
Хочим работать... Давайте!
Иерархия - это скелет. От нее будет зависит быстрота и надежность дальнейшей разработки, по этому решил подключить всю команду. Сам пытался объединить свои идеи в логическую цепочку, но как видите... т.е. не видите результаты ![]() ![]() И-так, поехали! Пока моя картинка всего происходящего в логике игры таковая: Есть игровой мир, где протекает жизнь наших юнитов (дома тоже относятся к этой категории, надо подумать над оружием). У каждого з них есть свой интеллект - способ реагировать на событие, собирать информацию (сенсорные органы СО). Его мы обзовем Ai юнита. Он позволяет игроку и глобальному Ai (для игрового мира нету разницы между ними) не следить за каждым шагом их подопечных, а задавать более общие задания: патрулировать или охранять территорию или, даже просто, стоять, ведь при этом задействованы их органы чувств, постоянно собирающие и анализирующие информацию. Все эти разведданные направляются в очередь сообщений (структуры хранения данных на этом этапе не обсуждаем). В этих данных может храниться вся информация о юните, а также все что он воспринимает своими СО. Таким способ мы реализовываем односторонние средство общения между игровым миром и Ai с игроком, создавая вспомогательный транзитный уровень. Т.е. моя цель - поделить всю игру на логические уровни, что позволить каждому заниматься тем, что умеет, а в случае смены инструментов, локализовать изменения. 6 уровней 1 игровой мир ИМ: все что "живет", Ai юнитов 2 централизации информации о ИМ: различные структуры данных, с него снимают информацию уровень вывода и ИИ 3 ИИ 4 уровень вывода: монитор 5 уровень ввода: мышка, клава 6 уровень управления ()или уровень команд), чем-то похож на 2-ой, так как служит промежуточным между ИМ с ИИ и уровнем ввода Ну, пока вот... ![]() PS для тех, кто не в курсе - сайт Обреченных http://doomed-game.narod.ru/ Сообщение отредактировано: Bokul - 5.04.2007 7:44 -------------------- Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее. |
![]() ![]() |
Archon |
![]()
Сообщение
#2
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 618 Пол: Мужской Репутация: ![]() ![]() ![]() |
Цитата Это должно привести к 3-м уровням AI в программе? То есть, юнит сам перемещается по местности/выполняет примитивные команды (уровень №1), группа юнитов совместно производит некоторые действия (уровень №2 - тактический), и командование определяет, какие действия должна производить та или иная группа юнитов (уровень №3 - стратегический) ? Именно так. Хотя... Я потому и вынес это на обсуждение, потому что плохо представляю как этот групповой AI должен быть устроен и нужен ли он вообще.Я вижу AI несколько иначе (однако, любые улучшения поддерживаю): В каждый момент времени юнит выполняет только то, что прописано в его приказе. Юнит не может сам менять себе приказ, но сами приказы написаны так, что в их пределах юнит действует достаточно свободно. То есть приказ - это своего рода модель поведения. Например у юнита есть приказ - "стой на месте, если видишь врага - атакуй, после битвы вернись на место" (все эти уточнения задаются параметрами приказа). Вот так юнит и будет себя вести, пока не получит другой приказ. Таким образом, никакого группового AI в самом юните реализовывать я еще не думал. Хотя можно сделать групповой AI, как подуровень глобального. Ну что, есть мысли? -------------------- Close the World...txeN eht nepO
|
![]() ![]() |
![]() |
Текстовая версия | 15.07.2025 1:26 |