Сообщество - Свидетели Godot'овы

Свидетели Godot'овы

88 постов 324 подписчика

Популярные теги в сообществе:

70

Godot Engine. Библиотека новичка

Godot Engine. Библиотека новичка Обучение, Программирование, Godot, Godot Engine, Gamedev, Разработка, Инди, Игровой движок, Видео, YouTube, Длиннопост

Всем привет, дорогие товарищи! Как и было обещано, публикую подборку учебных материалов, которые помогли мне и моим товарищам освоить Godot Engine :)


В этом списке вы найдёте ссылки на материалы, которые можно охарактеризовать как Godot for beginners. Надеюсь, вам будет интересно :)


Если вы впервые слышите об этом движке, приглашаю ознакомиться с его описанием здесь:

Godot Engine. Обзор игрового движка



Официальная Документация


Несмотря на то, что меня постоянно забрасывают какахами, когда речь заходит о доках, я продолжу настаивать на своём: УЧИТЕСЬ РАБОТАТЬ С ДОКУМЕНТАЦИЕЙ! Почему? -- Никто лучше разработчика не знает, как устроен его продукт, так что к кому ещё обращаться, как ни к нему?


Godot Community не только постоянно улучшает и совершенствует движок, но также дописывает и детализирует официальную документацию. Здесь вы найдёте ответы на большинство вопросов, сталкиваясь с практическими проблемами. Да, вероятно, этой ссылке нечего делать в разделе "для новичков", но чем раньше вы освоите навык работы с доками, тем меньше набьёте шишек об углы движка (кстати, это касается любого программного продукта).


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

Godot Engine. Библиотека новичка Обучение, Программирование, Godot, Godot Engine, Gamedev, Разработка, Инди, Игровой движок, Видео, YouTube, Длиннопост

Да, можно сколько угодно твердить, что по голым докам невозможно ничему научиться. Со своей стороны подчеркну, что если у меня возникает какая-то проблема, в первую очередь я лезу в доки, а потом уже на форумы, стэковерфло и т.д. В любом случае вы должны быть уведомлены, а том, что документация ведётся, она хорошо организована и удобна для использования ;)


В специальном раздели присутствует набор коротких туториалов, целью которых является ознакомление новичка с возможностями движка.


Официальная Документация Godot Engine



Подробный туториал о создании простой 2D игры


Серия очень простых уроков, где вас не будут грузить теорией, идеологией и архитектурой движка. Всё максимально просто: делай A, делай В, делай С -- и вуаля полетел самолётик, заиграла музыка. Автор тутора предлагает нам сделать вместе с ним простую леталку-стрелялку. Уроки очень компактные, не требуют большой концентрации и много времени.


Прекрасный способ быстро и поверхностно познакомиться с движком и его интерфейсом, чтобы не только мозгами скрипеть несколько дней, но и удовольствие от результата получить ;)

Godot Engine. Библиотека новичка Обучение, Программирование, Godot, Godot Engine, Gamedev, Разработка, Инди, Игровой движок, Видео, YouTube, Длиннопост

Ссылка для скачивания ассетов указана в одном из первх уроков туториала.


Туториал на deuga.me Создание простой игры шаг за шагом



Kids Can Code. Godot Recipes


Раздел, посвящённый Godot, в он-лайн школе Kids Can Code. Название школы говорит само за себя ;) Здесь вы найдёте открытые мини-уроки, посвещённые решению практических задач.

Godot Engine. Библиотека новичка Обучение, Программирование, Godot, Godot Engine, Gamedev, Разработка, Инди, Игровой движок, Видео, YouTube, Длиннопост

Уроки изложены очень простым и понятным языком, разбиты по шагам и организованы таким образом, что работать с ними может даже ребёнок. Вместе с автором уроков вы изучите базовые понятия Godot, познакомитесь с интерфейсом и напишете свою первую мини-игру.


Godot Engine на Kids Can Code



GDQuest


Вообще-то это он-лайн школа с довольно демократичными ценниками на курсы, но речь пойдёт не о ней :)


GDQuest ведёт прекрасный канал на YouTube, который вы можете смотреть совершенно беслпатно. Видеоролики очень хорошего качетсва, у лектора прекрасная дикция, уроки очень понятные и доступные.

Godot Engine. Библиотека новичка Обучение, Программирование, Godot, Godot Engine, Gamedev, Разработка, Инди, Игровой движок, Видео, YouTube, Длиннопост

Видео представляют из себя короткие уроки, посвещённые самым разным задачам -- от проектирования и компановки интерыейса до обработки коллизий. Под многими видео вы также найдёте ссылки на официальные туториалы от разработчиков. Авторы канала с удовольствем общаются в комментариях, отвечают на вопросы.


Бонусом -- пачка учебных материалов по визуальному редактору Krita.


GDQuest на YouTube

Официальный сайт GDQuest



HeartBeast


YouTube канал пользователя под ником HeartBeast, где вы так же найдёте уроки по разработке простых коротких игр. У лектора прекрасная дикция, он довольно быстро говорит, но трудностей с пониманием, вроде бы, не возникает.

Godot Engine. Библиотека новичка Обучение, Программирование, Godot, Godot Engine, Gamedev, Разработка, Инди, Игровой движок, Видео, YouTube, Длиннопост

Материал несколько разрозненный, но здесь есть много интересного и познавательного :) Новые видео выходят довольно регулярно.


HeartBeast на YouTube



Angega Studios


YouTube канал пользователя под ником Angega Studios. Сразу скажу, что у него не очень хороший английский и плохой звук, но зато он медленно говорит и разжёвывает каждую мелочь. Вместе с автором контента вы сможете создать три простенькие игры.


Под своими видео автор даёт ссылки на ассеты.

Godot Engine. Библиотека новичка Обучение, Программирование, Godot, Godot Engine, Gamedev, Разработка, Инди, Игровой движок, Видео, YouTube, Длиннопост

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


Angega Studios на YouTube



Game Development Center


Ещё одна он-лайн школа на YouTube, специализирующаяся на Godot. Много полезных материалов, которые помогут вам не только своить многие элементарные вещи, но так же разобраться с имплементацией тайловых ассетов, управлением и коллизиями на них.


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

Godot Engine. Библиотека новичка Обучение, Программирование, Godot, Godot Engine, Gamedev, Разработка, Инди, Игровой движок, Видео, YouTube, Длиннопост

Канал живой. Администратор канала общается с пользователями в комментариях, отвечает на вопросы. Кстати, под каждым видео вы найдёте ссылку для скачивания используемых ассетов.


Game Development Center на YouTube



Game Endeavor


Личный блог одного из популяризаторов Godot. Канал специализируется на ретро-играх с пиксельной графикой. Строго говоря последнее обновление было год назад, но автор периодический проявляет активность в комментариях. Возможно, он просто нашёл работу и ему стало не до ютубчика :))

Godot Engine. Библиотека новичка Обучение, Программирование, Godot, Godot Engine, Gamedev, Разработка, Инди, Игровой движок, Видео, YouTube, Длиннопост

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


Game Endeavor на YouTube



Сообщества и взаимопомощь


За 8 лет вокруг Godot Engine сформировалось очень дружелюбное и интересное сообщество. Люди с удовольствием помогают друг другу, отвечают на вопросы, делятся опытом разработки и игровыми ассетами.


Официальный форум вопрос-ответ. Форум, предназначен для взаимопомощи пользователей (иногда его посещают и разработчики движка). Цель форума проста: свести друг с другом вопрошающего и отвечающего.


На форуме действует система голосований за воспросы и ответы (примерно как на пикабу). Если вы встретили какой-то вопрос, он вам актуален, но всё ещё без ответа, тыкаете плюс -- вопрос взлетает в рейтинге по актуальности. Просматривать сообщения пользователей без регистрации можно, закрытые разделы отсутствуют.


Godot на Reddit. Сообщество на Reddit -- живое и дружелюбное. Несколько раз на Reddit мне отвечали гораздо быстрее, чем на форуме вопрос-ответ. Времнами складывается впечатление, что некоторые товарищи там сидят специально, чтобы помогать новичкам.


Сообщество Godot на Steam. Здесь люди, в основном делятся своими поделками и обсуждают популярные проблемы, связанные с разработкой на Godot. Оно не очень полезное, но позалипать на демки в порядке прокрастинации очень приятно и весело.


Разумеется, мне бы хотелось, чтобы наше сообщество на Пикабу тоже расширялось и наполнялось контентом, поэтому не стесняйтесь показывать свои наработки, делиться опытом, задавать вопросы. Надеюсь, что придёт время и Godot Engine станет полпулярным в России!



Небольшое напутствие всем, кто делает первые шаги в освоении движка


Я прекрасно понимаю, что изучать что-то новое и незнакомое очень трудно и временами дико бесит. Но если вы решили сделать свою собственную игру, дерзайте! Забейте на бурчание родных и друзей, что вы зря тратите своё время и "лучше бы занималисть [вставить нужное]".


Не бойтесь пробовать, делать что-то своё, творите и эксперементируйте! А чтобы немного поднять вам настроение и вдохновить на изучение движка, вот вам ссылка на демо потрясающего ретро-платформера, разработанного на Godot нашими дальневосточными друзьями:

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


Всем хорошего вечера, успехов в изучении Godot и лёгкого старта в увлекательном игродельном мире! ^_^



P.S.: Годобот в заголовке нарисован мной. Картинка распространяется под Creative Commons Attribution 4.0 International License. Если вам нужна эта картинка, вы можете скачать её здесь:


Ссылка для скачивания Годобота


В архив входят 4 картинки с вариациями фона и *.PSD файл.



UPD by @Boogernator: Полезным может ещё оказаться канал, ролики маленькие, про небольшие полезные мелочи рассказывают.

https://youtube.com/c/PlayWithFurcifer



UPD by @captainperson: Еще для любопытных, Стим-куратор игр, сделанных на Godot. В основном любительские поделки на коленке, но уже имеются весьма успешные игры.

https://store.steampowered.com/curator/41324400-Is-it-made-w...



UPD by @MFSUS: тутор с которого я начал.

https://www.codingkaiju.com/tutorials/space-asteroid-arcade-...

Показать полностью 9 1
12

Godot. Путь к основам VFX. Пишем свой outline shader. Ч1

День добрый, уважаемые любители Godot'a. Хотел вроде разобрать вариант предложенный создателями самого Godot, но у меня как всегда семь пятниц на неделе и почему-то подумалось, что лучше написать этот велосипед с нуля и самостоятельно, по своему разумению. А потом уже сравнить с нормальным вариантом, попутно по возможности выяснив, а как правильнее и лучше. Может кто подскажет заодно, как вообще это выяснить, наверняка должен быть какой-нибудь профайлер для шейдеров)


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

Godot путь новичка. Первый Enemy и первый Шейдер

Вот ссылки на документацию
https://docs.godotengine.org/ru/stable/tutorials/shaders/ind...
https://docs.godotengine.org/ru/stable/tutorials/shaders/sha...


Ну ладно хватит с деталями. Стартуем.

Что-то придумывать не стал, обрезал стандартную иконку, на ней и буду практиковаться.
Это думаю надо уточнить, потому что она идет на синем фоне, который совсем даже не нужен.

Godot. Путь к основам VFX. Пишем свой outline shader. Ч1 Gamedev, Godot Engine, Godot, Инди, Мат, Длиннопост

Теперь создадим новый шейдер и проверим что все идет как надо.

Godot. Путь к основам VFX. Пишем свой outline shader. Ч1 Gamedev, Godot Engine, Godot, Инди, Мат, Длиннопост

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

Godot. Путь к основам VFX. Пишем свой outline shader. Ч1 Gamedev, Godot Engine, Godot, Инди, Мат, Длиннопост

Но нам не надо перекрашивать всю область, нам надо же покрасить только рамочку вокруг, значит надо определить, а где именно то происходит это вокруг. Самое простое что приходит в голову, это если по соседству есть пиксель у которого альфа больше нуля. Плюс держим в голове, что нарезкой картинок мог заниматься персонаж с навыками подобными моим, значит совсем нуль не подойдет, надо какое-то минимальное пороговое значение пускай будет 25%

Godot. Путь к основам VFX. Пишем свой outline shader. Ч1 Gamedev, Godot Engine, Godot, Инди, Мат, Длиннопост

Можно это все конечно сократить очень сильно в плане количества кода, сразу будет выглядеть по "шейдерному"(в смысле что нихуя не понятно что происходит), но мне пока больше нравится так, нормальный такой рабочий, джуновский код, пока высшее дао не откроется, буду писать подобным образом) Ну и мне кажется так проще для понимания + когда перейду к доработкам шейдера, очень наглядно будет видно что писать подобным образом, это обрекать себя на переписывание больших кусков кода))

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

Godot. Путь к основам VFX. Пишем свой outline shader. Ч1 Gamedev, Godot Engine, Godot, Инди, Мат, Длиннопост

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

Во-первых мы использовали 4-Way для определения соседей вместо 8-way, что сразу порождает кучищу проблем, ну да ладно, это всего лишь первая часть, чтобы было что исправлять, надо чего-то и наговнякать же сначала, отправная точка хотя бы имеется)

Godot. Путь к основам VFX. Пишем свой outline shader. Ч1 Gamedev, Godot Engine, Godot, Инди, Мат, Длиннопост

Ну кому лень делать, в следующей части тогда наглядно покажу.
Спасибо за внимание, всем Godot.

Показать полностью 6
7

Godot. Путь к основам VFX. Smooth Outline Shader

День добрый, дорогие подписчики. Все я точно определился, чем буду заниматься следующий год, это будет изучение шейдеров, партиклов и начну потихоньку осваивать 3D, ну если точнее это будет 2D в 3D окружении, люблю 2D, но и тащусь от возможностей 3D в плане эффектов)
Сразу уточню дабы избежать лишних вопросов, я нихрена не понимаю в этом всем, все что делаю полагаюсь на интуицию и метод "Тыка", но очень хочется разобраться.

Теперь к теме поста. Написала мне в комментариях пикабушница @wolchy, ну пообщались познакомились, специалист в UI/UX, отлично рисует, любит и умеет в Godot, разбирается в шейдерах, мечта поэта короче) Суть проблемы: Для активных предметов в инвентаре, нужна каемочка по краю предмета разного цвета и с градиентной заливкой, ну и не только в инвентаре, а где пригодится. Чуете подход? Художник не хочет тратить свое время и силы, чтобы рисовать для каждого предмета отдельные рамочки, а хочет универсальный способ эту рамочку получить без лишних напрягов, при том что сама написала практически полностью устраивающий её шейдер, проблема одна, рамочка получается не ровная и без сглаживания. На картинке ниже это наглядно показано.
UPD: Важное и полезное уточнение #comment_243392931

Godot. Путь к основам VFX. Smooth Outline Shader Godot Engine, Godot, Gamedev, Инди, Длиннопост

Ну мне конечно же стало интересно помочь, тут же в голове возникла куча идей по применению и в своем проекте. Вооружившись гуглом тут же был найден походящий шейдер на godotshaders, но результат был не совсем тот, который требовался по ТЗ, пришлось пару дней потратить чтобы разобраться что и как там в нем работает, чтобы внести пару строчек измений до подходящего))
Реально 1 день на 1 строчку кода, ну я говорил, что я тупой и новичок в этом всем ещё))

Собственно результат.

Godot. Путь к основам VFX. Smooth Outline Shader Godot Engine, Godot, Gamedev, Инди, Длиннопост

Да ещё есть огрехи и по функциональности есть ещё что доработать, чем займусь в ближайшее время, но уже довольно неплохо получилось) Пофигу что основной код не мой, любым способом надо получать нужный результат с минимальными трудозатратами, хотя стыдно, что не сам с нуля написал)
Ссылка на исходный шейдер https://godotshaders.com/shader/smooth-outline-2d/


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

https://t.me/boogernator/123

Для совсем ненавистников телеги, вот код копипастой, ну отступы придется ручками тогда)


shader_type canvas_item;

render_mode unshaded;

uniform bool Smooth = true;

uniform float width : hint_range(0.0, 64) = 1.0;

uniform vec4 outline_color : hint_color = vec4(0.0, 0.0, 0.0, 1.0);

uniform vec4 outline_color_second : hint_color = vec4(0.0, 0.0, 0.0, 1.0);

uniform int pixel_size : hint_range(1, 10) = 4;

void fragment()

{

vec4 col = texture(TEXTURE, UV);

vec2 ps = TEXTURE_PIXEL_SIZE;

float _width = width;

vec2 unit = (1.0/float(pixel_size) ) / vec2(textureSize(TEXTURE, 0));

vec4 pixel_color = texture(TEXTURE, UV);

if (pixel_color.a <= 0.25) {

pixel_color = mix(outline_color,outline_color_second, UV.y);

pixel_color.a = 0.0;

for (float x = -ceil(_width); x <= ceil(_width); x++) {

for (float y = -ceil(_width); y <= ceil(_width); y++) {

if (texture(TEXTURE, UV + vec2(x*unit.x, y*unit.y)).a == 0.0 || (x==0.0 && y==0.0)) {

continue;

}

float gradient_k = outline_color.a / (pow(x,2)+pow(y,2)) * (1.0-pow(2.0, -_width));

if (Smooth) {

pixel_color.a += gradient_k;

if (pixel_color.a > 1.0) {

pixel_color.a = 1.0;

}

} else {

pixel_color.a = outline_color.a;

return

}

}

}

}

COLOR = pixel_color;

}

Godot. Путь к основам VFX. Smooth Outline Shader Godot Engine, Godot, Gamedev, Инди, Длиннопост

Не заливаю пока никуда, мне надо ещё добавить градиентную заливку от центра картинки к краям, плюс выбор типа заливки, по всей картинке слева-направо, сверху вниз и из центра наружу. Потом наверное попробую выложу на godotshaders))


По разбору кода самого шейдера, тут думаю надо сначала начать с простого, с разбора аутлайншейдера предложеного авторами Godot. Но это уже в следующем посте. Спасибо за внимание.


p.s. Если нужна кому какая помощь по Godot, то не стесняйтесь писать, я так-то простой человек и никому не отказываю, что не умею, так как раз вместе и разберемся, оба получим чуть больше опыта)

Показать полностью 3
2

Godot. Путь новичка. Завершение

Добрый день, мои дорогие подписчики. Опять надолго пропал, был тяжелый период, завал по работе, впахивал без выходных. Скатился в глубочайшую депрессию как всегда. Неделю назад даже сам себя раскодировал и набухался так, что ходить не мог)) На этом фронте, все как всегда, без изменений. А выбраться из этого дерьма, мне как ни странно помогало писать о проблемах, переживаниях и путях их решений. Чем и планирую снова заняться.

Почему такой кликбейтный заголовок? Все просто, прошел как раз год с момента как начал писать первые посты и за этот период с момента начала изучения Godot и до текущего дня, собственно собралась целая команда и свершилось чудо, первый релиз.


Маленький такой худосочный ещё, но игра работает, сервер пашет без проблем. Апрув вконтакте прошли, подключили платежку, подключили библиотеку от @mewton можем показывать рекламу и даже есть опция заплатить, чтобы отключить рекламу навсегда. Забегая на перед скажу, что реклама пока не показывается, это не приоритетно. На джеме номинацию опять же получили, но об этом писал вроде уже.

Godot. Путь новичка. Завершение Gamedev, Инди, Депрессия, Godot, Godot Engine, Мат, Видео, Длиннопост

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

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

https://vk.com/app8157524
Собственно тут можно немножко погонять, на мобилках будет к концу лета, контентный апдейт и казуальный режим, скорее всего к концу года. Но мое личное участие в этом всем уже под вопросом, опять же это возможно мысли такие, потому что пока на дне своей депрессивной ямы, всегда же наступает интермиссия, а за ней и период, когда работается по 14-16 часов, идеи сыпятся как из рога изобилия, а реализация не вызывает затруднений. Так что зря переживаю скорее всего.

Вот собственно исходя из этих планов такое название у поста сейчас. Теперь у нас несколько программистов разного уровня в команде и один из них это молодое дарование, на 15 лет младше меня, но мне никогда не дойти до такого уровня, надо быть честным с собой. В любом случае мы с ним согласились с мнением, что композиция > ООП. Так что я знаю, какой именно навык мне сейчас надо подтягивать и с чем у нас команде есть определенный затык. Это ведение проектной документации.

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

В конце концов я не особо хочу кого-то учить, мне интереснее самому учиться, так что с текстами на тему, как заставить бегать человечка и заставить его что-то собирать будет закончено, и так вроде все разобрал и особо нечего дополнить. Ну и продолжу изучать шейдеры с партиклами, с ними будут разборы, как что сделано.  За сим  спасибо за внимание, посмотрим что получится на следующем уровне.

Собственно первый WIP рогалика.

Показать полностью 1 1
10

Godot. Путь новичка. Основы навигации. Ч4. Navigation2D

Прошлый пост
Godot. Путь новичка. Основы навигации. Ч3. TileMap

Жена припахала у холодильника дверцы переставлять, вот так всегда получается, думаешь у тебя много времени в запасе, а оно на всякую фигню расходуется, ещё и взмок весь в процессе).
Ладно перемещение, сейчас быстренько сделаем, а сложные способы на потом оставлю, сейчас прям простым простым. Для этого нужна нода Navigation2D. Добавим её.

Godot. Путь новичка. Основы навигации. Ч4. Navigation2D Godot Engine, Godot, Инди, Gamedev, Разработка, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч4. Navigation2D Godot Engine, Godot, Инди, Gamedev, Разработка, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч4. Navigation2D Godot Engine, Godot, Инди, Gamedev, Разработка, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч4. Navigation2D Godot Engine, Godot, Инди, Gamedev, Разработка, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч4. Navigation2D Godot Engine, Godot, Инди, Gamedev, Разработка, Фекалии, Видео, Без звука, Длиннопост

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

Godot. Путь новичка. Основы навигации. Ч4. Navigation2D Godot Engine, Godot, Инди, Gamedev, Разработка, Фекалии, Видео, Без звука, Длиннопост

Финальные правки.

Godot. Путь новичка. Основы навигации. Ч4. Navigation2D Godot Engine, Godot, Инди, Gamedev, Разработка, Фекалии, Видео, Без звука, Длиннопост

Видосик с результатом.

Как и говорил все проще простого.
Ремарка, сами разработчики предупреждают, что с использованием Navigation2D связано много сложностей и проблем и там бывают неожиданные поведения. Используйте на свой страх и риск, но если у вас простой маршрут, без дикостей всяких и особенно если надо очень быстро получить результат, то игнорировать наличие такой возможностей, просто глупо. Для проверки работоспособности идеи и прототипа, он очень даже чудесный.

Время 18.32 по мск, начал в 9 утра. Не знаю много это или мало для девяти часов работы, скажем так, меня устраивает, довольно занятный был опыт) Без попутного написания постов скорее всего сделал бы быстрее, но не факт что больше. Так-то по идее собак добавить, делов на часик, но это надо ассеты искать, анимации эти настраивать, если честно очень лень, а так фабрику собак по аналогии с гавном сделать, перемещение это надо копирнуть код игрока, просто заменить финальную точку для поиска пути с клика мышки, на позицию игрока. Фабрику гавна повесить на собаку вместо основной сцены и периодически по таймеру, спавнить кучу по позиции собаки. Коллизию. с собакой, по аналогии с кучей сделать, разве что вызывать окно GameOver'a надо будет. Вот кажется и пустяки, а по факту на полдня работы ещё)

Ну ладно, скорее всего этот проект буду допиливать, втихушку на нем кодить не буду, о всем что доделаю, напишу постик-другой.

Спасибо за внимание и что читаете. Нас любителей Godot'a конечно немного, но поживем увидим, может что и изменится, вакансии нет нет, да и начали промелькивать)

Если что найти меня можно в телеге, веду небольшой совсем канал где пишу всякую срамоту о ходе разработки
https://t.me/boogernator

Показать полностью 7 1
8

Godot. Путь новичка. Основы навигации. Ч3. TileMap

Ладушки, немножко передохнул, продолжим. Время 15.20 по мск.
Предыдущее про сбор Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек

Попробуем прикрутить как-нибудь тайлмап. Предупреждаю сразу, я в них не разбирался толком, так что запросто наделаю глупостей, ну фиг с ним, картинку то думаю можно слепить какую-нибудь.
https://bakudas.itch.io/generic-oldwest-pack
Взял здесь Tileset, буду собирать дерьмо на диком западе. Вестерны мне нравятся, надо попробовать.
Картинку для затравочки, что можно собирать, 100% я и близко похожего не соберу.

Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост

Но будем пробовать.

Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост

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

Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост

Тут можно головой поплыть, насколько неудобно и запутано сделано все ссылку на офдоки на всякий случай приложу.
https://docs.godotengine.org/ru/stable/tutorials/2d/using_ti...

Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост

Методом проб и ошибок, рано или поздно должно все получится и в голове сразу уляжется, что как и зачем кликать)

Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост

Если прям открыли в себе художника, можете и так раскрашивать, если лень то заливкой добиваете остальное поле, гифку прикладываю.
https://gyazo.com/b8a0b4a71db56d009c4e104347a03458

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


Теперь заделаем ещё один тайлмап и начнем строить красивые заборы.

Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч3. TileMap Godot Engine, Gamedev, Инди, Разработка, Мат, Фекалии, Godot, Инди игра, Видео, Без звука, Длиннопост

Ну вот какой-никакой фон уже появился, выглядеть начинает все лучше и лучше.

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

Время 16.15мск по идее ещё можно все успеть.
То что гавно спавнится где не нужно это не страшно, и это не нужно спешить исправлять. Надо понимать что области за вагонами, заборами и тд, будут непроходимы для игрока и соответственно для собак. А если собаки туда не смогут пройти, то и наспавнить там они тоже не смогут, так что пофигу, это временный баг из разряда самоустраняющихся)
Блин хотел передохнуть в последний день отпуска и немножко втянуться) а по итогу устроил сам себе гавяный Джем, заебись четко)

Показать полностью 12 1
29

Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек

Продолжение
Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой

Специально для @Bubkagopp, добавлю сбор какашек. Если хочется человеку побегать, дерьмеца пособирать, то кто я такой чтобы отказать ему в этой радости. В конце видео с результатом, довольно неплохо выходит.

Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост

Ну теперь как видим вступает нормально, а благодаря тому, что мы написали class_name Player, довольно точно определяет кто именно вступил, пока у нас бегает один игрок, это не принципиально, но если появятся и NPC конкуренты, то в будущем нам это пригодится. Теперь напишем фабрику, для генерации рандомного гавна.

Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост

Ну теперь перейдем к самому увлекательному, к сбору всего этого добра.

Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост

Теперь сделаем чтобы, оно исчезало при касании и добавлялось новое.

Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост

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

Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост

Все теперь у нас человечек бегает, собирает, счет увеличивается.

Как делать партиклы и вставить шейдер детально расписывать не буду, уже описывал это ранее, кратенько покажу в скрипте что происходит и усе.

Godot. Путь новичка. Основы навигации. Ч2. Сбор какашек Инди, Gamedev, Godot Engine, Godot, Мат, Фекалии, Видео, Без звука, Длиннопост

Так то заебись, похоже на какое-то гавно, издалека можно перепутать.
@Bubkagopp надеюсь ты доволен, но фидбек и пожелания на доделки принимаются)
Так-то даже концепт начал какой-то вырисовываться, сейчас как раз весна, актуальненько.
В качестве врагов сделать рандомношатающихся собак, которые срут где не попадя, а чистомен бегает собирает. Игра бесконечная и путь только один, в больницу через кусь или усталость, переосмыслить басню о Сизифе, через гавно. Звучит как план.
В конце концов, какая разница кто будет бегать, орки или собаки.

По МСК 13:12 до вечера время ещё есть, но кажется что я устал) А к поиску пути ещё не приступал даже) Вечно отвлекаюсь, на какое-то дерьмо)

Показать полностью 16 2
12

Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой

Добрый день, мои дорогие подписчики. Что-то я опять начал много думать и мало делать, мечталось, что даже после маленького релизика, у меня проснется внутренний перфекционист и будет желание доделывать и допиливать все по красоте. А по факту скатился в самобичевание и прокрастинацию, скорее всего выгорел за три недели, ведь по факту было собрано два играбельных прототипа, а второй даже релизнули. Но посиделки по 14-16 часов на энергетиках и ноотропах, до добра не доводят)

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

Вывод третий, если понятно что делать, и понятно когда сделать, остается вопрос, как сделать? Тут можно впасть в ступор, заняться прокрастинацией, делать вид, что самообучаешься, размышляешь, пиздеть пространные вещи, про то что работа программиста это на 95% работа головой и надо сначала подумать. А ответ он же на поверхности, сколько раз я себе это говорю, сколько писал уже, даже братан полностью перешел на этот способ.

Kiss - Keep it Simple Stupid. Сделать надо как можно быстрее, с минимальными затратами сил и времени, а там уже по результату можно смотреть, годится или надо переделать. Собственно так и поступим.


ТЗ
1)Надо сделать перемещение героя по карте с ограниченными областями проходимости, перемещаться будет мышкой. Куда кликнули туда и бежит.
2) Надо добавить спавн врагов, у врагов простая логика поведения, бежит всегда к герою, обегая непроходимые области.


Время когда сделать, до конца отпуска. Сегодня последний день отпуска, сейчас время 9-01 по МСК, завтра к 10 утра на работу, есть 24 часа. Ну собственно и погнали.

Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост

С этим разобрались, теперь нам надо создать главного героя.

Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост

Добавим картиночек

Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост

Как-то так должно получится примерно.

Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост
Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост

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

Собственно начать надо с чего-то простого, так что просто определим пока координаты, где будет происходить нажатие мышки или тап по экрану. В Godot есть очень удобная галочка, позволяет конвертить клики мышки в тапы по экрану и наоборот, так что для простых механик можно не заморачиваться. Что кликается мышкой, так же будет и тапаться на мобилке. Кроссплатформа из коробки, удобненько) Ну собственно добавим скрипт для игрока в котором будем отлавливать клик мышкой.

Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост

Теперь дело за малым, запилим, чтобы человечек бежал в точку после клика.

Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост

Кривенько, но персонаж начал двигаться, поскольку мы не указали ему когда начинать движение, то изначально он бежит в верхний левый угол, там у нас получается destination_point со значение Vector2(0,0), а когда он добегает до точки, то начинает дергаться взад вперед, как умалишенный, это происходит потому, что из-за высокой скорости, он за каждый кадр пробегает чуть дальше, чем его точка назначения, а потом возвращается назад и так раз за разом. Выглядит довольно уебищно, исправим это простым способом.

Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост

Даже в туториалах Godot почему-то указан ошибочный способ проверки.
https://docs.godotengine.org/ru/stable/tutorials/2d/2d_movem...

Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост

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

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

Godot. Путь новичка. Основы навигации. Ч1. Движение мышкой Gamedev, Инди, Разработка, Godot Engine, Godot, Мат, Видео, Без звука, Длиннопост

Ну все человечек бегает, анимации выбираются правильно. Добегает до точки, куда кликнули. Первый этап прошел довольно неплохо. Время 10.57 запасец остается.

Разобью пожалуй на несколько постов, а то очень много получиться текста для одного. Кофе попью и начну следующий.

Показать полностью 12 2
12

Godot путь новичка. Феникс из частиц

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

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

Godot путь новичка. Феникс из частиц Godot Engine, Godot, Gamedev, Инди, Разработка, Видео, YouTube, Без звука, Длиннопост
Godot путь новичка. Феникс из частиц Godot Engine, Godot, Gamedev, Инди, Разработка, Видео, YouTube, Без звука, Длиннопост

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

Ну если надо как-нибудь запустить, то у меня пока такой код используется в качестве заглушки.

Godot путь новичка. Феникс из частиц Godot Engine, Godot, Gamedev, Инди, Разработка, Видео, YouTube, Без звука, Длиннопост

В целом сейчас уже в тестовом варианте сделал через Path2D и PathFollow2D там ещё проще и удобнее и гораздо вариативнее, но это для отдельного поста тема.

Спасибо за внимание.

P.S. На днях помогал подписчику с одним багом в его проекте, сорян не знаю какой ник на Пикабу у него, вообщем он непротив, так что следующий пост планирую сделать с небольшим разбором и рефакторингом его проекта.

Так что если нужна помощь или интересна вся подноготная процесса разработки, залетайте в телеграмм.
https://t.me/boogernator

Godot путь новичка. Феникс из частиц Godot Engine, Godot, Gamedev, Инди, Разработка, Видео, YouTube, Без звука, Длиннопост
Показать полностью 4 1
Отличная работа, все прочитано!