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


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

19085Превращение легального IT-инструментария в бэкдор через фишинговую кампанию Greenvelope 19084CISA обновляет каталог KEV четырьмя критическими уязвимостями с директивой по устранению... 19083Как найденные в Бразилии древние гарпуны опровергли теорию о полярном происхождении... 19082Стратегия выбора идеального осушителя воздуха для любых домашних условий 19081Геологические свидетельства подтвердили существование обширного древнего океана в... 19080Масштабная фишинговая кампания против энергетического сектора и эволюция техник... 19079Экспериментальная терапия «губкой боли» восстанавливает хрящи и блокирует сигналы... 19078Сможет ли новая таблетка Wegovy заменить инъекции для лечения ожирения? 19077Каким образом критическая уязвимость CVE-2026-24061 позволяла получать права root на... 19076Роботизированная рука-паук с функцией автономного перемещения и захвата предметов 19075Являлось ли обливание смолой и обваливание в перьях исконно американским изобретением? 19074Критическая уязвимость в Fortinet позволяет хакерам автоматизированно захватывать... 19073Обнаружение древнего святилища геркулеса и элитного погребального комплекса в пригороде... 19072Уникальный случай появления койота на острове алькатрас после изнурительного заплыва... 19071Уникальное искусственное затмение миссии Proba-3 раскрыло редкие солнечные феномены