Важный разговор
Взять такой телефон на АлиЭкспресс
На Яндекс Маркете
Хотите больше информации? Пишите «Баня» на 89210628727
Хотите больше информации? Пишите «Баня» на 89210628727
Ладно, буду считать данный проект закрытым. Закрыл в билд, почистил проект. Баги остались, но там уже идет ювелирная ловля тараканов.
Что имеем:
-unigine довольно интересный движок. Графически. Материалы, ноды материалов, буферы всякие, настройки окружения и т.п. вплоть до ландшафтов, воды, облаков, постэффектов и т.п. есть где разойтись. Причём качество "из коробки" бесплатной версии - сильно лучше других монстров, в которые с ноги в разгон не залезть. А уж глядя на воду в анриале/юнити ...ненене.
- Да, сложно продираться в код, особенно пытаясь понять сложные системы не имея расширенных навыков и опыта программирования. Так, на коленках собирал. Особенно без гайдов, туториалов, примеров. Они конечно есть, и даже неплохие, но до массы юнити/анрила конечно далеко.
Личное сложности:
-накручивание игровых механик приводила к валу конфликтов. И необходимость както смешивать и балансировать. И добавление новой "плюшки" или не давало заметного эффекта, или руинило остальное. Нужно как то учится делать узкие специальные компоненты, а не смешивать в одну кучу. -И делать отдельные сборщики параметров. Банальная попытка контроля скорости переплеталась с модификаторами , попытками вывода, внешним воздействием и модулями, которые следили за скоростью и могли ее менять. В результате я сам терялся где что лежит.
-Нужно сразу думать о масштабировании. Если что-то создается как модуль, должна быть возможность, что этих модулей будет много. И разных. Попытка вставить огнемет - сработало. Поставил контейнер - сработало. Добавил ракетницу - и она конфликтует с огнеметом. И пытаться решить это почему то ломало контейнеры. А уж когда появились неснимаемые контейнеры, которые оказали воздействие на параметры..... Спасало только именно то, что баки были как одна из версий контейнеров. Путано? А это еще и кодом с сплошными условиями проверок.
-сделал часть, откатал, проверил - больше не трогай. Лучше вынести удобнее переменные для других компонентов, но не пытаться впихнуть в общую кучу разные механики. Я раза три переписывал некоторые части кода именно потому что они то разрастались , то переплетались, то вновь дробились. Или пытались стать "удобными" для всего.
-многое можно сделать разными способами. Гдето нужно одно, гдето другое. Тащить один и тот же "проверенный" способ конечно легко и понятно, но часто избыточно. У меня изначально каждый вагон лично следил за высотой над ландшафтом. И это приводило к перегрузке вычислений. Стоило отдать расчет только на "головным", а остальным просто "следовать ЗА" - как стало меньше расчета и выросла скорость. И уменьшить качество просчета ландшафта. Хотя тут двояко - быстрее то стало, а вот пролет через элементы ландшафта - появился. Упросить? Добавить к ландшафту отдельные элементы.
-нужно думать о визуале. Гдето спасает плотность сетки, гдето текстуры. Гдето оказывается все это избыточно, потому что нужно побольше частиц, а гдето нужны декали. А еще хочется удобный "тактический" графический интерфейс. И игровая зона должна быть не избыточной, а понятной и достаточной. Нет смысла в большой локации если хочется сделать больше динамики. Можно конечно накрутить всякие постэффекты, блюры, хдр и т.п. чтоб жгло через сетчатку внутренюю стенку черепа. Но опять же - быстро на коленке такое не делают.
-Сейчас по сути круг радиуса в 3км (карта 6х6км), на которой около 1000 рандомных обьектов в статике и около 800-1000 - динамически движущихся НПС. Даже за границами условной камеры. Движок конечно это тянет, но вот расчеты изменения положения и смены положения - таки начинают сильно влиять. и тут еще нет сложной логики. Нужно учиться это как-то упрощать. Вплоть до нечестного спауна и расчетов "невидимок".
-Вообще цель была максимально использовать знания. По моделингу, текстурированию, ландшафтам, программированию, коддингу, логике и движку. Но - быстро в короткие сроки "пока фитиль горит". ИМХО - удалось. 3-4 недели в сумме с переделкой нескольких протипов, заготовок и битьем в стену "как это сделать".
-интерфейс. Это важно. Не родить что-то как ежика против шерсти, а хорошее удобное понятное решение. Любому пользователю / игроку сразу с старта. Без объяснения что делать, нажимать , куда смотреть и что будет. Как создатель ты и так понимаешь что происходит и что ожидаешь, а игрок в панике шарит глазами.
-я нихрена не программист. Да и как художник такое себе говно, честно говоря. Но заставлять себя добавлять деталей - надо. Но с оглядкой чтобы это было не избыточно. Это как наступить себе на горло, но взять за яйца. Одновременно.
-учиться работать с звуком. Это пока огромная дыра в моих знаниях. Звука нет. Совсем. И звуков. А это почти половина атмосферы.
Сумбурненько, но мне понравилось. По сути для финала нужно откатать на тестах, собрать "фидбэк", выстроить пайплайн багхантинга, ну и прочие матерные слова... А потом можно и чистить, добавлять, улучшать. Проект станет рутинным. А такое хочется пока избежать. Или добавлять кардинальные механики )
В общем как то так. Видосик есть, билд в описании ) достал бы панамку, да ее нету )
Ну и так, интересно. Стоит ли с таким "жопытом" менять работу? 50к оклада (80к на руки) на заводе, хоть и художник-программист - как то мало. Но вакансий по unigine в спб ровно ноль. Делать локации для парашютного симулятора конечно иногда интересно, но уж очень редко и однообразно.
ах да: ссылка на билд и проект (Unigine Community последних билдов) - в описании. Free-for-All.
коментарии, критика, подписки, донаты... даже камни в свой огород принимаю :)