Repin Develop – Telegram
Repin Develop
415 subscribers
36 photos
4 videos
42 files
96 links
Download Telegram
Live stream started
Live stream finished (4 hours)
Repin Develop Podcast Live #3

Показал как работать с ранее опубликованными компонентами:
-Extended Label
-Extended Button
-Savesystem
-Web Platforms Shell


Так же обсудили прочие темы.

Прошедший стрим побил очередной рекорд по продолжительности.
Видео находится на ВК Видео, так как в Telegram бы оно заняло около 1,5 Гб.

Тайм-коды в описании.

Ссылка на ВК Видео:
https://vk.com/video-148399826_456239140
👍10🔥8👏2
Ссылки на полезные компоненты для упрощения разработки на Godot 4.

Сжатый шаблон для Godot 4.4. Рекомендуемая на данный момент версия четвёртой ветки.
https://news.1rj.ru/str/repindevelop/258

Web Platforms Shell. Оболочка для интеграции с различными web-площадками. И упрощения разработки под платформу HTML5.
https://news.1rj.ru/str/repindevelop/44

Система сохранений. Базовая реализация локальных сохранений в файл. Всё данные хранятся в словаре.
https://news.1rj.ru/str/repindevelop/66

Расширенный узел Label. Предоставляет расширенный функционал для реализации переводов текста в узле без использования CSV. Так же позволяет реализовать простейшие субтитры или диалоги при помощи параметра динамического текста.
https://news.1rj.ru/str/repindevelop/122

Расширенный узел Button. Аналогично с узлом "extended label" имеет реализацию перевода текста через инспектор без CSV и поддержку динамического текста.
Помимо этого есть возможность реализовать быстрый переход на другую сцену без написания кода.
https://news.1rj.ru/str/repindevelop/128

Как сделать адаптивный интерфейс в Godot 4. Проверка ориентации экрана.
https://news.1rj.ru/str/repindevelop/142
🔥10👍4
Repin Develop pinned «Ссылки на полезные компоненты для упрощения разработки на Godot 4. Сжатый шаблон для Godot 4.4. Рекомендуемая на данный момент версия четвёртой ветки. https://news.1rj.ru/str/repindevelop/258 Web Platforms Shell. Оболочка для интеграции с различными web-площадками.…»
У многих начинающих разработчиков на Godot 4, которые ориентируются под HTML5-платформу и не только возникает вопрос - как сделать адаптивный интерфейс?
В этом посте я приведу пример настроек проекта и кода которые позволят вам охватить различные устройства, а так же адаптировать интерфейс под горизонтальную и портретную ориентацию!

В первую очередь начинаем с настроек проекта.

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

Следующий параметры которые нужно выбрать в настройках проекта отвечают за растягивание области по ширине. В пункте "Режим(Stretch Mode)" выбираем "canvas_item", а "Соотношение(Aspect)" ставим "keep_height".

Теперь сохраняем настройки проекта. База для адаптивного дизайна у вас есть.

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

1. Самый простой и понятный вариант через _process(delta).

Создаем переменную в нашем коде.
var vertical = false


Далее переходим в процесс. Тут нужно реализовать проверку ширины разрешения.

func _process(_delta: float) -> void:
#проверка ориентации экрана
if get_viewport().size.y > get_viewport().size.x/1.4:
vertical = true
else:
vertical = false


Теперь когда значение переменной vertical становится true - это говорит о том, что ориентация близка к вертикальной или является такой. Соответственно когда переменная принимает значение false, то ориентация экрана горизонтальная.

2. Более оптимизированный способ при помощи сигнала size_changed.


func _ready() -> void:
get_tree().root.size_changed.connect(_screen_orientation)

func _screen_orientation() -> void:
if get_viewport().size.y > get_viewport().size.x/1.4:
vertical = true
else:
vertical = false


При помощи таких простых способов можно адаптировать интерфейс, увеличение камеры, элементы управления и прочее под различные ориентации экрана.
🔥12👍3
Третья ветка Godot ещё не потеряла свою актуальность, а для некоторых будет актуальна ещё очень долго.

Ссылки на полезный материал для Godot 3:

Сжатый шаблон Godot 3.6 для HTML5 платформы.
https://news.1rj.ru/str/repindevelop/35

Сжатый шаблон Godot 3.6.mono для HTML5 платформы.
https://news.1rj.ru/str/repindevelop/227

Web Platforms Shell. Оболочка для интеграции с различными web-площадками. И упрощения разработки под платформу HTML5.
https://news.1rj.ru/str/repindevelop/212

Расширенная основа для разработки гонок с видом сверху. Контроллер автомобиля, различные режимы, всё в одной системе.
https://news.1rj.ru/str/repindevelop/17

Готовый контроллер для создания платформеров, и раннеров с видом сбоку.
Интегрированы различные режимы, и счётчики.
https://news.1rj.ru/str/repindevelop/36

Полноценная заготовка для разработки шутеров с видом сверху. Интегрированы различные режимы игры, расширенное поведение персонажа. Машина состояний персонажа и оружия.
https://news.1rj.ru/str/repindevelop/37

Готовый компонент для разработки игр в жанре три в ряд.
https://news.1rj.ru/str/repindevelop/147

Контроллер для разработки игр в жанре пазл.
https://news.1rj.ru/str/repindevelop/148
🔥5
Repin Develop pinned «Третья ветка Godot ещё не потеряла свою актуальность, а для некоторых будет актуальна ещё очень долго. Ссылки на полезный материал для Godot 3: Сжатый шаблон Godot 3.6 для HTML5 платформы. https://news.1rj.ru/str/repindevelop/35 Сжатый шаблон Godot 3.6.mono для HTML5…»
Серия игр Repin Develop Casual закрыта!

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

Данный проект использует Godot 3 и включает в себя 4 игры различных жанров:
RD Casual #Drift Route - аркадная дрифт гонка с видом сверху.
RD Casual Urbatrium - раннер с видом сбоку.
RD Casual Drafters Home - игра в жанре три в ряд.
RD Casual Drafters Gallery - пазлы.


Помимо игр у Repin Develop Casual присутствует специальный лаунчер для запуска игр. Его исходные коды так же будут доступны.
👍91
match3.zip
4 KB
Готовый компонент для разработки игр в жанре три в ряд для Godot 3.

Игровое поле автоматически адаптируется под альбомную и портретную ориентацию экрана.

В инспекторе сцены "match3.tscn" можно задать различные параметры игры:
- Выбрать режим бесконечной игры.
- Настроить сложность игры.
- Установить продолжительность сессии.
- Настроить количество столбцов/строк на игровом поле.
- Присоединить сигналы состояний "done()" и "not_done()".


Компонент распространяется по лицензии GNU LGPL v3.

Поддержите проект! Подпишитесь на @repindevelop.
👍7
physics_puzzle.zip
4 KB
И еще один компонент из моего legacy хранилища.

Контроллер для создания игр жанра пазл для Godot 3.

Игровое поле автоматически адаптируется под альбомную и портретную ориентацию.
Через инспектор можно задать различные параметры игры:
- Количество деталей пазла.
- Режим игры(на время и без времени).
- Получить сигналы о состоянии игры "done" и "not_done".


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

Лицензия GNU LGPL v3.
👍4
Подготовка к стриму по разработке шутера от первого лица идет полным ходом!
Скоро будет больше информации.
👍124
Всё кто подписан на страницу Repin Develop в VK.
Для вас внутри группы припрятана первая пасхалка связанная с проектом, который мы будем собирать на стриме.

Ссылка на страницу в VK:
https://vk.com/repindevelop
2👏1
Сжатые шаблоны HTML5 сборок для различных версий обновлены!

Обновлена JavaScript библиотека Playgama Bridge(Instant Games Bridge) до версии 1.17.0.

Шаблон для Godot 3.6:
https://news.1rj.ru/str/repindevelop/35

Шаблон для Godot 4.3:
https://news.1rj.ru/str/repindevelop/58

Шаблон для Godot 4.4.dev3:
https://news.1rj.ru/str/repindevelop/106
🔥4
Был бы вам интересен обучающий материал и готовые контроллеры под Defold?
Final Results
37%
Да
8%
Нет
55%
Godot-only
Как только на этой странице наберётся 300 подписчиков, то сразу выпущу весь проект Repin Develop Casual основанный на Godot 3.

В проект включено:
4 игры различных жанров и лаунчер с возможностью загрузки новых игр через pck файлы.
🔥9
Оптимизация. Ресурсы и Вся Фигня.

С переходом на четвёртую ветку Godot при использовании предзагрузки сцен, я периодически замечал невероятный рост объектов и просто бешеный расход видеопамяти.
В Godot 3 никогда таких проблем не было.

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

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

Но да ладно, вернёмся к ресурсам, preload и load.
Так вот, если использовать предзагрузку то получается, растёт количество объектов и видеопамяти. Если использовать загрузку сцены прямо перед носом, то появляется статтеры и тормоза.
Ситуация казалась безнадёжной. Но решение всегда находится в обсуждении.
Поболтав с коллегой Олегом Долининым понял, что не я один сталкивался с похожими проблемами. Однако он указал на одну интересную вещь которую заметил в своих проектах на четвёрке при работе с частицами.

Так вот если не сохранить какой-либо ресурс в файл .tres или .res, и оставить его встроенным в сцену, то каждый раз при предзагрузке сцены с этим ресурсом будет создаваться уникальный ресурс.

Проверил, сохранил ресурс. В моём случае была проблема с TileSet. Сохранил его в .res файл и начал проверять. И всё, проблема исчезла. Более того, что количество объектов и видеопамять больше не росли при предзагрузке. Так и статтеры пропали при загрузке сцен на лету. И в целом увеличилась скорость загрузки сцен в десятки раз(примерно "на глаз").

Так вот итоги!
В Godot 4 по другому работает загрузка ресурсов, да и в целом ResourceLoader более строгий. Там где тройка прощала косяки, четвёрке встаёт в позу и говорит, что "ты парень не прав".

Мои рекомендации по оптимизации загрузки любых ресурсов для Godot 4 - сохраняйте всё ресурсы в .tres или .res файлы. Не важно, это тайлсет, атлас, частица и т.д.
Всё это сильно ускорит вам игру и избавит от неочевидных проблем.
👍13🔥4
23 ноября планирую посетить @igroprom.
Те, кто тоже будет там - увидимся!

По возможности проведу оттуда небольшой стрим.
👍5
Теперь точно можно сказать, что делаю финальные штрихи.
Наконец-то получилось уделить время на завершение проекта.

Кстати на неделе выйдет контент по игре которую будем делать на стриме!
4🔥3👍1
И так какую игру мы будем собрать на стриме?

Название игры GUNFGTR, это полуаббривиатура от слова gunfighter, так обозначают человека который участвовал или принимает участие в перестрелках.

Что из себя будет представлять игра?
Это 2.5D шутер от первого лица с очень динамичным геймплеем.

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


Кстати я выложил саундтрек к грядущему проекту, так музыка уже давно доступна для бесплатного прослушивания на странице Repin Develop в VK.
А в Steam выложил за символическую цену, если есть желание поддержать меня, то можете приобрести набор треков.

https://store.steampowered.com/app/3318570/Pavel_Repins_GUNFGTR_Soundtrack/
🔥2
Случайно сейчас наткнулся на выпуск одного "тревел" шоу, в эпизоде которого принял участие.

Если хотите глянуть как раньше проходили мои "рутинные" рабочие будни, то ссылка на выпуск ниже:
https://vk.com/video-218655765_456239350
6🔥2