Проблемы с производительностью 3D сцены создавшие низкий FPS привели к переключению внимания на
интерфейс и создание стартового меню, так как вопрос 3D сцены и ее оптимизации требует глубокой
технической работы с неопределенным результатом, который сложно оценить по времени, потребуется
проработать сложную модель предсказаний для каждого флота и любого 3D объекта на предмет
его вероятности влета в область видимости камеры, и осуществлять подгрузку 3D графики в сцену
порциями распределив их по каждому FPS, разумеется речь не о загрузки с HDD/SSD, это
происходит один раз при загружке игры, дальше все
происходит внутри RAM памяти, т.е. если группа кораблей обладает вектором полета к
точке где находится камера наблюдения за сценой, то вся группа кораблей делится на порции по 1-2 корабля
или больше, распределяется план загрузки 3D моделей по будущим FPS по немногу каждый кадр и постепенно загружается их графика в движек игры, т.к.
внутри exe файла есть облать памяти программы без графики и область памяти графического движка, внутри
памяти движка есть загруженные в него модели и картинки которые можно раскопировать в определенную
секунду много раз и разместить в разные места сцены используя данные координат из остальной не гарфической части программы, если вдруг
эти корабли действительно прилетят в область видимости камеры они сразу будут отображены на экране, при этом если кораблей 50 сразу, то небудет
просадки FPS в эту секунду т.к. их загрузка происходит простепенно и незаметно, но при этом на 100% неизвестно нужны будут эти объекты в сцене или нет,
если же нет, память движка постепенно чистится от лишней не используемой графики т.к все что загружено в память
программы движка потом целиком грузится на видеокарту каждый FPS всем комплектом для вычисления картинки без
различия надо это показать на экране или нет, то система предсказаний и постепенной подгрузки графики позволит
целиком высвобождать область памяти видеокарты от всего что ненужно и загружая только необходимую грфику в память, это позволит не содержать в памяти движка множество
моделей разом а плавно загружать и выгружать их в процессе позволяя повысить FPS в сочетании с
экономией числа треугольников у моделей при их создании, другой
способ не менять движек это ввести туман - множество астроидной и межзвездной пыли в системах
что бы ограничить видимость только системой звезды однако пока непонятно как это будет смотрется. Но пока
этого еще не сделано теория
фантастики и создание 2D интерфейса могут продолжаться, для отработки технологий на
практие в какой-то момент возникла идея создать параллельную ветку проекта с 2D сценой системы и
звезд, не отказываясь от 3D сцены которая уже во многом создана, создав ответвление в разработке но
упрощать идею до такой степени пока все же нет желания.
Первый набросок интерфейса экрана выбора стартовых фантастических технологий получился сначала примтивным, какие-то прямоугольники повсюду внутри которых квадратные иконки технологий со стрелочками их переключения для выбора. Выглядело это года из 1997-го наверное тогда такое делали. Вскоре оказалось что иконки слшиком малы для вмещения в них разных технологий - 32x32 позволяли отобразить различимые технологии если они были разного цвета - при одном цвете разные технологии требовалось делать разного размера - и много таких размеров в иконку не помещалось, пришлось иконки увеличить до 40-50 пикселей, выше было нельзя так как для совместимости с разрешением 1366x768 более крупные чем 40-50 точек заставляли уменьшать верхнее меню настроек а оно было в порядке по размеру и уменьшать его нельзя. Укрупнив иконки потребовалось убрать все лишнии элементы интерфейса не несущие функции - смотреться стало лучше, и получилась версия экрана интерфейса стартового выбора технологий номер 1.5.
Разные виды разумных существ способных выйти в космос своими характеристиками должны влиять на число уже завершенных исследований и проектов в разных направлениях науки, так если вид населения агрессивен на уровне инстинктов то он будет обладать +1 технологией в области оружия на старте, если в дополнение к этому цивилизация имеет милитаристкий уклон то еще +1 исследование в области военных технологий будет доступно. С другой стороны сильно агрессивные и милитаризованные цивилизации будут иметь меньше шансов на хорошие отношения со встреченными цивилизациям.
В итоге интерфейс выбора стартовых технологий оказался достаточно сложным для тех кто может играть в космические стратегии впервые, слишком много выбора. Правильно настроенные технлогии перед стартом могут дать существеные преимущества перед их относительно случайным распределением в сочетании с заранее спланированным стилем игры, в то же время не продуманно выбранные фантастические технологии могут привести к очень быстрому поражению, невозможности вылета за пределы системы на старте, полному отсутствию оружия в сочетании с хищнеческой цивилизацией которая может случайно оказаться прямо в соседенй системе на старте и различным подобным ситуациям. Поэтому для первой игры предполагается ввести блокировку на выбор стартовых технологий и разблокировать этот экран настроек толькоп после 2 сыгранных игр которые должны пройти в некотором стандартном старте т.е. при первой игре должны быть технологии вооружения обязательно, технологии межзвездных полетов (иначе игрок небудет понимать что ему делать в системе из которой нельзя никуда полететь), и технология колонизации с наличием уже построенного корабля-колонии. После пары таких игр доступ к настрокам стартовых технологий разблокируется и можно будет распределять очки цивилизации между преимуществами рассы/вида, наличием передовых технологий или их отсутствием и уровнем развития планеты и т.д. для ограничения доступа к этому функционалу для первой игры будет существовать профиль игрока с учетом накопленного опыта для разблокировки некоторых опций, доступ к профлию игрока будет в главном меню. Это сделает обучение интерфейсу более мягким для начинающих игроков что бы избежать моментального выхода из игры из-за непонимания что делать в ней в самом начале. Поэтому в первые две игры должны быть обеспечены технологии для того что бы суметь и защищаться и летать по космосу (лазеры, пушки, ракеты, термоядерный рекатор, межзвездный двигатель, колониальный корабль, технология военных кораблей и т.д.) иначе может возникнуть ситуация когда игрок откажется от технологий каких-либо редактируя их на старте а в систему вскоре прибудут противники и возьмут планету в блокаду, если такие окажутся по соседству и первая же игра окажется проигранной тут же не позволив толком ничего понять. А получив опыт игрок уже будет решать сам что ему нужно в самом начале оценив что опыт у игрока некоторый уже есть доступ к настраиваемому старту можно разблокировать. С другой стороны преднастроенный старт фантастической игры дает опытному игроку преимущества перед другими игроками в среднем поэтому при отказе от генерируемой цивилизации и ее созданию в ручную будет штраф распределяемых очков цивилизации, например компьютерные цивилизации получают 1000 очков распределения, а игрок если хочет сам настроить стартовые особенности получает например -300, для балансировки возможного полученного преимущества (отказ от разнообразия продовольствия в пользу вооружений, отказ от богатства планеты в пользу генетических преимуществ рассчитывая на быструю колонизацию крупного мира и создания там солицы и как следствие сборос игры если рядом нет хорошей планеты для рестрата - получается что игры при плохой генерации небудет, а при хорошей получается мощный бонус - что бы этого небыло при игре за настраиваемую цивилизацию очков распределения должно быть меньше чем то их количество которое в среднем распределяется при случайном старте, тогда при существенном перекосе выбираемых стартовых настроек из рассчета быстро заселить новый крупный мир, даже если такой будет сразу обнаружен, настраиваемый старт за счет общего сниженного числа распределяемых очков небудет иметь слишком сильного перевеса в особенностях настроенной цивилизации перед остальными.)
Полного контроля над технологиями при настраиваемом старте все равно небудет, выбираются только технологические эпохи, на которые ориентирована наука цивилизации до начала управления ей, например оборона планеты, на каком уровне технологий находится, а уже конкретный облик оружия и его характеристик будет виден только после начала игры - и он будет сгенерирован на основе особенностей условий на планете и других т.е. финальный вариант чем оснащена цивилизация будет виден только после старта игры.