И снова я иду по стопам Raft
Итак спустя некоторое время пора продолжить ту саму легендарную повесть про столь же легендарный проект, который создается вдохновляясь не менее легендарным проектом. ╰(*°▽°*)╯
Впечатления о блогинге на DTF
Начну свой пост с того, что я был приятно удивлен хорошей реакцией на мою прошлую статью, что и послужило мотивацией делать дальше этот проект! 😉
Спасибо кто отписывался в комментариях и подписался! Ну а теперь:
Алё, ну как там с Remains?
За то время, что прошло я очень усердно трудился над проектом и добавил много всего... или нет (●'◡'●)
Эта история содержит в себе взлеты и падения, радость и горе, страдание, мучения, доблесть и отвагу. Будьте осторожны!
Изменения
Ну пожалуй для начала расскажу про изменения в игре по сравнению с прошлым постом:
Моя гордость, это как я поработал над планетой. Теперь это не просто шар который заставляет выкалывать глаза игроку, теперь это красивый шар.
Для понимания разницы того, что было:
Теперь летая в космосе и собирая предметы, мне не хочется убивать. Я так же поработал над позицией и размерами планеты, и в данный момент она не находится под ногами игрока, а ощущается как действительно большой объект на далеком расстояние.
В процессе переработки планеты я думал над различными решениями лучшей реализации планеты как заднего фона (Если игра выйдет куда либо, на старте это будет просто фон, но кто знает, кто знает), я изучил реализации различных игр, и в большинстве случаев это был обычный Skybox, и я сразу решил попробовать реализовать так же, нашел на ассет сторе бесплатный скайбокс для дальнейшей перерисовки под свою планету. После установки и добавления скайбокса на игровую сцену, я понял, что это довольно не плохо.
Скриншоты я не делал, не видел смысла, но кому интересно использую скрин ассета:
Если кому интересно что за ассет, то вот:
На сцене сразу появилась глубина уровня(в тот момент на уровне была еще та ужасная планета), плюс это положительно сказывалось на оптимизацию, ведь я мог уменьшать дальность прорисовки камеры до минимума. Да и весь уровень сразу централизовался у игрока и его платформы.
Но как только я начал подгонять свою планету под скайбокс, я понял, что идея ужасная, я даже рад что я не делал скрины. По мимо не приятного вида скайбокса, я выявил еще несколько проблем:
- Сложность в изменение после "запекания" картинки, то есть, если я вдруг захочу изменить или подвинуть планету, или сделать что то еще, то это займет довольно много времени и сил.
- Никакого интерактива - по сколько это скайбокс, я не могу с легкостью менять стиль планеты. Например, если я захочу сделать взрыв на планете, или что бы она казалась уничтоженной в зависимости от логики игры, то это будет ужасно сложно, придется делать все через шейдер, но шейдер это не беда, беда это то, что это СКАЙБОКС и он живым не дастся.
- Не удобная работа с HDR и Bloom в Post Proccesing'е
После осознания всего этого, я решил все таки использовать 3D модель, ведь с моделью я могу делать все что захочу. Для всех визуальных частей я могу писать шейдеры, причем обычные которые не занимаю 999999999% времени из за того, что я пытаюсь сделать то, что никто бы даже не думал делать.
Я разместил планету подальше, увеличил максимальную дальность прорисовки, пока не особо парюсь по оптимизации, оптимизирую только код.
Сделал ей что то в стиле атмосферы, путем добавления обычных прозрачных шаров, один для отрисовки передних граней , другой задних.
Настроил стандартный шейдер на самой планете, добавил ей HDR и подогнал интенсивность для приятного свечения через Bloom в процесинге.
После этих действий сцена стала выглядеть в миллион раз приятней.
Далее я решил доработать систему строительства
Я решил добавит отображение доступности постройки на превью:
И да, платформа строится за еду ¯\_(ツ)_/¯ не баг а фича.
Так выглядит постройка стен, не обращайте внимание на иконку пластика из неважно какой игры. У меня не появилось идей что можно сделать иконкой.
Уменьшил размер всех построек в 2 раза. Высота стен потом будет увеличена.
Само меню выбора постройки тоже изменилось, я решил не делать огромный круг выбора как в каком нибудь расте или гта.
Если навести на постройку, то снизу покажет компоненты, ну как и в любой нормальной игре.
Настало время грусти
Был прекрасный денек, и молодой амбициозный разработчик игр делал свою игру, а я смотрел его видео на ютубе, и как вдруг в момент билда моего проекта в WebGL(я подумал почему бы не залить веб демку на Itch.io) вылетает ошибка. В который было сказано:
Эй ты быдло, ты библиотеку UnityEditor в билд хочешь запихнуть? А больше ты ниче не хочешь?
Я сначала не понял, но потом я выявил то, что за неделю до этого я написал СУУУПЕР(по моему мнению конечно) удобную систему для аниматора.
Дальше будет много технической фигни, так что сильно не бейте если что.
Если вкратце то, когда я делал анимацию рук и предметов в них, я задумался:
-Хммм а почему бы не сделать что бы у всех анимаций был только Pull_State (стейт который отвечает за вытаскивание предмета), а State с убиранием оставить с пустым полем motion. И закидывать в стейт убирания клип и текущего стейта, и проигрывать его. Работает в духе:
Как показываете зеленая стрелка, мы сначала переносим Motion из Pull в Убрать, а затем проигрываем Убрать.
Лично мне нужна вся эта штука для того, что бы упростить процесс, ибо я не хочу создавать дубликат анимации Объект_Убрать с обычным -1 speed для каждого предмета.
Ну и я приступил к реализации всего этого, вышло вот это:
Для тех кто не понимает поясню максимально просто по действиям:
- Объявляю все типы которые мне будут нужны в дальнейшем
- Ищу в Animator'е нужный мне State, в нашем случае это Item_Remove
- И при вызове функции убирания предмета, я заменяю Motion в Item_Remove на Motion и того стейта который сейчас, и проигрываю Item_Remove
Казалось бы все, работает, все отлично. Но осознание небытия возникло когда я увидел это:
Опять же для гуманитариев, это пространство имен говорит о том, что я могу использовать все что находится в UnityEditor, а суть в том, что все что находится в UnityEditor нельзя забилдить без диких танцев с бубном и дальнейших багов самого билда.
Пока что я еще не совсем придумал как реализовать подобное.
Если вдруг вам есть в чем меня исправить в этой теме, я буду очень рад видеть это в комментариях! Мне будет интересно почитать ваши реализации или замечания.
Ну о грустном пока можно забыть.
Так же я после первого поста накидал немного моделей на ту самую кат сцену:
Один в один.
Пока что еще не приступал к самому процессу анимирования.
Накидал концепт главного меню, здесь еще нужно заменить планету.
Как вам такая концепция главного меню? Очень интересно знать мнение по этому поводу, ибо показывал это нескольким людям, и мнения разошлись.
- У предметов тоже праздник, у некоторых появились иконки:
- Интерфейс подвергся небольшим изменениям:
- Решил сделать что то вроде маленькой оранжереи:
Пока что работает просто от нажатия, но в дальнейшем что нибудь придумаю.
- Добавил шанс появления предметов которые пролетают мимо
Скорее всего это не все изменения, я в любом случае что то забыл.
Мне было скучно
Уставший после рабочего дня, я решил отдохнуть и заняться какой нибудь фигней. И я не придумал ничего лучше, чем:
-Хм у меня вроде валяется купленный доступ для стим игры, может накидать туда скринов из этого проекта, посмотреть как это выглядит со стороны.
По быстрому сделал скринов, на коленке в фотошопе создал хедер для страницы, ну и вышло это:
Лично мне пока что не заходит, выглядит очень дешево.
Дальнейшие планы
В данный момент я еще в раздумьях о том, что делать дальше с проектом, делать абсолютный клон рафта я не хочу, ибо мне начинает нравится то, что я сделал. И я хочу все же сделать из этого достойный проект. Этот пост скорее был для меня самого, весь прошлый день я не понимал то, что мне делать сейчас. И этим постом я хочу утвердить то, что уже сделано, что бы понять куда двигаться дальше.
Ближайшие планы на разработку:
- Доделать крафт полностью
- Изменить UI крафта, сделать более удобны и приятный
- Добавить разрушенные корабли и спутники, для изучения игроком
- Усложнить игру каким нибудь "противником"(Это не значит, что прилетят инопришеленцы и будут стрелять)
- Добавлю инструменты такие как: Бур(для добычи астероидов), что то в стиле Ключа который будет ломать и чинить
А так же с самого начала разработки я вынашивал идею реализации герметичной постройки, как вы видели на некоторых скринах у игрока нет показателя кислорода(голубой). Это связано с тем, что у персонажа не стоит режим "В космосе", это будет работать когда игрок будет строить блок из стен и потолков и дверей, затем делать герметизацию. Скорее всего это будет производится путем использования какого то инструмента.
Так же я хочу что бы игра была бесконечно-конечная, и для этого будет введен сюжет, но я со 100% уверенностью даже на этой стадии разработке могу сказать, что сюжет не будет реализован заданиями!
Я не хочу что бы у игрока было слева сверху написано "Лети туда, сделай это, найди это", у меня есть задумка дать возможность игроку изучать все самому, и я буду стараться сделать его не нудными записками с миллионном текста.
А еще, по скольку проблема билда была решена, я могу сделать билд(Exe, WebGL мне не понравился) и в следующем посте прикрепить ссылку.
Конечная
Ну на этом мой пост закончился, надеюсь было интересно. Если есть вопросы или какие либо замечания, то буду рад видеть в комментариях.
С вами был DJ Razrabotchik ᓚᘏᗢ
Комментарий недоступен
Проверка «виральности» очень кстати порой бывает и дополнительно мотивирует.Это прям в точку. После первого поста, после общения в комментариях да и в целом мое удивление интереса людей очень сильно придало мотивацию делать этот проект.
И не бойся закидывать гифки на реддитДа пока лень в реддит писать. Их интерфейс написания новости вызывает тотальный дискомфорт, я как то давно постил там одну из своих работ.
Делал как то клон южного парка на Unity, проект из разряда "Максимально для удовольствия" xD
https://www.reddit.com/r/Unity3D/comments/9uotyt/i_made_south_park_in_unity3d/
Демка точно нужнаДемку думаю залью на Itch.io, и наверное разошлю в каких нибудь серверах дискорд с такой тематикой.
Почитал, что ты скорее со свободным подходом к этому проектуПо сути я этот проект начал для того, что бы начать блогинг и посмотреть как это все работает :)
Комментарий недоступен
Это самое первое, что пришло в голову, но на старте я решил это слишком банальным, и надо придумать что то свое, ну и где я теперь...
Комментарий недоступен
Да я пока не нуждаюсь :)
Весь этот проект я по сути работаю спонтанно, за это и нравится работа над ним. Захотел добавил что то, захотел убрал. Не расписываю задачи. На данном этапе не могу принять твою помощь :(
Если передумаю, то свяжусь с тобой!
сюда конечно акула не прикрепишь, но в космосе всяких опасностей хватает, в том числе мусора с большой скоростью, астероидов и всякого рода радиаций. Тут наверно сам вопрос опасностей для космонавтов стоит подробно изучить.
Продолжай в том же духе!