Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты

Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты Разработка, Gamedev, Инди игра, Программирование, Программист, Godot, Godot Engine, Indiedev, Инди, Игры, Android разработка, Геймеры, Код, Текстуры, Pixel Art, Стратегия, Unity, Unreal Engine, Новичок, Длиннопост

Для тех кто первый раз читает мой гоблинский блог - расскажу кратко что тут происходит. Я сам являюсь зеленым новичком в разработке игр и в своем блоге описываю этапы изучения столь сложного дела. На данный момент - это работа с движком Godot 4.

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

● Узлы, сцены и прочие слова не связанные с BDSM - это интерфейс Godot 4:

Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты Разработка, Gamedev, Инди игра, Программирование, Программист, Godot, Godot Engine, Indiedev, Инди, Игры, Android разработка, Геймеры, Код, Текстуры, Pixel Art, Стратегия, Unity, Unreal Engine, Новичок, Длиннопост

▸Наглядно показываю что и где

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

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

Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты Разработка, Gamedev, Инди игра, Программирование, Программист, Godot, Godot Engine, Indiedev, Инди, Игры, Android разработка, Геймеры, Код, Текстуры, Pixel Art, Стратегия, Unity, Unreal Engine, Новичок, Длиннопост

● Что такое TileMap:

TileMap - это крайне полезный инструмент, который позволяет создать автоматическое заполнение карты. В разделе TileSet выбираем новый, внизу выбираем "Набор тайлов" и в открывшемся окне загружаем заранее подготовленный файл.

Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты Разработка, Gamedev, Инди игра, Программирование, Программист, Godot, Godot Engine, Indiedev, Инди, Игры, Android разработка, Геймеры, Код, Текстуры, Pixel Art, Стратегия, Unity, Unreal Engine, Новичок, Длиннопост

▸Шаблон для создания тайл-сета

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

Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты Разработка, Gamedev, Инди игра, Программирование, Программист, Godot, Godot Engine, Indiedev, Инди, Игры, Android разработка, Геймеры, Код, Текстуры, Pixel Art, Стратегия, Unity, Unreal Engine, Новичок, Длиннопост

● Настройка рисования карты в TileMap:

В правом блоке узла TileMap вы найдете вкладку "Terrain Sets" (набор местности). В ней мы нажимаем "Добавить элемент" и в открывшемся блоке снова жмем "Добавить элемент". Теперь в центральном блоке выбираем вкладку "Рисовать" -> "Свойства рисования" - > Terrains.

Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты Разработка, Gamedev, Инди игра, Программирование, Программист, Godot, Godot Engine, Indiedev, Инди, Игры, Android разработка, Геймеры, Код, Текстуры, Pixel Art, Стратегия, Unity, Unreal Engine, Новичок, Длиннопост

▸Настройка местности

В обоих выделенных вкладках выбираем созданный нами элемент Terrain. С его помощью мы настраиваем области тайл-сета. Именно по ним Godot определяет какой кусок ставить следующим.

Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты Разработка, Gamedev, Инди игра, Программирование, Программист, Godot, Godot Engine, Indiedev, Инди, Игры, Android разработка, Геймеры, Код, Текстуры, Pixel Art, Стратегия, Unity, Unreal Engine, Новичок, Длиннопост

▸Настроенный TileMap

● Зоны столкновения для TileMap:

Помимо визуального изображения, нам нужно добавить для карты физический слой. Выбираем Physics Layer и добавляем новый элемент. Далее в разделе рисования выбираем "Физика" и наш слой. Так как наша карта состоит из блоков - выделаем каждый квадратом.

Теперь другие объекты будут видеть нашу карту и воспринимать ее как физическое препятствие.

Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты Разработка, Gamedev, Инди игра, Программирование, Программист, Godot, Godot Engine, Indiedev, Инди, Игры, Android разработка, Геймеры, Код, Текстуры, Pixel Art, Стратегия, Unity, Unreal Engine, Новичок, Длиннопост

● Как работает настроенный TileMap:

Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты Разработка, Gamedev, Инди игра, Программирование, Программист, Godot, Godot Engine, Indiedev, Инди, Игры, Android разработка, Геймеры, Код, Текстуры, Pixel Art, Стратегия, Unity, Unreal Engine, Новичок, Длиннопост

▸Рисуем что хотим

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

Godot 4: создание платформера от гоблина для человеков | Урок 1: TileMap - редактор карты Разработка, Gamedev, Инди игра, Программирование, Программист, Godot, Godot Engine, Indiedev, Инди, Игры, Android разработка, Геймеры, Код, Текстуры, Pixel Art, Стратегия, Unity, Unreal Engine, Новичок, Длиннопост

▸А вот это уже что-то похожее на элемент игры

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

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

✓ Зеленые новички - крепитесь и подписывайтесь, скоро новая статья.

✓ Опытные шаманы - запасайтесь успокоительным, ибо дальше будет еще куча попыток освоить gamedev.

✓ Ну и все кто имеет свое мнение, поддержку или усмешку - пишите комменты!

Лига Разработчиков Видеоигр

6.6K поста22.1K подписчиков

Добавить пост

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

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

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

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

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"