День 8
Сегодня удалось покодить всего полчаса (не считая основную работу 👀), но всё же я полностью закончил переписывание и разбиение логики персонажа на стейт-машину
Вопросы остались, но другие разработчики всегда подскажут, как лучше, или просто выскажут своё мнение, главное — серьёзно подойти к задаванию вопроса, иначе вас, скорее всего, проигнорируют или даже начнут насмехаться
Так как особо нечего рассказать и показать, расскажу, как правильно задавать вопросы, чтобы получить нормальный ответ, а не токсичный рофл 🌚
Вот примеры плохих вопросов:
1. Привет ❌
2. Кто-нибудь делал такое? / Кто-то работал с технологией [name]? ❌
3. Привет, у меня есть вопрос по [name] ❌
Как задать хороший вопрос? — Это довольно просто. Нужно:
1. Описать вопрос или вашу проблему
2. Озвучить ваши мысли по поводу решения этой проблемы
3. Описать то, что вы уже пытались сделать, но это не помогло / вы ожидали другого результата
4. Добавить скриншоты/код, дать контекст проблемы
Я прикреплю пару скриншотов своих вопросов, я всегда стараюсь подходить к задаванию вопросов осознанно, потому что так я экономлю своё время и время людей, которые абсолютно бесплатно вам помогают (а если и не бесплатно, то вам быстрее помогут)
Также очень рекомендую прочитать вот эту небольшую статью про "мета-вопросы"
Мир любит тех, кто задаёт хорошие вопросы, будь тем, кого любит мир 😎
#godot #разработка
Сегодня удалось покодить всего полчаса (не считая основную работу 👀), но всё же я полностью закончил переписывание и разбиение логики персонажа на стейт-машину
Вопросы остались, но другие разработчики всегда подскажут, как лучше, или просто выскажут своё мнение, главное — серьёзно подойти к задаванию вопроса, иначе вас, скорее всего, проигнорируют или даже начнут насмехаться
Так как особо нечего рассказать и показать, расскажу, как правильно задавать вопросы, чтобы получить нормальный ответ, а не токсичный рофл 🌚
Вот примеры плохих вопросов:
1. Привет ❌
...тишина 💤
2. Кто-нибудь делал такое? / Кто-то работал с технологией [name]? ❌
Да, кто-то точно работал 😁
3. Привет, у меня есть вопрос по [name] ❌
Хорошо, что у тебя есть вопрос, мы все рады 😈
Как задать хороший вопрос? — Это довольно просто. Нужно:
1. Описать вопрос или вашу проблему
2. Озвучить ваши мысли по поводу решения этой проблемы
3. Описать то, что вы уже пытались сделать, но это не помогло / вы ожидали другого результата
4. Добавить скриншоты/код, дать контекст проблемы
Я прикреплю пару скриншотов своих вопросов, я всегда стараюсь подходить к задаванию вопросов осознанно, потому что так я экономлю своё время и время людей, которые абсолютно бесплатно вам помогают (а если и не бесплатно, то вам быстрее помогут)
Также очень рекомендую прочитать вот эту небольшую статью про "мета-вопросы"
Мир любит тех, кто задаёт хорошие вопросы, будь тем, кого любит мир 😎
#godot #разработка
🔥3
День 9
Вчера был очень продуктивный день, если верить трекеру, то это целых 0 часов, 0 минут и даже 0 секунд 😎
Очень хотелось позаниматься геймдевом, но мне совершенно неожиданно пришло приглашение проводить персональные консультации. Это как раз то, что мне нужно — немного подзаработать без "долгосрочных" обязательств, потому что хочется баловать себя покупками, помимо кока-колы 👀
Предложение, конечно, я принял и заполнял анкету два часа, дольше всего было ответить на следующие пункты:
и
Долго думал, что такого написать и рассказать в видео искреннего, чтобы реально заинтересовать человека, надеюсь, получилось хорошо
Кому интересно посмотреть видео — вот ссылка на Google Диск, я даже немного смонтировал его. Мне до сих пор немного кринжово снимать видео, потому что это новый опыт для меня, но вроде не так уж и ужасно выходит
Сегодня (вторник 9-го числа) уже будет юбилей — 10 дней с того момента, как я начал заниматься разработкой игр, так что результат какой-то должен быть сто процентов, пока что всё говорит о том, что у меня будет много свободного времени на это дело
Вчера был очень продуктивный день, если верить трекеру, то это целых 0 часов, 0 минут и даже 0 секунд 😎
Очень хотелось позаниматься геймдевом, но мне совершенно неожиданно пришло приглашение проводить персональные консультации. Это как раз то, что мне нужно — немного подзаработать без "долгосрочных" обязательств, потому что хочется баловать себя покупками, помимо кока-колы 👀
Предложение, конечно, я принял и заполнял анкету два часа, дольше всего было ответить на следующие пункты:
Напишите, пожалуйста, описание о себе. Оно будет доступно студентам, которые заинтересуются этим сервисом.
и
Отправьте ссылку на Google Drive с вашим видео о себе.
Долго думал, что такого написать и рассказать в видео искреннего, чтобы реально заинтересовать человека, надеюсь, получилось хорошо
Кому интересно посмотреть видео — вот ссылка на Google Диск, я даже немного смонтировал его. Мне до сих пор немного кринжово снимать видео, потому что это новый опыт для меня, но вроде не так уж и ужасно выходит
Сегодня (вторник 9-го числа) уже будет юбилей — 10 дней с того момента, как я начал заниматься разработкой игр, так что результат какой-то должен быть сто процентов, пока что всё говорит о том, что у меня будет много свободного времени на это дело
❤2🔥2
День 10
Пост за вчера (снова) 🥲
Фактически занимался обучением 2.5 часа, где половину времени добавлял мелочи в игру про рыцаря, добавил двойной прыжок, возможность делать кувырок в воздухе, сразу же исправил баг, где можно было делать кувырок => двойной прыжок => кувырок => ... и так бесконечно
Разобрался, где хранить данные типа "can_user_jump" или "can_user_roll", потому что они нужны в разных местах, и я думал, где централизовать хранение всего этого. Ответ — в главном скрипте
Потом посмотрел How to program in Godot про язык
Не помню, говорил ли об этом, но в игровом движке Godot официально поддерживаются
Также перед тем, как начать учиться, меня прям накрыла прокрастинация и нежелание начинать. Мне даже стало немного страшно — как так, мне же это нравится. Но потом я понял, почему так было — из-за "больших" задач
Когда передо мной стоит большая и, главное, непонятная задача, на которую я не знаю, сколько уйдёт времени и как её делать — я откладываю это до последнего. Я знаю решение этой проблемы:
- Разбить задачу на подзадачи
- Начать делать, просто начать и понять, что не всё так сложно и "страшно", а дальше оно само пойдёт
Реально, самое трудное — это начать что-то делать, а дальше уже нормально идёт. Я уверен, что так у большинства, просто (ага, просто) нужна дисциплина и нужно немного переступить через себя, мне в этом помогает этот канал, я чувствую ответственность 😅
Также я написал планы на улучшение игры про рыцаря, чтобы максимально прокачаться и чтобы игра была "игрой", а не просто какой-то чел бегал и прыгал бесконечно. О планах я напишу в следующем посте, скорее всего это будет сегодня, хочу попробовать всё это "визуализировать
P.S. постоянно сохраняю в "Посмотреть позже" на YouTube видосы про Pixel Art, очень хочу начать рисовать, но распыляться нельзя, надо закончить рыцаря, а потом уже двигаться дальше
А, и ещё — то, сколько времени я трачу на геймдев — это чисто время на обучение и практику. То есть, если я смотрю какие-то видео, которые больше развлекательные и весёлые — я это время не трекаю, хочу точно знать, чему я научился за 10, 100, ... N часов, думаю, это будет интересно не только мне
#godot #разработка
Пост за вчера (снова) 🥲
Фактически занимался обучением 2.5 часа, где половину времени добавлял мелочи в игру про рыцаря, добавил двойной прыжок, возможность делать кувырок в воздухе, сразу же исправил баг, где можно было делать кувырок => двойной прыжок => кувырок => ... и так бесконечно
Разобрался, где хранить данные типа "can_user_jump" или "can_user_roll", потому что они нужны в разных местах, и я думал, где централизовать хранение всего этого. Ответ — в главном скрипте
player.gd, и можно спокойно в другом скрипте/файле искать Player на сцене и вызывать у него функции типа player.jump(), player.move(), player.can_roll и так далее, потому что я сначала думал, что это плохая практика. Ещё добавил музыку из тех ассетов, что дал Brackeys. Прикреплю небольшое видео того, что есть сейчасПотом посмотрел How to program in Godot про язык
GDScript, которым я пользуюсь уже десятый день. Всё правильно — сначала пишем предложения, потом учимся, как писать буквы, жизнь меня ничему не учит 😅Не помню, говорил ли об этом, но в игровом движке Godot официально поддерживаются
GDScript, C# и C++. Так как Godot полностью бесплатный и опенсорсный — для него делают плагины, и можно писать хоть на JS, но я не рискую, мне на работе его хватает 😢Также перед тем, как начать учиться, меня прям накрыла прокрастинация и нежелание начинать. Мне даже стало немного страшно — как так, мне же это нравится. Но потом я понял, почему так было — из-за "больших" задач
Когда передо мной стоит большая и, главное, непонятная задача, на которую я не знаю, сколько уйдёт времени и как её делать — я откладываю это до последнего. Я знаю решение этой проблемы:
- Разбить задачу на подзадачи
- Начать делать, просто начать и понять, что не всё так сложно и "страшно", а дальше оно само пойдёт
Реально, самое трудное — это начать что-то делать, а дальше уже нормально идёт. Я уверен, что так у большинства, просто (ага, просто) нужна дисциплина и нужно немного переступить через себя, мне в этом помогает этот канал, я чувствую ответственность 😅
Также я написал планы на улучшение игры про рыцаря, чтобы максимально прокачаться и чтобы игра была "игрой", а не просто какой-то чел бегал и прыгал бесконечно. О планах я напишу в следующем посте, скорее всего это будет сегодня, хочу попробовать всё это "визуализировать
P.S. постоянно сохраняю в "Посмотреть позже" на YouTube видосы про Pixel Art, очень хочу начать рисовать, но распыляться нельзя, надо закончить рыцаря, а потом уже двигаться дальше
А, и ещё — то, сколько времени я трачу на геймдев — это чисто время на обучение и практику. То есть, если я смотрю какие-то видео, которые больше развлекательные и весёлые — я это время не трекаю, хочу точно знать, чему я научился за 10, 100, ... N часов, думаю, это будет интересно не только мне
#godot #разработка
🔥2❤1
День 11
Сегодня был очень загруженный день, но под вечер всё-таки удалось немного накидать план доработок для рыцаря, посидел примерно час
1. Полоса здоровья и логика здоровья, без мгновенной смерти
2. Летающие очки урона/лечения
3. Лечение фруктами
4. Убивать врага при падении (как в Марио)
5. Кадры неуязвимости во время кувырка
6. Падение фруктов/монет с врага
7. Босс
7.1 2 типа атак
- Прыжок на персонажа
- Подготовка и рывок к персонажу
7.2 Немного проработанная арена
7.3 Специальная полоса здоровья (health bar) для босса
Это всё было ещё вчера, а сегодня я почти всё визуализировал, чтобы выглядело более-менее интересно и наглядно
Я всё это делал на miro.com, так что мой прогресс можно посмотреть вот здесь, прикреплю пару скринов оттуда, чтобы вас заинтересовать 👀
Если у вас есть какие-то предложения по тому, что добавить в игру про рыцаря, буду рад выслушать и, если это реально, добавить в игру 👀
Я дал всем возможность комментироватьдоску с планом, так что можете писать прямо туда (или в комментариях под этим постом), она удалилась, потому что я вышел из команды... длинная история, та за шо
Как только доделаю рыцаря, буду в основном заниматься пиксель-артом и потихоньку продумывать следующую игру, чтобы разработать её с полного нуля — логика, графика, музыка и звуки, как говорил ранее, скорее всего это будет капибара-рембо, которая будет стрелять по врагам 🔫
Сегодня был очень загруженный день, но под вечер всё-таки удалось немного накидать план доработок для рыцаря, посидел примерно час
1. Полоса здоровья и логика здоровья, без мгновенной смерти
2. Летающие очки урона/лечения
3. Лечение фруктами
4. Убивать врага при падении (как в Марио)
5. Кадры неуязвимости во время кувырка
6. Падение фруктов/монет с врага
7. Босс
7.1 2 типа атак
- Прыжок на персонажа
- Подготовка и рывок к персонажу
7.2 Немного проработанная арена
7.3 Специальная полоса здоровья (health bar) для босса
Это всё было ещё вчера, а сегодня я почти всё визуализировал, чтобы выглядело более-менее интересно и наглядно
Я всё это делал на miro.com, так что мой прогресс можно посмотреть вот здесь, прикреплю пару скринов оттуда, чтобы вас заинтересовать 👀
Если у вас есть какие-то предложения по тому, что добавить в игру про рыцаря, буду рад выслушать и, если это реально, добавить в игру 👀
Я дал всем возможность комментировать
Как только доделаю рыцаря, буду в основном заниматься пиксель-артом и потихоньку продумывать следующую игру, чтобы разработать её с полного нуля — логика, графика, музыка и звуки, как говорил ранее, скорее всего это будет капибара-рембо, которая будет стрелять по врагам 🔫
🔥3
День 12
Вчера разобрался, как сделать полосу здоровья и саму систему здоровья, но сделать её не успел, так что сегодня планирую сделать как минимум следующие вещи:
- Реализовать фичу здоровья — полоса, система и возможность повторного использования для врагов
- Реализовать нормальную смерть персонажа
Про полосу здоровья — это не так уж сложно, эти и эти видео, думаю, почти полностью покрыли всё, что нужно знать про health bar
Вчера вышло около часа на всё
У меня довольно часто возникают вопросы по поводу "правильности" и архитектуры, чтобы я сразу учился максимально правильно. За 5 лет у меня уже появилась "чуйка", если я пишу что-то, что вроде работает, но точно потом вылезет боком. К счастью, есть чат про Godot, где я могу задавать вопросы... к сожалению, в таких чатах не всегда отвечают. А я понимаю, что если сейчас буду делать неправильно и привыкну к этому, то потом придётся переучиваться, и такие вещи будут накапливаться, что может потом вылезти боком
Поэтому я решил найти ментора, которому мог бы задавать вопросы и который направлял бы меня в правильное русло, так сказать. Я неприхотливый, всё делаю сам, но вопросы типа "Какое сверло тут использовать? У меня их десять, и в принципе все подходят... как выбрать?" мне, как новичку, абсолютно непонятны, но кому-то, кто уже набил шишки, это очевидно. Так что скоро у меня впервые в жизни будет ментор — посмотрим, как это будет
Вчера разобрался, как сделать полосу здоровья и саму систему здоровья, но сделать её не успел, так что сегодня планирую сделать как минимум следующие вещи:
- Реализовать фичу здоровья — полоса, система и возможность повторного использования для врагов
- Реализовать нормальную смерть персонажа
Про полосу здоровья — это не так уж сложно, эти и эти видео, думаю, почти полностью покрыли всё, что нужно знать про health bar
Вчера вышло около часа на всё
У меня довольно часто возникают вопросы по поводу "правильности" и архитектуры, чтобы я сразу учился максимально правильно. За 5 лет у меня уже появилась "чуйка", если я пишу что-то, что вроде работает, но точно потом вылезет боком. К счастью, есть чат про Godot, где я могу задавать вопросы... к сожалению, в таких чатах не всегда отвечают. А я понимаю, что если сейчас буду делать неправильно и привыкну к этому, то потом придётся переучиваться, и такие вещи будут накапливаться, что может потом вылезти боком
Поэтому я решил найти ментора, которому мог бы задавать вопросы и который направлял бы меня в правильное русло, так сказать. Я неприхотливый, всё делаю сам, но вопросы типа "Какое сверло тут использовать? У меня их десять, и в принципе все подходят... как выбрать?" мне, как новичку, абсолютно непонятны, но кому-то, кто уже набил шишки, это очевидно. Так что скоро у меня впервые в жизни будет ментор — посмотрим, как это будет
🔥3
День 13
Сегодня был продуктивный день — всё, что планировал, сделал, а именно систему здоровья, полосу здоровья, "нормальную" смерть персонажа
Прикреплю пару видео, одно короткое с фактическим результатом, а другое подлиннее, больше про "процесс" с моими комментариями здесь и там
Я уже чувствую, как начинаю реально понимать, что и где могу использовать, как сделать какую-то фичу (пусть даже через костыли), и это очень приятное ощущение, а я ведь занимаюсь геймдевом всего 22 часа. Вот сейчас ещё подумал разделить потраченное время на разработку и на другие направления — арт-дизайн и саунд-дизайн, так будет максимально наглядно следить за прогрессом условно "по часам"
Также сегодня я созвонился и познакомился с ментором, поговорили час и поняли, что подходим друг другу и будем сотрудничать
Как я говорил выше в посте, пока мне нужны только ответы на вопросы и "направление" в правильное русло, чтобы я не копал и не делал то, что не нужно. Ну и, конечно, ревью моих проектов — их структуры, архитектуры и качества кода
Например, один из советов: "Пока кто-то пишет идеальный код, другой зарабатывает деньги", и ещё он привёл примеры людей, которые хейтили и сильно критиковали код какой-то игры, которая уже приносит немалые деньги, а сами ни одной игры не написали. Конечно, не нужно писать "говнокод", но и загоняться тоже не стоит, если надо пару раз нарушить какой-то принцип или что-то в этом духе
Например, я слышал шутку про невероятно классную игру Undertale, что там прямо "спагетти-код" и миллион вложенных if-else друг в друга. Ну, я посмотрел — и правда так (если верить, то вот исходный код игры), но игра заработала невероятные деньги, и в ней есть самое главное — душа. Играть и погружаться в неё — это прекрасно, всем рекомендую. Прикреплю скриншот их кода для диалогов
#godot #разработка
Сегодня был продуктивный день — всё, что планировал, сделал, а именно систему здоровья, полосу здоровья, "нормальную" смерть персонажа
Прикреплю пару видео, одно короткое с фактическим результатом, а другое подлиннее, больше про "процесс" с моими комментариями здесь и там
Я уже чувствую, как начинаю реально понимать, что и где могу использовать, как сделать какую-то фичу (пусть даже через костыли), и это очень приятное ощущение, а я ведь занимаюсь геймдевом всего 22 часа. Вот сейчас ещё подумал разделить потраченное время на разработку и на другие направления — арт-дизайн и саунд-дизайн, так будет максимально наглядно следить за прогрессом условно "по часам"
Также сегодня я созвонился и познакомился с ментором, поговорили час и поняли, что подходим друг другу и будем сотрудничать
Как я говорил выше в посте, пока мне нужны только ответы на вопросы и "направление" в правильное русло, чтобы я не копал и не делал то, что не нужно. Ну и, конечно, ревью моих проектов — их структуры, архитектуры и качества кода
Например, один из советов: "Пока кто-то пишет идеальный код, другой зарабатывает деньги", и ещё он привёл примеры людей, которые хейтили и сильно критиковали код какой-то игры, которая уже приносит немалые деньги, а сами ни одной игры не написали. Конечно, не нужно писать "говнокод", но и загоняться тоже не стоит, если надо пару раз нарушить какой-то принцип или что-то в этом духе
Например, я слышал шутку про невероятно классную игру Undertale, что там прямо "спагетти-код" и миллион вложенных if-else друг в друга. Ну, я посмотрел — и правда так (если верить, то вот исходный код игры), но игра заработала невероятные деньги, и в ней есть самое главное — душа. Играть и погружаться в неё — это прекрасно, всем рекомендую. Прикреплю скриншот их кода для диалогов
#godot #разработка
🔥2
День 14
Вчера удалось поработать около 2 часов, хочется больше уделять этому времени, потому что есть много свободного времени, но даже если удаётся поработать всего 15-30 минут — это уже хорошо. Самое главное — не корить себя за то, что недостаточно что-то делаешь, потому что ты уже начал это делать, и уже есть прогресс, ведь "1% больше, чем 0%", нужно всегда это помнить
Если говоришь себе: "Вот завтра я начну делать то и это по 4+ часа в день...", то будет очень сложно начать, потому что перед тобой стоит некая стена ответственности, которая мешает начать, ведь "нужно аж 4 часа...". Поэтому не нужно корить себя за то, что получилось мало поучиться или позаниматься чем-то. Раньше я постоянно себя корил (сейчас тоже, но не так сильно 😅) и часто бросал начатое из-за слишком высоких требований. А вот когда я решал делать хотя бы по 15 минут в день — с каждым днём становилось намного легче начинать заниматься этим и уделять больше времени
Это всё, конечно, хорошо, отмазку написал, почему по несколько часов работаю в выходные, теперь к сути 🌚
Добавил систему здоровья для врагов, и теперь их можно убивать, урон наносится, когда персонаж падает на врага, прямо как в Марио
Сегодня добавлю состояние "Умирает (Dying)" и "Оглушён (Stunned)". Враг будет переходить в состояние Stunned, когда получает урон, планирую сделать его немного краснее на это время и чтобы он не двигался в этот момент. А в состоянии Dying просто добавлю анимацию смерти и уберу его Hitbox (часть врага, которая наносит урон персонажу)
Сделал эти вещи за пару часов... но реалистично мог бы сделать за минут 40, потому что возникает много вопросов: "А как правильно? А как лучше?", так что я решил пока делать как получается, но оставлять комментарии в коде или записывать свои вопросы в заметки, чтобы потом уточнить у ментора
Пока что у меня следующие вопросы:
-
-
-
- Почему не использовать просто rectangle collision вместо RayCast? (вопрос по поводу этого видео). P.S. я сделал через rectangle collision
- Как правильно доставать главную ноду в сцене (враг или персонаж)? Потому что сейчас использую костыль типа
Также прикреплю небольшое видео с результатом
Хотел также смонтировать видео побольше с моими комментариями и мыслями, но OBS заглючил на макбуке и снимал экран одной вкладки в хроме все два часа 🫠
#godot #разработка
Вчера удалось поработать около 2 часов, хочется больше уделять этому времени, потому что есть много свободного времени, но даже если удаётся поработать всего 15-30 минут — это уже хорошо. Самое главное — не корить себя за то, что недостаточно что-то делаешь, потому что ты уже начал это делать, и уже есть прогресс, ведь "1% больше, чем 0%", нужно всегда это помнить
Если говоришь себе: "Вот завтра я начну делать то и это по 4+ часа в день...", то будет очень сложно начать, потому что перед тобой стоит некая стена ответственности, которая мешает начать, ведь "нужно аж 4 часа...". Поэтому не нужно корить себя за то, что получилось мало поучиться или позаниматься чем-то. Раньше я постоянно себя корил (сейчас тоже, но не так сильно 😅) и часто бросал начатое из-за слишком высоких требований. А вот когда я решал делать хотя бы по 15 минут в день — с каждым днём становилось намного легче начинать заниматься этим и уделять больше времени
Это всё, конечно, хорошо, отмазку написал, почему по несколько часов работаю в выходные, теперь к сути 🌚
Добавил систему здоровья для врагов, и теперь их можно убивать, урон наносится, когда персонаж падает на врага, прямо как в Марио
Сегодня добавлю состояние "Умирает (Dying)" и "Оглушён (Stunned)". Враг будет переходить в состояние Stunned, когда получает урон, планирую сделать его немного краснее на это время и чтобы он не двигался в этот момент. А в состоянии Dying просто добавлю анимацию смерти и уберу его Hitbox (часть врага, которая наносит урон персонажу)
Сделал эти вещи за пару часов... но реалистично мог бы сделать за минут 40, потому что возникает много вопросов: "А как правильно? А как лучше?", так что я решил пока делать как получается, но оставлять комментарии в коде или записывать свои вопросы в заметки, чтобы потом уточнить у ментора
Пока что у меня следующие вопросы:
-
owner — что, как и зачем?-
Hitbox — как правильно настроить? Как правильно наносить/получать урон, кто должен это вызывать и т.п.-
timers — когда нужно создавать отдельный узел, а когда просто вызывать SceneTree.create_timer?- Почему не использовать просто rectangle collision вместо RayCast? (вопрос по поводу этого видео). P.S. я сделал через rectangle collision
- Как правильно доставать главную ноду в сцене (враг или персонаж)? Потому что сейчас использую костыль типа
slime = get_parent().get_parent() или player = get_tree().get_first_node_in_group('Player'), насчёт последнего не уверен, что это костыль — но выглядит не оченьТакже прикреплю небольшое видео с результатом
Хотел также смонтировать видео побольше с моими комментариями и мыслями, но OBS заглючил на макбуке и снимал экран одной вкладки в хроме все два часа 🫠
#godot #разработка
❤2🔥2
День 15
Сделал себе выходной от учёбы, так что фактического прогресса вчера не было
Я просто думал об идее для игры, которую буду делать после того, как закончу с рыцарем
Последние дни играю в Archvale, очень нравится идея игры, это такая себе ARPG с разными видами оружия (ближний бой, дальний бой и магия — фактически просто посохи и книги). Ходишь по миру, рубишь монстров с очень приятными анимациями и звуками, крафтишь и прокачиваешь оружие и броню (или выбиваешь с врагов или из сундуков), ещё и графика очень прикольная, но есть свои минусы: чувствую нехватку контента и очень высокую повторяемость и монотонность. Особенно интересно играть первые ~3-5 часов, дальше идёт гринд, и нужно стать "перекачем", чтобы пройти один особо сложный уровень-арену (или стать мастером уклонений, но это не про меня). А, и главное — там есть bullet hell, интересно, как его интегрировали
Ещё мне на YouTube случайно попалось видео девлога того разработчика из TikTok, о котором я говорил ранее, что мне нравится его стиль, а тут ещё и полноценные видео есть, очень интересно, будет что посмотреть в свободное время
В общем, идея будет о top-down ARPG (типа Diablo-клон), где в главной роли будет капибара с оружием. То есть делать я буду не платформер, как с рыцарем, а немного другое
Сделал себе выходной от учёбы, так что фактического прогресса вчера не было
Я просто думал об идее для игры, которую буду делать после того, как закончу с рыцарем
Последние дни играю в Archvale, очень нравится идея игры, это такая себе ARPG с разными видами оружия (ближний бой, дальний бой и магия — фактически просто посохи и книги). Ходишь по миру, рубишь монстров с очень приятными анимациями и звуками, крафтишь и прокачиваешь оружие и броню (или выбиваешь с врагов или из сундуков), ещё и графика очень прикольная, но есть свои минусы: чувствую нехватку контента и очень высокую повторяемость и монотонность. Особенно интересно играть первые ~3-5 часов, дальше идёт гринд, и нужно стать "перекачем", чтобы пройти один особо сложный уровень-арену (или стать мастером уклонений, но это не про меня). А, и главное — там есть bullet hell, интересно, как его интегрировали
Ещё мне на YouTube случайно попалось видео девлога того разработчика из TikTok, о котором я говорил ранее, что мне нравится его стиль, а тут ещё и полноценные видео есть, очень интересно, будет что посмотреть в свободное время
В общем, идея будет о top-down ARPG (типа Diablo-клон), где в главной роли будет капибара с оружием. То есть делать я буду не платформер, как с рыцарем, а немного другое
🔥2
День 16
Вчера был день теории и изучения многих вещей от ментора, почти две часа переписывались, и я слушал его ответы на свои вопросы из этого поста
Почти всё разобрали, осталось только пару моментов, которые, скорее всего, уже сегодня доразберём
Узнал о хитбоксах и хартбоксах
Как правильно настроить? Как правильно наносить/получать урон? Кто должен это вызывать и т.п.
За это должны отвечать только Area2D, а не коллизия, потому что сейчас у персонажа у меня коллизия отвечает за взаимодействие с миром (чтобы не падать) и за получение урона, а так неправильно. Потому что если я захочу сделать персонажа неуязвимым — мне придётся отключать правильные слои коллизии у персонажа, иначе он провалится или будут баги. А если делать правильно — коллизия отвечает только за "прикосновение" с миром, а Area2D отвечает за "если сюда ударят, получи урон", то можно отключить только Area2D, и никаких багов не будет
Наносить и получать (здесь я ещё не полностью уверен) урон должен скрипт персонажа. У врагов не должно быть в скриптах ничего такого:
Всё это должно быть в скрипте игрока. У него проверяется, с кем он соприкоснулся, и в зависимости от этого уже что-то делается в его скрипте. У врагов только настраивается их поведение — когда они прыгают, куда идут, когда стоят
Здесь было очень интересно — создание узлов это одно из самых затратных действий в игровом движке. Поэтому лучше всегда создавать узлы заранее, которые всегда есть. Они могут быть неактивными, но они созданы и в любой момент готовы к использованию
Ментор рассказал очень классный пример с патронами — есть пул патронов, пусть будет 30, и когда персонаж стреляет, патроны не создаются, а просто становятся видимыми и получают скорость. А когда они "исчезают", неважно, попали ли в врага или вышли за экран, они деактивируются и возвращаются на начальную позицию, но не удаляются. Очень интересно было это узнать
Сегодня уже начал дорабатывать игру, так что, может быть, пост напишу не завтра, а сегодня вечером 👀
#godot #разработка
Вчера был день теории и изучения многих вещей от ментора, почти две часа переписывались, и я слушал его ответы на свои вопросы из этого поста
Почти всё разобрали, осталось только пару моментов, которые, скорее всего, уже сегодня доразберём
Узнал о хитбоксах и хартбоксах
Как правильно настроить? Как правильно наносить/получать урон? Кто должен это вызывать и т.п.
За это должны отвечать только Area2D, а не коллизия, потому что сейчас у персонажа у меня коллизия отвечает за взаимодействие с миром (чтобы не падать) и за получение урона, а так неправильно. Потому что если я захочу сделать персонажа неуязвимым — мне придётся отключать правильные слои коллизии у персонажа, иначе он провалится или будут баги. А если делать правильно — коллизия отвечает только за "прикосновение" с миром, а Area2D отвечает за "если сюда ударят, получи урон", то можно отключить только Area2D, и никаких багов не будет
Наносить и получать (здесь я ещё не полностью уверен) урон должен скрипт персонажа. У врагов не должно быть в скриптах ничего такого:
var player = somehow_get_player()
...
player.take_damage(...)
Всё это должно быть в скрипте игрока. У него проверяется, с кем он соприкоснулся, и в зависимости от этого уже что-то делается в его скрипте. У врагов только настраивается их поведение — когда они прыгают, куда идут, когда стоят
Когда нужно создавать отдельный узел, а когда просто один раз создать через код?
Здесь было очень интересно — создание узлов это одно из самых затратных действий в игровом движке. Поэтому лучше всегда создавать узлы заранее, которые всегда есть. Они могут быть неактивными, но они созданы и в любой момент готовы к использованию
Ментор рассказал очень классный пример с патронами — есть пул патронов, пусть будет 30, и когда персонаж стреляет, патроны не создаются, а просто становятся видимыми и получают скорость. А когда они "исчезают", неважно, попали ли в врага или вышли за экран, они деактивируются и возвращаются на начальную позицию, но не удаляются. Очень интересно было это узнать
Сегодня уже начал дорабатывать игру, так что, может быть, пост напишу не завтра, а сегодня вечером 👀
#godot #разработка
🔥2
День 17
Вчера сделал состояния "Dying" и "Stunned" для врагов и добавил звук при нанесении урона, теперь выглядит намного лучше, но появился баг, который я пока не пофиксил — почему-то при большой скорости падения персонажу наносится урон, сегодня нужно разобраться с этим
Также сегодня добавлю летающие цифры урона, как раз уже знаю, как это сделать, в этом видео всё прекрасно показали
До конца этой недели точно закончу с рыцарем и приступлю к следующей игре, как раз ментор ещё раз подчеркнул, что лучше делать небольшие игры с несколькими механиками, не нужно сразу гнаться за "игрой мечты", потому что так почти никто не доходит до релиза, вырезают много контента, и получается какая-то мини-игра, которую можно было сделать намного быстрее
Так как я смотрю в сторону разработки top-down ARPG игр, то я буду дальше делать их. Для "обкатки" механик я буду делать разные игры по 3-4 недели (именно разработки, всё остальное не считаем)
Я ещё точно не определился с порядком, нужно ещё выписать механики, с которыми нужно попрактиковаться, но, скорее всего, следующая игра будет про такие механики:
- Система урона и атаки
- Враги
- Система прокачки персонажа, то есть опыт и основные атрибуты, такие как сила, ловкость и интеллект
- Переходы между уровнями, сделать минимум 2 уровня и "логическое" завершение игры, а не как сейчас в рыцаре
#godot #разработка
Вчера сделал состояния "Dying" и "Stunned" для врагов и добавил звук при нанесении урона, теперь выглядит намного лучше, но появился баг, который я пока не пофиксил — почему-то при большой скорости падения персонажу наносится урон, сегодня нужно разобраться с этим
Также сегодня добавлю летающие цифры урона, как раз уже знаю, как это сделать, в этом видео всё прекрасно показали
До конца этой недели точно закончу с рыцарем и приступлю к следующей игре, как раз ментор ещё раз подчеркнул, что лучше делать небольшие игры с несколькими механиками, не нужно сразу гнаться за "игрой мечты", потому что так почти никто не доходит до релиза, вырезают много контента, и получается какая-то мини-игра, которую можно было сделать намного быстрее
Так как я смотрю в сторону разработки top-down ARPG игр, то я буду дальше делать их. Для "обкатки" механик я буду делать разные игры по 3-4 недели (именно разработки, всё остальное не считаем)
Я ещё точно не определился с порядком, нужно ещё выписать механики, с которыми нужно попрактиковаться, но, скорее всего, следующая игра будет про такие механики:
- Система урона и атаки
- Враги
- Система прокачки персонажа, то есть опыт и основные атрибуты, такие как сила, ловкость и интеллект
- Переходы между уровнями, сделать минимум 2 уровня и "логическое" завершение игры, а не как сейчас в рыцаре
#godot #разработка
🔥2
Media is too big
VIEW IN TELEGRAM
День 18
Поигрался я с RayCast2D, чтобы пофиксить баг с получением урона при падении на врага (так не должно быть), но всё равно иногда проскакивает, спрошу у других разработчиков и у ментора, что там не так 🤔
Также сделал летающие цифры урона и лечения, конечно, системы лечения пока нет, но цифры уже готовы 😅
Сегодня очень свободный день от работы, поэтому смогу много времени уделить разработке, на сегодня такие планы:
- Добавить фрукты и возможность лечиться ими. Будет 2-3 вариации фруктов, и каждая вариация будет лечить на 15-20-25 соответственно
- Добавить выпадение монетки или фрукта с врагов с вероятностью 50/50, что-то будет выпадать всегда
- Добавить неуязвимость при кувырке
И останется только добавить меню и босса
#godot #разработка
Поигрался я с RayCast2D, чтобы пофиксить баг с получением урона при падении на врага (так не должно быть), но всё равно иногда проскакивает, спрошу у других разработчиков и у ментора, что там не так 🤔
Также сделал летающие цифры урона и лечения, конечно, системы лечения пока нет, но цифры уже готовы 😅
Сегодня очень свободный день от работы, поэтому смогу много времени уделить разработке, на сегодня такие планы:
- Добавить фрукты и возможность лечиться ими. Будет 2-3 вариации фруктов, и каждая вариация будет лечить на 15-20-25 соответственно
- Добавить выпадение монетки или фрукта с врагов с вероятностью 50/50, что-то будет выпадать всегда
- Добавить неуязвимость при кувырке
И останется только добавить меню и босса
#godot #разработка
🔥2