Fantastika

UFO

Дополнение

SCI-FI

XENO | 2.5D реализация и требования к ней

Конечно, можно это все решить, но потребуется коммерческий 3D движек и различные специалисты, и в рамках существущих воможностей это крайне сложно сделать. В результате что бы не отказыватся от 3D реализации, в коде программы проекта игры решено сделать 3 подпрограммы, внеся трехмерную реализацию в первую область кода, и сделать переключение на еще 2 области кода. 1 - 3D реализация по изначальному проекту полной трехмерной галактики. 2 - Тактическая слойка с упрощенной графикой. 2 - 2.5D как наиболее простая в реализации 3D моделей летающих в 2D плоскости. Должна быть играбельность, а значит быстро и плавно всегда, иначе играть в это никто небудет. Много вычислений это вычислительный сервер, он платный, при игре онлайн 50-80 игроков в сутки он не окупится по затратам. Значит нужна 2.5D реализация.

Можно развивать все 3 направления выделив переключение кода внутри файла в три области подпрограмм из стартового меню, и продолжить разработку других модулей таких как наука и исследования в игре, не останавливаясь целиком из-за пробуксовки в производительности графики а продолжать практическое проектирование в более простой ветке разработки - с 1 источником света, с отсутсвием глубины полета что не позволяет заполнять экран бесчисленным множеством кораблей и астероидов тормозящих FPS.

Предварительная оценка коммерческой реализации 2.5D игры почти никакая, AI GPT выдал список уже существующих подобных игр по их известным или предполагаемым бюджетам на затраты, численность разработчиков и дизайнеров, объем выручки и предполагаемый остаток, если поделить его на число владельцев игры в итоге и пересчитать валюту на рубли и Российские зарплаты программистов, получается что оставшийся доход от подобного вида 2D стратегии в месяц при пересчете на затраченные годы на разработку без дохода (предполагается что их нужно компенсировать некоторой суммой т.е. оплатой в пересчете на месяц потом уже после результата от продаж игры) на каждого, ниже, чем зарплата программиста в какой-нибудь торговой компании по продажам бытовой техники, ноутбуков или еще чего-либо где нужно писать код сортировки товаров и анализу таблиц продаж считывая данные запросами из базы данных разного торгового софта, бухгалтерии или мобильного приложения. 3D пользуются спросом более высоким, 2.5D - не очень. Так что занимающиеся их разработкой больше энтузиасты чем бизнесмены в итоге, поэтому часто выходит часть 2 или даже часть 3, так как разработчики не всегда довольны экономическим результатом от затраченных первоначальных усилий, награда от продаж примерно похожих проектов AI оценил по их анализу как 2/3 от средних зарплат программистов в бизнес среде при пересчете чистого итогового дохода на затраченное время и численность владельцев прав на игру после ее выхода, сделав рассчет компенсации затрат по месяцам пересчитав их на годы разработки (получилось что при рассмотрении 2D игры, если конечно AI не ошибся, то по деньгам гораздо выгоднее должность программиста в торговой фирме чем разработчика такой игры, с 3D же оценка конечно совсем другая может быть и в 3 и в 20 раз более высокой - т.е. лучше.) Это то же предполагалось, и решение о конверсии в 2d максимально откладывалось ранее. Поэтому в exe файле будет выделено в коде 3 области, для разных реализаций, логика будет общая - код науки, код симуляции планет, список космических кораблей и генерация цивилизаций. Разной будет модель гравитации и физика движения, в областях кода 2 и 3 упрощено до простого освещение, а так же 3D модели каждого корабля и планет будут другой детализации, логика и события предполагаются одинаковыми, интерфейс и большая часть всей остальной графики и кода - общая для всех 3х реализаций.

2.5D конверсию необходимо чем-то оснастить дополнительно что бы усилить ее играбельные свойства что бы хотя бы частично компенсировать потерю глубины 3D пространства. Основные новые идеи:

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

Древний защитник планеты - в игре Master Of Orion были Гвардейцы, которые являются кораблями древней исчезнувшей цивилизации которые охраняют остатки империй на планетах, за пределы своих звед они не выходят и охраняют древний артефакт, напав на такого защитика игрок получал доступ к 1 из технологии древних. Можно сделать наоборот, запуск игры с условием что у империи подконтрольной игроку есть такой древний защитник, космический корабль созданный по набору пока временно недоступных или же вообще никогда недоступных (если в игре не сгенерировались нужные ресурсы или небыли сделаны нужные открытия в науках в процессе игры) древних технологий который установлен охранять планету и защищать цивилизацию на ней, в случае если старт происходит как цивилизации возникшей после падений предыдущей, выйдя в космос империя обнаруживает защитника который правда защищает только заданную планету от любых агрессоров или пиратов защищая находящиеся по близости от планеты корабли принадлежащей империи которую древний защитник считает объектом своей защиты или потомками древней цивилизации рухнувшей в результате какой-либо древней войны. Такой защитник не является неуязвимым совсем но дает большу фору на старте как оборонительный AI юнит на орбите планеты над которым у игрока нет управления. Космический корабль не покидает планету и не выполняет никакие приказы от игрока. Разобрать такой космический корабль для изучения нельзя - при попытке это сделать он ответит убедительной агрессией. Игровой баланс (что бы все не выбирали одну и ту же настройку или стиль игры/цивилизацию постоянно игнорируя все другие) это сильно нарушает, поэтому возможно такой старт приемлем не с первой игры, не сразу, или допустим как награда или что-то подобное, как опциональное дополнение - пока точно неизвестно как это будет.

Индикация свободных возможностей планет - У населения планет есть разные уровни содержания - затрат производства на товары и строительство, при низком содержании ниже и лояльность населения планет - ниже счастье, но выше свободный ресурс планет пригодный для затрат на науку, производство флотов. Этот уровень предполагается что можно будет или грубо или плавно регулировать, и будет отображаться объем производительных сил планеты свободный от выполнения обязательного минимума на ее нормальное существование. При очень выском уровне капитализма и рыночной экономики планета сама регулирует свои потребности а игрок может управлять производительностью планет направленной на реализацию задач империи через налоги, высокие налоги уменьшают выпуск разнообразной продукции и тормозят создание новых производств а налоги затем используются для военных целей и постройки флотов например. При смешанной экономике которая не совсем рыночная игрок при желании сам меняет распределение затрат планеты по секторам экономики например выделив 2 пункта под гражданские фабрики и 3 под постройку флота но тогда население будет не очень довольным например. И если получится экономия на гравитации то усилить частную торговлю и охоту пиратов на них, добавив разнообразия и логику таким кораблям сделав это направление более интересным.

Дописано спустя время: Запланировав начать разбивать проект на блоки кода внутри под 3 подверсии графики, полное 3D + 2 упрощенных варианта, были снова проверены цены на 2D - 2.5D игры, стало понятно что это просто не оправдывает потраченных усилий совсем, ценник слишком скромный, если оценить рекламные затраты на продажу 1 копии игры то выручка с ее продажи целиком пойдет на оплату ее рекламы, доход там видится за счет реализации через онлайн-магазины где такого расхода не требуется, и он не всегда внушает оптимизм и мотивацию - а скорее большие сомнения, особенно учитывая что это не первый проект в мире такой направленности + у космических RTS не самая большая аудитория - это не MMO RPG и не социально ориентированный проект где игроки с аватарками общаются друг сдругом управляя космическими кораблями и вступают в команды там в сутки 600-1200 игроков, в редких хитах на короткое время 10 000+ потом интерес спадает - а тут этого нет, для таких проектов как RTS которые не впервые выходят в мир в своей нише, после первой волны продаж которая призвана оправдать ожидания разработчиков, следуют достаточно быстро всего 80 игроков в выходной онлайн, в праздники 200, в будничый день 50 и зачастую многие из них это одни и те же игроки ото дня ко дню, сначала идет распределение по жанрам и типам игр, потом среди множества игр на одну тему (UFO, Future, War и кому какая тема внутри жанра больше подходит) - в таких случаях хорошо если будет окупаемость сервера и тех-поддержки, поэтому и выходят либо постоянные платные аддоны что бы поддерживать дальнейшую разработку либо компании закрываются. Первопроходцы при хороших технологиях разработки собирают основной интерес и доходы на этом, а идущие следом часто в 3, 4, 6 раз меньше сборов с каждой новой игрой (дробление аудитории на разные игровые проекты) и вероятно поэтому они массово и быстро и не появляются - бизнес оценивает затраты, рекламу, риски не попасть в онлайн магазины игр, сроки, аудиторию, видят что ниша занята несколькими крупными и несколькими небольшими проектами и отказываются от идеи т.к. никто кто делает такие анализы не подпишется под высокой аудиторией в плане на годы вперед по публичным данным пока что почти все случи такие что каждый новый проект приносит меньше денег чем прошлый при схожем уровне технологий реализации (качества).

Результатом стало продолжение работы над полным 3D, с целью добится эффективной работы от уже созданной сцены, за месяц интенсивного поиска решений были исправлены почти все артефакты кроме сбоев освещения/теней и производительности, неожиданно получилось многое сделать из того что неполучалось долгое время ранее, улучшая отдельные фрагменты кода это произошло вдруг само, если неполучится исправить оставшееся, то проект предполагается продолжить до демо версии, далее его можно будет транслировать на другой 3D движек - на этом этапе перенос между движками воспринимается уже как почти рутина, более того теперь когда стабилизировалась логика, было найдено подходящее решение для двигателей кораблей и понятно как должны работать основные механики по еще не реализованному функционалу, несколько раз оптимизирован код, не проблема и перенос кода между разными средами разработки - это все больше вопрос времени и желания, технических сложностей становится все меньше.