Извините, долго возвращался, а потом решил еще немного допилить. Критикуйте/задавайте. Ну вы понели.
>>31141 Это не диздок еще. Это его "рыба".
>>31175 Вбрасывать ссылки - это что-то полезное?
Походово-реалтаймовая стратегия "Война Роботов" (название условное).
Задача игрока.
Победить противника по правилам карты (контроль точек/полное уничтожение армии противника/уничтожение VIP-юнита и так далее). В каждой битве игрок получает "личный опыт", который открывает доступ к новым режимам игры и внутриигровую валюту, которую можно тратить на приобретение новых модулей. Также возможно развитие "персональных скиллов" игрока.
Ход игры.
0. Игроки создают юниты (роботов) из имеющихся в наличие модулей и пресеты (программы действия для юнитов).
1. Игроки собирают армию на N очков из доступного им набора юнитов. Выбор противника либо неизвестен, либо известен частично (влияют персональные скиллы "разведка" и "контрразведка")
2. Игроки расставляют юниты в "зоне высадки".
3. Игроки указывают направление движения и характер действий для всех юнитов (вибирают из созданных ранее пресетов), затем подтверждают свой выбор.
4. Юниты одновременно начинают движение и выполнение действий согласно полученным командам.
5. См. пункт 3.
6. См. пункт 4.
7. И так далее.
8. После окончания игры можно посмотреть запись сражения в реальном времени.
I. Юниты.
Юниты прадставляют из себя роботов, собираемых игроком из имеющихся в наличие модулей. Чем больше опыта получает игрок, тем более "продвинутые" модули он может использовать для построения роботов. Каждый модуль имеет свою "стоимость" и "уровень". Каждый "пресет" юнита также имеет стоимость (сумма стоимости всех использованных при построении модулей) и уровень (приравнивается к уровню наиболее высокооуровневого модуля, задействованного при постройке данного робота). При поражении юнита, повреждения для каждого модуля рассчитываются отдельно. При повреждении модуль может быть полностью или частично (с урезанием характеристик) выведен из строя(подлежит ремонту), а также может быть полностью уничтожен (не подлежит ремонту).
Модули бывают следующих типов:
Необходимые:
1) Платформа. Основа для построения любого робота. На нее устанавливаются все остальные модули. Делятся по "форм-факторам" (маленькая - большая) и возможно еще по каому-то признаку.
2) Средства связи (радиостанция). Различаются по дальности приема/передачи и защищенности от помех. Юниты, потерявшие связь из-за помех или нахождения вне дальности передачи радиостанции не будут видны на карте (будет отображаться только место, где он находился в момент потери связи и предполагаемое местонахождение "как если бы он перемещался в заданном направлении и в заданном режиме, не встречая помех"), но все еще могут получать команды (без подтверждения). Связь осуществляется по цепочке "радиостанция - радиостанция - ... - радиостанция - координационный модуль". Радиостанция может быть выключена (и включена при необходимости обратно) к примеру, при нахождении юнитов в засаде или при проведении разведки.
Опционально-необходимые (необходим хотя бы один модуль одного из следующих типов для построения юнита):
1) Средства поражения. Делятся на:
а) Стрелково-пушечное вооружение. Бывает различных калибров (для привязки к РЛ можно начинать от 10 мм) и использует различные типы боеприпасов (бронебойные/осколочно-фугасные/кумулятивные/еще какие-то). Имеет различную скорострельность, предельные углы наклона (до +45 градусов) и поворота (до 360), скорости поворота и наклона, максимальную дальность стрельбы (при максимальном возвышении ствола, но это момент тонкий, надо прорабатывать отдельно) для различных боеприпасов (к примеру, бронебойная болванка будет эффективна на дистанциях до километра, а осколочно-фугасными и кумулятивными можно поразить кого-нибудь и с двух). Может стрелять "по площадям".
б) Ракетное. Сюда же относятся и минометы. Бывает разных "калибров". Имеет больший ассортимент боеприпасов, чем стрелково-пушечное (термобарические, "ослепляющие", "импульсные" и прочие). Различные скорости поворота и наклона орудия, различные углы поворота и наклона, минимальная (!) и максимальная дальности стрельбы. Также для боеприпасов - различные типы наведения на цель (по маркеру с земли/по тепловому излучению/с "ручной коррекцией" по радиосигналу (возможна как от стреляющего, так и от иного юнита с необходимым модулем)/без наведения (посследний вариант в первую очередь относится к минометам) и противодействия активной защите (защита от помех/отстреливание "тепловых ловушек"/бронирование (последнее актуально для "тяжелых" и медленно летящих ракет, которые можно уничтожить/сбить с курса другими боеприпасами). Может стрелять "по площадям".
в) Лучевое (энергетическое). Тут пока только лазеры, различающиеся по мощности и тем же самым углам и скоростям, что и остальные типы вооружения. "Доставка до цели" - мгновенная, по прямой.
2) Средства передвижения:
а) Колесные. От трех колес. "Середнячок" в плане характеристик.
б) Гусеничные. Повышенная проходимость, пониженная скорость. MAXIMUM шума. Маневренность ниже средней.
в) "Парящие" (hover). Юнит перемещается на небольшой высоте над поверхностью земли. Игнорирует мелкие неровности, не теряет скорости при подъемах. Стандартные мины игнорируются. Повышенная чувствительность к фугасным боеприпасам (переворачивается нах). Маневренность ниже средней. Минимум шума.
г) Винтокрылые (heli). Может быть установлен как вторичный (дополнительный к основному средству передвижения) модуль. Может подниматься над поверхностью на значительное расстояние. Высокая скорость и маневренность. Шумит больше среднего.
д) "Реактивный ранец" (jet pack). Может быть установлен ТОЛЬКО как вторичный модуль и ТОЛЬКО на меленькие платформы. Позволяет преодолевать небольшие высоты (до 30 - 50 метров). Маневренность низкая, скорость средняя, шумит средне.
в) Реактивные двигатели (для "самолетных" юнитов). Пока об этом особо не думал, для начала нужно с наземными разобраться.
3) Средства обнаружения:
а) Оптический модуль. Различные дальность, мощность, скорости и углы поворота/наклона. Может быть поражен/поврежден/временно выведен из строя при помощи "ослепляющих" боеприпасов.
б) Термооптический модуль. -//- Не обнаруживает юнитов с выключенными двигателями и не ведущих огонь. Позволяет отличать голограммы от настоящих юнитов. Может быть поражен/поврежден/временно выведен из строя при помощи "ослепляющих" боеприпасов.
в) "Радиодетектор". Обнаруживает действующие на прием/передачу радиостанции. Чем мощнее детектор и чем ближе он к радиостанции, тем точнее будет определено ее местонахождение. Может быть обнаружен другими детекторами.
г) Аудио-модуль.
Все модули обнаружения умеют обнаруживать только отдельные модули. К примеру, аудиомодуль может определить тип средства передвижения и тип стрелково-пушечного вооружения (по звуку выстрела), но лазерный излучатель и тип платформы определить не сможет.
4) Средства маскировки:
а) Камуфляж. Снижает вероятность обнаружения оптическими модулями на больших дистанциях.
б) Ваши варианты? Реквестируются советы специалистов по современным и перспективным средствам поражения и защиты техники.
5) Средства зашиты.
а) Броневой модуль. Броня - она и есть броня.
б) Активная броня. Перехватывает вражеские ракеты.
в) Противокумалятивный экран.
г) Ваши варианты.
II. Программирование.
Программирование пресетов может быть реализовано двумя способами:
1) Встроенный язык программирования.
2) "Конструктор" алгоритмических болк-схем (более понятный и дружественный вариант)
Пример программы на псевдо-языке.
ПОДПРОГРАММА ОПТИЧЕСКИЙ
МОДУЛЬ1
СКОРОСТЬ_ПОВОРОТА = 100 {% от максимально возможной, естественно}
СКОРОСТЬ_НАКЛОНА = 100
(БЕСКОНЕЧНЫЙ ЦИКЛ)
(БЕСКОНЕЧНЫЙ ЦИКЛ)
ЕСЛИ (ОБНАРУЖЕН МОДУЛЬ)
ТО ОПРЕДЕЛИТЬ ТИП (МОДУЛЬ) {определить тип обнаруженного модуля}
ОПРЕДЕЛИТЬ ПРИНАДЛЕЖНОСТЬ (МОДУЛЬ) {принадлежность к своей/вражеской стороне определяется по количеству уже имеющихся и обнаруженных модулей подобного типа на своей/вражеской стороне (функция может быть дефолтной/откорректирована пользователем)}
ОПРЕДЕЛИТЬ СОСТОЯНИЕ (МОДУЛЬ) {включен/выключен и наличие повреждений}
ЕСЛИ ПРИНАДЛЕЖНОСТЬ (МОДУЛЬ) = 1 {если модуль принадлежит противнику}
ТО ПЕРЕДАТЬ (ТИП (МОДУЛЬ), ПРИНАДЛЕЖНОСТЬ (МОДУЛЬ), СОСТОЯНИЕ (МОДУЛЬ), РАДИОСТАНЦИЯ) {передать данные о модуле радиостанции} {в данном случае передаются сведения только о вражеских модулях}
(КОНЕЦ ЦИКЛА)
ПОВЕРНУТЬ (1) {повернуть на 1 градус по часовой стрелке}
НАКЛОНИТЬ (-1) {наклонить на 1 градус вниз (данная программа написана с ошибкой, после наклона до минимального угла команда будет игнорироваться)}
(КОНЕЦ ЦИКЛА)