en
Feedback
данянул <3

данянул <3

Open in Telegram

Блог (щитпостинг) разработчика Null's Brawl и других проектов. Мои подписчики лучшие. Основной канал по NB: @nulls_ru

Show more
9 355
Subscribers
+524 hours
+257 days
+7630 days

Data loading in progress...

Tags Cloud
No data
Any problems? Please refresh the page or contact our support manager.
Incoming and Outgoing Mentions
---
---
---
---
---
---
Attracting Subscribers
July '26
July '26
+256
in 4 channels
June '26
+181
in 1 channels
Get PRO
May '26
+510
in 2 channels
Get PRO
April '26
+207
in 4 channels
Get PRO
March '26
+611
in 1 channels
Get PRO
February '26
+2 054
in 3 channels
Get PRO
January '26
+393
in 6 channels
Get PRO
December '25
+226
in 0 channels
Get PRO
November '25
+141
in 2 channels
Get PRO
October '25
+248
in 3 channels
Get PRO
September '25
+190
in 1 channels
Get PRO
August '25
+146
in 1 channels
Get PRO
July '25
+206
in 1 channels
Get PRO
June '25
+185
in 8 channels
Get PRO
May '25
+173
in 1 channels
Get PRO
April '25
+142
in 1 channels
Get PRO
March '25
+299
in 3 channels
Get PRO
February '25
+246
in 1 channels
Get PRO
January '25
+347
in 1 channels
Get PRO
December '24
+639
in 3 channels
Get PRO
November '24
+1 129
in 2 channels
Get PRO
October '24
+337
in 1 channels
Get PRO
September '24
+1 314
in 2 channels
Get PRO
August '24
+716
in 12 channels
Get PRO
July '24
+1 035
in 5 channels
Get PRO
June '24
+806
in 6 channels
Get PRO
May '24
+1 260
in 12 channels
Get PRO
April '24
+412
in 1 channels
Get PRO
March '24
+385
in 1 channels
Get PRO
February '24
+295
in 3 channels
Get PRO
January '24
+299
in 2 channels
Get PRO
December '23
+918
in 2 channels
Get PRO
November '23
+173
in 2 channels
Get PRO
October '23
+201
in 0 channels
Get PRO
September '23
+566
in 0 channels
Get PRO
August '23
+106
in 0 channels
Get PRO
July '23
+587
in 0 channels
Get PRO
June '23
+63
in 0 channels
Get PRO
May '23
+128
in 0 channels
Get PRO
April '23
+204
in 0 channels
Get PRO
March '23
+144
in 0 channels
Get PRO
February '23
+75
in 0 channels
Get PRO
January '23
+29
in 0 channels
Get PRO
December '22
+48
in 0 channels
Get PRO
November '22
+64
in 0 channels
Get PRO
October '22
+48
in 0 channels
Get PRO
September '22
+88
in 0 channels
Get PRO
August '22
+53
in 0 channels
Get PRO
July '22
+110
in 0 channels
Get PRO
June '22
+69
in 0 channels
Get PRO
May '22
+115
in 0 channels
Get PRO
April '22
+156
in 0 channels
Get PRO
March '22
+198
in 0 channels
Get PRO
February '22
+299
in 0 channels
Date
Subscriber Growth
Mentions
Channels
22 July+24
21 July+7
20 July+9
19 July+5
18 July+5
17 July+5
16 July+7
15 July+19
14 July+8
13 July+13
12 July+9
11 July+5
10 July+8
09 July+11
08 July+19
07 July+11
06 July+22
05 July+15
04 July+13
03 July+31
02 July+5
01 July+5
Channel Posts
В Brawl Stars опять насрано. Как же так? Но начнем издалека. В этой игре есть такая сущность, как трейт (trait), которая описывает те или иные модификаторы поведения какого-либо объекта. Каждый игровой объект (а их всего 4 класса: AoE, characters, items и projectiles) имеет список своих трейтов. Впервые в игре они появились в мае 2025 для ивента с васаби, и именно с их помощью были сделаны особые способности персонажей. С тех пор их продолжают активно использовать, в том числе с их помощью работают некоторые пассивки, баффи и прочие механики механики. И даже новые нано-силы... Каждый трейт описывается объектом TraitData, и все трейты описаны в таблице traits.csv. На данный момент они не могут создаваться динамически. У каждого трейта есть свой тип (enum TraitType), а также произвольные значения. Интерпретация этих значений, а также само по себе поведение трейта, как раз таки определяются его типом. В коде логики боев это сделано примерно так:
public void handleTraitsOnCauseDamage(...) {
    TraitData trait = this.findTraitByType(TraitType.SpawnCharacterOnGetHurt);
    if (trait != null) {
        /* Handle required behavior */
    }
}
Вы можете спросить, а что, это сильно плохо? Вообще, нет, плохо здесь кое-что другое🐱 Плохо здесь то, что разработчиков иногда настигает невероятная деменция и они добавляют новые TraitType для того, что спокойно можно было описать старыми. Окей, у нас есть например вот такие: OverrideMaxSpawns и AddMaxSpawns OverrideNumSpawns и AddNumSpawns OverrideBasicAttackCastingRange и AddCastingRangeNormalAttack OverrideUltiCastingRange и AddCastingRangeSuper И это еще можно понять. А вот например "OverrideAreaEffectStatusEffectEnemy" и "OverrideEnemyStatusEffectToAreaEffect" чем отличаются? Если вам кажется, что абсолютно ничем, то так оно и есть! А код обработки этого превращается в что-то такое:
public StatusEffectData getEnemyStatusEffect(...) {
    TraitData trait = findTraitByType(TraitType.OverrideAreaEffectStatusEffectEnemy);
    if (trait != null) {
        return trait.statusEffect;
    }
    TraitData trait2 = findTraitByType(TraitType.OverrideEnemyStatusEffectToAreaEffect);
    if (trait2 != null) {
        return trait2.statusEffect;
    }
    /* ... */
}
Понятное дело, что этот код я могу переписать, добавить findTraitByAnyOfTypes(...) или что-то такое. Но какого черта вообще? Сейчас в игре 394 различных типа трейтов. Из них спокойно можно было бы выкинуть почти половину, немного подправить таблицу traits.csv и стало бы только лучше! Ах да, и при всем этом разнообразии (и постоянных повторениях одинакового кода) у них же еще есть "классические" способности, которые определялись с помощью CardData (cards.csv). Там тоже хватает подобного безобразия, например "ulti_leach_health" и "heal_ulti". И еще забавный прикол, раз уж пост решил написать: в скомпилированном нативном коде TraitType представлен в виде int32. При чтении traits.csv игра берет значение клетки Type (это строка) и преобразует в этот численный ID, и оказывается есть небольшой прикол: есть такие TraitType, у которых аж два названия. Это: OverrideProjectileSupe и OverrideProjectileSuper (ID = 306) AddProjectileDmgPercentageOverDistance и AddProjectileDmgPercentageEndDistance (ID = 313) По сути, это алиасы. Почему? Наверное, разработчик логики не смог договориться с человеком, который .csv таблицы заполняет🙂 Уж лучше бы они те одинаковые трейты с "enemy status effect" сделали алиасами, блинб(

2
claude fix our insfrastructure make no mistakes Если вам кажется, что серверам Brawl Stars после обновления стало плохо — нет+1
claude fix our insfrastructure make no mistakes Если вам кажется, что серверам Brawl Stars после обновления стало плохо — нет, вам не кажется😑 Это заметно даже по графикам мониторинга нашего Null’s Proxy. Многие из них теперь выглядят довольно аномально. Во время большого онлайна трафик к серверам Supercell скачет туда-сюда, а количество реконнектов на каждого игрока выросло почти в два раза по сравнению с тем, что было до обновления. На первом графике отражен текущий трафик (MiB/s), а на втором новые коннекты в секунду (conns/s). При этом общее количество игроков онлайн практически не изменилось, а в некоторые дни (например, вчера) оно было даже немногим меньше, чем до обновления. Вы можете задать закономерный вопрос: а нормально ли оценивать состояние серверов Supercell исходя из этой статистики? И да, и нет. Я делаю выводы о том, что проблема на их стороне, в основном исходя из большого количества жалоб даже от тех, кто не использует Null’s Proxy...
7 543
3
С понедельника программы вконтакте не будет ее полностью удаляют! Нам сидеть вконтакте осталось совсем чуть-чуть!
9 916
4
Помните о Mo.co? Новая игра Supercell, которая сейчас в бете. Они ее очень долго не обновляли, однако на днях произошел невер
Помните о Mo.co? Новая игра Supercell, которая сейчас в бете. Они ее очень долго не обновляли, однако на днях произошел невероятный завоз контента, а именно: 1. Техперерыв на 24 часа. Я не шучу! Очевидно, ни один деплой не может длиться так долго и его растянули искусственно — но зачем? 2. Я зашел в игру и сразу же заметил, что моего собственного персонажа заменили на инвалида с темной кожей и кривым лицом. Какого черта вообще? У них совсем крыша на инклюзивности поехала или мне просто не повезло? 3. Раньше мыльным был только геймплей, а теперь еще и половина интерфейса. 4. Чат в игре лагает и дергается так, как будто бы сделан на Flutter или в WebView. Хотя внутрь я не смотрел еще и надеюсь, что это не так. 5. Каждый раз когда хочется свернуть приложение на iOS, оно пишет мне про дисконнект из-за неактивности. Даже если я был просто в главном меню... И ладно бы мелкие баги, но со второго пункта меня вообще разнесло. Даже в Squad Busters разработчики себе такого не позволяли!
5 294
5
Опросы по картам снова открыты! Ссылка и процесс прохождения остались прежними: dnull.xyz/polls.html.
9 578
6
Интересные факты о будущем Brawl Stars: 1. Кодовое имя одного из персонажей следующего (v68) обновления: KatanaKid. Его логика частично присутствует уже в текущей версии. 2. Кажется разработчики воодушевились нашим режимом на 50 игроков и добавили в игру скрытый режим "LargeShowdown". При этом глобальный лимит на количество команд повышен до 31 (было: 15), а на количество игроков аж до 63 (было: 15), но лимиты на размер карты (63x63) не увеличивались. Если хотите, могу еще что-нибудь рассказать... может быть о новой физике мяча в v67?
0