Показать сообщение отдельно
Старый 14.02.2008, 00:54   #59
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Ответ: Про.кт "FreeSpace"

FrankH, текстуру которую ты создал для Блуума, и в которую ты копируешь изображение экрана, создай с флагом: 256+1, немного выйграешь (озу всегда больше чем видеопамяти), но хз как с расчётами, но постоянно замечал что таким образом немного быстрее работает.
Насчёт дальних расчётов. Ну ИИ должен быть устроен очень просто чтобы подобное выдержать, и в тоже время очень просто.
Есть одна идейка: в общем делать обработку ии для групп (3-6 кораблей), обработка цели для них одна, и летают они относительно синхронно, но вся фиха в том что работают как комманда, но тут нужно думать как сообщать им об общественных действиях, без переборов. Есть варриант делать класс, с мини списком группы, типо так:
Type TAIGroup
   Field Ship1.TShip
   Field Ship2.TShip
   Field Ship3.TShip
   Field Ship4.TShip
   Field Ship5.TShip

   Field Target.TShip
   Field State%
End Type
State - это текущее состояние группы - полёт, слежка, атака и т.п. От этого зависит их действия.
Почему я указываю точку, а потому что можно в B3D возвратить сразу эллемент, для этого нада писать функции с таким синтаксисом:
Function CreateShip.TShip(...)
   t.TShip=New TShip
   ...
   Return t
End Function
Также Цель (Target) - это эллемент, таким образом иногда можно и не перебирать Все корабли а напрямую выходить.
Обязательно советую разобраться с Handle и Object функциями.

На BM было бы намного проще реализовывать таким сложненькие структуры, т.к. там есть полноценный ООП
В общем тут нужно взять листик и подумать, Продумать структуру.

Всего Наилучшего
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
FrankH (14.02.2008)