Repin Develop Podcast Live #3
Показал как работать с ранее опубликованными компонентами:
-Extended Label
-Extended Button
-Savesystem
-Web Platforms Shell
Так же обсудили прочие темы.
Прошедший стрим побил очередной рекорд по продолжительности.
Видео находится на ВК Видео, так как в Telegram бы оно заняло около 1,5 Гб.
Тайм-коды в описании.
Ссылка на ВК Видео:
https://vk.com/video-148399826_456239140
Показал как работать с ранее опубликованными компонентами:
-Extended Label
-Extended Button
-Savesystem
-Web Platforms Shell
Так же обсудили прочие темы.
Прошедший стрим побил очередной рекорд по продолжительности.
Видео находится на ВК Видео, так как в Telegram бы оно заняло около 1,5 Гб.
Тайм-коды в описании.
Ссылка на ВК Видео:
https://vk.com/video-148399826_456239140
VK Видео
Repin Develop Podcast Live #3
00:00:36 - Extended Label 00:10:10 - Extended Button 00:19:24 - Save System 01:07:54 - Web Platforms Shell 02:43:46 - Разговоры на различные темы. Telegram: https://news.1rj.ru/str/repindevelop
👍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
Сжатый шаблон для 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).
Создаем переменную в нашем коде.
Далее переходим в процесс. Тут нужно реализовать проверку ширины разрешения.
Теперь когда значение переменной vertical становится true - это говорит о том, что ориентация близка к вертикальной или является такой. Соответственно когда переменная принимает значение false, то ориентация экрана горизонтальная.
2. Более оптимизированный способ при помощи сигнала size_changed.
При помощи таких простых способов можно адаптировать интерфейс, увеличение камеры, элементы управления и прочее под различные ориентации экрана.
В этом посте я приведу пример настроек проекта и кода которые позволят вам охватить различные устройства, а так же адаптировать интерфейс под горизонтальную и портретную ориентацию!
В первую очередь начинаем с настроек проекта.
Необходимо выбрать базовое разрешение экрана от которого мы будем отталкиваться. Я рекомендую выбрать разрешение 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
Ссылки на полезный материал для 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 присутствует специальный лаунчер для запуска игр. Его исходные коды так же будут доступны.
Все исходные коды игр и их ассеты станут доступны в ближайшее время под открытыми лицензиями.
Данный проект использует Godot 3 и включает в себя 4 игры различных жанров:
RD Casual #Drift Route - аркадная дрифт гонка с видом сверху.
RD Casual Urbatrium - раннер с видом сбоку.
RD Casual Drafters Home - игра в жанре три в ряд.
RD Casual Drafters Gallery - пазлы.
Помимо игр у Repin Develop Casual присутствует специальный лаунчер для запуска игр. Его исходные коды так же будут доступны.
👍9❤1
match3.zip
4 KB
Готовый компонент для разработки игр в жанре три в ряд для Godot 3.
Игровое поле автоматически адаптируется под альбомную и портретную ориентацию экрана.
В инспекторе сцены "match3.tscn" можно задать различные параметры игры:
- Выбрать режим бесконечной игры.
- Настроить сложность игры.
- Установить продолжительность сессии.
- Настроить количество столбцов/строк на игровом поле.
- Присоединить сигналы состояний "done()" и "not_done()".
Компонент распространяется по лицензии GNU LGPL v3.
Поддержите проект! Подпишитесь на @repindevelop.
Игровое поле автоматически адаптируется под альбомную и портретную ориентацию экрана.
В инспекторе сцены "match3.tscn" можно задать различные параметры игры:
- Выбрать режим бесконечной игры.
- Настроить сложность игры.
- Установить продолжительность сессии.
- Настроить количество столбцов/строк на игровом поле.
- Присоединить сигналы состояний "done()" и "not_done()".
Компонент распространяется по лицензии GNU LGPL v3.
Поддержите проект! Подпишитесь на @repindevelop.
👍7
physics_puzzle.zip
4 KB
И еще один компонент из моего legacy хранилища.
Контроллер для создания игр жанра пазл для Godot 3.
Игровое поле автоматически адаптируется под альбомную и портретную ориентацию.
Через инспектор можно задать различные параметры игры:
- Количество деталей пазла.
- Режим игры(на время и без времени).
- Получить сигналы о состоянии игры "done" и "not_done".
Игровой процесс адаптирован как под управление мышкой, так и под сенсорные экраны.
Каждая деталь пазла обладает физическими свойствами.
Лицензия GNU LGPL v3.
Контроллер для создания игр жанра пазл для Godot 3.
Игровое поле автоматически адаптируется под альбомную и портретную ориентацию.
Через инспектор можно задать различные параметры игры:
- Количество деталей пазла.
- Режим игры(на время и без времени).
- Получить сигналы о состоянии игры "done" и "not_done".
Игровой процесс адаптирован как под управление мышкой, так и под сенсорные экраны.
Каждая деталь пазла обладает физическими свойствами.
Лицензия GNU LGPL v3.
👍4
Всё кто подписан на страницу Repin Develop в VK.
Для вас внутри группы припрятана первая пасхалка связанная с проектом, который мы будем собирать на стриме.
Ссылка на страницу в VK:
https://vk.com/repindevelop
Для вас внутри группы припрятана первая пасхалка связанная с проектом, который мы будем собирать на стриме.
Ссылка на страницу в 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
Обновлена 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 файлы.
В проект включено:
4 игры различных жанров и лаунчер с возможностью загрузки новых игр через pck файлы.
🔥9
Оптимизация. Ресурсы и Вся Фигня.
С переходом на четвёртую ветку Godot при использовании предзагрузки сцен, я периодически замечал невероятный рост объектов и просто бешеный расход видеопамяти.
В Godot 3 никогда таких проблем не было.
Долго не мог понять в чем дело. В том, что врёт мониторинг у четвёрки, или наоборот тройка что-то скрывает. Ведь фактически просадок производительности не было.
Со временем работы в четвёрке, я понял, что она хоть и комфортнее в работе, но более чувствительна и строга к оптимизации. Особенно это касается web платформы. Например от любых шейдеров на данный момент стоит отказаться если вы делаете игру для браузеров.
Но да ладно, вернёмся к ресурсам, preload и load.
Так вот, если использовать предзагрузку то получается, растёт количество объектов и видеопамяти. Если использовать загрузку сцены прямо перед носом, то появляется статтеры и тормоза.
Ситуация казалась безнадёжной. Но решение всегда находится в обсуждении.
Поболтав с коллегой Олегом Долининым понял, что не я один сталкивался с похожими проблемами. Однако он указал на одну интересную вещь которую заметил в своих проектах на четвёрке при работе с частицами.
Так вот если не сохранить какой-либо ресурс в файл .tres или .res, и оставить его встроенным в сцену, то каждый раз при предзагрузке сцены с этим ресурсом будет создаваться уникальный ресурс.
Проверил, сохранил ресурс. В моём случае была проблема с TileSet. Сохранил его в .res файл и начал проверять. И всё, проблема исчезла. Более того, что количество объектов и видеопамять больше не росли при предзагрузке. Так и статтеры пропали при загрузке сцен на лету. И в целом увеличилась скорость загрузки сцен в десятки раз(примерно "на глаз").
Так вот итоги!
В Godot 4 по другому работает загрузка ресурсов, да и в целом ResourceLoader более строгий. Там где тройка прощала косяки, четвёрке встаёт в позу и говорит, что "ты парень не прав".
Мои рекомендации по оптимизации загрузки любых ресурсов для Godot 4 - сохраняйте всё ресурсы в .tres или .res файлы. Не важно, это тайлсет, атлас, частица и т.д.
Всё это сильно ускорит вам игру и избавит от неочевидных проблем.
С переходом на четвёртую ветку Godot при использовании предзагрузки сцен, я периодически замечал невероятный рост объектов и просто бешеный расход видеопамяти.
В Godot 3 никогда таких проблем не было.
Долго не мог понять в чем дело. В том, что врёт мониторинг у четвёрки, или наоборот тройка что-то скрывает. Ведь фактически просадок производительности не было.
Со временем работы в четвёрке, я понял, что она хоть и комфортнее в работе, но более чувствительна и строга к оптимизации. Особенно это касается web платформы. Например от любых шейдеров на данный момент стоит отказаться если вы делаете игру для браузеров.
Но да ладно, вернёмся к ресурсам, preload и load.
Так вот, если использовать предзагрузку то получается, растёт количество объектов и видеопамяти. Если использовать загрузку сцены прямо перед носом, то появляется статтеры и тормоза.
Ситуация казалась безнадёжной. Но решение всегда находится в обсуждении.
Поболтав с коллегой Олегом Долининым понял, что не я один сталкивался с похожими проблемами. Однако он указал на одну интересную вещь которую заметил в своих проектах на четвёрке при работе с частицами.
Так вот если не сохранить какой-либо ресурс в файл .tres или .res, и оставить его встроенным в сцену, то каждый раз при предзагрузке сцены с этим ресурсом будет создаваться уникальный ресурс.
Проверил, сохранил ресурс. В моём случае была проблема с TileSet. Сохранил его в .res файл и начал проверять. И всё, проблема исчезла. Более того, что количество объектов и видеопамять больше не росли при предзагрузке. Так и статтеры пропали при загрузке сцен на лету. И в целом увеличилась скорость загрузки сцен в десятки раз(примерно "на глаз").
Так вот итоги!
В Godot 4 по другому работает загрузка ресурсов, да и в целом ResourceLoader более строгий. Там где тройка прощала косяки, четвёрке встаёт в позу и говорит, что "ты парень не прав".
Мои рекомендации по оптимизации загрузки любых ресурсов для Godot 4 - сохраняйте всё ресурсы в .tres или .res файлы. Не важно, это тайлсет, атлас, частица и т.д.
Всё это сильно ускорит вам игру и избавит от неочевидных проблем.
👍13🔥4
23 ноября планирую посетить @igroprom.
Те, кто тоже будет там - увидимся!
По возможности проведу оттуда небольшой стрим.
Те, кто тоже будет там - увидимся!
По возможности проведу оттуда небольшой стрим.
👍5
Steampowered
Pavel Repin`s GUNFGTR Soundtrack on Steam
The soundtrack to the game GUNFGTR
И так какую игру мы будем собрать на стриме?
Название игры GUNFGTR, это полуаббривиатура от слова gunfighter, так обозначают человека который участвовал или принимает участие в перестрелках.
Что из себя будет представлять игра?
Это 2.5D шутер от первого лица с очень динамичным геймплеем.
Моя задача за стрим собрать не сложную, но интересную игру.
-В игре будет несколько единиц оружия.
-Всё анимации стрельбы записаны с реального огнестрельного оружия, и кадры этого процесса выложу на этой неделе.
-Уровни будут генерироваться случайно.
-Попробую реализовать немного не стандартную механику работы с оружием, думаю может получится интересно.
Кстати я выложил саундтрек к грядущему проекту, так музыка уже давно доступна для бесплатного прослушивания на странице Repin Develop в VK.
А в Steam выложил за символическую цену, если есть желание поддержать меня, то можете приобрести набор треков.
https://store.steampowered.com/app/3318570/Pavel_Repins_GUNFGTR_Soundtrack/
Название игры 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
Если хотите глянуть как раньше проходили мои "рутинные" рабочие будни, то ссылка на выпуск ниже:
https://vk.com/video-218655765_456239350
❤6🔥2