Дневник разработки №1, Harmonis: the hand-made kingdoms
Введение
Веб-разработчик. Давно хотел заняться чем-нибудь более веселым, и вот вышел UE5.2, и я понял — пора. (Правда спустя пару недель после релиза)
Изначально взялся делать что-то с конечной целью, ставя перед собой понятные задачи с постепенным увеличением сложности.
Поїхали
Так, мой бэкграунд — ну очень далек от игр и подобного, но тем не менее у меня есть преимущество — я знаю алгоритмы, структуры данных и абстракцией и всем вот этим меня не напугать; тем не менее изначально было чувство что тыкаюсь как слеповатый котенок :)
Первая мысль после запуска движка — окей, нужно хоть как-то начать во всем ориентироваться. Привет, ютьюб
Вторая — окей, я примерно понимаю что где находится, нужна идея, причем простая, но с механиками. О, пусть будет генерация уровня по гексагоном... Гугл... Ладно, с помощью знакомых инструментов я такой мог бы набросать за десять минут, но в тот момент я потратил два часа :D
Я нашел классное видео с объяснением как сделать то, что мне нужно, но... потратил огромное количество времени, к счастью, не зря. Автор часто опускал те или иные моменты, делал быстрый монтаж, и поэтому приходилось самому копаться и понять что именно он сделал между А и B. В итоге у меня получилось...
Какая красота (нет), но оно работало. Ура!
В следующие дни я пытался продраться через АД. Что такое материалы? Что такое инстансы? Как настроить чертову камеру? Почему не работает клики по объектам?... Почему пара источников света УБИВАЕТ ВСЮ производительность?...
И вот, хексагоны генерятся, и даже временами из двух вариантов — домики, деревья. Даже материал для плит кое-как настроил. Но что дальше?
А дальше я понял что делаю клон дорфромантика :D
Остановило ли это меня? Нет, я не вижу в этом ничего плохого, тем более с этого момента у меня появилась возможность подсматривать как сделаны те, или иные механики ту ребят, чтобы не гадать «а почему у меня все так криво ощущается».
Дальше я решил что пора сделать все чуточку сложнее, и каждый гексагон должен уже внутри делиться на некоторое количество нод. То есть, вот у нас шесть сторон, и по две стороны занимают три ноды. Или же одна нога на четыре стороны, и одна на две. Или... ну вы поняли.
Параллельно я продолжаю копаться с модельными, освещением и всем таким прочим.
Если правильно помню, где-то спустя неделю вопрос освещения стал прямо важным. Я не понимал почему у меня так плохо, откуда столько разных настроек света, и как уже сделать его нормальным. (Спойлер, чтобы сделать нормальное глобальное освещение нужно не просто подвинуть ползунок в сторону «шикарно», а изрядно покопаться, если раньше у вас не было такого опыта. Просто знать что нужны hdri карты, что нужны материалы, где их доставать, что за что отвечает и так и тому подобне.
Вот эти два парня мне в этом сильно помогали:
Ах да, еще был блендер и уроки по нему, просто чтобы хотя бы понимать как сделать простенькие модели для себя, как редактировать чужие-готовые-бесплатные.
В какой-то момент я понял, что все идет не плохо, и я получаю удовольствие. Захотелось и правда довести работу до конца. И раз доводить до конца, то нужно... сделать не только играбельно, но и красиво.
Я брал (да и беру) бесплатные модели с sketchup, но вот как сделать все универсальным? Нужен был единый дизайн, основа, от которой я уже мог бы пойти дальше.
Я просматривал готовые паки с моделями и сценами, и мне попалась в эта красота. Да, я купил ассет, признаю. Кидайте в меня помидоры. Но это классный набор моделей, и что важно, материалов, постэффектов, настроек освещение — и все это для актуальной версии движка, с использованием всех доступных инструментов, это мне сильно помогло в понимании как и что работает.
Давайте чтобы не затягивать статью, я быстро пробегусь по тому, что было сделано за следующую неделю. (То есть до сегодняшнего дня)
- Продолжающиеся попытки сделать все «визуально приятным»;
- «Рефакторинг»;
- Создание новый плит по клике на пустых местах, звуки, введение в местную систему анимаций (верчение плит по наведению), разные «теги» для сторон шестигранников — допустим деревья сочетаются с деревьями, домики с домиками и так далее, было немного сложновато из-за блюпринтов.
- Оптимизация... Я знал что такое лоды, но вот столкнулся с ними сам. А как иначе, когда в какой-то момент начинаются 20 фас, хоть ну никак все не должно быть так плохо.
- Куча разного веселья с настройками проекта, которые влияют на производительность в несколько раз, но узнаешь об этом только когда начинаешь целенаправленно копать.
- БАГИ
Эпилог
На самом деле я много не упоминал, иначе все стало совсем долгим и скучным. Что собираюсь сделать сейчас? Да продолжать работать на игрой.
Да, оно не уникальная идея, но я считаю что получается не плохо, и не собираюсь делать глупый клон чего-то, без своих собственных идей.
Работы впереди еще очень много, ОЧЕНЬ много, я это прекрасно понимаю. Текущий прогресс получился более-менее заметным, как минимум для меня, поэтому я и решил показать людям над чем работаю.
Сейчас меня есть свободное время, и я могу тратить на это по 8-10 часов в день, как и планирую продолжать следующие два месяца, с перерывом где-нибудь посередине на недельку. Если все пойдет как я запланировал, но релиз ближе к началу осени, или в конце лета.
Ссылочка, ну вы понимаете ;)
Никогда не понимал людей, которые готовы покупать китайский ноу нейм контроллер вместо дуалсенаса или боксовскога. Ладно бы они еще стоили гораздо дешевле, но они иногда даже умудряются стоить дороже...
Ведущие разработчики из этой команды также создавали оригинальную L.A. Noire.
Пока его команда будет сфокусирована на небольших играх.
Абсолютная сырая, неинтересная и даже не топ 5 роль в карьере самого Борисова так зашла америкосам чисто по 1 причине - они впервые увидели "пацанскую роль русского гопника" в оскаровском авторском кино. Людям зашел сам архетип персонажа, которого мог сыграть любой дефолтный русский актер с образованием.
Если Голливуд офигел от Борисова в Аноре, то…
Вместо шестиугольных клонов дорфромантика почему бы не поисследовать другие формы?
Думал об этом, но шестигранники не зря часто используются для основы сетки;
Они визуально красивы при сочетании друг с другом, сетка состоит только из шестигранников без других элементов;
В случае более сложных форм — наступает небольшой ад, именно у моем случае, так как нужно будет учитывать сочинения всех заготовленных сцена на платформах между друг другом
Раньше был портал от эпиков learn.unrealengine.com а сейчас его нет, не знаешь, что случилось?
Сейчас редирект на https://dev.epicgames.com/community/
Это не оно?
PS.
У меня мак на м1про, и только с версии UE5.2 движок стал полноценно работать на этих устройствах — это, в том числе, причина почему я решился.
В интернете не очень хорошие бенчмарки на ютюбье и отзывы на реддите насчет производительности, но по факту все очень даже хорошо — но придется переткнуть с пяток настроек в проекте и самом движке, чтобы увеличить фас с 20 (по дефолту) до 80; Большие сцены бесплатных городов от мегаскана тоже идут приемлемо на средних/высоких настройках детализации.
Так что не бойтесь, если ваше основное устройство примерно схоже с моим.
на м1 про еще 5,0 использовал, было все гуд. в 5.2 нативно стал работать