Ssylka

Minecraft в QR-коде: вызов программированию

Уместить игру Minecraft в один QR-код оказалось возможным благодаря кропотливой работе и использованию нестандартных подходов. Изначальная Java-версия Minecraft4k, выпущенная в 2009 году, весила 2581 байт, но требовала Java Applets, что ограничивало её использование. Современная реализация размером всего 2952 байта умещается в QR-коде максимальной версии и запускается под Linux.
Minecraft в QR-коде: вызов программированию
Изображение носит иллюстративный характер

Процесс разработки включал обратную разработку оригинальной Java-версии, портирование на C++, а затем на C. Использовались различные техники, такие как генерация текстур на основе алгоритмов, маршевый метод трассировки лучей и оптимизация кода, для сокращения размера. Для дополнительного уменьшения размера применялись сжатие gzip, ShaderMinifier, удаление отладочной информации и нестандартное использование функции _start. Кроме того, были реализованы собственные функции sin и cos, а также загрузка функций OpenGL через dlopen и dlsym.

Финальное уменьшение размера было достигнуто за счет обрезки неиспользуемых секций ELF, сжатия констант с плавающей точкой и удаления некоторых графических элементов, например, теней под травой. Эта работа демонстрирует, что можно преодолеть ограничения в размере, сочетая знания архитектуры процессоров и необычные подходы к программированию.


Новое на сайте

19158Китайский шпионский фреймворк DKnife захватывает роутеры с 2019 года 19157Каким образом корейские детские хоры 1950-х годов превратили геополитику в музыку и... 19156Научная революция цвета в женской моде викторианской эпохи 19155Как новый сканер Microsoft обнаруживает «спящих агентов» в открытых моделях ИИ? 19154Как новая кампания DEADVAX использует файлы VHD для скрытой доставки трояна AsyncRAT? 19153Как новые китайские киберкампании взламывают госструктуры Юго-Восточной Азии? 19152Культ священного манго и закат эпохи хунвейбинов в маоистском Китае 19151Готовы ли вы к эре коэффициента адаптивности, когда IQ и EQ больше не гарантируют успех? 19150Иранская группировка RedKitten применяет сгенерированный нейросетями код для кибершпионажа 19149Как новая волна голосового фишинга в стиле ShinyHunters обходит многофакторную... 19148Почему баски стали главными пастухами Америки: врожденный дар или расовый миф? 19147Бывший инженер Google осужден за экономический шпионаж и передачу секретов искусственного... 19146Насколько критичны новые уязвимости SmarterMail и почему их немедленное исправление... 19145Истинный контроль и природа человеческого мастерства: от учения эпиктета до современной... 19144Критические уязвимости нулевого дня в Ivanti EPMM активно эксплуатируются злоумышленниками