Серия «STEELTIDE»

3

Отчет о 3 и 4 днях разработки игры на Godot 4.6

Серия STEELTIDE

Читатель, приветствую тебя! Спешу с отчетом о проделанной работе. А рассказать есть о чем, но обо всем по порядку.

День 3

Третий день работы над своим проектом и параллельным изучением языка программирования gdscript, прошел без видимых успехов. Я с головой погрузился в изучение массивов и циклов. К проекту совсем не притрагивался.

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

Перед сном я помешивал в голове ту кашу, которую напихал в нее и меня начали посещать дурные мысли. Если попытаться структурировать их и привести к общему знаменателю то получится примерно следующее: Я ничего не умею, ничего не понимаю и у меня нечего не получится. И это всего лишь на третий день работы над проектом.

Оказалось, все те механики, которые я хотел реализовать, технически, несколько отличаются от "слепить платформер за пару уроков". И мой оптимизм начал постепенно улетучиваться. Долго не мог уснуть, ворочался. Так и прошел третий день.

День 4

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

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

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

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

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

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

Бонусом видео:

Ну и еще, сегодня я принялся за переработку боевой системы. Теперь ее нужно настроить под механики лечения и бафов (для начала). Но это будет уже в другом посте!

Подписывайтесь, чтобы не пропустить новые детали проекта. Всем удачи, и до новых встреч!

Показать полностью 1 1
3

Первый и второй дни изучения GDScript

Серия STEELTIDE

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

Вступление

Приветствую тебя, читатель! Прошло только два дня с момента анонса своего проекта. А я уже с нетерпением хочу поделиться своими успехами.

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

Первый день: два незнакомца, я и Godot Engine

Всё началось с двух стоковых ассетов из библиотеки Godot. Графику для игры, на данном этапе, я не рисую. Для начала нужна основа из четко работающего кода, а делать красивую обертку вопрос второй. Поэтому сейчас я использую бесплатных персонажей из библиотеки Godot.

В первый день я осторожно прощупывал почву. Взяв двух персонажей из библиотеки, я прописал настроил их базовые характеристики: атака, шанс критического удара, скорость, здоровье и т.д. А затем поставив их друг напротив друга, я научил их сражаться. Одного назвал "Турвольд" второго "Страйкер". Имена рабочие, в финальную версию скорее всего не попадут. Сейчас они "болванчики", для визуального отображения работоспособности кода.

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

На этом первый день разработки был завершен. За кодом я просидел примерно часа четыре, параллельно изучая доступные руководства в интернете.

День второй: восторг от первого успеха

Второй день был очень продуктивным.

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

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

Полностью переработал логику сражения. Теперь при запуске сражения. В сегодняшнем прототипе, при запуске игры происходит следующее:

  • Игра случайным образом выбирает кем будет управлять игрок (Турвольд или Страйкер).

  • Скрывает интерфейс управления у неигрового персонажа. И поворачивает его лицом к противнику.

  • Определяет чей ход будет первым на основе характеристики скорости персонажей.

  • Реагирует на нажатие кнопок интерфейса игрового персонажа.

  • Передает ход игроку или боту, после использования способности.

  • Обрабатывает нанесение урона.

  • Проверяет здоровье персонажей, и в случае поражения воспроизводит соответствующую анимацию.

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

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

Показать полностью 2
8

Очередной чел, который хочет создать игру мечты

Серия STEELTIDE
Очередной чел, который хочет создать игру мечты

Вместо предисловия

Приветствую тебя, читатель! Меня зовут Алексей. Я начинаю разработку игры, о которой думал много лет.

Долгое время это была просто идея в голове. Образование, карьера, повседневные дела — всё это отодвигало задумку на задний план. Так бы я и жил, работа - дом работа. Но не так давно я все же решил попробовать осуществить свою давнюю, детскую мечту.

У меня нет команды, из ресурсов только руки, голова и компьютер. В кругу знакомых и друзей, нет таких же энтузиастов, как я. В студенческие годы я увлекался компьютерной графикой. Самостоятельно, по видео и текстовым урокам освоил 3D моделирование и Photoshop, теперь эти навыки мне определенно пригодятся. Еще один плюс в копилку - умение рисовать.

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

Знакомьтесь. Это STEELTIDE.

Часть 1. Мир игры

Действие происходит на экзопланете XT0201. Когда-то здесь добывали редкие металлы, строили заводы, создавали боевых роботов для защиты от гигантских хищников. Проект назывался STEELTIDE — «Стальной прилив».

Но ресурсы истощились. Корпорации улетели. Люди остались.

Прошло 50 лет. Цивилизация пала. Роботы сошли с ума и теперь бродят по пустошам, атакуя всё живое. Выжившие инженеры прячутся в убежищах.

Игрок — один из таких инженеров. Его цель: с помощью своих подопечных, исследовать руины былых времен, выживать и постепенно возвращать контроль над планетой.

Часть 2. Игровой дизайн

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

Пока дизайн игры можно разделить на 3 основных составляющих:

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

Второй компонент. Коллекционирование боевой техники. Терять технику в бою придется, и чтобы в один прекрасный момент не остаться ни с чем, придется всегда иметь запас боевых машин в ангаре. Пополнение коллекции будет происходить двумя путями: 1) крафт, 2) захват робота во время боя. Захваченные роботы получат статус элитный и будут сильнее своих аналогов, созданных путем крафта. Но чтоб захватить робота в бою придется попотеть.

Третий компонент. Прокачка. Выводя технику в бой, инженер будет анализировать ее (техники) поведение в бою, и вносить правки в ПО машины. На практике же у роботов будет система уровней, знакомая любому любителю RPG. В сражениях будут добываться не только ресурсы для крафта, но и уникальные детали (артефакты), которые так же будут улучшать характеристики машины.

Часть 3. Техническая реализация

Пишу на Godot 4. Стиль - постапокалиптический SCI-FI. Рисовка в стиле современных комиксов.

Для графики использую гибридный подход:

  • 3D-болванки для быстрого создания геометрии и анимации

  • Доработка и стилизация в 2D

Это позволяет сохранить контроль над визуальным стилем и ускорить производство артов.

Про программирование.

Я учусь в процессе. Это осознанный выбор: я пишу код, разбираюсь в механиках, делаю мини-проекты для отработки сложных моментов.

Понимаю, что код будет переписываться многократно. Это не проблема, а часть пути. Каждый рефакторинг — шаг вперёд.

Часть 4. Дорога вперёд

Предстоит огромный объём работы:

  • Боевая система

  • Крафт и инвентарь

  • Процедурная генерация

  • Интерфейс

  • Арты и анимации

  • Баланс

  • Сохранения

Это не пугает. Это просто список задач. Они решаются последовательно.

STEELTIDE — проект, который я делаю для себя. Но как и любой другой разработчик, надеюсь, что все-таки, он увидит свет и найдет отклик у других игроков. Подписывайтесь, если интересно следить за путём инди-разработчика!

Показать полностью 1
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества