0x405
СтатистикаВсё здесь создано благодаря одному Господу нашему Иисусу Христу, ему слава и держава во веки веков. Аминь.
- Последний пост
- 27 июл.
- Последнее чтение
- 17:59
- Постов за неделю
- 0
- Всего постов
- 20
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 784
- 1/48двое суток
- 898
- 1/72трое суток
- 969
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Вместе с Андреем и Иваном мы сделали игру для GMTK Game Jam 2026. Игра называется Field, она о трудностях, с которыми сталкивается крестьянская семья в России периода Гражданской войны. Поиграть и оценить можно по ссылке: a0405u.itch.io/field
Написал две системы поиска путей для hill. На видео можно увидеть их в действии. A* используется для поиска путей жителей, его суть состоит в выборе наиболее выгодного пути на каждом шаге поиска используя эвристику (оценку расстояния до цели). Это эффективно по причине наличия у каждого жителя собственной цели. Алгоритм находит кратчайший путь от одной точки до другой, минимизируя обход игрового поля. Flowfield используется для поиска путей бесов, его суть состоит в построении векторного поля, указывающего направление к ближайшей цели. Это эффективно поскольку у всех бесов одна общая цель. Достаточно построить всего одно поле и обновлять его при изменении объектов на карте. Цель каждого отдельного беса при этом не выбирается намеренно, она зависит от направления поля.
https://a0405u.itch.io/hill Поучаствовали в джеме с ребятами, сделали прикольную штуку, концептуально интересно, но как игра она вышла недоделанной - сейчас работаем над этим. Задумка простая - строишь домики, обороняешься от чертей с помощью мортиры. На джеме заняли 41 место. Я как обычно рисовал графику, Толя работал над кодом в LOVE2D, над музыкой работал Дима BLUNSH. Отдельное спасибо Дане 1de, что хелпанул с анимациями в последний момент! 💋 Еще с десяток джемов и будут получаться полноценные игры 🎸
видео или голосовое, без подписи
Наконец, после более трёх недель с начала работ над экспериментом, я могу сказать, что моя теория по крайней мере качественно подтверждена! На картинках можно видеть результат рендеринга SDF-сетки и SDF-дерева, построенного по моему методу. Разница в том, что для первого случая компьютеру требуется хранить в памяти XxYxZ значений SDF-функции в каждом вокселе сетки. Для второго же случая требуется примерно в два-три раза меньше оперативной памяти. Использовать такую структуру, конечно, гораздо затратнее, чем обращаться к сетке. Целесообразно ли её использование, мне ещё предстоит узнать. Пока я узнал, что это, как минимум, возможно.
SDF-сетка сферы визуализированная в виде объёма и цветового разреза.
Это или лучи Царства Божьего, пробивающиеся сквозь твердь небесную, или медиатор моего уныния. https://youtu.be/6aJnnOnHK6g
В данный момент я занимаюсь проверкой моей теории о возможности эффективного обратного (дифференцируемого) рендеринга SDF-сеток с помощью построения SDF-дерева (или SDF-пирамиды, если быть точнее). Суть моей теории заключается в том, что рендеринг и оптимизацию SDF можно осуществлять оперируя только неполным множеством значений SDF-сетки, а именно набором множеств нулевого уровня исходной сетки и её аппроксимаций. Это должно уменьшить требование к памяти и скорость алгоритмов обратного рендеринга SDF. Для проверки этой теории я решил написать простую программу-рендерер на языке C. Основной вопрос, который я хочу решить этим экспериментом состоит в следующем: достаточно ли упомянутого набора данных для корректной трассировки лучей. У эксперимента уже есть одно прямое решение: осуществлять трассировку можно методом обхода воксельной сетки до множества нулевого уровня, переключаясь в последствии на трассировку SDF, однако я этим решением не удовлетворён, кроме того, я не уверен в том, что его возможно дифференцировать. Потому я пытаюсь сделать кое-что более интересное! *** Некоторые упоминаемые определения: Обратный рендеринг — метод получения параметров сцены (формы геометрии, положения объектов, свойств источников освещения, камеры и т.д.) по изображению. В прямом рендеринге из сцены мы получаем картинку, здесь наоборот. Как это делать — вопрос не простой. SDF, Signed distance function, функция расстояния со знаком — это функция, значение которой есть минимальное расстояние до некоторой геометрической формы (границы некоторого множества). Такой функцией можно представлять трёхмерную (двумерную или скольки-угодно мерную) геометрию, чем активно пользуются любители пописать шейдеры. SDF-сетка представлять собой дискретизацию этой функции. Множество нулевого уровня, Zero-level set — множество точек, в которых значение функции равно нулю. Частный случай множества уровня. В случае применения к SDF-сетке — это множество ячеек сетки наиболее близких к нулевому значению SDF, множество ячеек, описывающих контур геометрии объекта.
Экстерьер и интерьер капсулы.
Дизайн инвазивной космической капсулы.
Слово огласительное святителя Иоанна Златоуста на Святую Пасху Кто благочестив и боголюбив, – тот пусть насладится этим прекрасным и светлым торжеством. Кто раб благоразумный, – тот пусть, радуясь, войдёт в радость Господа своего. Кто потрудился, постясь, – тот пусть возьмёт ныне динарий. Кто работал с первого часа, – тот пусть получит сегодня должную плату. Кто пришёл после третьего часа, – пусть с благодарностью празднует. Кто успел придти после шестого часа, – пусть нисколько не беспокоится; ибо ничего не лишится. Кто замедлил до девятого часа, – пусть приступит, нисколько не сомневаясь, ничего не боясь. Кто успел придти только в одиннадцатый час, – пусть и тот не страшится за своё промедление. Ибо щедрый Владыка принимает и последнего, как первого; успокаивает пришедшего в одиннадцатый час так же, как и работавшего с первого часа; и последнего милует, и о первом печётся; и тому даёт, и этому дарует; и дела принимает, и намерение приветствует; и деятельности отдаёт честь и расположение хвалит. Итак, все войдите в радость Господа нашего; и первые и вторые получите награду; Богатые и бедные, ликуйте друг с другом; Воздержные и нерадивые, почтите этот день; Постившиеся и непостившиеся, веселитесь ныне. Трапеза обильна, – насыщайтесь все; Телец велик, – никто пусть не уходит голодным; все наслаждайтесь пиршеством веры; все пользуйтесь богатством благости. Никто пусть не жалуется на бедность, ибо открылось общее Царство. Никто пусть не плачет о грехах, ибо из гроба воссияло прощение. Никто пусть не боится смерти, ибо освободила нас смерть Спасителя. Он истребил её, быв объят ею; Он опустошил ад, сошедши во ад; Огорчил того, который коснулся плоти Его. Об этом и Исаия, предузнав, воскликнул: «Ад, – говорит он, – огорчился, встретив Тебя в преисподней». Он огорчился, ибо стал праздным; Огорчился, ибо посрамлён; Огорчился, ибо умерщвлён; Огорчился, ибо низложен; Огорчился, ибо связан. Он взял тело и нашёл в нём Бога; Взял землю и увидел в ней небо; Взял то, что видел, и подвергся тому, чего не видел. «Смерть! Где твое жало? Ад! Где твоя победа?». Воскрес Христос, – и ты низложился; Воскрес Христос, – и пали бесы; Воскрес Христос, – и радуются ангелы; Воскрес Христос, – и водворяется жизнь; Воскрес Христос, – и мёртвого ни одного нет во гробе. Ибо Христос, воскресший из мертвых, – «Первенец из умерших». Ему слава и держава во веки веков. Аминь.
Вместе с Валерой делаем игру. Обычно делает только Валера, я ничего не делаю. В этот раз тоже, но немножечко сделал, как обычно. Реализовал систему лазания основанную на методе Barycentric Triangle Walking. Этот метод позволяет прикрепляться к любым геометрическим объектам, а именно к их треугольным сеткам, и перемещаться по поверхности объекта ориентируясь на барицентрические координаты. Такие координаты позволяют задавать положение точки на поверхности треугольника относительно его трёх точек. Метод использовали в Shadow of the Colossus, об этом я узнал из видео, которое нам прислал Семён, за что ему спасибо!
Что ж, могу констатировать следующее: заявления о том, что мой сервер никогда не будет заблокирован, оказались ложными. Сегодня я ощутил на себе, как работают так называемые "белые списки". Естественно, моего сервера в этих списках нет, поэтому доступ к нему получить в такой ситуации невозможно. Также как и ко многим другим серверам и веб-страницам обычных людей, малого бизнеса, и просто бизнеса, которому не посчастливилось попасть в эти самые списки. Конечно никакой VPN в этом случае тоже никому не поможет, если только он не будет предоставлять доступ к государственным серверам, имеющим неограниченный доступ. Пока это касается только мобильного интернета, но никто не мешает объявить угрозу беспилотных средств управляемых направленными Wi-Fi антеннами, или найти ещё какую-нибудь причину, и провернуть всё то же с проводными сетями. Будем надеяться, что этого никогда не произойдёт.
Запустил персональный IRC-сервер (irc.0x405.ru). Он независим от внешних сервисов, и, потенциально, заблокирован никем и никогда не будет (по крайней мере внутри страны). Ссылка выше предоставляет прямой доступ к серверу, и, кажется, это работает даже со смартфона. При желании к нему можно подключиться с любого удобного IRC-клиента по стандартному порту 6697. На главной странице (0x405.ru) размещён открытый публичный канал. Для входа на публичный канал не нужен пароль, но вы можете зарегистрироваться и иметь перманентный доступ к каким-нибудь обсуждениям, которые, может быть, там когда-нибудь появятся. Я уже поднимал matrix, но туда никто не пришёл. Вероятно, это сложно, но и сам по себе matrix имеет недобрую природу. С xmpp протоколом было лучше, но всё это плохо работает и люди куда-то улетучились. Вот следующая попытка, на этот раз, кажется, всё проще, однако ограничено лишь текстом. Надеюсь, этого хватит. Всех приглашаю протестировать и обсудить там всё то, что может быть кому-нибудь интересно.
Уважаемые господа и дамы, напомню, что найти меня, в случае чего, можно на моей веб-странице: 0x405.ru Быть может, скоро настанет чудное время, когда интернет снова станет прекрасным, мы все заведём персональные страницы и начнём пользоваться RSS.
Своими руками спроектировал, напечатал, спаял и собрал клавиатуру! Давно мечтал о беспроводной 40% ортолинейной клавиатуре для использования вне дома. Основывался на этой документации. Лейаут у неё полностью настраиваемый, я сделал его аналогичным своей раздельной клавиатуре. Вышло совсем не дорого, но пришлось потратить не мало времени! На всё ушло три дня, один из которых был занят полностью. В комментарии добавил фотографии процесса. Надеюсь в ближайшее время поделиться всеми разработками: моделями для печати, инструкцией по сборке, ссылками на компоненты и прошивкой. Если вдруг вы тоже хотите такую, или какую-нибудь другую, могу сделать и вам, только напишите!
Произвёл запуск (release) приложения (application) для системы Linux на графическом сервере Xserver (X11). Данная аппликация (приложение) позволяет не засиживаться за компьютером слишком долго, напоминая о необходимости перерыва. Почти все возможные параметры настраиваются в конфигурационном файле. При необходимости возможно включить принудительную блокировку рабочего пространства, если вашей воли хватает только на это. Скачать, собрать (build) и запустить приложение можно по одной из следующих ссылок: git.0x405.ru/a0405u/xrest github.com/a0405u/xrest Для пользователей других систем и графических серверов существуют альтернативы, например: breaktimer.app. Эти альтеранативы не устраивали меня наличием Electron, миганием экрана, отсутсвием горячих клавиш, и автоматическим завершением перерыва, что и побудило меня написать собственное приложение.
Приглашаю всех прочитавших сие сообщение указать причину и цель своего существования в комментариях.
Иисус же сказал ученикам Своим: истинно говорю вам, что трудно богатому войти в Царство Небесное; и ещё говорю вам: удобнее верблюду пройти сквозь игольные уши, нежели богатому войти в Царство Божие. Евангелие от Матфея, Глава 19:23-24.
Обновил шейдеры, теперь можно увидеть почти настоящий океан: 0x405.ru/virtual-space