Цитата:
|
Топикстартер видимо хочет реальный живой мир где характеристики сущностей случайно не генерируются когда попадают в зону влияния
|
А мы вот все о том, что это абсолютно бессмысленно, занимать память нестреляющими ружьями.
Я ни одной игры кроме пятнашек и паззла в жизни не написал, так что все что я говорю можно смело делить на 16. Я обычной логикой оперирую.
Если нет суслика, пофиг сколько у него зубов и какого оттенка шкурка.
Как я вижу процесс:
При запуске игры с жесткого диска считывается последнее сохранение и создается временный (возможно, "распакованный", сейв, с которым игра общается пока юзер не выберет в меню "сохранить" (старыйй сейв естественно не подлежит модификации в процессе игры, он для истории): в случае этих ваших КР берем из сейва координаты и векторы кораблей, включаем жизнь, полетели. Никакие ништяки в слотах кораблей нас не интересуют в это время, и считывать их из сейва нет никакой необходимости.
Событие – два корабля встретились. Берем из сейва их характеристики. Если корабли дружественные, запускаем процесс торговли, если враждебные – процесс битвы. Торговля это передача от одного корабля другому случайной части ништяков на сумму не больше 75% от количества денег второй стороны. Можно усложнять интеллект как угодно в разумных пределах, делать списки приоритетов из необходимостей (скажем если у одного мало топлива то он обязательно покупает топливо, и немного зубного порошка прицепом) – я не думаю что такие события будут происходить по 10 штук на кадр, иначе самым расхожим товаром будет краска для обшивки кораблей.
Поторговали, записали новые состояния слотов в сейв, очистили от них память и полетели дальше.
Аналогично с битвой. Никто же не требует от интеллекта игры реального сражения (если конечно ГГ не является его
свидетелем). Сравнили боевую мощь, разбавили случайностью, сгенерировали списки повреждений и затрат боеприпасов, записали в сейв и разлетелись; либо поверженный корабль захвачен, часть груза в соответствии с приоритетами и грузоподъемностью судна победителей отобрана у побежденных, записали слоты в сейв и разлетелись.
И как уже несколько раз сказали, все эти слоты, о которых был изначальный вопрос – ничто по ресурсам в сравнении с графикой и логикой. Но вам всеравно придется делать LOD для графики, таскать картинки кораблей, которые никто не
видит – это же жесть вообще. А они ведь такие же свойства. Вам придется разграничивать свойства, необходимые для простого интеллекта "оно где-то там летает", от свойств "о боже, оно летит прямо на меня!"