И снова я иду по стопам Raft

Итак спустя некоторое время пора продолжить ту саму легендарную повесть про столь же легендарный проект, который создается вдохновляясь не менее легендарным проектом. ╰(*°▽°*)╯

И снова я иду по стопам Raft

Впечатления о блогинге на DTF

Начну свой пост с того, что я был приятно удивлен хорошей реакцией на мою прошлую статью, что и послужило мотивацией делать дальше этот проект! 😉

Спасибо кто отписывался в комментариях и подписался! Ну а теперь:

Алё, ну как там с Remains?

За то время, что прошло я очень усердно трудился над проектом и добавил много всего... или нет (●'◡'●)

Эта история содержит в себе взлеты и падения, радость и горе, страдание, мучения, доблесть и отвагу. Будьте осторожны!

Изменения

Ну пожалуй для начала расскажу про изменения в игре по сравнению с прошлым постом:

Моя гордость, это как я поработал над планетой. Теперь это не просто шар который заставляет выкалывать глаза игроку, теперь это красивый шар.

Ну не красота?
Ну не красота?

Для понимания разницы того, что было:

И снова я иду по стопам Raft

Теперь летая в космосе и собирая предметы, мне не хочется убивать. Я так же поработал над позицией и размерами планеты, и в данный момент она не находится под ногами игрока, а ощущается как действительно большой объект на далеком расстояние.

В процессе переработки планеты я думал над различными решениями лучшей реализации планеты как заднего фона (Если игра выйдет куда либо, на старте это будет просто фон, но кто знает, кто знает), я изучил реализации различных игр, и в большинстве случаев это был обычный Skybox, и я сразу решил попробовать реализовать так же, нашел на ассет сторе бесплатный скайбокс для дальнейшей перерисовки под свою планету. После установки и добавления скайбокса на игровую сцену, я понял, что это довольно не плохо.

Скриншоты я не делал, не видел смысла, но кому интересно использую скрин ассета:

И снова я иду по стопам Raft

Если кому интересно что за ассет, то вот:

На сцене сразу появилась глубина уровня(в тот момент на уровне была еще та ужасная планета), плюс это положительно сказывалось на оптимизацию, ведь я мог уменьшать дальность прорисовки камеры до минимума. Да и весь уровень сразу централизовался у игрока и его платформы.

Но как только я начал подгонять свою планету под скайбокс, я понял, что идея ужасная, я даже рад что я не делал скрины. По мимо не приятного вида скайбокса, я выявил еще несколько проблем:

  • Сложность в изменение после "запекания" картинки, то есть, если я вдруг захочу изменить или подвинуть планету, или сделать что то еще, то это займет довольно много времени и сил.
  • Никакого интерактива - по сколько это скайбокс, я не могу с легкостью менять стиль планеты. Например, если я захочу сделать взрыв на планете, или что бы она казалась уничтоженной в зависимости от логики игры, то это будет ужасно сложно, придется делать все через шейдер, но шейдер это не беда, беда это то, что это СКАЙБОКС и он живым не дастся.
  • Не удобная работа с HDR и Bloom в Post Proccesing'е

После осознания всего этого, я решил все таки использовать 3D модель, ведь с моделью я могу делать все что захочу. Для всех визуальных частей я могу писать шейдеры, причем обычные которые не занимаю 999999999% времени из за того, что я пытаюсь сделать то, что никто бы даже не думал делать.

Я разместил планету подальше, увеличил максимальную дальность прорисовки, пока не особо парюсь по оптимизации, оптимизирую только код.

Сделал ей что то в стиле атмосферы, путем добавления обычных прозрачных шаров, один для отрисовки передних граней , другой задних.

Настроил стандартный шейдер на самой планете, добавил ей HDR и подогнал интенсивность для приятного свечения через Bloom в процесинге.

Итог
Итог

После этих действий сцена стала выглядеть в миллион раз приятней.

Далее я решил доработать систему строительства

Я решил добавит отображение доступности постройки на превью:

И да, платформа строится за еду ¯\_(ツ)_/¯ не баг а фича.

Так выглядит постройка стен, не обращайте внимание на иконку пластика из неважно какой игры. У меня не появилось идей что можно сделать иконкой.

Уменьшил размер всех построек в 2 раза. Высота стен потом будет увеличена.

Само меню выбора постройки тоже изменилось, я решил не делать огромный круг выбора как в каком нибудь расте или гта.

Если навести на постройку, то снизу покажет компоненты, ну как и в любой нормальной игре.

И снова я иду по стопам Raft

Настало время грусти

Был прекрасный денек, и молодой амбициозный разработчик игр делал свою игру, а я смотрел его видео на ютубе, и как вдруг в момент билда моего проекта в WebGL(я подумал почему бы не залить веб демку на Itch.io) вылетает ошибка. В который было сказано:

Эй ты быдло, ты библиотеку UnityEditor в билд хочешь запихнуть? А больше ты ниче не хочешь?

UnityEngine, Процесс билда

Я сначала не понял, но потом я выявил то, что за неделю до этого я написал СУУУПЕР(по моему мнению конечно) удобную систему для аниматора.

Дальше будет много технической фигни, так что сильно не бейте если что.

Если вкратце то, когда я делал анимацию рук и предметов в них, я задумался:
-Хммм а почему бы не сделать что бы у всех анимаций был только Pull_State (стейт который отвечает за вытаскивание предмета), а State с убиранием оставить с пустым полем motion. И закидывать в стейт убирания клип и текущего стейта, и проигрывать его. Работает в духе:

И снова я иду по стопам Raft

Как показываете зеленая стрелка, мы сначала переносим Motion из Pull в Убрать, а затем проигрываем Убрать.

Лично мне нужна вся эта штука для того, что бы упростить процесс, ибо я не хочу создавать дубликат анимации Объект_Убрать с обычным -1 speed для каждого предмета.

Ну и я приступил к реализации всего этого, вышло вот это:

И снова я иду по стопам Raft
И снова я иду по стопам Raft
И снова я иду по стопам Raft

Для тех кто не понимает поясню максимально просто по действиям:

  1. Объявляю все типы которые мне будут нужны в дальнейшем
  2. Ищу в Animator'е нужный мне State, в нашем случае это Item_Remove
  3. И при вызове функции убирания предмета, я заменяю Motion в Item_Remove на Motion и того стейта который сейчас, и проигрываю Item_Remove

Казалось бы все, работает, все отлично. Но осознание небытия возникло когда я увидел это:

И снова я иду по стопам Raft

Опять же для гуманитариев, это пространство имен говорит о том, что я могу использовать все что находится в UnityEditor, а суть в том, что все что находится в UnityEditor нельзя забилдить без диких танцев с бубном и дальнейших багов самого билда.

Реальная запись состояния разработчика Remains Кот красавчик

Пока что я еще не совсем придумал как реализовать подобное.

Если вдруг вам есть в чем меня исправить в этой теме, я буду очень рад видеть это в комментариях! Мне будет интересно почитать ваши реализации или замечания.

Ну о грустном пока можно забыть.

Так же я после первого поста накидал немного моделей на ту самую кат сцену:

Один в один.

Пока что еще не приступал к самому процессу анимирования.

Накидал концепт главного меню, здесь еще нужно заменить планету.

И снова я иду по стопам Raft

Как вам такая концепция главного меню? Очень интересно знать мнение по этому поводу, ибо показывал это нескольким людям, и мнения разошлись.

  • У предметов тоже праздник, у некоторых появились иконки:
И снова я иду по стопам Raft
  • Интерфейс подвергся небольшим изменениям:
И снова я иду по стопам Raft
  • Решил сделать что то вроде маленькой оранжереи:
И снова я иду по стопам Raft

Пока что работает просто от нажатия, но в дальнейшем что нибудь придумаю.

  • Добавил шанс появления предметов которые пролетают мимо
И снова я иду по стопам Raft

Скорее всего это не все изменения, я в любом случае что то забыл.

Мне было скучно

Уставший после рабочего дня, я решил отдохнуть и заняться какой нибудь фигней. И я не придумал ничего лучше, чем:

-Хм у меня вроде валяется купленный доступ для стим игры, может накидать туда скринов из этого проекта, посмотреть как это выглядит со стороны.

По быстрому сделал скринов, на коленке в фотошопе создал хедер для страницы, ну и вышло это:

WORLD PREMIERE 
WORLD PREMIERE 

Лично мне пока что не заходит, выглядит очень дешево.

Дальнейшие планы

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

Ближайшие планы на разработку:

  • Доделать крафт полностью
  • Изменить UI крафта, сделать более удобны и приятный
  • Добавить разрушенные корабли и спутники, для изучения игроком
  • Усложнить игру каким нибудь "противником"(Это не значит, что прилетят инопришеленцы и будут стрелять)
  • Добавлю инструменты такие как: Бур(для добычи астероидов), что то в стиле Ключа который будет ломать и чинить

А так же с самого начала разработки я вынашивал идею реализации герметичной постройки, как вы видели на некоторых скринах у игрока нет показателя кислорода(голубой). Это связано с тем, что у персонажа не стоит режим "В космосе", это будет работать когда игрок будет строить блок из стен и потолков и дверей, затем делать герметизацию. Скорее всего это будет производится путем использования какого то инструмента.

Так же я хочу что бы игра была бесконечно-конечная, и для этого будет введен сюжет, но я со 100% уверенностью даже на этой стадии разработке могу сказать, что сюжет не будет реализован заданиями!

Я не хочу что бы у игрока было слева сверху написано "Лети туда, сделай это, найди это", у меня есть задумка дать возможность игроку изучать все самому, и я буду стараться сделать его не нудными записками с миллионном текста.

А еще, по скольку проблема билда была решена, я могу сделать билд(Exe, WebGL мне не понравился) и в следующем посте прикрепить ссылку.

Нужна ли демка?
Конечно
Конечно нет

Конечная

Ну на этом мой пост закончился, надеюсь было интересно. Если есть вопросы или какие либо замечания, то буду рад видеть в комментариях.

С вами был DJ Razrabotchik ᓚᘏᗢ

4545
19 комментариев

Комментарий недоступен

4
Автор

Проверка «виральности» очень кстати порой бывает и дополнительно мотивирует.Это прям в точку. После первого поста, после общения в комментариях да и в целом мое удивление интереса людей очень сильно придало мотивацию делать этот проект.

И не бойся закидывать гифки на реддитДа пока лень в реддит писать. Их интерфейс написания новости вызывает тотальный дискомфорт, я как то давно постил там одну из своих работ.
Делал как то клон южного парка на Unity, проект из разряда "Максимально для удовольствия" xD
https://www.reddit.com/r/Unity3D/comments/9uotyt/i_made_south_park_in_unity3d/

Демка точно нужнаДемку думаю залью на Itch.io, и наверное разошлю в каких нибудь серверах дискорд с такой тематикой.

Почитал, что ты скорее со свободным подходом к этому проектуПо сути я этот проект начал для того, что бы начать блогинг и посмотреть как это все работает :) 

Комментарий недоступен

2
Автор

Это самое первое, что пришло в голову, но на старте я решил это слишком банальным, и надо придумать что то свое, ну и где я теперь...

1

Комментарий недоступен

2
Автор

Да я пока не нуждаюсь :) 
Весь этот проект я по сути работаю спонтанно, за это и нравится работа над ним. Захотел добавил что то, захотел убрал. Не расписываю задачи. На данном этапе не могу принять твою помощь :( 
Если передумаю, то свяжусь с тобой!

сюда конечно акула не прикрепишь, но в космосе всяких опасностей хватает, в том числе мусора с большой скоростью, астероидов и всякого рода радиаций. Тут наверно сам вопрос опасностей для космонавтов стоит подробно изучить. 
Продолжай в том же духе!

2