Есть такое желание.
Эх, ладно, пусть будет многабукаф моих хотелок...
Сначала можно пощупать, например,
вот это. Небольшое пояснение: ВСЯ модель байка "физична". Т.е. нет манипуляций с позицией/поворотом напрямую, идёт очень сильное колдунство с силами, вращающими моментами и немного шаманства со смещением центра тяжести (а фигле, гонщик на мотоцикле тоже пузом туда-сюда шатает). Это было сделано примерно за 50 часов (48 часов конкурса + 2 часа на пост-конкурсный наброс всяких партиклов, звуков выстрелов...). Сон включён.
Дальше, у меня весьма обширный опыт построения "мягких" коллайдеров с использованием сферокастов. Сферокаст - это как райкаст, только сферой. Таким способом можно очень быстро (почти бесплатно) получать аппроксимацию ландшафта под персонажем.
Из наработок имеется контроллер персонажа, умеющий принимать на вход произвольное количество "ног" и на них стоять и ходить. Ноги "мягкие", легко и послушно себя ведут на всяких лестницах, неровностях, прочем.
Вот и получается, что мы будем брать эти самые эффекторы, пихать их в объект глайдера в качестве пивотов, из этих пивотов пускать сферы для получения информации (дистанция + нормаль), по полученной информации к этим пивотам прикладывать силы.
Ещё из наработок есть система, позволяющая собирать способом навешивания на ключевые точки различных модулей (у которых тоже есть ключевые точки, на которые тоже навешиваются различные модули, у которых тоже есть ключевые точки... You get the idea) всяческие вундервафли. Эта система умеет в посчитать центр масс, максимально возможные ускорения латеральные и трансверсальные (грубо говоря, всё, что в локальном горизонте вундервафли), терминальные ускорения (это когда вафля, по причине резкого ускорения, начинает саморазбираться)... Модули, упоминавшиеся ранее, могут получать питание в полном объёме или урезанном, перераспределение энергии уже тоже имеется. Пропорционально падает максимальная тяга двигателей, например. А ещё эти же модули умеют греться, и распространять тепло на свой родительский модуль и дочерние. И остывать.
Что я буду сюда накидывать:
1. Антиграв с произвольным количеством эффекторов. Направление силы антиграва, скорее всего, будет средним между глобальной вертикалью и нормалью поверхности.
2. Систему управления, которая будет принимать от игрока дёргания мышкой и решать, как в итоге должен быть повёрнут глайдер. Хочется в физику глайдера намешать чуть больше "самолётности" - крены при поворотах, планирование, по желанию - бочки и перевороты. И хочется немножко космосимности, чтобы на некоторых, особо вёртких глайдерах, можно было крутануться на 180 градусов без сильной потери скорости, и, летя по инерции уже задом вперёд, напихать в морду обидчику свинца, или что там в арсенале заваляется.
3. Систему стабилизации. А это уже чуть-чуть интереснее. СУ будет контролировать, так сказать, "виртуальный фрейм", т.е. идеальное положение глайдера (сферическое и в вакууме) исходя из ввода игрока. А вот задача СС - это как раз играться с тягой двигателей, интенсивностью эффекторов антиграва и управляющими поверхностями, чтобы приблизиться к "совершенству".
4. Для того, чтобы СС заработала, во-первых, как надо, а во-вторых, с выбросом множества приёмов, манёвров и тактик, нужно реализовать две вещи соответственно:
4.а. Систему с обратной связью и памятью. Т.е. на каждую деталюшку, которая может повлиять на полёт глайдера, будет целый ворох коэффициентов, как то: влияние на крен, влияние на тангаж, влияние на рыскание, влияние на стрейф влево, влияние на стрейф вправо, влияние на торможение, влияние на разгон... Много их будет. И флоат-параметр управления, от -1 до 1. И задачей СС будет дёргать этот параметр управления и смотреть, как глайдер себя ведёт. Если сильно не так, как предсказывалось - поправлять коэффициенты. Таким образом убиваем жиииирного такого кроля, скрывающегося под именем "реалистичная модель повреждений". Отстрелили эффектор - СС будет стараться как-то это компенсировать, лихорадочно дёргая за разные ручки.
4.б. Аэродинамику. Вот тут дальше каких-то контурных идей не ушло. Принципиально, есть два подхода: нечестный и нечестный. Первый заключается в том, что мы считаем скорость потока воздуха исходя из скорости и поворота глайдера, в локальных для глайдера координатах, и исходя из этого получаем углы атаки для управляющих плоскостей, и эффективность для воздушных тормозов. Глайдер в таком случае считается аэропрозрачным, т.е. даже если крыло плотно закрыто всяким мусором и фюзеляжем от набегающего потока воздуха, оно всё равно даёт подъёмную силу. Второй же - путь наркоманов, ибо предполагает какой-то рассчёт плотности воздушного потока для каждой управляющей поверхности, что в свою очередь требует рассчёта давлений (зон повышенного/пониженного давления), чтобы из них уже можно было посчитать, как модифицируется общий для глайдера поток. Угадайте, является ли ваш покорный слуга нормальным человеком? :D