Прогаем с кенгурой
229 subscribers
198 photos
194 videos
17 files
160 links
Сидим с кенгурой под горой, запекаем текстуры...

{ программирование, процедурная генерация, графика, аудио, образование и немного про специфичные игры }

https://gostrobrod.dev
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Автоматизировал постройку коридоров.

Для этого я держу поле с ячейкой 5х5 тайлов, где помечаю, построен там коридор или нет. Это нужно по нескольким причинам:
1. Коридоры всегда выровнены по сетке
2. Не нужно перепердоливать созданнаю ячейку (по крайней мере в данной сессии), то есть если вы там что-то руками поменяете, оно останется
3. Оно мне нужно для постройки границ коридора (блоков вокруг)

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

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

Из минусов - после перезапуска игры тула уже не помнит, где что было - карта чистая.
🔥2
Недавно столкнулся с проблемой кодирования 4к видео на Андроиде (на iOS жалобы не поступали) - у него пячится цвет:

Проблема возникает из-за разных цветовых стандартов исходного и экспортируемого видео. На входе у нас BT.470, на выходе BT.709 (зеленоватое) или BT.2020 (красноватое).

Даже если мы выставим руками BT.601 (тот же BT.470 математически), то аппартаный энкодер поставит обратно в BT.709 (или BT.2020 в зависимости от вендора) для 4к видео, потому что BT.601 не поддерживается для таких размеров. Также мы могли бы руками править цвет, но для этого нам нужно знать входной формат, а средствами андроида это получить невозможно - он нули возвращает.

Поэтому будем тащить ffmpeg и ручками пячить цвета.

Немного контекста: эти стандарты по сути определяют матрицу для перехода YUV<->RGB и пришли из телевидения. (вот про 601 например)
👍3👀1
Почему у Андроида такая всратая тула для дебага видюхи? Из официального я нашел только Android GPU Inspector (AGI), и это шайтан-арба мало того, что работает не только лишь на всех девайсах (про симулятор молчу), так еще и на них - через раз, падает, не может захватить кадры и прочее.

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

Если вы знаете, что есть для Андроида кроме AGI - скажите, ибо задолбало меня это чудище.
Forwarded from Генканал (George)
Media is too big
VIEW IN TELEGRAM
Симуляция частиц
от @coding_with_kangaroo

Сделана на подобии Particle Life (в плане идеи нескольких классов с разными коэффициентами взаимодействия), но с расширением в сторону физичности: учитывается масса, а взаимодействие работает через квадрат расстояния: f(i,j)=k_{ij}\cdot\frac{m_{i}\cdot m_{j}}{r_{ij}^{2}}.

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

На видео - арт режим, когда цвета и правило меняются по времени + сделано движение поля по фигуре Лиссажу 1:2.

Приложение на AppStore
Видео на ютубе
#particle
🔥4
Screenshot 2025-06-21 at 20.01.16.png
363 KB
L-система - одна из разновидностей фракталов на основе грамматик строк. Состоит из алфавита возможных элементов, инициирующего состояния и набора правил, какие элементы что порождают. На каждой итерации к каждому элементу текущего состояния применяются соответствующие правила (если они есть). Примеры:

Треугольник Серпинского
алфавит: F G + −
инициирующее состояние: F−G−G
правила:
F → F−G+F+G−F
G → GG
параметры: угол=120°
F и G рисуют отрезок, + поворачивает на право, - поворачивает на лево.

Кривая Дракона
алфавит: X Y F + −
инициирующее состояние: FX
правила:
X → X+YF+
Y → −FX−Y
параметры: угол=90°
F рисует отрезок, + поворачивает на право, - поворачивает на лево.

Растения и деревья
Море их - даже описывать не буду.

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

https://www.sidefx.com/docs/houdini/nodes/sop/lsystem.html

Имеет инструмент/ноду L-System. Ну и много чего еще - я не особо пользуюсь, но периодически заглядываю и тыкаю. Предпочитаю код - как-то понятнее он мне.
👍1
Algorithmic Botany

https://algorithmicbotany.org

Инструмент для алгоритмической ботаники. Возврат к истокам, так сказать. Не очень удобный UX, но все работет - советую сначала почитать короткий мануал и глянуть примеры. Поддерживает два языка:

cpfg - тупо задаем правило и наслаждаемся (хорошо для простого)
lpfg - С-подобное чудище, удобное для сложных систем

Плюс у него еще куча других файлов для настроек, параметров и прочего.
3
Context Free

https://www.contextfreeart.org/index.html

Тула для процедурного арта. Позволяет достаточно коротким описанием грамматики получить достаточно интересные картинки. Имеет свой язык (CFDG?). Сильно проще, чем предыдущие две. Рекомендую.
4
как-то так я порой вижу все эти chatgpt и ему подобные
😁7👍5🔥1
Вспомнил историю из универских времен. Проходил у нас на факультете CTF иб-шный, а было там две кафедры: больше про железо и больше про ПО. Ну и задача была - выключить противнику доступ к сети. На что чел с нашей (железной) кафедры сидел смотрел на соперников, а потом подошел и выдернул сетевой кабель из их компа.

Победу засчитали, но правила обновили и дальше в турнире не пустили)))
😁94
Так, у меня переезд. Как перееду расскажу что-нибудь интересное, выбирайте очередность (потом про градиенты расскажу после этих двух):
Anonymous Poll
62%
Сплайны
38%
Цветовые пространства
Наткнулся на классный канал https://www.youtube.com/@PracticalEngineeringChannel
👍4
На новой хате остался от бывших хозяев vhs+dvd проигрыватель - теперь
можно пердолить диски (куча их) и кассеты (нет ни одной - надо на барахолке глянуть) и воспроизводить на основе различных повреждений физически верные глитчи.

Когда делал стилизацию видео в Procreate, у меня был комбик tv+vhs с кучей старых кассет, об которые я зарабатывал мигрень, делая реалистичные эффекты под каждое искажение. Хз, вышло ли оно в релиз - дримс вышел очень сильно урезанным по сравнению с тем, что в него планировали засунуть.
2
This media is not supported in your browser
VIEW IN TELEGRAM
И коротко о погоде в Тасмании. Как говорится, если вам (не) нравится тут погода, подождите пол часа.

Сейчас приду в себя и напосчу про сплайны (они выиграли)
😁2
На стиме проходит Automation Fest, где представлена куча игр про автоматизацию и код. Есди вам интересен этот сегмент игр, советую глянуть - там очень много годноты

https://store.steampowered.com/category/automation
4
Так. Я наконец переехал, хотя дома полнейший бардак. Но, пожалуй, начну про сплайны потихоньку писать.
🎉4