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


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

20338Что если жрецы майя, вдохновившие Уильяма берроуза, были выдумкой антропологов? 20337Голубые соседи раскрывают тайну красных точек ранней вселенной 20336Осцилляторы против транзисторов: тихая революция в энергетике искусственного интеллекта 20335Гонка за временем: как уязвимость в snap-confine снова открывает root на Ubuntu 20334Почему постановка амбициозных целей пугает нас больше, чем их недостижение? 20333Индонезийская полиция арестовала создателя фишинг-сервиса Kratos, который обходил... 20332Почему настоящая страница входа Microsoft может украсть ваш аккаунт, даже если пароль и... 20329Как обычное расширение для PDF-файлов открыло доступ к чужой переписке в WhatsApp? 20327Кости прерий: как истребление бизонов породило целую индустрию — и сама себя же уничтожила 20326Кто и зачем взламывает серверы Ollama и ComfyUI ради ключей от AWS? 20325Как злоумышленники спрятали командный сервер внутри блокчейна и почему его невозможно... 20324Брюссель заставляет Android делиться секретами с чужими ИИ-помощниками
Ссылка