данянул <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 после обновления стало плохо — нет, вам не кажется😑
Это заметно даже по графикам мониторинга нашего Null’s Proxy. Многие из них теперь выглядят довольно аномально. Во время большого онлайна трафик к серверам Supercell скачет туда-сюда, а количество реконнектов на каждого игрока выросло почти в два раза по сравнению с тем, что было до обновления.
На первом графике отражен текущий трафик (MiB/s), а на втором новые коннекты в секунду (conns/s). При этом общее количество игроков онлайн практически не изменилось, а в некоторые дни (например, вчера) оно было даже немногим меньше, чем до обновления.
Вы можете задать закономерный вопрос: а нормально ли оценивать состояние серверов Supercell исходя из этой статистики? И да, и нет. Я делаю выводы о том, что проблема на их стороне, в основном исходя из большого количества жалоб даже от тех, кто не использует Null’s Proxy... | 8 631 |
| 3 | С понедельника программы вконтакте не будет ее полностью удаляют!
Нам сидеть вконтакте осталось совсем чуть-чуть! | 10 218 |
| 4 | Помните о Mo.co? Новая игра Supercell, которая сейчас в бете. Они ее очень долго не обновляли, однако на днях произошел невероятный завоз контента, а именно:
1. Техперерыв на 24 часа. Я не шучу! Очевидно, ни один деплой не может длиться так долго и его растянули искусственно — но зачем?
2. Я зашел в игру и сразу же заметил, что моего собственного персонажа заменили на инвалида с темной кожей и кривым лицом. Какого черта вообще? У них совсем крыша на инклюзивности поехала или мне просто не повезло?
3. Раньше мыльным был только геймплей, а теперь еще и половина интерфейса.
4. Чат в игре лагает и дергается так, как будто бы сделан на Flutter или в WebView. Хотя внутрь я не смотрел еще и надеюсь, что это не так.
5. Каждый раз когда хочется свернуть приложение на iOS, оно пишет мне про дисконнект из-за неактивности. Даже если я был просто в главном меню...
И ладно бы мелкие баги, но со второго пункта меня вообще разнесло. Даже в Squad Busters разработчики себе такого не позволяли! | 7 340 |
| 5 | Опросы по картам снова открыты!
Ссылка и процесс прохождения остались прежними: dnull.xyz/polls.html. | 10 113 |
