IPB
ЛогинПароль:

> Иерархия объектов, Обреченные
сообщение
Сообщение #1


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Хочим работать... Давайте!

Иерархия - это скелет. От нее будет зависит быстрота и надежность дальнейшей разработки, по этому решил подключить всю команду. Сам пытался объединить свои идеи в логическую цепочку, но как видите... т.е. не видите результаты 10.gif smile.gif Пришел к выводу что диздок нуждается в доработке по мере развитии иерархии - в более детальном описании (Archon уже работает). Т.е. надо работать над тем и другим параллельно.

И-так, поехали!

Пока моя картинка всего происходящего в логике игры таковая:

Есть игровой мир, где протекает жизнь наших юнитов (дома тоже относятся к этой категории, надо подумать над оружием). У каждого з них есть свой интеллект - способ реагировать на событие, собирать информацию (сенсорные органы СО). Его мы обзовем Ai юнита. Он позволяет игроку и глобальному Ai (для игрового мира нету разницы между ними) не следить за каждым шагом их подопечных, а задавать более общие задания: патрулировать или охранять территорию или, даже просто, стоять, ведь при этом задействованы их органы чувств, постоянно собирающие и анализирующие информацию. Все эти разведданные направляются в очередь сообщений (структуры хранения данных на этом этапе не обсуждаем). В этих данных может храниться вся информация о юните, а также все что он воспринимает своими СО. Таким способ мы реализовываем односторонние средство общения между игровым миром и Ai с игроком, создавая вспомогательный транзитный уровень. Т.е. моя цель - поделить всю игру на логические уровни, что позволить каждому заниматься тем, что умеет, а в случае смены инструментов, локализовать изменения.
6 уровней
1 игровой мир ИМ: все что "живет", Ai юнитов
2 централизации информации о ИМ: различные структуры данных, с него снимают информацию уровень вывода и ИИ
3 ИИ
4 уровень вывода: монитор
5 уровень ввода: мышка, клава
6 уровень управления ()или уровень команд), чем-то похож на 2-ой, так как служит промежуточным между ИМ с ИИ и уровнем ввода

Ну, пока вот... wacko.gif Честно говоря не хочется перечитывать написанное - не легкое это задание сформулировать словами ту белиберду, что твориться в голове.. Но пока основная идея состоит в этих уровнях и их взаимодействии между собой, что скажите по этому поводу?

PS для тех, кто не в курсе - сайт Обреченных http://doomed-game.narod.ru/

Сообщение отредактировано: Bokul -


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






Цитата
Таким образом, никакого группового AI в самом юните реализовывать я еще не думал
Группового AI в самом юните и не надо... Я бы попробовал сделать вот что: если AI №3 (стратег) посылает группу юнитов на выполнение задания (какого - сейчас неважно, это потом), то все эти юниты объединяются в некий виртуальный блок, который имеет AI ... То есть, если 4 юнита будут действовать так:
Цитата
Например у юнита есть приказ - "стой на месте, если видишь врага - атакуй, после битвы вернись на место" (все эти уточнения задаются параметрами приказа). Вот так юнит и будет себя вести, пока не получит другой приказ.
, то в случае если враг подкрался на границу видимости одного из них (но НЕ находится в зоне видимости остальных), и начал его методично расстреливать, то остальные юниты будут стоять как и стояли без движения, потому что приказа отвечать на атаку "своего" у них не было... В итоге, что имеем? Первый юнит расстрелян, враг подходит на границу видимости второго, и делает то же самое... По одному уничтожаются все...

(заметь, я не говорю вообще о случае, когда оружие врага имеет дальность, превышающую максимальное расстояние, на котором юнит может "увидеть" соперника; тогда твой юнит, а тем более его "друзья" даже не осознает, что на него совершено нападение, и откуда именно. Чтобы он узнал, надо сильно усложнить приказ, внести в него гораздо больше условий)...

Теперь посмотрим, что будет, если будет существовать тот самый "виртуальный", промежуточный AI... При нападении на один из юнитов группы все остальные (или часть, это уже решает AI) начинают перемещаться ближе к атакуемому (как вариант - окружают его). Таким образом, есть больше шансов "увидеть" противника, и защищаться общими усилиями. Кроме того, если противник не один, то промежуточный AI (которому все юниты передают информацию об увиденном) может принять решение, сколько юнитов направить на каждого из противников...

Так что, промежуточный уровень желателен, хоть это и будет чуть сложнее реализовать...

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 5.05.2024 16:48
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name