Как создавать врагов в играх Godot
ДомДом > Новости > Как создавать врагов в играх Godot

Как создавать врагов в играх Godot

Jul 17, 2023

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

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

Удобный интерфейс Godot и интуитивно понятный язык сценариев GDScript делают процесс эффективным и приятным.

Прежде чем погрузиться в создание врагов, настройте базовую структуру вашей 2D-игры в игровом движке Godot.

Создайте новый 2D-проект в Godot. В главной сцене создайте новыйКинематическийТело2Dузел и назовите егоИгрок . Внутри узла игрока добавьтеСтолкновениеShape2D с прямоугольной формой, которая будет хитбоксом игрока. Также добавьтеСпрайтузел как визуальное представление персонажа игрока.

Код, использованный в этой статье, доступен в этом репозитории GitHub и может быть использован бесплатно по лицензии MIT.

Прикрепите следующий код GDScript кИгрокузел для включения базового движения:

С помощью этого кода игрок может перемещаться влево, вправо, вверх и вниз, используя клавиши со стрелками или клавиши WASD.

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

Создайте новую сцену и добавьтеСтатикБоди2Dузел с именемВраг . Внутри узла Enemy добавьтеСтолкновениеShape2D узел с формой круга, определяющий хитбокс врага. Также добавьтеСпрайтузел для визуального представления врага.

После настройки столкновения враг будет готов взаимодействовать с игроком и другими элементами вашего игрового мира.

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

Создайте новую сцену для следующего типа врагов и добавьтеКинематическийТело2Dузел с именемСледоватьВрагу с CollisionShape2D. Прикрепите следующий код GDScript к узлу FollowEnemy, чтобы он следовал за игроком:

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

Теперь вы можете заставить врага стрелять пулями в сторону игрока. Создайте новую сцену и назовите ее.Bullet.tscn . ДобавитьКинематическийТело2D узел на сцену. ПрикрепитеBullet.gd скрипт для узла KinematicBody2D в сцене Bullet.tscn. Добавьте следующий код, чтобы определить класс Bullet:

Теперь создайте новый узел для врага с пулями и назовите его.СтрельбаВраг . Внутри нода ShootingEnemy добавьтеСтолкновениеShape2Dузел с прямоугольной формой в качестве хитбокса.

Прикрепите следующий код GDScript к узлу ShootingEnemy, чтобы заставить его стрелять пулями:

Враг теперь будет периодически стрелять в сторону игрока. Используйте условное выражениееслизаявление, чтобы проверить,стрелять_таймерменьше 0. Если да, то стреляйте пулей.

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

Начните с создания новой сцены и добавьтеКинематическийТело2Dузел с именемСлучайныйВраг . Создайте новый скрипт с именемRandomEnemy.gd и прикрепите его к узлу RandomEnemy. Скрипт будет обрабатывать логику случайного движения.

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

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