Meshgun


Гео и язык канала: не указан, не указан
Категория: не указана


Я Миша. А это мой канал про графику, программирование и игры.
Стримы twitch.tv/meshgun_gd
Видосы youtube.com/@meshgun_gd
Код gitverse.ru/meshgun

Связанные каналы

Гео и язык канала
не указан, не указан
Категория
не указана
Статистика
Фильтр публикаций


Видео недоступно для предпросмотра
Смотреть в Telegram
Трипл-эй игры это седативы, а не игры 🤟

Смотреть на этот видос и смешно, и грустно. Моей первой реакцией было: "раздражает, когда разработчики держат меня за одноклеточного и разжёвывают каждую мелочь".

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


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

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


Современные ААА отлично вписались в этот запрос. Благодаря такому сопровождению они позволяют окуклиться в потоке однообразных действий, особо не включая ум. Если называть вещи своими именами, то эти игры являются седативом от непредсказуемости реального мира, а играми являются только по форме доставки контента.

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


В геймдеве появляются новые инструменты, но почему-то все недовольны.

В последнее время присутствие ИИ в процессе разработки стало вызывать крайне острую реакцию. Я сильно сомневаюсь в том, что в текущем виде нейронки будут всё шире использоваться. Результаты их работы находятся не в той плоскости, в которой хотелось бы (мало контроля, низкий кпд).


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

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


В Русах персонажи озвучены нейронкой, но хейта на эту тему как-то не наблюдается. В то время как Клэр Обскур лишают наград из-за текстуры с газетами, а на Лариан накидываются дикие бывшие (работали на испытательном) художники за небольшое преувеличение со стороны мистера Шрейера 🤡

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

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


Да и куда эти все денутся, когда выйдет Дивинити?
Придётся играть.


Если на линуксе запросить параметры surface через апи вулкана, то он не возвращает разрешение таргета. По крайней мере, в моём сетапе.

Вместо этого возвращается специальное значение (0xFFFFFFFF). Типа "определи сам, в каком разрешении рендерить", а я вместо этого просто ограничивал максимальным размером текстуры и использовал. Поэтому на старте начинался 16к гейминг 😱

Демка с dynamic rendering стала на один шаг более кросс-платформенной.


Интуитивно кажется, что читы и эксплойты - это не честно, а игроков нужно за это банить.

Но взлом симуляции - это победная стратегия выживания.

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

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


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

Классический пример: bhop и surf карты для CS. Ну а чего стоит карманная ядерка в Divinity (тут ещё надо постараться столько бочек найти).

Игрок будет думать, что перехитрил реальность (это очень приятно), но при этом останется приблизительно в рамках задуманного дизайна.


Видео недоступно для предпросмотра
Смотреть в Telegram
Шэдуха то оказывается Сундуком раньше подрабатывала.
С низов поднялась 💪


В программировании самое главное - не создавать write-only код, тогда всё остальное будет проще. Для этого нужно работать по двум направлениям: уменьшать связность и дробить контекст. Насчёт последнего есть пара мыслей.

Главная цель дробления - ограничить объём информации, необходимой для понимания действия. Этого можно достичь как вынесением функции, так и простым оформлением блока с помощью комментариев. Есть много школ, но фундаментально все они лежат на прямой между сплошной портянкой и десятислойными ооп-абстракциями. Среди них можно выделить два самых частых подхода:

/// Вариант А
fn action() {
partial_action_1();
partial_action_2();
partial_action_3();
}

fn partial_action_1() { ... }
fn partial_action_2() { ... }
fn partial_action_3() { ... }
/// Вариант Б
fn action() {
// partial action 1
...

// partial action 2
...

// partial action 3
...
}

Первый вариант можно встретить гораздо чаще (спасибо годам пропаганды clean code и тд), но на мой взгляд он имеет неочевидные нюансы.

Функция - это абстракция, а любая абстракция - это ограничения. Вынесение блока кода в функцию создаёт новые рамки, усложняя доступ к одним данных и упрощая к другим. Далеко не всегда эти ограничения оказываются в тему, ведь их создаём мы, живые люди. Те самые, которые иногда ошибаются. Но когда абстракция уже существует, неудобство ограничений сложнее заметить.

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


В последнее время я чаще склоняюсь ко второму варианту дробления, и на мой взгляд у этого есть преимущества:
1 :: Проще переписывать части и менять группировку, ведь нет ограничений в виде разделения на функции.

2 :: Выше явность контекста. Не нужно бегать вверх-вниз по файлу, чтобы собрать в голове этапы действия. Всё написано последовательно.

3 :: Меньше риск выполнения кода в неправильном месте, ведь никто не сможет вызвать функцию, если её не существует.


Если один и тот же код нужен в нескольких местах - без функции не обойтись. Дублирование создаёт кратно больше проблем. Поэтому фреймворк примерно такой:
1 :: Если функция вызывается один раз -> заинлайнить

2 :: Много раз -> попробовать перестроить код так, чтобы вызвать нужно было только один раз, после заинлайнить


TGA. Итоги.


Женщины и мужчины видят мир по-разному. Буквально.

У мужчин восприятие цвета сдвинуто влево по спектру относительно женщин. То есть нам для восприятия такого же цвета требуется чуть более длинная волна. Мы живём в холодном мире, парни.

А вот здесь написано, что иногда вообще встречаются т.н. тетрахромные женщины. У них на один вид колбочек больше (у дженерик-человека их 3). Это позволяет различать больше оттенков. От женского взгляда ничто не скроется.

Получается, спорить насчет цветов с ними явно не стоит...


Две причины, почему я жду Дивинити:
1. Среди всех игр ящеры тут самые крутые
2. А большего мне и не надо

Трейлер разрывной. Буквально.


Единственный человек, которому я готов простить анонс анонса.

Говорит, если бы хотел сделать анонс, то выбрал бы для этого какое-нибудь шоу, посвящённое играм. Например, на этой неделе...


Желание держать в руке меч объединяет мужчин всех эпох и возрастов.

Меч - это пронзать, рассекать и отделять.
Меч - это останавливать, защищать и объединять.

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

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


В эти выходные бился на главном турнире России по длинному мечу. В первый день в личной номинации, второй в командной. Пока без медалей, но наша команда вышла в 1/16.

После такой концентрации стремительной резни голова проясняется от лишнего. Хочется просто быть счастливым и заниматься любимым ремеслом.

Это видно по лицам мечников. Слышно в разговоре. Путь меча помогает обрести смысл и волю к жизни. Отсечь дурное и защитить доброе.


В личной номинации золото взял храбрый муж из клуба Аскалон, названного в честь меча св. Георгия. В победной речи он сказал:
"Не знаю, что там насчёт копья, но Георгий добивал Змея точно мечом. Поэтому давайте будем побеждать в себе тёмное с помощью этого прекрасного оружия".


Всем меч 🗡️


😮😮😮


Видео недоступно для предпросмотра
Смотреть в Telegram
В итоге остановился на Wayland + Sway. Работает супер-шустро, а ещё и управляется как вим.

Полосатые носки уже в пути.


Скучаем, чтобы захотеть.

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

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

Окружение настойчиво предлагает огромный спектр соблазнительных знаний. Но если загружать мозг усвоением информации на 100%, то времени соскучиться совсем не останется.

Скучать - это нормально.

В этом состоянии сознание переключается с ввода на вывод, запускает фантазию и пытается придумать развлекательный контент самостоятельно.

Поэтому бывает полезно пройтись в тишине или посмотреть в потолок. Захочется поиграть в игру, которой ещё нет. Послушать музыку, которая ещё не написана.

Ну а дальше не останется выбора. Придётся делать 🖥


Видео недоступно для предпросмотра
Смотреть в Telegram
Сегодня, в честь дня рождения моего любимого клуба, мы празднично рублили глину. У меня в руках реплика боевого меча XV века из Брешии.

Слышал, что разрубание такого столба по усилиям примерно равно отрубанию конечности. Если это реально так, то люди сильно мягче, чем я думал 👀


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


Vulkan заиграл для меня новыми красками с Dynamic Rendering.

Дроупассы - это какой-то сущий кошмар, особенно на моменте, когда нужно синхронить с ними пайплайны. А тут всё чистенько, понятно и писать нужно неприлично меньше кода.

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


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

Arch Linux, разумеется, с первого раза не поддался. Сначала я попробовал простой путь: в качестве графической оболочки поставил KDE plasma, но по какой-то причине оно работало в 20fps. Плюс некоторые программы настойчиво требовали реализацию OpenGL, хотя она была. Я подумал, что наверное не поставил драйверы, но после их установки fps стал примерно 0.3 🤡

На этом моменте я осознал, что передо мной тот самый неовим-кор, но только в масштабах OS.

Из коробки ничего не работает, а в готовых пользовательских сетапах куча лишнего. Чтобы мне получить работоспособную и быструю систему, придётся разобраться во всех нюансах. Причём, (это моё любимое) некоторые особенности как бы подразумеваются теми, кто уже в теме, поэтому в документации о них ни слова. Приходится собирать эти знания по кусочкам из разных видосов и ридми.

В ходе исследований (и бесконечных переустановок) потыкался в разное и пока что больше всего впечатлился dwm. Супер-просто и лаконично, плюс для настройки нужно буквально сделать форк сурскода и билдить его самостоятельно 😎 И вот уже на xorg + dwm всё стало работать шустро.

Пока не знаю, к чему это приведёт, но мне нравится бродить по этому тёмному лесу. За два дня я узнал свой компьютер гораздо лучше, чем за несколько лет использования виндовс.


Никогда не угадаешь, о чём может знать разработчик игр 😨

Прочитал статью на эту тему, когда освежал в голове физику для написания коррекции таргетинга для танков (там проджектайл с гравитацией). Эта информация мне совершенно не пригодилась, но зато теперь на охоте в горах...


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

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

Чтобы не искать величину этого отклонения эмпирическим способом (и распугивать дичь), достаточно применить немного геометрии. Умножив расстояние до цели на косинус угла выстрела мы получим скорректированное расстояние, как если бы мы стреляли на плоской поверхности. Именно под эту величину и нужно подгонять прицел.

Математика это математика, и если правильно её посчитать, всю работу сделает одна пуля.

Показано 20 последних публикаций.

128

подписчиков
Статистика канала