ПрограммированиеФорумОбщее

Разумна ли такая архитектура? (7 стр)

Страницы: 1 2 3 4 5 6 7
#90
19:22, 9 янв 2011

Z
> Не ну, а в коде то как ето въглядит? Могучий switch по состоянию?

В коде это выглядит как отправка сообщений по табличкам объектов с заданной частотой.
Есть описание логики программы в виде таблицы с параметрами, по нему при загрузке создаются объекты. Для каждого объекта известно когда его звать (и в какой последовательности для всех объектов) и какие сообщения отправлять.

Свитчи на более чем 8 вариантов кодстандартом запрещены.

#91
23:14, 9 янв 2011

Z
> Т.е. bla-bla, FindPath(), bla-bla, trace rays, bla-bla
Идеологически так:

// logic
if (VisComp.GetVisEnemy() > 0)
{
   NavComp.StartMoveTo(TargetPos); // просто ставит запрос в компоненте
}
else
{
   NavComp.Stop();
}

// other update
// вся синхронизация здесь
Navigation.Tick(); 
Visibility.Tick();

> И как AI тикает - все сделано автоматом с тучей стейтами?
Был HFSM подобный высокоуровневый скрипт. Но накладные расходы на его суппорт были достаточно высоки, так как новые фичи как правило требовали новый биндинг к нему делать. В результате не понятно, было бы выгодней делать через поведенческую модель на основном языке или нет.

Страницы: 1 2 3 4 5 6 7
ПрограммированиеФорумОбщее

Тема в архиве.