User Tools

Site Tools


nm:gameplay:mechanisms_system

Механизмы

Классификация сущностей

Здесь описаны виды сущностей игры, интересных с точки зрения механики, и составляющий собой игровой мир. Можно определить игровой мир как сумму сущностей игры.

Планета (ландшафт)

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

Предметы

Предметы в игре, это свободно лежащие в мире объекты, внутренняя структура которых либо тривиальна, либо безразлична нам. Максимальный размер предмета равен сечению Конструктора Зданий (2.0м), чаще всего предметы вписываются в диаметр Конструктора Машин (0.5м). Любой отломавшийся кусок машины или здания можно считать предметом, он отдаётся во власть игровой физики и в принципе его можно удалять из игры через некоторое время. Предметы имеют вес, и чаще всего от таков, что игрок может взять предмет и переместить его куда ему надо. Если предмет является фрагментом конструктора, можно его использовать в этой роли, если нет - можно положить в контейнер предметов или бросить в топку.

Конструкционные детали

Каждая сущность физического мира игры условно состоит из “оболочки” и “начинки”. У здания в роли оболочки выступают стены, а у машины - детали корпуса. Технически, никакой разницы между корпусом и рамой нет, вся машина состоит только из конструкционных деталей (“КД”) и механизмов (описаны ниже). Конструкционные детали, не прикреплённые к какому-либо объекту являются предметами и могут быть перемещены или уничтожены.

Корпус машины либо стены здания, всё что сложено из КД, придаёт объекту жёсткость, и при этом совершенно не обязательно для функционирования объекта. Однако если вынуть из машины раму и попробовать на ней ехать, то обнаружится что уехал только двигатель с колёсами, разорвался канал управления машиной и она превратилась в бесполезный набор мусора на ландшафте. <note important>Тут важно придумать, в какой момент этот мусор можно за-decay-ить</note>

Механизм

Некий объект, внутреннее устройство которого сложно, но закрыто для нас. Чёрный ящик, на входах и выходах которого находится строго фиксированный объём параметров. Примеры механизмов:

  • двигатель танка
  • пушка
  • дверная петля
  • компьютер.

Механизмы реагируют на внешние воздействия и могут ломаться, поломки условны, то есть что там внутри сломалось мы не знаем, просто механизм теряет свою функциональность - полностью или частично. Для каждого механизма прописываются свои сценарии поломки, например, двигатель может терять в мощности, периодически или разово глохнуть. Сценарий может выбираться случайно, или в зависимости от типа воздействия на механизм. Например ЭМ-импульс перезагружает компьютеры, а взрывная волна просто их ломает.

Таким образом, каждый механизм имеет свой уникальный набор состояний и правил смены этих состояний. Игроки могут определять эти состояния и “чинить” механизмы в некоторых из них. Каждый механизм имеет состояние “хлам”, в котором починка его невозможна.

Модуль

<note>Под вопросом (идея из Косморейнджеров)</note> Некоторые механизмы настолько малы, что текущий масштаб конструктора (0.5м) не позволяет их отображать. С другой стороны, есть сильное желание сделать механизмы настраиваемыми. Предлагается следующий подход: каждый механизм, являясь “чёрным ящиком”, а точнее - затекстуренным кубиком, имеет несколько составных частей. Увидеть их нельзя, но вынуть-заменить - вполне. Когда такая часть вынута, она является предметом в руках игрока, когда установлена в механизм - её не видно. Можно привести довольно много примеров, где такой подход сработает:

  • программное обеспечение компьютеров (предмет “дискета”)
  • детали скафандров (эльфийская оптика третьего уровня, баллон с запасами кислорода)
  • масляный фильтр двигателя
  • обойма для любого оружия, в том числе и ракета
  • элементы питания, прочие расходники

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

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

Машина

Сложный объект, включающий в себя один или несколько механизмов. Понятие машина условно, оно нужно нам для удобства, так как именно с машинами в первую очередь взаимодействует игрок. Как правило, машина имеет некий единый интерфейс управления, прослойку между механизмами и пользователем. Например, механизм управления автомобилем берёт на себя функции дифференциала, то есть игроку предоставляется возможность крутить руль, а интерфейс управления знает, что такую команду надо трансформировать в поворот передних (или задних) колёс.

Интерфейсы управления по сути являются механизмами и могут быть довольно сложными. Они должны настраиваться на ту или иную конкретную реализацию предназначенной им машины. Например, интерфейс управления автомобилем должен пережить, если ему вручат автомобиль 6 колёсами и объяснят, что передние 4 колеса рулевые. В данный момент это, наверное, самое сложное место в игре, вероятно придётся хорошенько поломать голову над ним

Технологически, любая машина должна предоставлять доступ ко всем своим механизмам. Говоря русским языком, у машины должен открываться капот. Если создатель машины забыл выполнить это условие, машина работать будет, однако у игрока могут случиться трудности с ремонтом такой машины в игре. Есть идея изготавливать ЛЮБУЮ машину с изобилием технических лючков, снимаемых деталей и прочей полу-декоративной мишуры. Механика игры позволяет ездить с открытым капотом и даже с частично снятой обшивкой на любой технике, а физика игры обеспечивает увеличение уязвимости механизмов, если эти защитные поверхности убраны. здесь тоже надо крепко подумать

Воздействия и прожектайлы

Взрыв ракеты может порождать один или несколько следующих эффектов:

  1. разлёт поражающих элементов (прожектайлов)
  2. ударную волну (прямую или обратную, типа вакуумных боеприпасов)
  3. электромагнитную волну
  4. термическую сферу
  5. вспышку света
  6. нейтронное облако (облучает предметы)

Все эти воздействия описываются либо на языке объектов-прожектайлов, которые трассируются как мгновенные лучи, либо на языке полевых воздействий. При чём поле может быть как мгновенным (ЭМ-волна), так и продолжительного действия (ударная волна). Выбор того или иного механизма диктуется особенностями реализации игровой физики, например, ударная волна должна “тащить” объекты за собой и поднимать пыль, а от ЭМ-волна нам нужна только что бы испортить электронику в зоне действия, и здесь хватает единоразового воздействия.

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

Оружие

Машины

Скафандры

Оружие

Оружие - подвид механизмов, который можно иногда рассматривать как отдельный объект. Это не имеет смысла, если мы говорим о танковой пушке, но как только нам нужно выдать солдатику винтовку, становится понятно, что оружие лучше выделить в отдельный класс сущностей. Однако более общий случай - установка на технику, и там между оружием и другими агрегатами (двигатели, колёса) особых различий нет.

Типы

Каждый тип имеет свои преимущества и недостатки. Всего типов три, и в каждом два подтипа, один “классический”, второй - попытка устранить недостатки своего типа, приобретя некоторые черты соседнего типа.

  • Кинетическое:
    • на жидком порохе (классика: слабая точность и дальность, но высокий относительный урон)
    • рельсовое (похоже на энергетическое: жрёт батарейку но точнее и дальнобойней )
  • Энергетическое:
    • лазерное (классика: сильно зависит от энергосистемы, греется, легко гасится щитами. Однако лазеры точны и не требуют носимого боезапаса)
    • плазменное (похоже на ракетное: сгусток плазмы легче проходит щиты и наносит больше ущерба. Цена тому - ужасная точность)
  • Ракетное:
    • наводящееся (классика: проблемы с носимым боезапасом и ценой выстрела, уязвимы к РЭБ, требуют захвата цели. В плюсе - высокий урон, высокая потенциальная точность, низкая зависимость от энергосистемы и отсутствие перегрева)
    • ненаводящееся (похоже на кинетическое: плевать на РЭБ и не нужен захват цели, в прочем точность резко падает. Всё те же проблемы с боезапасом)
Форматы (размеры)

Всё оружие делится на классы по массе (размеру). Каждая машина или персонаж, скафандр или орудийная башня, имеет слоты-крепления для оружия, и ставить туда можно только оружие своего класса. Всё оружие одного класса имеет одинаковые габариты, хотя могут быть небольшие визуальные различия в размерах исключительно из соображений эстетики.

  1. Ручное оружие (до 10кг): пример - автомат Калашникова. Такие пушки могут носить любые персонажи, даже “гражданские боты”. На технику такое оружие никогда не устанавливается.
  2. Малый формат (до 100кг): пример - 20мм пушка. Такие пушки недоступны обычным персонажам, но могут крепиться на боевой скафандр штурмовой пехоты. Основное место применения - лёгкая боевая техника, авиация, лёгкие стационарные турели (помните фильм “Чужие”?).
  3. Средний формат (до 1т): пример - 75мм пушка. Ставятся на наземную технику, на тяжёлую авиацию и в башни обороны.
  4. Большой размер (до 10т): пример - 150мм гаубица. Ставятся на крупнейшие экземпляры наземной техники и в башни обороны.
  5. Корабельный формат (до 100т): пример - 425мм корабельное орудие. Для планетарных боёв применение бессмысленно, ставяться на крупные космические корабли или как главный калибр орбитальной защиты.

Примечание: на космической технике применяются форматы, начиная со “среднего”.

Наземные машины

Летательные аппараты

Башни обороны

Здания

Космические корабли

Космические корабли различаются только по количественным параметрам: у них одна область применения, и, хотя размеры, и даже функции кораблей могут сильно разниться, суть у них одна. Космические станции, являясь частным случаем кораблей, лишаются некоторых функций. Космические истребители и москитный флот вообще не относится к космическим кораблям, а считается разновидностью авиации (см. “летательные аппараты”)

Роль и функции

Функции космических кораблей:

  • перемещаться в космическом пространстве, в том числе и в гиперпространстве
  • летать в атмосфере и садиться на поверхность планет. Особо крупные корабли испытывают трудности с заходом в атмосферу, но принципиальных ограничений нет
  • вести космический бой с другими кораблями

Характеристики

Характеристики корабля складываются из характеристик его механизмов, навыков экипажа и свойств корпуса корабля (массы, балансировки и пр.). Характеристики часто связаны между собой, например чем больше масса корабля, тем лучше он держит курс, но медленнее поворачивает.

Основные механизмы

  • система ориентации:
    • гироскоп
    • маневровые двигатели
  • система движения:
    • маршевый двигатель(и)
  • энергосистема:
    • реактор
    • система охлаждения реактора
    • накопитель энергии
  • навигационная система:
    • радар
    • масс-детектор
    • навигационный компьютер
  • посадочная система:
    • атмосферный щит
    • антиграв
    • посадочные опоры
  • система жизнеобеспечения
    • рециркулятор
  • вооружение
    • орудийные слоты
  • защита
    • электромагнитный щит
    • блок РЭБ

Каждый механизм имеет следующие параметры:

  • габаритные характеристики
  • массу
  • энергопотребление (редко - нулевое)
  • устойчивость к воздействиям (прочность)
  • надёжность и сценарии поломок, трудность ремонта
Гироскоп

Служит для стабилизации и прецизионного ориентирования корабля. Устанавливается только в крупные суда с низким коэффициентом управляемости.

Двигатели

Разгоняют судно и поддерживают заданную скорость. Так как у нас особая, неньютоновская физика, то тормозит корабль сам. То есть с выключенным двигателем, корабль теряет скорость и останавливается. Реализм - фигня (ц).

nm/gameplay/mechanisms_system.txt · Last modified: 2022/04/07 13:13 (external edit)