sundwell.dev | Хроники инди-разработки – Telegram
sundwell.dev | Хроники инди-разработки
694 subscribers
224 photos
105 videos
136 links
Всё про инди от реального человека - девлоги, процесс маркетинга, геймдизайн, разработка и пиксель-арт
Download Telegram
День 110

В четверг (позавчера) подключил улучшения к пистолету (и к пулям)

Вчера под вечер чет поплохело, так что посты не успел написать, так что щас будет сразу за два дня

Про улучшения

Во-первых - я их сделал (спустя 20 тыщ лет) 👀

Вместе с улучшениями я удалил все предыдущие мутации, т.к. большинство из них влияли напрямую на оружие, что не есть хорошо. "бег во время стрельбы" тоже убрал. Оставил одну символическую мутацию "ускоренное движение" и немного подкорректировал сам скрипт mutation_upgrade.gd, теперь там тоже поле называется "id", а не "type", как в weapon_upgrade.gd - подготавливаю фундамент для класса base_upgrade.gd, в котором будет та самая функция get_id() -> int, а также заголовок, описание и максимальное количество взятий улучшения

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

Пока что улучшения добавил следующие:
- SHOOT_RATE (stat)
- DAMAGE_UP (stat)
- IMPROVED_BALLISTICS (stat)
- MORE_BULLETS (mechanic)

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

Щас разрабатываю на версии Godot 4.3, но думаю перейти на 4.4, потому что там есть типизация диктов.. как же мне её не хватает 😢

Некоторые интересные штуки показал в прикреплённых скриншотах и в видосе с результатом

В след посте уже закину ссылку на обновлённую версию игры на itch.io

#godot #ritkarampage #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥31👀1
This media is not supported in your browser
VIEW IN TELEGRAM
День 111

Вчера занимался двумя вещами - обновление спрайтов + загрузка всего в гугл диск и продумывание мутаций

По спрайтам:
1. Пистолет - цвета с палитры + анимация выстрела
2. Персонаж - анимация ходьбы.. наконец-то добавил
3. Наковальная - анимация падения + анимация "стояния" с молотком
4. Апельсин - 3 новых спрайта (пока что виден только один) + звук поедания

По мутациям вчера внезапно созвонились под ночь с другом и обсуждали как бы их сделать интересными, всё прям рассказывать не буду сейчас, но вот основные пункты:
1. У всех мутаций будет "Класс/Специализация"
2 Мутации дают бонусы и способности в зависимости от класса и всегда будут иметь негативную сторону
3. Мутации будут делится на три типа:

Passive:
- пассивный бонус, приближенный к классу
- например у танка это будет реген хп, у оружейника скорость бега и т.п.
- доступен в пуле мутаций всегда

Skill:
- пассивно-активный навык
- например у призывателя это будет собака, которая будет помогать убивать врагов, поднимать апельсины
- Изначальный шанс появления в пуле одинаковый (например если тип мутации выпал "Skill" и у нас три класса - то сначала будет выбран класс мутации с 33% шансом, а потом уже сам навык из пула классовых навыков)
- При первом выборе навыка персонаж "выбирает" эту специализацию
- Когда специализация выбрана, шанс на получение мутации своего класса становится равен 80%, остальных - поровну на 20%

Evolution:
- Мутация-эволюция, может быть взята единожды
- При взятии эволюции другие эволюции становятся заблокированы
- Меняется внешний вид персонажа
- Улучшаются навыки из пула класса. Например у оружейника будет вторая пушка, у призывателя - собака "родит" щенят, которые будут грызть врагов и т.п.

Поиграть в обновлённую версию можно тут - https://sundwell.itch.io/ritka-rampage, там можно скачать .exe'шник чтобы на виндовсе запустить

#godot #ritkarampage #разработка
🔥41
This media is not supported in your browser
VIEW IN TELEGRAM
День 112

Наконец-то я продолжил досматривать курс

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

Во-первых - я переработал логику пула улучшений для оружия, раньше у меня был UpgradePool - изначальный ресурс с улучшениями (там есть поле upgrades) и уже то, что реально использовалось upgrades_weighted_table: WeightedTable - то есть фактически у меня UpgradePool ничего не делал, только как какая-то константа работал

Что изменилось:
- UpgradePool полностью убран из WeaponUpgradeManager, взамен сделана функция set_upgrades_pool, которая вызывается по сигналу weapon_changed
- Сигнал weapon_changed посылает WeaponController, в котором есть функция set_weapon
- В самом оружии есть сама логика оружия и UpgradePool для этого оружия, т.е. ресурс с полем upgrades: Array[WeaponUpgrade]
- Сигнал weapon_changed передаёт новое оружие, с которого можно взять этот апгрейд пул и сделать его основным в WeaponUpgradeManager

Может быть еще что-то, но это основное. Когда я это всё сделал, то понял - мне надо инкапсулировать логику выбора улучшений в UpgradePool, а не использовать напрямую сырую WeightedTable. Потому что если я поменяю оружие на "эволюционное", например дробовик - то у него будут свои улучшения + все улучшения для пистолета, но по моей логике останутся только улучшения дробовика И вся информация про предыдущие улучшения сотрется, т.е. сколько и каких улучшений набрал игрок

Щас думаю сделать следующее:
- Вернуть UpgradePool в WeaponUpgradeManager
- Добавить функции-пустышки в базовый класс UpgradePool, которые нужно будет перезаписать в условном PistolUpgradePool. Типа вот я беру улучшение скорость стрельбы - ничего не происходит, а если я возьму улучшение "Эволюция - Дробовик" - то мне надо будет закинуть в апгрейд пул новые улучшения для дробовика, а старые все сохранить. Таким образом у меня будет один источник правды и один объект, который отвечает только за улучшения - офигенно, прям кайфую от такого решения
- Когда игра начинается и игрок выбирает оружие - посылать условный сигнал initial_weapon_selected и у этого оружия уже брать апгрейд пул изначальный
- Вероятно сигнал weapon_changed останется и его будет посылать тот самый UpgradePool при выборе улучшения для оружия с типом "Evolution", ну и всякие доделки туда же

Пока что я сам не до конца понимаю всю логику, которую нужно сделать (надо порисовать, будет понятнее), но одно точно понятно - похожая логика UpgradePool будет и в мутациях, т.к. при взятии классовых улучшений в пуле будут открываться новые улучшения. И это будет два разных пула - абстрактный WeaponUpgradePool и "реальный" MutationUpgradePool

Еще как только я начал смотреть видос - увидел какое-то знакомое решение с WeightedTable у препода в видео, оказалось, что я до этого сам догнал 😎 (прикреплю видос с реакцией)

#ritkarampage #godot #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
День 113

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

Т.е. вот сама их дизайн система это фактически просто папки с папками, где каждую папку можно подробно описать, добавить ей тег (Папка, Механика, Система итд), прикрепить к ней задания. В каждой папке (элемент) можно ссылаться на любой другой элемент и по клику моментально переходить в нужный элемент - супер удобно, что-то типа Obsidian'а

Так эти ссылки можно использовать и в тасках, то есть есть задания "Сделать дизайн для лука"/"Добавить лук" и коротенькое описание, а в том описании есть ссылка на страничку в дизайн-документе с подробным описанием всех механик лука, референсов, улучшений и т.д., что делает очень удобным всю работу 🎉

Конечно пока что это не используется вообще, надо сначала написать этот диздок, а потом уже потихоньку начинать это всё с тасками связывать

Всё это создание папочек/элементов простое, нажал "плюсик" и готово, а вот самая сложная часть это организация этих всех "папок" и их описание, но мне нравится такое, люблю когда везде порядок 😊

Сейчас ещё доделываю этот диздок, потом смонтирую видосик как я это все делал (ускоренный в 20 тыщ раз), а пока что прикреплю скрин того, что сейчас готово

Есть свои минусы в HacknPlan'е - но свои функции он выполняет и, пока что, меня это более чем устраивает, всё очень удобное для работы в команде, интерфейс супер простой и понятный (в сравнении со всем остальным что я пробовал), так что буду его обкатывать и в следующих играх

Еще тут можно экспортировать дизайн-документ в HTML страничку или в .docx, так что как допишу всё то закину готовый документ в комменты

#ritkarampage
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥2
День 114-115

Вчера засиделся почти до утра, но зато закончил заполнять диздок (всё что было я туда вписал и добавил много разных описаний), а посты не успел написать 🤝🤝

Пост за 21 и 22 октября (вчера и позавчера (позавчера и поза-позавчера 🫣))

А теперь про дизайн-документ (конкретно в HacknPlan)

Он у меня чисто технический, т.е. нет разделов по типу "Целевая аудитория" или "Исследование рынка", я ж эту игру не продаю, а так, чисто тренируюсь (но серьёзно тренируюсь)

Распишу всё в текстовом формате на сколько хватит символов в одном посте (к сожалению есть ограничение в телеге), а детали и таймлапс закину в видео формате

Какие у меня есть элементы:
1. System - Игровая система. например "Оружия", "Мутации" или "Арены". Описывает в общих чертах о чем эта система и как она работает (по крайней мере должна 👀) и какие "подсистемы" в них используются
2. Enemy - Враг. например "Enemy: Bunny" или "Enemy: Porcupine". Описывает про врага всё - как выглядит, как ходит-бегает, какие навыки, на какой арене можно стретить, какая "редкость" и т.д.
3. Player - Игровой персонаж. фактически он сейчас один и файл пустой, но ссылаться на что-то нужно поэтому я создал "Player: Ritka" 😎
4. Arena - Арена/Локация. Например "Arena: Meadow" или "Arena: [без спойлеров]". Описывает то, как выглядит арена, какое у неё "настроение", какие враги там есть, размер арены, длительность и т.д.
5. Weapon - Оружие. Например "Weapon: Pistol". Описывает ключевые особенности оружия, улучшения и в общих чертах то, как оружие должно выглядеть и звучать
6. Template - Шаблон для создания элементов. Вот есть 10 врагов, и у всех них одинаковые пункты информации, которые нужно заполнить. Шаблон это просто текст, который можно скопировать и вставить в новосозданный пустой элемент, чтобы всё было одинаково и консистентно
7. Folder - Папка / Элемент-пустышка. Никакого описания не содержит, но создан чтобы в него пихать любые другие элементы. Обычная папка в общем
8. Mechanic - Игровая механика. Описывает какую-ту специфическую игровую механику, например "Mechanic: Anvil" (наковальня). Кладётся внутрь системы. Например "System: Weapon Upgrades -> Mechanic: Anvil". Система это что-то большое-обобщенное, а механика это что-то целенаправленное и описывает одну вещь из системы
9. Element - Элемент чего-угодно. Чтобы не плодить дизайн-элементы типа "Mutation Upgrade", "Weapon Upgrade", "Enemy Rarity" и миллион других - я просто тегаю их как Element и кладу внутрь папки. Например:
System: Weapon Upgrades
-> Folder: Upgrade Types
—> Element: Stat Upgrades
—> Element: Mechanic Upgrades
...

10. Document - Документ. Пока что ни одного элемента-документа не создал, но предполагается что это будет просто какое-то описание игры что-ли, типа "Document: Game Overview"

Таймлапс написания диздока - https://youtu.be/WhP_YQ5UFog

Мой подход к созданию диздока (15 минут шизы от меня) - https://youtu.be/oxNU_iseH3s

Также как и обещал - в комментарии закину .html и .docx файлы с дизайн-документом (выглядят не так классно как в HacknPlan, но хоть что-то)

#ritkarampage
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3
День 116

Вчера продолжил читать документацию Godot, особо ничего нового не узнал, но.. мне снова и снова попадалось какое-то "ECS" (Entity Component System) и я решил разузнать поподробнее об этом

Скажу сразу что полностью в этом я еще не разобрался - но тот подход, который я использую (ООП + Композиция) очень даже похож на ECS, в чем суть ECS:
1. Entity - контейнер для компонентов
2. Component - данные, просто данные без логики, контейнер с данными
3. System - берёт Entity, смотрит есть ли у него Component - если да, то работает с ним

Например:
Entities (наш корень проекта)
├── Player (Entity)
│ ├── HealthComponent - кол-во хп
│ └── VelocityComponent - позиция и скорость
└── Enemy (Entity)
└── HealthComponent - кол-во хп

Systems
├── HealthSystem - если есть HealthComponent то в Entity можем вызывать "apply_damage"
└── MovementSystem - если есть VelocityComponent то в Entity можем вызывать "move"


Есть много разных подходов в программировании, но использую я ООП + композицию вместо наследования

Мой подход в общем-то напоминает тот же ECS выше, да только мои "компоненты" это не просто контейнеры с данными, а это и системы сами по себе. Т.е. мой HealthComponent может и данные хранить про кол-во хп и метод apply_damage хранит, и сигнал может послать и даже борщ сварить, а вот Player (главная нода-контейнер) - берет и "дёргает" методы компонента

Пример подхода на ООП с наследованием:
BaseEntity (Базовый Класс)
└── Player (Наследник)
├── max_health: float = 10.0
├── current_health: float
├── damage(damage_amount: float)
├── get_health_percent()
└── check_death()


Пример моего подхода на ООП с композицией:
Player (Сущность, просто контейнер, который вызывает методы из компонентов)
├── HealthComponent
│ ├── max_health: float = 10.0
│ ├── current_health: float
│ ├── damage(damage_amount: float)
│ ├── get_health_percent()
│ └── check_death()
└── Другие компоненты...


В использовании ООП с наследованием есть большая проблема - нету гибкости и грозит Inheritance Hell (а еще я просто кайфую от композиции, поэтому наследование идёт мимо 😎)

Еще задал пару вопросов преподу насчет того, как правильно вынести общую логику с моих двух систем улучшений (мутации и оружия) и насчет целесообразности использования наследования в ресурсах

Прикреплю скриншоты вопросов и в каком-то из следующих постов напишу что ответит препод и как я решу эту "проблему"

Моя шиза к "идеальной" архитектуре прогрессирует не по дням, а по часам, но мне нравится - люблю порядок (а еще я люблю повторяться, альцгеймеры "+" в чай)

#godot #ritkarampage
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍1👏1
День 117-118

Пост без кода

Четверг и пятница были тяжелыми рабочими днями и времени на геймдев, к сожалению, вообще не было (только пост успел написать)

Сейчас уже ночь, собираюсь потихоньку спать, чтобы до утра не сидеть, так что впервые будет пост ни о чем

Единственное что - так это очень хочется поделиться тем, что впервые за почти 6 лет работы мне дали премию.. как же я был рад, это было супер неожиданно и прям вовремя 🥲 (денюжки всегда нужны - часть маме, часть на больницы, кредитный лимит закрою почти полностью)

Еще я очень сильно хочу смонтировать вам видео про свой новый велотренажёр, на выходных думаю смонтирую и, может, сразу же и напишу о нем в отдельном посте

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

Но на эти выходные у меня грандиозные планы - отдых + отдых (геймдев + велотренажер 👀)

Почти никогда на выходных я не отдыхаю от работы, но в последние пару недель все стало значительно лучше в этом плане и, походу, теперь так будет всегда ☺️

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

В общем, не запускайте себя как я, а то я прям гигант-прокрастинатор (не горжусь этим 😳)
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥82👏1💯1
День 119

Вчера наконец-то дошел до UI части в курсе

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

К слову про курс - на прошлый вопрос я получил ответ и прикреплю его как и обещал

В процессе возникали некоторые вопросы и один из них я задал преподавателю с курса и получил ответ.. через 15 минут, вот это приятно 🤝🤝

Вопрос был про UI часть, а именно про переиспользование компонентов и как правильно его организовать (детали на скринах). Т.к. у меня две системы и некоторая логика отображения будет похожей, например анимации взаимодействия с карточками (появление, выбор карточки, наведение мышки на карточку, "убирание" карточек)

Еще пока я писал вопрос (а я люблю детально расписывать вопросы) я продумывал все возможные варианты для переиспользования и уже в конце написания вопроса меня осенило с идеальным вариантом решения, но на всякий уточнил у преподавателя что он думает насчет этого 👀

Курс еще не досмотрел, а деньги за него уже отбил 20 раз (из-за ценных ответов от препода)

В курсе рассказывалось как делать панели с помощью подхода 9-slice scaling, то есть любая панель состоит из 9 частей:
1 | 2 | 3
4 | 5 | 6
7 | 8 | 9

Где 1, 3, 7, 9 - углы (один раз используются)

2, 4, 6, 8 - боковые стороны, которые просто повторяются сколько нужно чтобы заполнить пространство

5 - центральное наполнение, работает аналогично боковым сторонам

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

1 | 2 | 2 | 2 | 3
4 | 5 | 5 | 5 | 6
4 | 5 | 5 | 5 | 6
7 | 8 | 8 | 8 | 9

Сегодня планирую сделать анимации, доделать карточки для оружия и мутаций и, потом, внедрить это все дело в игру

#ritkarampage #godot #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5👏1
This media is not supported in your browser
VIEW IN TELEGRAM
Полноценный пост не успеваю написать - но уже на радостях хочу поделиться результатом работы с UI 🥳

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

Почти три часа разных проблем с шрифтами, с анимациями, нахождением новых (старых) багов, плодотворный день получился 😄

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

#ritkarampage #godot #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍21👏1🎉1
День 1️⃣2️⃣0⃣

Юбилейно-числовой пост 💃

Четыре месяца стрик (как минимум постов) разработки игр - это уже больше, чем я работал на заводе, а это чего-то стоит 😎

Нас уже ❗️141 ❗️, это в полтора раза больше чем 30 дней назад, нас стало больше на 45 человек.. я очень рад этому 🥰

А еще частенько бывает, что под постами кто-то что-то пишет приятное, задаёт вопросы или советует/помогает - если я встаю утром и вижу комменты в телеге и сообщения по работе, я сначала иду в телегу и заряжаюсь на весь день 🥳

И реакций под постами стало так много, как никогда - вы даже не представляете, как меня это всё радует, все мы люди, и мне тоже приятно одобрение сообщества 👀

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

Пока я учился (и учусь) всем "менеджерским" вещам я не так уж и активно разрабатывал, в этом месяце много времени ушло именно на менеджерские вещи (уверен это было заметно по постам), но всё уже настроено и налажено, было сложно и долго - но я справился, ноябрь обещает быть продуктивным (может даже игру R.I.T.K.A. Rampage закончу 👀)

Ну, а теперь к статистике

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

Некоторые "именования" затраченного времени я поменял:
Брейншторминг => Геймдизайн
Менеджмент => Бренд Менеджмент (монтирование видео, написание постов, общение с всякими разными людьми 👀)

Числа:

Программирование - 17 часов 36 минут
Пиксель арт - 3 часа 24 минуты
Геймдизайн - 11 часов 33 минуты
Бренд-Менеджмент - ...24 часа 17 минут
Проджект менеджмент - 7 часов

Проджект менеджмент - это общение с командой, созвоны, написание заданий в HacknPlan, настройка того же HacknPlan и гугл диска и все такое

В этом месяце было больше "пропусков" - целых 10 дней (не ну реально тяжелый месяц был). Каждый день, за исключением 28 сентября, а также 2, 4, 5, 7, 13, 15, 17, 23, и 25 октября я так или иначе уделял время разработке игр

Минимально уделённое время за день - 30 минут, уделённых на разработку

Максимальное - 4 часа 38 минут 20 секунд (это рекорд кста) из которых 4 часа 3 минуты 14 секунд на проджект менеджмент и 35 минут 6 секунд на разработку

Бренд-менеджмент как обычно не включаю в статистику выше, а только прикреплю графиком, т.к. это к разработке игр не относится. На написание этого поста ушло +- 50 минут, я медленный, да..

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

P.S. про UI штуки (тем, чем я вчера занимался) напишу уже за 121-й день (сегодня тоже), как раз когда добавлю все эти анимации и красивые карточки к мутациям
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82👏2😱1💯1
День 121-122

Слово не воробей - можно и забрать

Вчера юайку не доделал 🥺, все делал видос с отчетом за 30 дней (все еще делаю кстати), вероятно будет качественный контент 🎩

Раньше же я монтировал видео в CapCut, а вчера решил внезапно перейти на DaVinci Resolve - бесплатный, удобный (хотя поначалу страшно), можно и со звуком работать полноценно, миллиард удобных готовых анимаций-переходов. А еще им пользуются в Голливуде 😎

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

В общем завтра (среда) я просто обязан доделать видео + юайку и, наконец-то, сосредоточиться на доделывании игры и заполнением контента, а то чет мои "30 дней на игру" подзатянулись 😳
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👏1
День 123

Вчера доделывал визуальщину для карточек улучшений

Теперь карточки мутаций имеют те же анимации, что и карточки для оружий, стилизация пока что одна - серая карточка (мутации то еще не закончены)

Также немного обновил улучшения для оружия - теперь для карточек Mechanic и Transformation (которой пока что нет 👀) будет показываться текст-подсказка-незнаючто, например в улучшении "Больше пуль" добавлен текст "Скажи "НЕТ" точности"

И еще пара небольших апдейтов:
- Изменил везде шрифт на другой, который кратный "5px". Ссылка на QuinqueFive
- Нашел баг в WeightedTable. Коммит
- Вкусно покушал, снова худать 😢

Добавить звуков, музыки, наполнить контентом + задать нормальную прогрессию сложности - и уже игра готова (читать как "еще 20 дней разработки")

У меня столько идей на видео - полезные и не очень, интересные и так себе. А еще больше мыслей по поводу разных вещей в разработке, о которых я очень сильно хочу поделиться, но вот руки не доходят. Вот некоторые пункты:
- Проблемы с отображением шрифтов в Godot. Почему в превью редактора шрифт отображается криво-косо-размыто, а как запускаю игру - все отлично, что не так, как чинить?
- Как запускаю игру, то на каждый новый эффект/партикл/шейдер игра подзависает ненадолго, но это очень заметно, как пофиксить и почему так происходит?
- Как поменять масштабирование у ноды Control? Почему некоторые масштабируются нормально даже через редактор, а некоторые и код игнорируют (т.е. my_control.scale = Vector2(x, y)? Как чинить и почему так?
- Метод утёнка без разговоров с утёнком (я утка?)

И так далее (это весь список (нет))

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

Прикрепил видео процесса и результата работы с визуальщиной для карточек

#godot #ritkarampage #разработка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🎉1
День 124

Вчера продолжил смотреть курс, сейчас заканчиваю часть с визуальщиной (но не с вчерашними постами 👀)

Препод застилизовал шкалу опыта (прогресс бар снизу), потом добавил анимаций и стилей к Lose/Win экранам и в третьем видео добавил стилизации к кнопкам

Шкала опыта у меня уже была готова давным-давно, так что я экспериментировал с цветами для кнопок, всё-таки иногда хочется самому порисовать что-то супер простое в пиксель арте, в кнопке всего-то три цвета, один для обводки, другой для обычного состояния и третий для наведённого (наверное стоит еще добавить для нажатого состояния отдельный, еще думаю 🤔), но эти цвета подобрать под цвет панели из палитры это конечно та еще задача.. видимо для других игр надо или СИЛЬНО ограничивать палитру, или же делать её самому (моим художникам 🤝🎨🤝)

Стили для кнопок нарисовал, осталось их "внедрить" в саму игру, но это после того, как добавлю анимацию и стили к Lose/Win экранам, т.к. кнопки в них находятся и нужно сначала привести два экрана "в порядок"

Прикреплю скрин с моими "наработками" и таймлапс с процессом рисовки

P.S. Остановился на варианте кнопок, которые на панели (это был самый первый вариант к слову). Сверху обычное состояние, снизу при наводке

P.P.S. Монтаж видео в процессе и.. там такое проектище нереальное. Я уже часов 20 на него потратил (видео меньше двух минут будет..), столько всего научился, скорость монтажа уже выросла раза в 4, так еще и материалов насобирал просто жуть, очень нравится монтажЫровать видосики, особенно чтобы с всякими смешнявками было + динамично, я ж зумер 🎩

Побольше мне часов в сутках, аминь 🙏

#ritkarampage
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63💯2