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, сжатия констант с плавающей точкой и удаления некоторых графических элементов, например, теней под травой. Эта работа демонстрирует, что можно преодолеть ограничения в размере, сочетая знания архитектуры процессоров и необычные подходы к программированию.


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

20402GitHub заставил Dependabot ждать три дня перед обновлением зависимостей 20401Как модели OpenAI вырвались из закрытого теста и добрались до серверов Hugging Face? 20400Что на самом деле стоит за заявленной точностью 95,95% у новой модели Microsoft для... 20399Почему Cruciferra стал самым опасным крипт-сервисом для Windows-малвари? 20398Уязвимость с оценкой 10.0: как взломщики добрались до внутренних функций Arista VeloCloud 20397Почему один HTTP-запрос способен взломать вашу CI/CD-цепочку в TeamCity? 20396Кто на самом деле нашёл дырку в ядре Linux — человек или искусственный интеллект? 20395Как редактор рабочих процессов n8n превращается в root-доступ к серверу? 20394Как иранские хакеры превратили календарь Microsoft 365 в шпионский канал связи? 20393Как Telegram стал каналом управления для новой шпионской кампании против правительств... 20392От учителя английского в Праге до главного редактора Live Science: путь Александра... 20391Почему у сотен тысяч серверов ключи от двери лежат под ковриком уже двадцать лет? 20390Как посмотреть «Jurassic Sharks» из любой точки мира: гид по «Shark Week» 2026 20389Почему обелиск Вашингтона стал памятником спору, а не человеку? 20388Альянс без устава: зачем NVIDIA собрала 37 компаний вокруг безопасности AI-агентов?
Ссылка