Найти в Дзене
klinok GS (Артём)

Godot 4.0 или.. как у меня появилась идея

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

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

Игровой движок Godot
Игровой движок Godot

В первый раз о Godot я узнал во время создания своего платформера на Unity, который я, хоть и не закончил, но неплохо освоился в кодинге на С#

Одна из первых сырых версий моего платформера на Unity
Одна из первых сырых версий моего платформера на Unity

Мне стало интересно, как работает сам Godot, поскольку по обзорам на него я понял, что в нём помимо C# (который требует немного другой версии) можно использовать GDscript. Если коротко, то это более универсальная версия C#, созданная специально для разработки на Godot.

Для примера рассмотрим как выглядит передвижение 2D игрока во все 4 направления на чистом C# и GDscript в Godot 4.0:

Код движения игрока на C#
Код движения игрока на C#
Код движения игрока на GDscript
Код движения игрока на GDscript

На первый взгляд GDscript может показаться некрасивым и сложным, ведь в C# понятно где что открывается и закрывается, но.. Это не совсем так. Хоть в нём и нет скобок и точек с запятыми, разобраться во всём позволяет табуляция. Проще говоря, на чистой строке без отступов мы пишем какую-то функцию, а после первого таба пишем код этой функции. Если нам необходимо добавить условие, то после "if kgs:" у нас на новой строке будет 1 таб от условия if (это можно хорошо увидеть на скрине выше). Кроме того, GDscript предлагает более упрощенное использование встроенных в него переменных. Сравнив 2 изображения можно увидеть, что в случае с GDscript нам не требуется объявление AnimatedSprite2D, потому что к этому элементу можно обратиться сразу.

Нода AnimatedSprite2D
Нода AnimatedSprite2D

И да, структура элементов в Godot немного отличается от стандартной. Здесь используются специальные Узлы (Node), с помощью которых можно легче взаимодействовать с элементами, крепить отдельные сцены и вставлять в код элементы.

Впрочем, ознакомиться с устройством Узлов, Кода и прочих элементов можно в документации по Godot, которая уже обновлена до версии движка 4.0 в своей английской версии страницы

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

Моя доработка примера из документации по Godot
Моя доработка примера из документации по Godot

Чуть позже сделаю видеоролик на тему Godot 4.0, когда будут готовы новые текстурки для игры и некоторые другие игровые механики.

Если у вас остались какие-то вопросы или предложения по дальнейшему улучшению данной игры, пишите комментарий, а у меня на этом всё!