Repin Develop – Telegram
Repin Develop
415 subscribers
36 photos
4 videos
42 files
96 links
Download Telegram
Сегодня попробую начать диалог с поддержкой Steam насчёт одной интересной темы.

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

Без оплаты взносов.
👍3🔥2🙈1
Сцена IGBGUI обновлена до версии 4.3a!
Работа над сценой вышла на финишную прямую, остаются незначительные доработки. С этого момента можно считать, что полноценная реализация Instant Games Bridge под Godot 4 готова.
Изменения:
-Добавлена функция выбора настроек локализации. Теперь можно выбрать три варианта откуда будет получаться текущий язык: "Platform", "System", "Manual". В случае выбора ручного назначения вы можете назначить ключ языка вручную в формате ISO 639-1 в переменной "manual_language_key".
Загрузить IGBGUI вы можете по ссылке ниже:
https://news.1rj.ru/str/repindevelop/44
🔥8💊1
И так, товарищи. К этим выходным к сожалению я не успеваю подготовить весь материал для урока на стриме.
Сейчас в приоритете завершить работу над IGBGUI, а так же выпустить одну из своих игр.

Однако в эту субботу можно посвятить стрим функционалу IGBGUI. Рассмотреть его вызов через код, а так же при помощи инспектора.

Оставляйте свои пожелания в комментариях.
👍4🔥1🍌1
Сцена IGBGUI обновлена до версии 4.3t!

Теперь уверенно можно сказать, что реализация всего функционала Instant Games Bridge под Godot 4 готова.
Остаётся доделать дополнительный функционал например: внешний аудио вывод при помощи JavaScript.

Изменения:
-Реализована полная поддержка внутриигровых покупок на платформе Яндекс Игры!
Доступно совершение покупки, совершение расходования в случае не обработанных покупок. Так же можно получить каталог всех товаров и список купленных товаров.

Загрузить IGBGUI вы можете по ссылке ниже:
https://news.1rj.ru/str/repindevelop/44
🔥8👎1
Сцена IGBGUI обновлена до версии 4.3b!

Постепенно простая сцена обрастает ультимативным набором функций для работы с web-площадками.
Ведь задача максимально упростить разработку под web платформы на Godot.
Однако разработка стабильной версии продолжается!

Изменения:
-Добавлена возможность скрыть баннер.
-Автоматическое получение токена при совершении покупки на случай непредвиденных ситуаций.
-Добавлена предварительная версия внешнего аудио вывода при помощи Web Audio API без использования сторонних библиотек и расширений!
В массиве external_audio_path можно указать путь или url до аудио файла.
На данный момент доступно воспроизведение одной аудиозаписи.
$igbgui.on_external_audio_play() - воспроизвести аудио из массива
$igbgui.on_external_audio_stop() - остановить воспроизведение

Функция имеет предварительный статус и не тестировалась в работе на мобильных устройствах.


Загрузить IGBGUI вы можете по ссылке ниже:
https://news.1rj.ru/str/repindevelop/44
5👍2🔥2👎1
К сожалению сегодня стрим не состоится. Слишком много сторонних дел.

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

Существует проблема появления проигрывателя в уведомлениях на телефонах.

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

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

Помимо этого надо добавить загрузку изображений по url или base64, это может помочь в случае покупок на Яндекс Играх когда надо получить иконку валюты, а так же поэтапной загрузке изображений и реализации текстурных модов в играх.


В общем работы полно!
👍7👎1
Сцена IGBGUI обновлена до версии 4.3rc1!

Данный релиз фиксирует баги в предыдущих версиях. Работа над стабильной веткой продолжается.

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

- Сделано опциональной и выключено по умолчанию отключение звука при потере фокуса мыши.

Так же были проведены проверки другого ранее реализованного функционала для обеспечения стабильной работы.

Загрузить IGBGUI вы можете по ссылке ниже:
https://news.1rj.ru/str/repindevelop/44
🔥5👍1👎1
rdhub2d_extendedlabel.tscn
1.6 KB
Продолжаю делиться своими компонентами которые упрощают разработку.
Расширенный узел Label для Godot 4.

Основная задумка расширения заключается в реализации поддержки нескольких языков без использования файла локализации. Все переводы хранятся массивах. Вся работа проходит в инспекторе.
Для начала использования мультиязычного ввода включите галку Multilang Text.
Далее создайте значения ключей языков в массиве Text Lang Key в формате ru, en и т.д. На каждый элемент массива - один ключ языка.
Для добавления текста на нужном вам языке создайте элемент массива в Text Value.
Пример: язык с ключом en находится под номером 0. То и весь текст на английском языке в массиве значений должен быть под номером 0.

Параметр Dynamic Text Slice при включении позволяет реализовать простейшую форму диалогов и субтитров.
Графа Dynamic Text Slice Tag нужна для указания тега, чтобы разделять внесенный тест на несколько независимых участков.
Dynamic Text Number показывает номер отображаемого участка текста.
Пример: текст1[t]текст2
🔥3👎1
Сцена Web Platforms Shell(IGBGUI) обновлена до версии 4.3rc2!

Реализован весь функционал оригинального Instant Games Bridge , а так же все дополнительные опции как внешний аудио вывод при помощи Web Audio API и загрузка изображений из внешних источников, таких как URL или Base64.

Изменения:
- Добавлена загрузка изображений из внешних источников.
Можно загрузить изображение по URL. Это позволит загружать сторонние изображения с веб сайтов, при условии если площадка на которой вы выпустили игру допускает сторонние запросы.
Так же сделана возможность загружать изображения из Base64.
Загрузка изображений из сторонних источников позволит разгрузить сборку игры, позволит удаленно управлять ресурсами игры, а так же дает возможность для возможности создания доступа к пользовательским модификациям.


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

Загрузить Web Platforms Shell(IGBGUI) вы можете по ссылке ниже:
https://news.1rj.ru/str/repindevelop/44
👍4🔥3👎1🗿1
Какую игру будем делать на стримах? Сейчас две идеи. Надо выбрать с чего начнём, и для чего готовить ассеты?
Final Results
84%
2.5d динамический ретро-шутер от первого лица
16%
2d гонку с видом сбоку на базе rigidbody
👎1🔥1
С огромным перевесом побеждает вариант шутера от первого лица.

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

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

Предварительные задачи которые нужно будет выполнить при разработке этой игры:
- Игра должна быть адаптирована на все устройства и различные ориентации экрана (портретная и горизонтальная).
- Управляться с различных устройств ввода (клавиатура+мышь, сенсорный экран и геймпад).
- Выпущена на различные платформы и площадки
(VK Игры, Яндекс Игры, VK Play, Steam)
- Для веб площадок должна быть интеграция с Web Platforms Shell.
- Должна быть реализация сплит-скрин и сетевого кооператива.
👍8👎1
rdhub2d_extendedbutton.tscn
8.4 KB
Ещё один компонент в дополнение к расширенному узлу label.
Расширенный узел Button для Godot 4.

Тут точно так-же как в узле Extended Label реализована функция Multilang Text для быстрого создания локализации текста в узле без использования CSV. Все делается прямо из инспектора. Так-же присутствует функция Dynamic Text Slice для реализации простейших диалогов.

Дополнительный функционал расширенной кнопки:
- Возможность создания фоновой заливки для кнопки. Необходимо поставить галочку рядом с пунктом Background.
Далее нужно указать размер фоновой заливки в ручную или выбрать режим BG Auto Size, чтобы размер подстраивался автоматически под размер кнопки.
- Упрощенная настройка цветов текста, фона, всей кнопки в целом для обычного состояния или в когда кнопка в фокусе.
- Из инспектора можно задать переход на другую сцену. Включить режим и указать адрес сцены можно в секции Link Settings.
- Режим Alt Link позволяет сменить адрес следующей сцены на ходу. Alt Link is External вызывает переход на внешние источники.
👍5👎1
Сжатые шаблоны обновлены!
Добавлен прогресс-бар вверху страницы.

Сжатый шаблон для 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
🔥5
Тут в соседних чатах выложили способ сжатия используя brotli. По сути там всё тоже самое как и с gzip. Только библиотеку изменили.

Однако там присутствует проблема как и у других публичных гайдов по сжатию в gzip.
Суть проблемы такова: порой при загрузке ресурсов wasm загружается раньше чем pck. Тем самым движок уходит в ошибку.
Эту проблему я исправил в своих сжатых шаблонах.

Изучу brotli.js и возможно сделаю шаблоны с использованием этого метода сжатия.
Всё таки в сжатом виде wasm от Godot 4.3 будет весить чуть больше 5мб.

Посмотрим как это всё будет работать на площадках. Ибо не всё площадки допускают работу шаблонов в своих заголовках. И с brotli могут быть проблемы в отличии от того же gzip.

В общем посмотрим...
🔥8
Предварительно по сжатию Brotli.

Посмотрел я текущие реализации библиотек Brotli на JavaScript и понял, что на данный момент они уступают тому же Pako JS которая используется в шаблонах с Gzip.

Стабильность библиотек очень важна, так как от этого зависит возникновение непредвиденных ситуаций. И если в случае с Gzip сжатием всё очень хорошо задокументировано, то у Brotli с этим проблемы.

Так же возникли вопросы к скорости текущих библиотек, например Brotli.js.

В итоге на данный момент я не вижу смысла шаблонах с использованием метода сжатия Brotli по нескольким причинам:
- Отсутствие какой-либо стабильной js реализации. Всё текущие реализации вызывают вопросы.
- Высокий риск возникновения не решаемых проблем. Мне нужно обеспечить "железобетонную" работоспособность шаблона, как это сделано в шаблонах с Gzip.
- Не такая большая разница в размере билда, при высоких рисках нестабильной работы.
- Сомнительная разница в скорости распаковки.

В общем, буду периодически возвращаться к этому вопросу. Но на данный момент в шаблонах с Brotli нет смысла.
👍6
Live stream scheduled for
В эту субботу в 18:00 состоится стрим, тут на канале @repindevelop.

В ходе трансляции разберём весь функционал Web Platforms Shell с примерами.
Продемонстрирую как выглядит интеграция игры на Godot 4 с различными площадками: Яндекс Игры, ВК Игры и VK Play Mini.

А так же покажу как пользоваться ранее опубликованными компонентами: системой сохранения, расширенным узлом label и button.

И попутно поговорим и на другие темы.
До встречи!
👍7
Сцена Web Platforms Shell вышла в стабильный релиз версии 4.3.

В оболочке реализован весь функционал универсального JavaScript SDK Playgama Bridge(Instant Games Bridge).
Помимо этого оболочка реализует дополнительный функционал и предоставляет возможности для упрощения разработки под HTML5.
Например вы можете использовать внешний аудио вывод при помощи Web Audio API, загружать изображения из внешних источников по URL или Base64.
Для площадки VK добавлена возможность проверять из игры является ли игрок платным подписчиком вашего сообщества через VK Donut.

Со временем оболочка будет обрастать новыми возможностями которые упростят вам разработку игр под web-площадки.


Загрузить Web Platforms Shell вы можете по ссылке ниже:
https://news.1rj.ru/str/repindevelop/44
8🔥4
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