Твоя первая игра на Godot
HTML-код
- Опубликовано: 1 июн 2024
- Полный курс по GODOT 4: stepik.org/a/137222?...
Исходный код игры: github.com/drxwat/godot-invaders
Ветка с улучшениями игры (от подписчиков): github.com/drxwat/godot-invad...
Русскоязычные Сообщества Godot:
Cообщество в Telegram: t.me/godot_engine
Cообщество в Discord: / discord
VK GODOT ENGINE | Clickteam Fusion game_constructors
VK Godot на русском godot_rus_docs
VK Godot Engine godot_engine
Мои сообщества и соцсети:
Канал в Telegram: t.me/frontend_pashtet
Discord сервер: / discord
Boosty: boosty.to/frontend_pashtet
Twitch: / frontend_pashtet
Таймкоды:
00:00:00 Чему ты научишься
00:00:57 Создание нового проекта
00:01:42 Где брать графику для игры
00:01:56 Знакомство с интерфейсом Godot
00:02:55 Создание первой сцены
00:03:22 Настройка разрешения игры под NES
00:03:55 Выбор сцены по умолчанию
00:04:16 Настройка рабочего разрешения
00:04:58 Настройка растяжения окна игры
00:05:47 Добавляем повторяющийся фон
00:08:55 Настраиваем проект под pixel art
00:10:50 Создаем сцену космического корабля
00:13:24 Добавляем корабль на сцену игры
00:14:00 Добавляем невидимые стены
00:15:40 Создаем сцену врага
00:17:40 Добавляем первый скрипт и заставляем корбаль двигаться
00:23:06 Добавляем стрельбу ракетами
00:29:50 Вкладка Remote для изучения структуры игры во время работы
00:30:20 Уничтожение ракет при выходе за экран
00:32:47 Слои и маски коллизий
00:35:02 Уничтожение ракеты при попадании
00:37:38 Уничтожения врага при попадании ракеты
00:38:51 Движение врагов
00:53:54 Добавляем вражеские пули
01:04:03 Добавляем UI/HUD
01:10:23 Автозагрузка скриптов и Шина событий
01:14:08 Счетчик очков
01:16:35 Счетчик жизней
01:23:55 Интерфейс экрана Game Over
01:32:45 Как дальше изучать Godot - Игры
Спасибо огромное, Паштетик ^_^ Единственный момент - можешь на сервере или в комментах, наверное, отдельно, объяснить как в конце сделать так, чтобы при рестарте, после смерти, при убийстве врага тебя не выкидывало обратно в гейм овер? Там прикол в том, что, если посмотришь сам, жизни не появляются, то есть нет функции на рестарт жизней или что-то не так работает..? При победе и рестарте так же жизни не восстанавливаются, например если потерял одну - у тебя 2 и останется. Как это написать, чтобы работало и давало 3 каждый раз? |D Мне все еще трудно понимать логику всего этого кода, я теряюсь, не знаю, что после чего должно идти, но.. надеюсь, с твоей помощью станет проще..
Привет. Да, есть такой баг. Можно решить, если в методе рестарта перед перезапуском игры еще выставить жизни в какое-то значение по умолчанию. Можно прям по жести записать в переменную скрипта Globals.lives = 3. Суть в том, что глобальные скрипты живут всегда и рестарт на них не действует. Поэтому их надо ручками поменять. Также можно сбросить и очки. Но лучше создать в Globals отдельный метод, который будет жизни выставлять, очки сбрасывать и перезапускать текущую сцену.
@@frontend-pashtetпривет брат а как создать свой ассеты персонажа кароче создать все сваё брат? Но создать бесплатно
@@xiaomixiaomi1468 Привет смотря в какая графика тебе нужна
Привет, решил баг? Я просто тоже пытаюсь его решить, но что-то не идёт...
@@frontend-pashtet Привет! Я делаю проект по созданию игр и в качестве продукта сделал игру по твоему видео. Я вот никак не могу понять как решить этот баг с жизнями и очками, можешь пожалуйста поподробней объяснить 😅?
целый комплекс уроков на чуть больше часа для создания простенькой игры для начинающих геймдейвцев и годотеров на ру сегменте интернета... ЭТО потрясяющее и круто!
Паштетише, спасибо за это огромное творение для новичков!
Очень приятно это читать :))
На моем личном опыте разбор таких небольших проектов даёт больший буст к пониманию движка, нежели попытки создать что то новое. Человек может покопаться в скрипте и своими глазами в уже готовой игре оценить плоды своей деятельности. Контент у тебя очень годный, всё доступно и понятно. Коммент ради продвижения видео и канала)
Пишу длинный комментарий, чтобы продвинуть этот крайне полезный видеоролик об игровом движке Godot engine!
Ничего себе, не ожидал, что Паштет счас выпустит большой видос про Godot (насколько понимаю про актуальную 4-ю версию). Крутяк!)
очень понравилось как ты дебажил, именно то, что ты делал какую-то ошибку (и это нормально) и вместо того, чтобы скипать/обрезать их, ты показал как их находить и исправлять
видео очень хорошое, просвещаешь много разных тем на практике, так держать.
Спасибо огромное,я пытался читать доки, смотреть уроки, как и русские так и зарубежные,чтобы сделать хотя бы простенькую игру-Ничего не получалось.А тут такой подарок!Если б не это видео я бы перешёл на юнити и бросил годот.Но ты помог мне остаться в трезвости!! Спасибо огромное:)
Если честно, это довольно странно, т.к. для понимания принципов работы движка и его возможностей достаточно прочтения всего одной книги, в названии которой присутствует _"The Official Guide to Godot 3.0"._
В моём случае пришлось держать открытой ещё и документацию со страницей _"Upgrading from Godot 3 to Godot 4",_ т.к. книге уже лет 5 и какие-то моменты с тех пор были изменены, либо полностью переписаны. Но суть ясна, так что теоретически можно въехать в разработку игр на _Godot_ за пару дней (ну, либо за месяц, если сильно лениться).
Крутоо, спасибо, снимай по возможности ещё!
пожалуйста, не прекращайте делать ролики, очень полезно, особенно актуально для 4+ версии
Спасибо за поддержку:) Уроки будут
Ес, наконец-то новый длинный ролик от паштета, вечер займу просмотром. Удачи
Ничего себе, думал после курса на степике ты умер, рад оживлению, надеюсь на большее количество роликов.
Вот набрался сил. Думаю, я сейчас нашел рабочий режим, чтобы не умирать больше от усталости =)
Хорошая подача! Наконец-то увидел в русском сегменте о godot человека, который, как минимум не изобретает велосипедов, юзает паттерны, а как максимум - знает о чем говорит
Спасибо за такую высокую оценку. Мне приятно)
Согласен 😂я смотрел несколько видео на других каналах, там ошибки делали во время видео или сумбурно , здесь качественно.
Больше спасибо, я как раз искал таких креаторов!👍
Вот бы побольше таких информативных видео по Godot.
Это лучший канал по godot в ру-сегменте. Рекомендую!
ну все вечер занят просмотром ролика)) и для закрепления знаний, после повторить увиденное))
Наконец длинное видео
Это сборник рецептов для начинающих, я бы назвал это видео Быстрый старт. Очень полезное видео, почти все основы охвачены. Ещё очень клёво что все темы последовательны, в рамках одного проекта, делаем вот это потом вот это. С очень грамотной речью и подачей материала.
Второй курс для новичков?
а ты крут, Паштет!
Возьми выходной на месячок
ты заслужил
Спасибо) Это я уже после отпуска вернулся к активности
Паштет, спасибо, мой друг купил твои курсы на степике и теперь изучает годот!
Воу воу. Очень круто)
Отличный урок, без воды, самый сок )
Ура! Толковый урок по Godot на ру-сегменте.
Великолепное видео, отличная подача, понятные объяснения, автор мастер ! Приобрел курсы в поддержку, да и давно хотел начать изучать Godot. Так же приобрел курсы GDQuest, но впитывать базу лучше на родном и могучем ! Подписался 👍
Спасибо большое за такие приятные слова)
Привет, есть возможность с тобой связаться?
@@leot3650 ник в tg, discord: drxwat
Отличный урок. Спасибо
Было бы здорово для всех и продвижения твоего канала, в такой-же манере сделать простенькую сетевую игру. Успехов!
Круто! мне нравится такой формат. Хочу ещё -о-о-о ... 🤩
Все уроки очень крутые! А можно пару уроков подробнее о подстройке разрешения экрана для разных телефонов и на русском практически нет уроков по 2д физике, а конкретно про создание игр наподобие Hill Climb Racing
Годнота. Мне вообще нравится как ты пишешь -- решения всегда изящные и красивые. И излагаешь действительно без духоты и лишней воды.
беда в том, что в ру секторе огромное количество видео по простым и легким темам и можно нарыть множество видосов "сделаем платформер/змейку/раннер, которые содержат описания простых тем и функций. И ничего нет на более сложные темы. Было бы круто если бы ты пилил что-то подобное.
Спасибо большое за поддержку. Рад, что понравилось.
Обычно я делаю ролики на тему, которой либо последнее время занимаюсь, либо если народ очень часто спрашивает. И я делаю, чтобы потом кидать в них ссылкой :) Вот сейчас занимаюсь интеграцией с Яндекс играми, например
Ставьте плюс кому тоже послышалось ДваДэПиська на 33:36. 😂
А если серьезно урок отличный.
о нет, как это расслышать теперь Х)
Очень качественный контент. Автору респект)
Спасибо большое 🎉
Спасибо за урок!
Афигеть на 1.5 часа выдева крутаааа🌀
Крутая информация, спасибо 👍
Крутое видео, спасибо большое по годоту из свежего в основном англоговорящие каналы выпускают уроки, они тоже конечно полезные но на родном языке как то лучше усваивается информация.
Очень крутой. И гайд, и паштет
В Степике курс по Godot?! Это вообще законно?! 🤩
4 мин до слов чтобы не растягивать видео. Ахринеть.
Щикарно!.. Ты Красава!
Отлично! Спасибо! 🤓
Спасибо тебе😉
Привет, есть просьба (идея для нового видео). Я начну с некой предыстории. Если знаешь, была такая игра на телефоны - Little Empire. В ней была интересная система боёвки, когда ты выставляешь юниты на карту. Она состояла из квадратов, а юниты были определенного размера. Если не знаешь - можешь найти в интернете по названию, все скрины из этой игры посвящены как раз этой системе) Было бы очень интересно увидеть реализацию такой системы в годот 4. Если тебе не сложно, сделай пожалуйста такое видео. Думаю оно может быть для многих интересным.
Большое спасибо за урок! Очень рад, что появился гайд по созданию полноценного прототипа. Такого контента не хватало))
Было бы классно увидеть ещё пару подобных спидранов по созданию прототипов))
За отсутствие духоты отдельных респект! Настоящий сублимат разработки :D
Вопросик: почему enemies.size() минимум опускается до 1? Почему он равен 1, когда на поле убиты все противники? немного не понял этот момент...
И ещё интересно было бы узнать как всё таки лучше всего сделать пулю самостоятельной, чтобы она не исчезала при убийстве стрелка.
Спасибо за поддержку и развернутый коммент :)
enemies.size() равен 1, потому что удаление врага произойдет после обработки сигнала. Поэтому последний враг когда шлёт сигнал во время смерти, еще по факту существует. Честно говоря, не уверен, что это самое лучшее решение. Но на тот момент оно мне показалось как минимум простым.
Тоже задался вопросом самостоятельности пули. Вместо add_child в скрипте врага используй метод add_sibling.
А вот эта игра на godot с нуля
Это просто потрясающе на ру сегменте такого контента мало
Я ничего не понимающий, начал что-то понимать ! Спасибо !
Однозначно топ, лучшее что удавалось найти на ру ютубе, да и не только на ру. Спасибо! Лайк - > Подписка 👍
Спасибо за такую высокую оценку. Очень приятно это слышать
Ты - Легенда
Шикарно
Пожилая база получается
Спасибо за ролик! Возник вопрос, вот про перемещение все вроде ясно понятно, но никак не могу допереть до того чтоб персонаж двигался на сугубо по xz, а в зависимости от направления взгляда (типа по диагонали и проч)
Дай бог тебе здоровья )))) Ахеренный видос. Аффтар писчи исчЁ
Есть 3 бага
1. Исчезает пуля если убить врага выпустившего её
2. После рестрта не обновляются очки и жизни
3. После рестарта если ты проиграл, убийство врага приводит сразу к геймоверу
вот вам и хомеворк: качайте проект с гитхаба и исправляйте ошибки
Наверное надо в коде смотреть
Добрый день, Павел! Можно нескромный вопрос? Где вы взяли программку для подсветки курсора, как на вашем видео? Очень удобно.
Это программа для macOS. Называется Screen Cursor - Highlight&Mark. Меня, кстати, зовут Максим =)
@@frontend-pashtet Извините, обознался с именем. Спасибо за быстрый ответ.
"Cod whith Tom" 4 года назад на примере этой же игры показывал создание первого проекта 🤔
Это оригинальный урок
@@frontend-pashtet да, я глянул у него полностью , там как-то поверхностно и проект не законченный 😅
У тебя отличный урок. Не то что "игра за 5минут и пр. ересь 😄
Приветствую! Подскажи, пожалуйста, как заставить фон двигаться? Не понимаю как в коде менять этот параметр в Rect из скрипта..
Очень круто!! Можешь показать как подключить тесты к проекту на C# NUnit XUnit?
Привет. Маловероятно, что такой урок выйдет т.к. я не использую юнит тесты. Мне боли с ними и во фронтенде хватает :)
на 28 минуте все слетело , спасибо за потраченные 3 часа жизни и гору неврвов
Что именно слетело?
@@frontend-pashtetколизии и тд вобще это не для новичков хех у меня слетело на моменте когда к кораблю делаешь стреляющие ракеты
Ура, видосик!!!
А еще хотелось бы подобное видео с базой 3д
На чем лучше начинать Юнити или годот? Просто многие говорят что юнити лушчий вариант, мне нужно для разработки 2д проекта
Я раньше думал что Яндекс браузер отстой, хотя я его даже не открывал, но было предвзятое отношение, но вчера подсказали что нейросеть переводит ютуб видео в Яндекс браузере, я вставляю ролик с Godot на английском и он мгновенно переводит на русский, и слушаю на русском, супер, единственное, что голос один и тот же. 😊
Бот рекламный. Этот видос на русском
@@MsVivon я писал автору ролика вообще то когда изучал godot и смотрел уроки по godot на ютубе через браузер, больше я ни для чего его не использовал никогда 😁
Паштет, сделай ролик про авто переводчик в годоте. По типу у нас в начале игры стоит вопрос какой язык выбрать и какой мы выберем на такой и все будет переводится
Пожалуйста
Сделай пж туториал Как настроить перемотку видео в объекте HSlider, ну чтобы перематывать видео, у меня версия Godot 3
Паштет спасибо вам большое. Сам веду кружки по годоту в школе и ваш проект буду рекомендовать учащимся.
Спасибо большое за комментарий. Мне очень приятно это слышать :)
1:02:20 происходит жесткое игнорирование дебаггера, который прям умоляет подсвечиваясь красным - посмотри на меня, я покажу где ошибка, несколько раз, даже в какой строке кода, даже ссылку на строку дам, только открой меня
Тем временем: будем дебажить дедовским способом - через print()
Да
ролик крутой, но я хотел бы увидеть пошаговое передвижение на 4 версии
Спасибо. Интересно. У меня почему то не проигрывается анимация врага. В самой сцене он лапками двигает (там автоплей нажат). А вот при компиляции проекта стоит как истукан. Не могу найти причину почему не меняется картинка. Скорее всего где то галку не проставил какую нибудь...
Добавлю ответ для продвижения видоса: не "можно нажать автоплей кнопочку", а обязательно нужно))) Иначе не работает анимация при запуске. Я изначально подумал что она нужна что бы в самом редакторе играла. Потыкал пару раз и отключил))
Привет, а на какую кнопку стрелять надо?
Привет. Можешь сделать урок на тему godot - app.(non-game) например программа заметки или мобильный пеинт? Такой контент очень мало даже на английском. Спасибо за труд.
Привет. Маловероятно, что такой урок будет. Мне хочется на играх сосредоточиться. Просто в силу моих интересов. Но спасибо за предложение, я бы и сам такое посмотрел)
Одобряем!
Спасибо ☺️
Здравствуйте, хотел бы написать новеллу на godot, обычную, текстовую. Узнал, что огромные диалоги/текста хранятся в каком-то отдельном сценарии/файле, после чего оттуда достаются необходимые строчки. Как такое реализовать в godot? если такое невозможно сделать, то как лучше поступить? заранее благодарю
Привет. Есть мощнейший аддон для диалогов с высокой кастомизацией.
github.com/nathanhoad/godot_dialogue_manager
Заходи к нам на сервер discord.gg/sbHnmUphMC
В общем видео приятное и полезное 👍, но зачем давать концепцию шины событий в первом знакомстве с движком на примере такой примитивной игры? Логичнее было бы оставить эти сигналы в том скрипте, который их эмитирует. Ну и еще спорный момент с использованием физических тел когда в игре не используется взаимодействие этих тел. Простых Area было бы достаточно (и не понадобились бы дополнительные рейкасты)
Спасибо. Што поделать профдеформация. Но на самом деле, я не хотел пихать шину, но решил, что подписываться на сигналы врагов, которые спаунятся на лету еще сложней для новичка, чем шина. Насчет Area - ну вот просто не люблю так делать) Для меня ChracterBody как-то интуитивней монтируется в эту логику. Но Area это тоже хороший вариант
у меня появилась проблема, что ракеты перестали лететь вверх после дополнения их скрипта. В чём может быть ошибка?
45:28 Зачем тут тернарный оператор, если можно просто умножить speed на -1?
Что означает ":=" при об'явлении переменной или константы? зачем нужон ":" перед "="?
Бро скажи пж как с godot тип достать игру и скинуть другу или выложить в стим?????????
Привет Паштет, скажи пожалуйста ты будешь делать уроки по 3D?
В ближайших планах нет, но в будущем возможно, да
А есть какая либо другая возможность приобритения\оплаты курса, в обход тех что указаны на степике? Для тех кто не в России.
Привет. Да, возможность есть. Можешь написать мне в телегу: @drxwat
Топ
Привет! Только начал изучать движок, сделал первую игру по гайду на официальном сайте годота, там они использовали path2d, экспортировал игру на телефон с настройками для масштабируемости, экспенды, канвас айтемы и все такое, но path2d не масштабировался, не смог нагуглить, поэтома адресую вопрос сюда, может ты или кто-то из подписчиков поможет(
Привет. Заходи к нам в дискорд, там есть знающие люди. Там удобнее такое обсуждать discord.gg/esCeV2VhRf
Не особо любитель 2d game dev больше люблю 3d подскажите в вашем видео курсе есть разработка шутеров?
Привет. В курсе только конкретная игра гиперказуалка. Она в 2D
@@frontend-pashtet а по 3d видео уроки будут?
@@redlinux34 да, будут
У меня блин первый игровой стресс, я вчера делал человечка по гайду, чтобы он прыгал и бегал, всё сделал в несколько кликов. Сегодня скачал Unity, и я вообще не знаю, смотрю какой то гайд, просто пытаюсь создать треугольник с прыжками и бегом, и какая то ерунда, то всё проваливается вниз, хотя я сделал настройки как в гайде, то у меня ничего не прыгает, и ты сидишь, и только мучаешься 😁в стрессе, чтобы хоть какую то простую фигню, надо наверное в Godot начинать с Азов и не париться, там как то комфортней работать и интерфейс приятный, а в этом Unity только сидишь и мучаешься, слишком много лишнего что, нажми сто галочек, ну код это понятно, но как то муторно, процесс должен быть более менее комфортным, в комфорной програме. Я музыку иногда делаю, я таже выбирал секвенсор, мучился, пока не нашёл Ableton, там всё настолько просто, что в других секвенсорах делается через меню и тысячи кликов, там за один клик. Также тут наверное. В unity порог входа наверное больше и чтобы что то там сделать, надо не один день посвятить
Хотел спросить. Использую Godot 4 на Manjaro Linux. Заметил, что в некоторых случаях нагружается только одно ядро. Как это можно исправить?
Спроси у пользователей Linux на форуме официальном Godot
Паштет, есть промокоды на курс?)
Промокодов нет, но можешь подписаться на меня на stepik, будет распродажа
@@frontend-pashtet гуд, спасибо)
Приветствую, подскажите кто знает, а можно будет курс по Gadot проходить и при этом писать на c#?
Сложный вопрос. В теории да, но если что-то пойдет не так, то помощь в процессе курса получить получится только в сообществах. C# игры работают и на Android/IOS, но тут на свой страх и риск. Если есть большой опыт с C#, то можно пробовать, в ином случае я бы не рекомендовал. Если нет опыта использования C# на Godot, то точно не стоит.
@@frontend-pashtet спасибо 🙏
Это можеть быть связан с папками ?
паштет мне 12 лет я хочу стать програмистом но большинство туторов мне непонятны или там не показывают код
я вобше не разбираюсь в языках програмированиях но ты и твои туторы они меня очень мотивируют спасибо тебе
Мне очень приятно это слышать.
Заходи к нам в дискорд discord.gg/avjsJpCsup
yes of cource@@frontend-pashtet
Уже хорошо. Побольше бы таких видео.
Конечно прозвучит нагло. Но можно увидеть видео по продвижению и монетизации своего проекта ?
Спасибо. Про продвижение и монетизацию я бы и сам посмотрел :D
Можо урок по созданию игр на Godot но с телефона?
(У меня нет пк а Godot есть и для телефонов)
Ну там одни и теже вроде функции, но там вроде как бета, неудобно на телефоне, если только на планшете там работать
Привет, скажи пожалуйста, на сколько актуален C# для годота? Есть ли смысл работать на нём и как хорошо он с ним взаимодействует?
Привет. C# актуален, люди пишут на нем. Разработчики движка тоже постоянно емк внимание уделяют.
Насчет смысла писать на нем. На мой взгляд, это слишком сложный язык для большинства игровых скриптов. И я думаю, что смысл есть, если ты уже несколько лет пишешь на этом языке каждый день, то тебе просто будет проще его настроить, чем учить gdscript. Если опыта программирования немного, то однозначно стоит брать gdscript. Он сильно проще. На канале, кстати, есть уроки по нему.
Кстати, сам жду, когда разработчики наконец добавят единый редактор для C# и GDScript. На _Reddit_ писали, что они обещали это сделать в ближайших версиях и даже добавить в Steam-версию движка.
@@deniskhakimov любопытно. Будем ждать. Кстати, steam версия движка существует уже много лет. Также есть для Android в play market. Обе версии Godot 3 и 4.
@@frontend-pashtet как раз использую Steam-версию для обучения и тестирования идей 👍
Поэтому автоматическое обновление движка совсем не раздражает, ведь максимум, что оно может сломать - это примитивные прототипы, а трекинг потраченного времени позволяет грубо оценить прогресс в обучении 🙂
Как сделать так чтобы враги спавнились?
Подскажите а как выставить top level для ракеты в godot 3.5?
В 3ке этого нет. Там надо объект ракеты добавлять а какой-нибудь статичный узел. Может узел внутри Game. Как именно это сделать, это слишком долго писать. Можно через шину событий, например.
Заходи в дискорд. Там есть знающие ребята
discord.gg/q68SaM9VxZ
Привет, а какой язык программирования используется в Godot?
gdscript. Похож на Python, но сильно проще
На канале есть плейлист для быстрого введения в gdscript
Привет, у меня новый вопрос, Godot Editor на телефоне это серьезно или нет? Типо возможно ли создать игру на телефоне?
Привет. Я точно знаю, что народ делает. Но честно говоря, это занятие не из простых. Чисто ввиду того, что интерфейс движка дизайнился под экран монитора, клавиатуру и мышь. Так что, однозначно на экране телефона будут неудобства. Может на планшете с клавиатурой и мышью будет норм, но на телефоне прям тяжко для глаз, на мой взгляд
@@frontend-pashtet ну думаю что можно сделать игру через боль и страдания, но есть минус не могу найти на телефоне нормальную прогу для рисования Пикселярта
@@loresi заходи к нам на сервер. Там есть народ, который пилит на телефонах игры discord.gg/Qt7S6bXXb2
Ну если только на планшете, а так я попробовал что нибудь потыкать там, очень мелко и неудобно
Курс по мультиплеер будет?
В ближайшее время курсов не планирую. Слишком много сил и времени. Просто уроки будут
в курс надо сделать урок= "Как опубликовать на Яндекс-играх!"
Есть вероятность, что следующее видео будет про это)
@@frontend-pashtet , разжигаешь аппетит)) такой видос очень актуален. а объяснять ты умеешь!)
В godot 3.5 ругается на строку velocity. x = direction * SPEED, чем её заменить?
В 3.5 можно просто забить на velocity в такой игре. Вот так move_and_slide(direction * SPEED)
Заходи в дискорд discord.gg/xthKt5yDCK
А эта игра работает для телефонов телефонов?
и 2д писка)))
У тебя баг - при рестарте не обновляются значения здоровья и очков (очки кажется, что сбрасываются, но на деле просто изначально отображается 0, стоит заработать ещё очко, то видно, что значение не сбросилось). Можно, конечно, просто при нажатии кнопки рестарта приводить значения к нужным, но это кажется кривым решением. Хотелось бы нормальный перезапуск.
Ещё, я бы не сказал, что игра закончена. Нет никакого события для случая, когда враги доходят до конца экрана. И никак не разобран вопрос окончательной сборки проекта.
(Оставляю коммент повторно - по какой-то причине в первый раз он исчез.)
Хороший поинт. Думаю, эти моменты как раз хорошая практика для начинающих