Цитата Сообщение от Alexandro Посмотреть сообщение
Предлагаю такую методику:
1)изучения инструкций и наставлений
2)адаптация инструкций и выбор приоритетов
3)формирование алгоритма
Спасибо за детальный обзор .



Цитата Сообщение от Alexandro Посмотреть сообщение
Еще потребуется сделать 2-3 наката из бревен с прослойкой земли – для защиты орудийного расчета от оружейных выстрелов и осколков мин и снарядов
надо сделать также но вертикатьно
Звучит заманчиво, но как сделать накаты при помощи компьютера?

Цитата Сообщение от Alexandro Посмотреть сообщение
2)Адаптируем инструкцию к алгоритму
Для пушки в игре надо хороший обзор, маскировка будет реализована просто несколькими кустами.
Это как-то упрощенно, а если кустов нет?
Так не годится

Цитата Сообщение от Alexandro Посмотреть сообщение
Если в игре моделируется вариант, когда нет времени за 2-е -3е суток оборудовать место стрельбы, и ожидается контрнаступление неприятеля, то следует
Моделируется

Цитата Сообщение от Alexandro Посмотреть сообщение
Итак, в приоритете для пушки нужен хороший обзор.
Согласен

Цитата Сообщение от Alexandro Посмотреть сообщение
В наставлениях оговаривается, что для пушки хороши открытые места – площади, просеки, большие дворы, луга.
Как определить при помощи компьютера эти самые места?

Цитата Сообщение от Alexandro Посмотреть сообщение
3)Алгоритм для поиска места наилучшего обзора:
Локализуем область поиска места установки до определенного размера(вроде южный край деревни такой-то), в которой и будет занимать оборону рота солдат и орудийные расчеты..
Разделим эту область на квадратные клетки размером с место орудийного расчета(4м х 4м). Для каждой клетки введем понятия
1)свободна для установки орудия (те там того, что убрать нельзя – дом, водная преграда и прочее)
2)в клетке есть предмет закрывающий обзор
3)клетка недоступна, тк туда пушку не вкатить (например за водной преградой, которую не форсировать)
Прямо мысли читаете, почти так и сделали, и даже наставления смотрели


Цитата Сообщение от Alexandro Посмотреть сообщение
Зная откуда будет/может нападать противник, выделим участки вне зоны размещения, либо на границе зоны размещения, такого же квадратного размера – места которые должны будут просматриваться/обстреливаться орудийными расчетами.
Нумеруем эти квадраты по часовой стрелке, если смотреть от центра деревни-места где мы размещаемся. Далее эти квадраты будут называться «сектора обстрела».
Если нет какго-то ориентира - деревни и т.д., например размещаемся в поле, что будет делать алгоритм?
Как узнать откуда будет нападать противник (игрок) до начала игры ?

Цитата Сообщение от Alexandro Посмотреть сообщение
Если видно далеко(те мы на холме) то следует брать эти квадраты-сектора обстрела на пределе дальности выстрела, и дополнительно включить перекрестки, дороги, мосты, броды, перезды и тп, через которые может продвигаться вражеская техника или пехота.
Как определять перекрестки?

Цитата Сообщение от Alexandro Посмотреть сообщение
Перебираем от центра обороны по спирали свободные от препятствий и достижимые квадраты – места потенциального размещения орудийного расчета и отмечаем следующее:
Сколько из имеющихся т.н. секторов обстрела видны без того, чтобы быть закрытыми клеткой в которой есть предмет закрывающий обзор, или топографической высотой местности. Те расчет видимости осуществляется на клетках размера орудийного расчета.
Плохо, не будет работать правильно по квадратам

Цитата Сообщение от Alexandro Посмотреть сообщение
Допустимыми для размещения орудий являются квадраты со значениями 80-100 % от максимума. Рекомендация - иметь максимальную непрерывную цепочку пронумерованных секторов обстрела. Но не более фиксированного числа клеток-секторов обстрела. Это число = все сектора обстрела поделить на все пушки.
Выбираем случайно одну ячейку. – Там будет орудийный расчет. Добавляем эту ячейку к ячейкам закрывающим обзор.
Условия недостаточны, хорошо бы чтобы сектора перекрывались и, например, пушку можно было прикрыть пехотой и т.д., как с этим быть

Цитата Сообщение от Alexandro Посмотреть сообщение
Каждый квадрат «сектор обстрела» пронумерованный, отмечаем как простреливаемый или не простреливаемый.
Выбираем не простреливаемые до сих пор сектора. Ищем квадраты для установки орудийного расчета так, чтобы было максимальное число не простреливаемых секторов, но не выше фиксированного числа(см выше).
Получится распыление сил и в результате проигрыш - в демоверсии можно увидеть как это бывает когда пушки расставлены на широком фронте, а ИИ атакует на узком - и на одну пушку выходит 3-5 танков

Цитата Сообщение от Alexandro Посмотреть сообщение
Повторяем алгоритм до тех пор, пока либо закончатся пушки, либо закончатся не простреливаемые сектора обстрела.
Как думаете, сколько времени нужно будет ждать пока такой алгоритм расставит 4 пушки и 10 взводов солдат? Будет ли ждать столько потенциальный игрок при каждой загрузке?

Цитата Сообщение от Alexandro Посмотреть сообщение
Если моделируется установка пушки в лесу и значит требуется вырубка части леса, то для каждой клетки еще следует оценить трудозатраты на порубку квадрата с лесом, чтобы они были минимальны.
Это уже фантастика

Цитата Сообщение от Alexandro Посмотреть сообщение
Если моделируется, что пушки спрятаны и не видны сразу, а на позицию выдвигаются только когда противник идет в атаку - то надо рядом с местом для стрельбы - еще место для окопа под орудие или естественное укрытие (дом, овраг).
Как определить, что это овраг, а не там низина или яма?

Цитата Сообщение от Alexandro Посмотреть сообщение
Это все хорошо распараллеливается за счет того, что выполняются однотипные операции - подсчет суммы простреливаетмых секторов для буфера позиций орудийных рассчетов, при неизменной карте клеток-препятствий. Распараллеливание осуществляется за счет деления общего буфера поленциальных позиций для пушек на N частей (или N-1, при активном рендере), где N- число процессоров.
Число "процессоров" редко превосходит 2, по формуле X = N-1, где N = 2 получаем X = 1 - да, отлично распараллеливается

Цитата Сообщение от Alexandro Посмотреть сообщение
Это когда пушка работает в обороне,
когда в наступлении - главное что требуется от орудийного рассчета - поразить цель. и не обязательно иметь широкий сектор обстрела, лучше иметь укрытие (лес, дом, овраг) затем, чтобы не убили сразу. (см наставления стр 65)
Это неплохо работает всегда, когда целей ожидается больше чем есть пушек.

Кстати замечу, кроме пушек есть минометы, САУ, БТРы, танки и т.д. их тоже хорошо бы расставить