За весь день удалось пробить затыку с отправкой эвентов и информации с клиента на сервер. С сервера на клиент все как по маслу, а вот обратно.... Но удалось. Правда механика тут же входит в зацеп с игроками, их контроллерами и прочее сложное.... Так что в ближайщей перспективе - создание примитивного логина и учеток, для полноценной имитации игроков. Точнее даже не имитации... а возможности полноценного сетевого доступа с нескольких клиентов...
Вот уже чтот-то. Кораблик летит к Меркурию, что видно из его информации, бортовой номер 156, скорость в км\с и ускорение в м\с. Зелёный треугольник - маркер самого кораблика.
Удалось наконец освоить интерфейсные заморочки почти до конца. В звездной системе теперь планеты подписываются, у корабликов тоже всякое полезное. В том числе выпадающие меню и прочее.
Продолжаю отладку алгоритмов автопилота. Ввёл зеркальное отражение вектора тяги при торможении. Проверяю. На картинке можно увидеть плановую траекторию, Землю и часть её орбиты, орбиту Венеры и орбиту Меркурия, которая наклонена. Над солнцем серый шар - не обращаем внимания )))
Что мы тут видим? Солнце, орбиту Меркурия и сам Меркурий, орбиту Венеры и за ней, слева, немножко орбиты Земли. Кораблик около солнца рисует свой актуально намеченный курс на Юпитер.
Сегодня в процессе доводки алгоритма полета корабликов он был почти весь выкинут и создан с нуля. Сделана куча доработок, ибо по ходу повсплывало всякого. И ошибки в расчетах, и кривые тайминги начала работы разных модулей игры, ну и по мелочам.
Теперь прицел навигации ставится не на планету, а на точку, где она будет. Для этого кораблик расчитывает движение планеты по орбите, во всей его нелинейности.
Набросал основу модулей корабля. Жизнеобеспечение, энергия, маневровые движки и т.п. Думаю что успею сегодня "оживить" и создать архитектурку работы всего этого добришка.
Визуализация планет уменьшена в 10 раз. Хотя если делать масштаб как есть, они будут размером в несколько пикселей. Посему они сейчас значительно больше настоящих, а в перспективе будут скалироваться в зависимости от положения камеры. При этом математика полета, скоростей и дистанций вполне натуральна. И для приземления нужно математически подлететь к тем самым пикселям, хоть шкурка и значительно больше.
Сегодня кораблики летать не научились. Ковырялся пол-дня с нашим интернет магазином. А вторые полдня ловил ошибку возникшую при переделке функций вчера. Резко поломалось движение планет и рисовка орбит. Понятно что дело в функциях, но где? В какой? Какая переменная косячит?
Локдаун конечно зло для нашего бизнеса, но временное закрытие магазина высвободило время, которое я интенсивно трачу на Эксодус. Я ежедневно работаю минимум по 8 часов над проектом.
Парад планет. Скромненько. Невзрачненько. Безтекстурненко. НО!!! Планеты движутся в скорости симуляции игры. Даже Плутон. Планеты движутся строго по реальным астрономическим данным. Расстояния в масштабе и по результату, у нас запас до 750 астрономических единиц. У планет рисуются орбиты. Все это рисуется автоматически алгоритмами исходя из 6 цифер в эксель файле. Т.е. сейчас нарисовать любую другую систему - это поменять 1 цифру в загрузчике. Собственно указать номер системы по каталогу HYG. И если мы туда данные уже напихали, нарисуется система с планетами. Следующий шаг - привинтить луны (большая часть уже готова), и запустить туда кораблики с базовым функционалом к полётам, посадкам и т.д. Ждите апдейта скоро!