Pull to refresh
3
0
Alexandr Petnitsky @Compiller

IT ассенизатор

Send message

Angry Birds. В поисках встроенного редактора уровней

Reading time5 min
Views20K

Часть 0. С которой всё началось


Захотелось мне однажды покопаться в скриптах Angry Birds с одному мне известными целями. Я, конечно, ожидал наткнуться внутри на какие-нибудь интересности, но даже и подумать не мог, что среди них будет вполне рабочий редактор уровней. Сначала я объясню, как я получил такой результат, а в конце статьи приведу описание и скриншоты редактора, опишу простой путь включения редактора.
Читать дальше →
Total votes 168: ↑166 and ↓2+164
Comments18

Вы неправильно пишете животных

Reading time5 min
Views358K
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

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

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Total votes 442: ↑438 and ↓4+434
Comments351

Information

Rating
Does not participate
Location
Минск, Минская обл., Беларусь
Date of birth
Registered
Activity

Specialization

System Administration, Technical Support Engineer
English