ch
Feedback
данянул <3

данянул <3

前往频道在 Telegram

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

显示更多
9 333
订阅者
-124 小时
-327
+11530

数据加载中...

吸引订阅者
七月 '26
七月 '26
+302
在4个频道中
六月 '26
+181
在1个频道中
Get PRO
五月 '26
+510
在2个频道中
Get PRO
四月 '26
+207
在4个频道中
Get PRO
三月 '26
+611
在1个频道中
Get PRO
二月 '26
+2 054
在3个频道中
Get PRO
一月 '26
+393
在6个频道中
Get PRO
十二月 '25
+226
在0个频道中
Get PRO
十一月 '25
+141
在2个频道中
Get PRO
十月 '25
+248
在3个频道中
Get PRO
九月 '25
+190
在1个频道中
Get PRO
八月 '25
+146
在1个频道中
Get PRO
七月 '25
+206
在1个频道中
Get PRO
六月 '25
+185
在8个频道中
Get PRO
五月 '25
+173
在1个频道中
Get PRO
四月 '25
+142
在1个频道中
Get PRO
三月 '25
+299
在3个频道中
Get PRO
二月 '25
+246
在1个频道中
Get PRO
一月 '25
+347
在1个频道中
Get PRO
十二月 '24
+639
在3个频道中
Get PRO
十一月 '24
+1 129
在2个频道中
Get PRO
十月 '24
+337
在1个频道中
Get PRO
九月 '24
+1 314
在2个频道中
Get PRO
八月 '24
+716
在12个频道中
Get PRO
七月 '24
+1 035
在5个频道中
Get PRO
六月 '24
+806
在6个频道中
Get PRO
五月 '24
+1 260
在12个频道中
Get PRO
四月 '24
+412
在1个频道中
Get PRO
三月 '24
+385
在1个频道中
Get PRO
二月 '24
+295
在3个频道中
Get PRO
一月 '24
+299
在2个频道中
Get PRO
十二月 '23
+918
在2个频道中
Get PRO
十一月 '23
+173
在2个频道中
Get PRO
十月 '23
+201
在0个频道中
Get PRO
九月 '23
+566
在0个频道中
Get PRO
八月 '23
+106
在0个频道中
Get PRO
七月 '23
+587
在0个频道中
Get PRO
六月 '23
+63
在0个频道中
Get PRO
五月 '23
+128
在0个频道中
Get PRO
四月 '23
+204
在0个频道中
Get PRO
三月 '23
+144
在0个频道中
Get PRO
二月 '23
+75
在0个频道中
Get PRO
一月 '23
+29
在0个频道中
Get PRO
十二月 '22
+48
在0个频道中
Get PRO
十一月 '22
+64
在0个频道中
Get PRO
十月 '22
+48
在0个频道中
Get PRO
九月 '22
+88
在0个频道中
Get PRO
八月 '22
+53
在0个频道中
Get PRO
七月 '22
+110
在0个频道中
Get PRO
六月 '22
+69
在0个频道中
Get PRO
五月 '22
+115
在0个频道中
Get PRO
四月 '22
+156
在0个频道中
Get PRO
三月 '22
+198
在0个频道中
Get PRO
二月 '22
+299
在0个频道中
日期
订阅者增长
提及
频道
30 七月+1
29 七月+2
28 七月0
27 七月+2
26 七月+2
25 七月+3
24 七月+12
23 七月+11
22 七月+37
21 七月+7
20 七月+9
19 七月+5
18 七月+5
17 七月+5
16 七月+7
15 七月+19
14 七月+8
13 七月+13
12 七月+9
11 七月+5
10 七月+8
09 七月+11
08 七月+19
07 七月+11
06 七月+22
05 七月+15
04 七月+13
03 七月+31
02 七月+5
01 七月+5
频道帖子
В 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...
8 631
3
С понедельника программы вконтакте не будет ее полностью удаляют! Нам сидеть вконтакте осталось совсем чуть-чуть!
10 218
4
Помните о Mo.co? Новая игра Supercell, которая сейчас в бете. Они ее очень долго не обновляли, однако на днях произошел невер
Помните о Mo.co? Новая игра Supercell, которая сейчас в бете. Они ее очень долго не обновляли, однако на днях произошел невероятный завоз контента, а именно: 1. Техперерыв на 24 часа. Я не шучу! Очевидно, ни один деплой не может длиться так долго и его растянули искусственно — но зачем? 2. Я зашел в игру и сразу же заметил, что моего собственного персонажа заменили на инвалида с темной кожей и кривым лицом. Какого черта вообще? У них совсем крыша на инклюзивности поехала или мне просто не повезло? 3. Раньше мыльным был только геймплей, а теперь еще и половина интерфейса. 4. Чат в игре лагает и дергается так, как будто бы сделан на Flutter или в WebView. Хотя внутрь я не смотрел еще и надеюсь, что это не так. 5. Каждый раз когда хочется свернуть приложение на iOS, оно пишет мне про дисконнект из-за неактивности. Даже если я был просто в главном меню... И ладно бы мелкие баги, но со второго пункта меня вообще разнесло. Даже в Squad Busters разработчики себе такого не позволяли!
7 340
5
Опросы по картам снова открыты! Ссылка и процесс прохождения остались прежними: dnull.xyz/polls.html.
10 113