Бессонный кодер – Telegram
Бессонный кодер
5K subscribers
313 photos
54 videos
5 files
123 links
Канал разработчика и поисковика ДПСО LizaAlert

Связь: @sleeplessfeedbackbot или Direct канала (они бесплатные)
По рекламе: @dpp_ads
Купить рекламу: https://telega.in/c/sleeplesscode
Download Telegram
Никто этого не ждал (5 сбоев Bot Api за 2 дня не считаются), но Telegram наконец выпустил обновление Bot Api которое ещё давно нам обещал!
Как говорится, праздник? Не, не слышали, идём под куранты обновлять ботов и либы.

Возможности для AI (топики и стриминг).
- Теперь в приватных чатах (лички) можно включить разделение на топики. Боты могут соответственно отправлять сообщения и медиа в конкретные топики.
- Добавлен стриминг сообщений по мере генерации текста (через sendMessageDraft)

Подарки и звёзды
- Добавлена возможность получать подарки пользователя и чата через Bot API
- Гибкая фильтрация лимитированных, апгрейд-подарков и подарков из TON.
- Добавлена полная информация о подарках в Bot API включая уникальные цвета, фоны и стили, влияющие на имя пользователя, ответы и превью ссылок.
- Максимальная цена платного медиа увеличена до 25 000 Stars.

Прочее
- Боты могут отключать основной username, если есть дополнительные.
- Можно отключать can_restrict_members в каналах.
- Добавлен репост сторис между бизнес-аккаунтами.
- Появился рейтинг пользователей и дополнительные поля в информации о чатах.
- Новые параметры эффектов сообщений и чеклистов.
27🔥7💊3❤‍🔥1👍1🎉1🙏1🐳1👾1
95🙏16🔥12😁3🫡3❤‍🔥2👀2🤯1
❤‍🔥67😭42🫡7💊43🔥3😁2🍌2🙊1
This media is not supported in your browser
VIEW IN TELEGRAM
Ну что ребята, время вернутся на работу/учёбу.

Как проводите первый рабочий день?
🥰5812🔥8❤‍🔥3💯2😢1💋1😇1
Ну что, хеппи бёздей ту ми.

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

Надеюсь, увидимся уже совсем скоро, ведь я очень хочу наконец полноценно ожить и радовать вас интересным и познавательным контентом)
86🎉45🔥10💊3❤‍🔥2
Немного позже, чем я планировал (почти на месяц), но бывает — я тут воевал с РКН, так что можно простить 😅
Как и обещал, статистика за 2025 год!

Начнём с моего мучителя и кошмара — Имперского стражника.
Репорты
И, как показывает интересная статистика, лишь около половины репортов получает итоговую оценку от модераторов. Грустно, но понятно, учитывая их общее количество :3
Репортов отправлено — 23 800
Одобрено репортов — 4 300
Отклонено репортов — 4 500

Ограничения
Баны модераторы, судя по всему, любят больше других мер наказания, что довольно… критично 😄
Выдано блокировок — 63 000
Удалено ограничений — 5 000
Выдано мутов — 21 000
Выдано заметок — 2 500
Выдано предупреждений — 40 000

Взаимодействия
Входов в чаты — 131 000
Поймано рейдов — 400
Сообщений обработано — 27 000 000

Базовая статистика
Пользователей — 880 000
Каналов — 18 000
Файлов проверено — 13 000 000

А теперь посмотрим, как поживает мой случайно родившийся пет — MembersLoggerBot:
Событий обработано — 120 000
Чатов — 217

Как там наш малоизвестный, но очень милый My Stickers?
Стикеров добавлено — 5 300
Пользователей — 2 000

Ну и как я мог забыть легенду — Подпольного транскриптора?
Чатов — 2 100
Пользователей — 500 000

И под конец — самый локально известный и активный: бот апелляций лолофд.
Обработано апелляций — 3 000

Топ причин апелляций:
По вопросам блокировок в ансабе — 1 700
По прочим причинам (помощь в трудной ситуации или уточнение, куда задать вопрос) — 800
По вопросам блокировок в СФЧ — 200
36🤔6💘4🍓2
Многие думают и интересуются, как много мы вообще работаем и насколько большой Storytelling. Кажется, настало время поделиться размерами сезонов и рассказать о том, что мы делаем помимо непосредственной работы над ними.

История Storytelling началась с Игры Бога. За этот сезон было сделано 643 коммита, в рамках которых создано 3 555 файлов. Из них 505 — Java-классы, а это 82 041 строка Java-кода и 1 932 строки комментариев. Неплохое начало, не так ли?

Дальше был Идеальный мир — сезон, который стал любимым для многих. Самое важное в нём — мы начали относиться к Storytelling как к движку для создания сюжетов. Появились абстракции, API, систематизация, попытка упростить жизнь себе в будущем. Параллельно мы начали активно расширять штат кодеров, что позволило делать больше и интереснее, сохраняя частоту выхода серий.
За сезон было сделано 1 447 коммитов, создано 11 364 файла, из них 938 — Java-классы. Это 202 765 строк Java-кода и 14 046 строк комментариев.

Следом идёт Голос Времени. Здесь большой фокус был на геймплее и визуале: прокачка, частицы, динамичные катсцены. Как бы ни была важна удобная разработка, в первую очередь важно то, что видят зрители.
За сезон: 894 коммита, 6 218 файлов, 1 091 Java-класс, 179 072 строки Java-кода и 30 583 строки комментариев.

Затем пришли Тринадцать Огней. Мы начали сильнее связывать сюжет и действия Ромы, продолжая прокачивать визуал — что, конечно, аукнулось. В некоторых сценах FPS на мощных ПК мог проседать до 10, а легендарные 750 тысяч стульев появились не просто так :3
За сезон: 1 666 коммитов, 12 460 файлов, 1 224 Java-класса, 227 539 строк Java-кода, 31 707 строк комментариев и 4 строки шейдеров.

Далее — Последняя Реальность. Здесь мы поняли: движок тоже должен развиваться. Сезон стал точкой глобальной переработки ядра, которое частично не менялось со времён Игры Бога.
Появилась система времени с жёсткой сюжетной привязкой: движок понимал день и ночь, часы и минуты, и в зависимости от этого корректировал поведение всех персонажей. Те, кого видел Рома, жили своей жизнью — ходили на работу, учёбу, отдыхали. У второ- и третьестепенных персонажей появился детально проработанный распорядок дня (и головная боль для нас).
Появился смартфон — кажущееся мелочью решение, но каждое приложение было отдельной системой. Даже обсуждалась идея вынести его в отдельный мод.
За сезон: 3 726 коммитов, 22 314 файлов, 2 076 Java-классов, 382 390 строк Java-кода, 41 746 строк комментариев и 4 строки шейдеров.

Далее — Сердце Вселенной. Мы решили, что сюжета много, а геймплея всё ещё мало. Формат сменился: Рома перестал просто общаться и выполнять поручения — он начал выживать. Эксперимент удался, Роме понравилось, и это стало новой точкой роста.
Также сезон стал важным этапом рефакторинга: ядро было оптимизировано и уменьшено.
За сезон: 2 464 коммита, 13 658 файлов, 1 525 Java-классов, 270 117 строк Java-кода, 10 строк шейдеров и 17 974 строки комментариев.

Почти настоящее время — Точка Невозврата. Мы пошли ва-банк и лишили Рому привычных механик, полностью завязав выживание на наши собственные системы. Дерзко, необычно и очень весело в разработке.
Появилась система бункера, зависимость состояния мира от действий Ромы, а также огромный скачок в визуале: шейдеры, освещение, погодные эффекты — всё это работало в реальном времени, а не на монтаже.
За сезон: 6 596 коммитов, 35 128 файлов, 2 594 Java-класса, 422 215 строк Java-кода, 302 строки шейдеров и 32 536 строк комментариев.

Продолжение следует...
🔥8222❤‍🔥9👏4👍1
Продолжаем рассказывать вам о размерах наших сезонов и не только!

И вот мы в настоящем — Мастерская 47. Сезон, где мы решили перевернуть всё и попробовать интеграцию с RTS. Предпосылки шли давно, особенно в Точке Невозврата. Мы продолжили активно работать над визуалом: собственный GUI, обновлённые модели, катсцены.
Важно: здесь учитываются только коммиты Storytelling (ядро + сюжет), без учёта доработок RTS-мода. Статистика приведена на 20.01.2026, сезон продолжается.
За это время: 1 788 коммитов, 14 300 файлов, 2 354 Java-класса, 252 037 строк Java-кода, 414 строк шейдеров и 17 673 строки комментариев.

И наконец, последний, но не по важности, наш необычный эксперимент, сезон Торговка тайнами. Ответвление от Ромы, с идеей попробовать то, что мы никогда бы не смогли внедрить в рамках основной ветки сюжетных сезонов.
Тут у нас за 20 серий вышло 370 коммитов, 2833 файла в которых было 65.443 строки java кода.


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

ST Communal
Веб-сервисы, CI-конфиги, интеграции YouTrack, Telegram-боты, API и внутренние сайты. Всё, что упрощает совместную работу и доступ к инструментам из регионов с плохой связностью.
478 коммитов, 1 525 файлов,
4 880 строк TypeScript, 4 885 строк Vue, 1 451 строка Java, 1 019 строк Kotlin.

ST Utilitary
Утилиты вне основной сетевой инфраструктуры. Например, наш плагин для IDEA с расширенной подсветкой, макросами и кодогенерацией.
185 коммитов, 984 файла, 2 114 строк Kotlin, 5 253 строки Java.

Моды
Выпущенный мод на машину и несколько готовящихся проектов, о которых мы вам расскажем уже совсем скоро!
103 коммита, 1 048 файлов, 18 750 строк Java-кода.

Вот как-то так. Надеюсь, вам было интересно и познавательно.
А я пошёл писать ещё пару сотен строк, пытаясь наладить инфраструктуру в мире, где подключения могут случайно обрываться по воле всевышних сил.
70🥰8❤‍🔥4🔥3🤩1🙊1
И так ребята, спустя долгое время, несколько судов, большого количества споров и сотен листов документов, наконец я получил этого героя. Теперь можно и за посты вернуться.
167🤯42🎉14🤡5🫡2💘2
Media is too big
VIEW IN TELEGRAM
ТАК, угадайте кто снова с вами! Да, я наконец сократил список задач и пишу снова постики для вас!
А что может быть лучше, чем интересный цикл постов?) Цикл постов, в подготовке которого мне пришлось изучать дополнительную литературу.
Кстати, читатели моего чатика уже получали спойлеры на этот счёт, не пропускайте)

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

Мы умираем постоянно. В первые минуты, в середине уровня, перед самым концом.
По своей ошибке, из-за неверного тайминга, плохого решения, невнимательности, пролага, низкого тикрейта, автомобиля пролетевшего через голову (смотрите видео) или просто потому, что ещё не поняли, «как здесь принято играть».
И каждый раз игра реагирует одинаково спокойно: она не драматизирует (если это не игровое кинцо) и не объясняет — она просто перезапускает процесс.

Это важная вещь, ведь зачастую:
В кино смерть — кульминация.
В жизни — необратимый разрыв.
В игре смерть — рабочее состояние системы.

Большинство игр визуализируют неудачу именно как смерть аватара. Не «ошибку», не «неверное действие», а именно гибель тела, через которое игрок присутствует в мире. Камера падает, персонаж распадается, исчезает, замирает — и тем самым игра переводит абстрактную неудачу в наглядный, телесный акт.

И это не случайно. У игры нет другого универсального способа сообщить игроку, что он действовал неверно. Она не может напрямую сказать: «ты ещё не освоил механику» или «твоя стратегия не работает». Вместо этого она использует самый прямой и понятный сигнал — лишение агентности через смерть.
Важно и то, что в большинстве случаев смерть не является наказанием в строгом смысле. Она редко означает окончание игры. Напротив, почти всегда за ней следует восстановление: загрузка, респаун, возврат управления. Система как бы говорит: да, это было неправильно — теперь попробуй иначе.

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

Если посмотреть на это под таким углом, становится понятно, почему смерть в играх так легко принимается игроками. Мы не сопротивляемся ей, потому что знаем: за ней почти всегда следует продолжение. Более того — именно через смерть игра обучает, направляет и постепенно формирует наше умение играть.

И дальше возникает более тревожный вопрос: если смерть в игре — это норма, если она встроена в обучение, повторение и прогресс, то что именно мы на самом деле испытываем, когда умираем?
🔥22🤔53❤‍🔥2
Когда мы начинаем говорить о испытываемых чувствах, мы переходим из анализа медиа и технологий, в анализ психологический. И тут нам поможет... ребёнок 😁 А если быть точным, наблюдение за ним.

Мы обратимся к исследованиям Зигмунда Фрейда (у меня интересный набор книг в литресе). Он описывает простую сцену:
У ребенка была деревянная катушка с намотанной на нее бечевкой. Ему никогда не приходило в голову, например, таскать ее за собой по полу, то есть поиграть в тележку, но он с большой ловкостью, держа катушку за веревочку, бросал ее за край своей кроватки, в результате чего она там исчезала; при этом он произносил свое многозначительное «о-о-о-о», а затем снова вытаскивал катушку за бечевку из кровати, приветствуя на этот раз ее появление радостным «вот». В этом и заключалась вся игра – в исчезновении и возвращении, из которых обычно удавалось наблюдать только первое действие. Оно само по себе без устали повторялось в качестве игры, хотя большее удовольствие, несомненно, было связано со вторым актом.


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

Здесь важно не само возвращение, а цикл.
Присутствие —> отсутствие —> присутствие.

И если вернуться в мир видеоигр, мы видим именно этот цикл.
Появление на уровне Geometry Dash — присутствие.
Смерть от первого шипа — отсутствие.
Перезапуск уровня — присутствие.

В момент смерти игрок теряет контроль. Камера падает (в случае игр где камера держит перспективу игрока), управление исчезает, действие прерывается. Это всегда ощущается одинаково: что-то пошло не так, и мир больше не отвечает. А затем контроль возвращается — но уже с поправкой на пережитое.

Важно, что игра почти никогда не лишает игрока возможности повторить. Она не говорит: «ты проиграл». Она говорит: «снова». И в этом «снова» заключён весь смысл.

Игрок, как и ребёнок в fort-da, не пытается избежать потери. Он воспроизводит её. Снова заходит в ту же ситуацию, снова рискует, снова умирает — но уже с небольшим смещением. Чуть раньше нажал кнопку. Чуть иначе выбрал маршрут. Чуть лучше понял правила уровня.

Поэтому смерть в игре не разрушает процесс, а запускает его.
Она не противоположна игре — она встроена в неё.
Как отсутствие встроено в присутствие.
И если убрать смерть — убрать возможность потерять контроль — игра перестаёт работать именно на этом, глубинном уровне. Она больше не позволяет прожить утрату и вернуть себе агентность через повтор.

Поэтому ключевая мысль здесь довольно неприятная, но честная:
мы играем не ради победы.
Мы играем, чтобы снова и снова переживать потерю —
но уже на своих условиях.
Вы конечно можете сказать, что вы играете ради победы, но будет ли сладка так победа, если она досталась вам просто, об этом мы поговорим дальше.
32🔥11🥰4❤‍🔥1