Идея для игры с полным управлением мечом (и не только)

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

  1. В любом случае дергание мышкой мало похоже на реальное управление мечом, так что от прямого соответствия движений мыши движениям меча стоит уйти как можно дальше в сторону понятности и удобства.
  2. Это чем-то должно быть похоже на gestures из браузеров.
  3. Курсор должен быть виден.
  4. Поворачивание камеры и персонажа не должно мешать управлению мечём
  5. Должна быть возможность осуществлять удары со сложными траекториями
  6. Должна быть система клавиш модификаторов по типу быстрый удар, сильный, лжевыпад и т.п.
  7. (а теперь немного из области геймплея)
  8. Нельзя давать персонажу возможности осуществлять удары слишком часто
  9. Можно ввести элементы прокачки, что бы раскидывать параметры между скоростью персонажа, силой персонажа и т.п.
  10. Неплохо иметь систему макросов, когда какой-либо скрипт(в котором можно было бы использвать как существующие gestures, так и вообще в специальном редакторе задавать сложные траектории меча) можно привязать к конкретному gesture

Решение для пунктов 1-4. Трудно совместить и возможность нормально управлять мечом с помощью видимого курсора и возможность свободно поворачиваться, так что для WSAD желательно оставить еще и QE на поворачивание. Еще желательно ограничить окно в котором курсор работает как курсор, т.е. на определенной части экрана ограниченное рамкой курсор виден и не поворачивает камеру, а при подходе к границам рамки начинает поворачивать камеру(как в 3D стратегиях), хотя не факт, что идея с таким окном это хорошо(такое надо проверять на практике). Ну и для удобства навигации вне боя, можно сделать это окошко существующим лишь в фехтовальном режиме, который можно включать и выключать какой-то кнопкой

Пункты 5-6 вполне могут дополнять друг друга, так напрмер любое движеие можно сделать частью какого-то удара если например задать условие, что нажатие клавиши Alt при gestures левой кнопкой мыши приводит к тому, что они делают не удары, а просто движения мечом.

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

Пункты 7-8. Должно быть что-то вроде stamina, при чем кратковременная и долговременная. Кратковременная быстро тратится и быстро восстанавливается. Если она заканчивается, то удары наносятся слабее, медленнее и долговременная stamina при этом начинает тратится быстрее. Долговременная - практически тоже самое, до должна быть для того, что бы персонаж не мог часами одинаково хорошо сражаться.

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

Данную систему, кстати, можно прицепить не только к фехтованию мечом, но и к другим схваткам ближнего боя, лишь система gestures будет менятся.

Но для меча таки стоит что-то придумать, например такое(с мечом я обращаться не умею, так что придумаю что-то самое простое, а может еще и тупость где-то напишу):

LMB gestures(для левой кнопки мыши): при зажатом Ctrl — aggresive mode(более сильный удар), при зажатом Alt — easy mode(слабые удары, экономящие силы удары); (быстрое двойной нажатие на Alt или Ctrl приводит к постоянному использованию одного из двух режимов, или к выключению этого режима, если он уже включен)
  • более-менее прямая линия — просто нанести удар, замахиваясь соответственно с направления начала линии;
  • click — колющий удар;
  • зигзаг — провести ложный удар;
  • Спираль/часть круга — провести колющий удар и после попадания попытаться прорубить плоть в направлении конечной точки gesture.
RMB gestures(для правой кнопки мыши): подсвечивается полусфера(*), и gestures рисуются на касательной к ней плоскости.
  • более-менее прямая линия — меч будет расположен вдоль линии;
  • click — гарда меча будет у точки нажатия, положение как персонаж(скрипт) решит;
  • зигзаг — меч будет расположен между двумя более менее параллельными друг-другу линиями, при этом блок будет более "устойчивым";
  • часть круга переходящая в линию — меч будет расположен вдоль линии, блок будет "неустойчивым";
  • клавиша Ctrl - радиус увеличивается, но активная часть уменьшается;
  • клавиша Alt - радиус не меняется, но сама сама полусфера сдвигается ближе к игроку, активная часть уменьшается.
MMB — track mode (Средняя кнопка мыши): подсвечивается полусфера(*), и острие меча двигается за курсором;
  • клавиша Ctrl - радиус увеличивается, но активная часть уменьшается;
  • клавиша Alt - радиус не меняется, но сама сама полусфера сдвигается ближе к игроку.